{ "info": { "author": "Roman Zaiev", "author_email": "semirook@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "\n# Snaql. Raw \\*QL queries in Python without pain [![Build Status](https://travis-ci.org/semirook/snaql.png)](https://travis-ci.org/semirook/snaql)\n\nTotally inspired by [Yesql](https://github.com/krisajenkins/yesql) from Clojure world. \nBut implemented in another way.\n\n## What?\n\nI totally agree with Yesql's author that SQL is already a mature DSL and great abstaction layer \nfor DB queries building. And we don't need another layer above SQL to work with RDBMS like ORMs \nor complicated DSLs. Feel free to use all of the SQL's power in your projects without mixing Python \ncode and SQL strings. Solution is very simple and flexible enough to try it in your next project. \nAlso, Snaql doesn't depend on DB clients, can be used in asynchronous handlers (Tornado, for example). \nIt's just a way to organize your queries and a bit of logic to change them by context. Look at examples.\n\nActually, Snaql doesn't care about stuff you want to build. SQL, SPARQL, SphinxQL, CQL etc., \nyou can build any query for any DB or search engine. Freedom.\n\n## Installation\n\nAs usual, with pip:\n\n```bash\n$ pip install snaql\n```\n\n## Documentation\n\nYou always can find the most recent docs with examples on [Snaql GitBook](https://semirook.gitbooks.io/snaql/content/)\n\n\nSimple, without DB clients dependencies (use what you need). Try!\n\nTested in Python 2.7, 3.3, 3.4, 3.5\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/semirook/snaql", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "snaql", "package_url": "https://pypi.org/project/snaql/", "platform": "", "project_url": "https://pypi.org/project/snaql/", "project_urls": { "Homepage": "https://github.com/semirook/snaql" }, "release_url": "https://pypi.org/project/snaql/0.4.2/", "requires_dist": [ "Jinja2 (>=2.9.5)", "schema (>=0.6.5)" ], "requires_python": "", "summary": "Transparant *QL usage without ORM", "version": "0.4.2" }, "last_serial": 5900191, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1ead1a29861e3defb95aea86647bfb00", "sha256": "8a354745aa99f0ab1c6466cda3dd17fdaef6ca24646bbb0fe56e17405ead46d5" }, "downloads": -1, "filename": "snaql-0.1.tar.gz", "has_sig": false, "md5_digest": "1ead1a29861e3defb95aea86647bfb00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2949, "upload_time": "2015-09-09T16:29:22", "url": "https://files.pythonhosted.org/packages/07/ca/d15e85be302147502473db3ac72d8d49322858c8b9a87c66e5cb3633fe05/snaql-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cb56412cb0add7ade174049fb52101e3", "sha256": "4ad354010ff010e3e47edd8b3baf7a168ed0e743f535f651dbf01feaa0a626be" }, "downloads": -1, "filename": "snaql-0.1.1.tar.gz", "has_sig": false, "md5_digest": "cb56412cb0add7ade174049fb52101e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3277, "upload_time": "2015-09-10T11:44:44", "url": "https://files.pythonhosted.org/packages/e1/18/cdc1086c0cca772b587a870e1dcfc3d5a67efa41cf08df9b122be742d5d5/snaql-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "f1a2d39673017957987c8bbe3d576c17", "sha256": "8d90e34c30bb8b3dcfa73ad71cc9591d3a73beb2a31b3c8efd3efeb4dfd36bbc" }, "downloads": -1, "filename": "snaql-0.2.tar.gz", "has_sig": false, "md5_digest": "f1a2d39673017957987c8bbe3d576c17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4957, "upload_time": "2015-09-16T22:33:17", "url": "https://files.pythonhosted.org/packages/41/e8/024a05f6130005ed47123b05e12f4b72f7fe3ba4b3a0050f62906e127397/snaql-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6b46b084166ff77379db272e39d91543", "sha256": "bce80a163dac97821490f2506ec6e6cc4e7dc80e87acce36ade4bba7beae1d05" }, "downloads": -1, "filename": "snaql-0.2.1.tar.gz", "has_sig": false, "md5_digest": "6b46b084166ff77379db272e39d91543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5071, "upload_time": "2015-09-17T13:30:36", "url": "https://files.pythonhosted.org/packages/db/31/f2e1f06859b0ede676e62d6f2cf671840e3bb49e592dc8857002e47bef74/snaql-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "5614d78053418e231c325c8856115d60", "sha256": "506da80b69ed2e2debd166074b796999375adc1025632a7aed7a57c7ec84b30d" }, "downloads": -1, "filename": "snaql-0.3.tar.gz", "has_sig": false, "md5_digest": "5614d78053418e231c325c8856115d60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5690, "upload_time": "2015-09-17T19:06:50", "url": "https://files.pythonhosted.org/packages/d8/c6/2e2bd06757551d5372b8c5d64f84babe96204c1ed6e92d6c6681fa6d45de/snaql-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "1788b080b607561236fba9de31afa52a", "sha256": "9b1d997e6923f2bb1773e2087a797418a88009c6ba5f65cbef7e0e1e88301566" }, "downloads": -1, "filename": "snaql-0.3.1.tar.gz", "has_sig": false, "md5_digest": "1788b080b607561236fba9de31afa52a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5702, "upload_time": "2015-09-18T10:52:20", "url": "https://files.pythonhosted.org/packages/45/21/3cc3d0631168da4d8932cc059755ab0910c13905ac4774a2a94e05d98b7a/snaql-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "85e5e1f933448c7eafc9817b21304f25", "sha256": "de1da38a5229448d2fced59149d85da3c07f021d101120ff267d77ce6fda299c" }, "downloads": -1, "filename": "snaql-0.3.2.tar.gz", "has_sig": false, "md5_digest": "85e5e1f933448c7eafc9817b21304f25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5840, "upload_time": "2015-09-18T14:24:57", "url": "https://files.pythonhosted.org/packages/94/8d/e211460fb4d396fc78aaed8795c857becef0187b36a0dff0312b37158c48/snaql-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "958ece1df709fd651a21b7689efb6394", "sha256": "0c6c21219315ba904083fdf80b9f1abef49aafce4b8f1d00b32e3ab867834b42" }, "downloads": -1, "filename": "snaql-0.3.3.tar.gz", "has_sig": false, "md5_digest": "958ece1df709fd651a21b7689efb6394", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6423, "upload_time": "2015-10-12T21:47:32", "url": "https://files.pythonhosted.org/packages/60/a3/5ae31454260092a7216eaf2c75e9744516a0c4ea8cf34a9e592067a40eb7/snaql-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "74fa3aed414fc0b9d98ab27b3018eff2", "sha256": "87260f045665c145bbc335c8fe6f35d72faf53e455a74f88ed290a61f63c8b8b" }, "downloads": -1, "filename": "snaql-0.3.4.tar.gz", "has_sig": false, "md5_digest": "74fa3aed414fc0b9d98ab27b3018eff2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6493, "upload_time": "2015-10-28T12:19:26", "url": "https://files.pythonhosted.org/packages/bb/25/7e6c221b162171d675e7dcb5249571764e5b67d6b4d860e08102ff4a31a4/snaql-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "e709f9631764aab38eda4cafb4ffefef", "sha256": "8de027fbba871107b57e967e5129626af3a76dee4f9b26ada9559e635b58cc40" }, "downloads": -1, "filename": "snaql-0.3.5.tar.gz", "has_sig": false, "md5_digest": "e709f9631764aab38eda4cafb4ffefef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6523, "upload_time": "2015-12-29T11:23:15", "url": "https://files.pythonhosted.org/packages/1a/cf/e5ba8797ded1d78c828dcc124912d72ef9dbc4e185145d456a3554b8fca0/snaql-0.3.5.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "1a93b812f9026149e42b2614c4f92f41", "sha256": "8c744383994468f764b456806e7931cb74dee177ffcdcd8ab9b33fa9b5a37d49" }, "downloads": -1, "filename": "snaql-0.4.tar.gz", "has_sig": false, "md5_digest": "1a93b812f9026149e42b2614c4f92f41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6806, "upload_time": "2016-06-21T12:34:01", "url": "https://files.pythonhosted.org/packages/7f/02/668ca66285f5bc691909e1580dfc06759c0348d692848b6a5b6001a59728/snaql-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c23199c21381ca25eaef5491802a65b5", "sha256": "5ea64b50d9b2fbbab05949e5217cc19140b289333c6fd8b790a9e13fd33a91cf" }, "downloads": -1, "filename": "snaql-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c23199c21381ca25eaef5491802a65b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6890, "upload_time": "2017-03-09T15:37:09", "url": "https://files.pythonhosted.org/packages/95/10/3487d37165da75e453423ba3dff4570bac669047ee7ce9dd7b3118d769a8/snaql-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "21a2e202a03522e9f46db980f0e2c81d", "sha256": "c3c5cb1caff5a51d1392d0370543e571a2bfe32d7c2278dc1b99d8c0ac6ec4d8" }, "downloads": -1, "filename": "snaql-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "21a2e202a03522e9f46db980f0e2c81d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10880, "upload_time": "2019-09-28T17:45:42", "url": "https://files.pythonhosted.org/packages/30/60/1c290804fa2d7fef82873533168776ed1532737b41ccf3f9e8402bb0cf0c/snaql-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c9374b5123c3951d6f57501a0516a7e", "sha256": "29e99d1f4bc9b03793be186d8eef464f82a00cb59b32e0f81a431e07cb7aff71" }, "downloads": -1, "filename": "snaql-0.4.2.tar.gz", "has_sig": false, "md5_digest": "1c9374b5123c3951d6f57501a0516a7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8971, "upload_time": "2019-09-28T17:45:44", "url": "https://files.pythonhosted.org/packages/cd/fd/614fdb2246adc2f31d4c11810670e30332f34216ca5f5904914e862b9551/snaql-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21a2e202a03522e9f46db980f0e2c81d", "sha256": "c3c5cb1caff5a51d1392d0370543e571a2bfe32d7c2278dc1b99d8c0ac6ec4d8" }, "downloads": -1, "filename": "snaql-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "21a2e202a03522e9f46db980f0e2c81d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10880, "upload_time": "2019-09-28T17:45:42", "url": "https://files.pythonhosted.org/packages/30/60/1c290804fa2d7fef82873533168776ed1532737b41ccf3f9e8402bb0cf0c/snaql-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c9374b5123c3951d6f57501a0516a7e", "sha256": "29e99d1f4bc9b03793be186d8eef464f82a00cb59b32e0f81a431e07cb7aff71" }, "downloads": -1, "filename": "snaql-0.4.2.tar.gz", "has_sig": false, "md5_digest": "1c9374b5123c3951d6f57501a0516a7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8971, "upload_time": "2019-09-28T17:45:44", "url": "https://files.pythonhosted.org/packages/cd/fd/614fdb2246adc2f31d4c11810670e30332f34216ca5f5904914e862b9551/snaql-0.4.2.tar.gz" } ] }