{ "info": { "author": "barry.xu", "author_email": "friendship-119@163.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# pysqler\nEasy to write sql to avoid using string slice\n\n\u66f4\u65b9\u4fbf\u7684\u62fc\u5199SQL\uff0c \u514d\u9664\u5404\u79cd\u5bb9\u6613\u51fa\u9519\u7684\u62fc\u63a5\u5b57\u7b26\u4e32\u64cd\u4f5c\n\neg:\n```python\nage = some_function()\nsql = \"select * from people where name=\\'barry\\' and age = {0}\" \nif age:\n sql = sql.format(sql, age)\nelse:\n sql = sql.format(sql, \"null\")\n\n```\n\nabove is boring, so try this:\n```python\nfrom pysqler import *\n\nage = some_function()\n\nquery = Select()\nquery.select(\"*\")\nquery.from1(\"people\")\nquery.where(\"age\", \"=\", age)\nquery.and_where(\"name\", \"=\", \"barry\")\nquery_str = str(query)\nprint(query_str)\n```\n\nyou don't need take care of that if if the param is string, number or none ...\n\n\n\n\n## Usage\n### Build Select SQL\n```python\nfrom pysqler import *\n\nquery = Select()\nquery.select(\"city\", \"education\", \"AVG(age) as avg_age\")\nquery.from1(\"people\")\nquery.where(\"age\", \">\", 10)\nquery.join(\"orders\", \"orders.account = people.id\",\n \"orders.time = people.birthday\")\nquery.and_where(\"job\", \"like\", \"%it%\")\nquery.and_where(\"birthday\", \">\", \"1988-09-12 12:12:12\")\nquery.and_where(\"address\", \"!=\", None)\n\nquery.left_join(\"vip\", \"vip.account = people.id\")\n\nquery.groupby(\"city\", \"education\")\nquery.orderby(\"avg_age\", \"DESC\")\nquery.limit(10, 8)\n\n```\noutput\n```sql\nSELECT city,education,AVG(age) as avg_age\nFROM people\nINNER JOIN orders\nON orders.account = people.id and orders.time = people.birthday\nLEFT JOIN vip ON vip.account = people.id\nWHERE age > 10 AND job like \"\uff05it\uff05\" AND birthday > \"1988-09-12 12:12:12\"\nAND address IS NOT null\nGROUP BY city,education ORDER BY avg_age DESC\nLIMIT 8,10;\n```\n\n### Build Insert SQl\n#### insert one row\n```python\nfrom pysqler import *\n\nquery = Insert(\"people\")\nquery.put(\"name\", \"barry\")\n\nquery.put(\"age\", 10, value_on_duplicated=20)\n\nexpress = Expression()\nexpress.field(\"salary\")\nexpress.operator(\"+\")\nexpress.value(200)\nexpress.operator(\"*\")\nexpress.value(3.5)\n\nquery.put(\"salary\", 1000, value_on_duplicated=express)\nquery.put(\"address\", \"shanghai\", value_on_duplicated=\"china\")\nquery.put(\"education\", \"bachelor\")\nquery.put(\"job\", \"engineer\")\nquery.put(\"birthday\", \"2000-01-01\")\nquery_str = str(query)\nprint(query_str)\n```\noutput:\n```sql\nINSERT INTO people ( name,age,salary,address,education,jobs,birthday)\nVALUES(\"barry\",10,1000,\"shanghai\",\"bachelor\",\"engineer\",\"2000-01-01\")\nON DUPLICATE KEY UPDATE age = 20,salary = salary + 200 * 3.5,\naddress = \"china\";\n```\n\n#### insert multiple rows\n```python\nfrom pysqler import *\n\nquery = Insert(\"people\")\nquery.add_columns(\"name\", \"age\", \"salary\", \"address\", \"education\", \"job\", \"birthday\")\nquery.add_row(\"barry\", 19, 3100, \"shanghai\", \"bachelor\", None,\"2010-01-01\")\nquery.add_row(\"jack\", 24, 3600, \"shanghai\", \"bachelor\", \"engineer\",\"2010-01-09\")\nquery.add_row(\"bob\", 27, 8600, None, \"bachelor\", \"engineer\",\"1990-01-09\")\nquery.add_row(\"edwin\", 30, 10600, \"beijing\", \"bachelor\", \"engineer\",\"1987-01-09\")\nquery_str = str(query)\nprint(query_str)\n\n```\noutput:\n```odpsql\nINSERT INTO people ( name,age,salary,address,education,job,birthday )\n VALUES( \"barry\",19,3100,\"shanghai\",\"bachelor\",null,\"2010-01-01\" ),\n ( \"jack\",24,3600,\"shanghai\",\"bachelor\",\"engineer\",\"2010-01-09\" ),\n ( \"bob\",27,8600,null,\"bachelor\",\"engineer\",\"1990-01-09\" ),\n ( \"edwin\",30,10600,\"beijing\",\"bachelor\",\"engineer\",\"1987-01-09\" )\n```\n\n### Build update SQl\n```python\nfrom pysqler import *\n\nquery = Update(\"people\")\nquery.put(\"name\", \"barry\")\nquery.put(\"age\", 10)\n\nquery.where(\"age\", \">\", 15)\nquery.or_where(\"age\", \"<\", 5)\nquery_str = str(query)\nprint(query_str)\n```\n\noutput:\n```sql\nUPDATE people SET name = \"barry\",age = 10\nWHERE age > 15 OR age < 5;\n```\n\n### Build delete SQl\n```python\nfrom pysqler import *\n\nquery = Delete(\"people\")\n\nquery.where(\"age\", \">\", 15)\nquery.or_where(\"name\", \"in\", [9527, \"barry\", \"jack\"])\nquery_str = str(query)\nprint(query_str)\n```\n\noutput:\n```sql\nDELETE FROM people WHERE age > 15 OR name in (9527,\"barry\",\"jack\");\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tingxin/pysqler", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pysqler", "package_url": "https://pypi.org/project/pysqler/", "platform": "", "project_url": "https://pypi.org/project/pysqler/", "project_urls": { "Homepage": "https://github.com/tingxin/pysqler" }, "release_url": "https://pypi.org/project/pysqler/0.8.9/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "Easy to write sql", "version": "0.8.9" }, "last_serial": 5701977, "releases": { "0.6.0": [ { "comment_text": "", "digests": { "md5": "2ccede7159223b78d74a4bb195636b8e", "sha256": "b0107acc0812f2d2d01a9a26cb81ca8ec8122965524d43608801dbc104ca2b50" }, "downloads": -1, "filename": "pysqler-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2ccede7159223b78d74a4bb195636b8e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 7941, "upload_time": "2019-03-09T06:29:31", "url": "https://files.pythonhosted.org/packages/a6/ea/fbc0cf4c5dd0e847a667407a60b73f9c172db2c72a4f0a6b14b9f2a3904e/pysqler-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "356f4d020261522d6960a1bf4c5b2eb6", "sha256": "420c3aef05a93f3804f988dd8300e4fa338dbd9e7ceca158a3b303d7b0aa8bea" }, "downloads": -1, "filename": "pysqler-0.6.0.tar.gz", "has_sig": false, "md5_digest": "356f4d020261522d6960a1bf4c5b2eb6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7541, "upload_time": "2019-03-09T06:29:33", "url": "https://files.pythonhosted.org/packages/79/0f/818c78efacf9c5c7325389aed9ef7c9f93421fb8ff42ef0774fadb6bf25d/pysqler-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "e16bc36d5392e005e0bd4e36763c3c27", "sha256": "dd91de159d76aa53520a3017256892c78c14faae42bc56d7ef74bb876f748fe9" }, "downloads": -1, "filename": "pysqler-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e16bc36d5392e005e0bd4e36763c3c27", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 7949, "upload_time": "2019-03-11T03:35:18", "url": "https://files.pythonhosted.org/packages/15/1b/486de514e861fde62621f453f76de32d47c1932e6270e61863f524f996a0/pysqler-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f6bf5b8eeee7cd111b440436df02dd0", "sha256": "d8c01c1a3088d9071dc595c4ff0845a19e6ea44346bad429f2dab3a71324922e" }, "downloads": -1, "filename": "pysqler-0.7.0.tar.gz", "has_sig": false, "md5_digest": "9f6bf5b8eeee7cd111b440436df02dd0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 7560, "upload_time": "2019-03-11T03:35:20", "url": "https://files.pythonhosted.org/packages/9d/11/bb461c6b0253b186cc199e46008b6bceca28b277b3e28a6ea1292e2599d6/pysqler-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "a624ea5f6550510fbae41fcc79587417", "sha256": "43c66ed36212ad130bf6591b0a6bdae7b82fd5e7e2c3b41d0354baa9f9e84731" }, "downloads": -1, "filename": "pysqler-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a624ea5f6550510fbae41fcc79587417", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 8504, "upload_time": "2019-03-14T04:35:17", "url": "https://files.pythonhosted.org/packages/aa/9f/515d080e1fbad4e333d7b20fc8805f159593c61ebc841f4073b5c67985fc/pysqler-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01a772dbb713c1db6f19b64f5037ea8a", "sha256": "3434ed8cdd02fc4733518a87d4494cb3ea5f8753aa1d00e2b729694852ce0f64" }, "downloads": -1, "filename": "pysqler-0.8.0.tar.gz", "has_sig": false, "md5_digest": "01a772dbb713c1db6f19b64f5037ea8a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8106, "upload_time": "2019-03-14T04:35:19", "url": "https://files.pythonhosted.org/packages/bb/17/492179556a90062f2d8a368dae32140fc845e13f0878099ef1ba6b3f1247/pysqler-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "c781e355cefdc30e3bb43c60d7fe6ad8", "sha256": "4ad574916900d715d7d1899981914f1f3f5f23531e282ae1593dc92cd81f1e25" }, "downloads": -1, "filename": "pysqler-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c781e355cefdc30e3bb43c60d7fe6ad8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 8496, "upload_time": "2019-03-15T03:20:13", "url": "https://files.pythonhosted.org/packages/df/6f/f2182984a690bdcd6059df4838624fb22906bdca50670d1bd1020ae21aff/pysqler-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c8722d1275d878bbe706a753c4b9c84", "sha256": "2b91a1238a846673256f90ec35e11462ccba701378155d35324d1b171b257630" }, "downloads": -1, "filename": "pysqler-0.8.1.tar.gz", "has_sig": false, "md5_digest": "3c8722d1275d878bbe706a753c4b9c84", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8089, "upload_time": "2019-03-15T03:20:15", "url": "https://files.pythonhosted.org/packages/fb/f7/9390c5152d506aae819c52509f7d7a2218e764d16bb72c18dbbc81476c5c/pysqler-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "ae2c4bb548127d4556528a21a5a22d74", "sha256": "c9251e98fe6c42d7365a25134e54c5d87c6122ef50c7986f4c4d20fe238d061a" }, "downloads": -1, "filename": "pysqler-0.8.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae2c4bb548127d4556528a21a5a22d74", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 8491, "upload_time": "2019-03-21T09:50:32", "url": "https://files.pythonhosted.org/packages/a9/5c/24c7a9258a16da7af24873a5e1a0f09d76235f21be8786dc29c7cdf42152/pysqler-0.8.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ca1be7a4df268e8e34c717a307f7c03", "sha256": "f9505f1581ec28c2640be984afd269b5da49b3a3175851dc05b5f2c95eb64932" }, "downloads": -1, "filename": "pysqler-0.8.2.tar.gz", "has_sig": false, "md5_digest": "8ca1be7a4df268e8e34c717a307f7c03", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8097, "upload_time": "2019-03-21T09:50:33", "url": "https://files.pythonhosted.org/packages/7d/88/63f51c5a7199b6c4af119fbd3696380d0ad1722d223771c3f11e29e862dd/pysqler-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "20224b80ea751f004da3e8b3e0103e7d", "sha256": "fd2c09a314df2262671c160c3a75f676070262babc428b00d085c7bd71820192" }, "downloads": -1, "filename": "pysqler-0.8.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "20224b80ea751f004da3e8b3e0103e7d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 8500, "upload_time": "2019-04-26T11:50:28", "url": "https://files.pythonhosted.org/packages/69/13/11fe9d1cd8c38734fcbe39c64e2e1e84c6b69ab991610ad2a73a3d789ed5/pysqler-0.8.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d52849b6cad39cbb548b50b1de875f64", "sha256": "574612e015d7d4689a220b96eed37c46892c1d73f3a34f8c7682595fa58827bd" }, "downloads": -1, "filename": "pysqler-0.8.3.tar.gz", "has_sig": false, "md5_digest": "d52849b6cad39cbb548b50b1de875f64", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8094, "upload_time": "2019-04-26T11:50:30", "url": "https://files.pythonhosted.org/packages/14/8f/f066548a0a9c5e408159ec3f1d7d910364031bc5fdf716cfcddedc5de203/pysqler-0.8.3.tar.gz" } ], "0.8.4": [ { "comment_text": "", "digests": { "md5": "6ef88419d034663740d98f5ef9030ead", "sha256": "cf2691ae4d141871e4ba9215d0883b0b92cda739e668372ff1f09d6383548c29" }, "downloads": -1, "filename": "pysqler-0.8.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ef88419d034663740d98f5ef9030ead", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 8631, "upload_time": "2019-04-27T03:49:58", "url": "https://files.pythonhosted.org/packages/7e/24/cd66484dde6d73449a401ba49be26ff77e1c77716928dd8af851aafafaae/pysqler-0.8.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b20b18163ad9cd26a4747ac335de7ad2", "sha256": "547b6a73457fae4be8e1fcabdcff4e518d2689fb2b92bf5a12e1e55c2453161f" }, "downloads": -1, "filename": "pysqler-0.8.4.tar.gz", "has_sig": false, "md5_digest": "b20b18163ad9cd26a4747ac335de7ad2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8219, "upload_time": "2019-04-27T03:50:00", "url": "https://files.pythonhosted.org/packages/1f/90/16d2b33f09822255fc432fba2f145732bf9fe1915dfe3324dc82c58127ce/pysqler-0.8.4.tar.gz" } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "0c9ba3eaa16162b43ab39f3760a84ad3", "sha256": "ab31629ac86f10b4f5dd8d8837f23424dcc64d18bfc5a2c6d74d4ea8ccf14886" }, "downloads": -1, "filename": "pysqler-0.8.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c9ba3eaa16162b43ab39f3760a84ad3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 8696, "upload_time": "2019-05-24T08:16:18", "url": "https://files.pythonhosted.org/packages/e3/fe/66380416e147f453a77d8fca321b7e487072763be5267d4eb7ea7c3e4716/pysqler-0.8.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "056dbdd39216ad1ca9c253e200c1e0fc", "sha256": "fb5ce4ed18e34e32db727e5e3c711d0e671772dc0d76518a947d8f0f15195514" }, "downloads": -1, "filename": "pysqler-0.8.5.tar.gz", "has_sig": false, "md5_digest": "056dbdd39216ad1ca9c253e200c1e0fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8292, "upload_time": "2019-05-24T08:16:20", "url": "https://files.pythonhosted.org/packages/f2/93/bd6a0c7e25cfaddb89d9e53707105ef273f4e4aa6fa2dc9c685aa7d508d6/pysqler-0.8.5.tar.gz" } ], "0.8.6": [ { "comment_text": "", "digests": { "md5": "25af01492cfad928f043429b5599957a", "sha256": "8953b9e72b998491b4e5dcaf053d5182f0779fe8ad4b76aa8c278ccdd016cd13" }, "downloads": -1, "filename": "pysqler-0.8.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "25af01492cfad928f043429b5599957a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 8695, "upload_time": "2019-05-24T08:51:21", "url": "https://files.pythonhosted.org/packages/22/ed/8b16e93434f86b4f27b1c5f3a7e4f144188999bb4537f231c6d9a4499fb6/pysqler-0.8.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18f0d12a2878f88157b7a8ae7a8459ce", "sha256": "fc48dcb0fd260f92ced2734f4dfa202be29e6a7543737c64f8d412f5a11c5827" }, "downloads": -1, "filename": "pysqler-0.8.6.tar.gz", "has_sig": false, "md5_digest": "18f0d12a2878f88157b7a8ae7a8459ce", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 8296, "upload_time": "2019-05-24T08:51:22", "url": "https://files.pythonhosted.org/packages/82/8e/ac94831e5adce1505d03d91e23591599e6dcf9f2afec70080a8bf5692762/pysqler-0.8.6.tar.gz" } ], "0.8.7": [ { "comment_text": "", "digests": { "md5": "09ab51645a58532dce149d920dbaaa59", "sha256": "38e1bee3fb8521d93fcf9a6adf91baa2e2db3ccf7a3088f216f4ecdb3aca4691" }, "downloads": -1, "filename": "pysqler-0.8.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "09ab51645a58532dce149d920dbaaa59", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 9455, "upload_time": "2019-05-27T05:20:16", "url": "https://files.pythonhosted.org/packages/41/a4/48067d829e9598a710d78166e722df8b961853e8ecb2a5affaf3f098f888/pysqler-0.8.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "770d930a085d55f6c475fb8aafdd60de", "sha256": "85826f17c57339d4a9b9006fed609d852184372662a7c85983bcc484612c841c" }, "downloads": -1, "filename": "pysqler-0.8.7.tar.gz", "has_sig": false, "md5_digest": "770d930a085d55f6c475fb8aafdd60de", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 9600, "upload_time": "2019-05-27T05:20:18", "url": "https://files.pythonhosted.org/packages/a6/b2/74516bfe2904f066fdffa3f00bf0450e5b5f70a7f9fb5ea36aafdef456a2/pysqler-0.8.7.tar.gz" } ], "0.8.8": [ { "comment_text": "", "digests": { "md5": "8b4407d2fcaa50ecc5ce5a8de53150f4", "sha256": "146921d10feba007b451b23d5e74f42b27ae9e846432e0e96c5ab1b702eb8d42" }, "downloads": -1, "filename": "pysqler-0.8.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b4407d2fcaa50ecc5ce5a8de53150f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 10294, "upload_time": "2019-08-20T05:46:33", "url": "https://files.pythonhosted.org/packages/25/c8/fcfcbfc47dc109a29cdc1a588834a620d613ece21c0103c817cd7c132c62/pysqler-0.8.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e894675f2721e5740d996c3cf3a6cb6", "sha256": "f299859a3cad245a92227cacdde65d9aa31cd7a4184c3a928cdff1b9390bd0a9" }, "downloads": -1, "filename": "pysqler-0.8.8.tar.gz", "has_sig": false, "md5_digest": "4e894675f2721e5740d996c3cf3a6cb6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 9872, "upload_time": "2019-08-20T05:46:36", "url": "https://files.pythonhosted.org/packages/6f/ed/e1d440e3a63c24221949ea6cf6a9fb52ec978d6918afa598226bc593f245/pysqler-0.8.8.tar.gz" } ], "0.8.9": [ { "comment_text": "", "digests": { "md5": "11633b42b53df5f7f631c533050e2d40", "sha256": "ac7b043bed212666f49630ef324098367eccea2c25ed87b7f2bf5a07f2d1677b" }, "downloads": -1, "filename": "pysqler-0.8.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "11633b42b53df5f7f631c533050e2d40", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 10342, "upload_time": "2019-08-20T07:47:48", "url": "https://files.pythonhosted.org/packages/36/46/c6126801439d302ec78e33c04907555baea3c16967ead75a3f11d6690655/pysqler-0.8.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7621df82c74f7f585cf9278a04a4cd6", "sha256": "d7c0bd5738350ca4f124e2468318037e3a55e34a384067cdf17f8ddc491469d1" }, "downloads": -1, "filename": "pysqler-0.8.9.tar.gz", "has_sig": false, "md5_digest": "b7621df82c74f7f585cf9278a04a4cd6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 9894, "upload_time": "2019-08-20T07:47:52", "url": "https://files.pythonhosted.org/packages/dd/c2/c92326f99e569d5c0202f28da4f94d55d9ca60bdf1d73276b4f847cf643d/pysqler-0.8.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "11633b42b53df5f7f631c533050e2d40", "sha256": "ac7b043bed212666f49630ef324098367eccea2c25ed87b7f2bf5a07f2d1677b" }, "downloads": -1, "filename": "pysqler-0.8.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "11633b42b53df5f7f631c533050e2d40", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 10342, "upload_time": "2019-08-20T07:47:48", "url": "https://files.pythonhosted.org/packages/36/46/c6126801439d302ec78e33c04907555baea3c16967ead75a3f11d6690655/pysqler-0.8.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7621df82c74f7f585cf9278a04a4cd6", "sha256": "d7c0bd5738350ca4f124e2468318037e3a55e34a384067cdf17f8ddc491469d1" }, "downloads": -1, "filename": "pysqler-0.8.9.tar.gz", "has_sig": false, "md5_digest": "b7621df82c74f7f585cf9278a04a4cd6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 9894, "upload_time": "2019-08-20T07:47:52", "url": "https://files.pythonhosted.org/packages/dd/c2/c92326f99e569d5c0202f28da4f94d55d9ca60bdf1d73276b4f847cf643d/pysqler-0.8.9.tar.gz" } ] }