{ "info": { "author": "Samuele Santi", "author_email": "samuele.santi@reinventsoftware.io", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only" ], "description": "PyQL\n####\n\nGraphQL helpers for Python.\n\n- `Documentation `_\n- `PyPi package `_\n- `GitHub repository `_\n\n\nCI status: |ci-status|\n\n.. |ci-status| image:: https://circleci.com/gh/rshk/pyql.svg?style=svg\n :target: https://circleci.com/gh/rshk/pyql\n\n\nSchema definition\n=================\n\nPyQL provides a better / cleaner syntax for defining GraphQL schemas.\n\nUsing PyQL:\n\n.. code-block:: python\n\n from pyql import Schema\n\n schema = Schema()\n\n @schema.query.field('hello')\n def resolve_hello(root, info, name: str = 'world') -> str:\n return 'Hello {}'.format(name)\n\n compiled = schema.compile()\n\n\nEquivalent using graphql-core:\n\n.. code-block:: python\n\n from graphql import (\n GraphQLObjectType, GraphQLField, GraphQLArgument, GraphQLString,\n GraphQLSchema)\n\n Query = GraphQLObjectType(\n 'Query',\n fields=lambda: {\n 'hello': GraphQLField(\n GraphQLString,\n args={\n 'name': GraphQLArgument(\n type=GraphQLString,\n default_value='world',\n ),\n },\n resolver=lambda root, info, name = 'world': f'Hello, {name}'\n ),\n }\n )\n\n schema = GraphQLSchema(query=Query)\n\n\nGraphene looks slightly better, but it's quite confusing, and makes\nuse of unncessary objects:\n\n.. code-block:: python\n\n import graphene\n\n class Query(graphene.ObjectType):\n hello = graphene.Field(\n graphene.String,\n name=graphene.Argument(graphene.String))\n\n def resolve_hello(self, info, name='world'):\n return f'Hello {name}'\n\n schema = graphene.Schema(query=Query)\n\n\nPyQL uses standard Python introspection when possible to figure out\nthings, so eg. argument definitions can be picked up automatically\nfrom a resolver function, etc.\n\n\nLimitations\n===========\n\nWhile there are plans for field argument documentation to be picked up\nautomatically from docstrings, it's not currently implemented as\nreliably parsing docstrings is a non-trivial task.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rshk/pyql", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "PyQL", "package_url": "https://pypi.org/project/PyQL/", "platform": "", "project_url": "https://pypi.org/project/PyQL/", "project_urls": { "Homepage": "https://github.com/rshk/pyql" }, "release_url": "https://pypi.org/project/PyQL/0.4.0/", "requires_dist": [ "graphql-core", "aniso8601", "pytest ; extra == 'dev'", "pytest-cov ; extra == 'dev'", "sphinx ; extra == 'dev'" ], "requires_python": "", "summary": "", "version": "0.4.0" }, "last_serial": 5500218, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "9cae7500c857a713d1375628da418ae2", "sha256": "d3328fd99b442af919c5b543666ca620d08d3d9fe2e6e58af7dc395235c822d4" }, "downloads": -1, "filename": "PyQL-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9cae7500c857a713d1375628da418ae2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9988, "upload_time": "2018-12-11T17:08:48", "url": "https://files.pythonhosted.org/packages/f9/26/72bbe51beb16c3efda058c39e0c0126abecae0b779da0f60c3ccc7d19f0c/PyQL-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc7bac093a5a854c04a1162f9d82c00a", "sha256": "e0a6ff9c5121360a8524182b8b96a7a01cf8d4fc56e68c962760b3a1e36592a4" }, "downloads": -1, "filename": "PyQL-0.2.tar.gz", "has_sig": false, "md5_digest": "bc7bac093a5a854c04a1162f9d82c00a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8961, "upload_time": "2018-12-11T17:08:50", "url": "https://files.pythonhosted.org/packages/db/1a/5564b0de25b16b749a5bcc9d7277a5cca4cb10aed4170a5401de0089586b/PyQL-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "571b7e44f84d1263e3ec543d1decede0", "sha256": "fd5c4a3407063c3b7f87ab7dbc7b7a0e48d9156824e63b7e5fd8b9276d37cabf" }, "downloads": -1, "filename": "PyQL-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "571b7e44f84d1263e3ec543d1decede0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12178, "upload_time": "2018-12-14T12:04:35", "url": "https://files.pythonhosted.org/packages/54/37/9ea7f15a6efeb9234a22bfccbf483f90a4f05524fee18fdd756da96a6840/PyQL-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e6f6b8e94a773d935295eb4488b1018f", "sha256": "e95f939d8982909665a513acc3867c09c798dda596d0ee146ed084ec19f0d62d" }, "downloads": -1, "filename": "PyQL-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e6f6b8e94a773d935295eb4488b1018f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10098, "upload_time": "2018-12-14T12:04:37", "url": "https://files.pythonhosted.org/packages/9d/05/7e4773d7a8097d8e5b13661822ead3f8c586ea00e8cd025d8418fa37a302/PyQL-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "bc464df24f0375a83391496d3cdd8afc", "sha256": "0b30de57642475ea33c43a1488695dcf5eb0eeb30a8a737581a4b30691cb890d" }, "downloads": -1, "filename": "PyQL-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bc464df24f0375a83391496d3cdd8afc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14374, "upload_time": "2018-12-19T15:52:32", "url": "https://files.pythonhosted.org/packages/eb/4c/d3e88c3edb414cc84a2a9c76fe7028d9efc8e8ed2077d9f0043785960b60/PyQL-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c96c6317b1f138b38837e81ae63aef34", "sha256": "b2d6ff78f59a1236c24188a4005c1599f8ac2db6ccd66af352b789564408b1b0" }, "downloads": -1, "filename": "PyQL-0.2.2.tar.gz", "has_sig": false, "md5_digest": "c96c6317b1f138b38837e81ae63aef34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11707, "upload_time": "2018-12-19T15:52:33", "url": "https://files.pythonhosted.org/packages/59/67/c56494dd9a5d4938d1f6abd1a084a3502168e767690167f0f8f0ee138b73/PyQL-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "4548f5f5ed417c37fd3acbb6d89029be", "sha256": "5e2a2aebeb1dc3ba416c14945e3ef88833a21b8bdba859573df22489eb622112" }, "downloads": -1, "filename": "PyQL-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4548f5f5ed417c37fd3acbb6d89029be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14244, "upload_time": "2019-01-04T12:08:33", "url": "https://files.pythonhosted.org/packages/35/c4/d020f7a3a542e2764363ca8fce2fe4bbf8607c3dc36c4b4494cdac1f50b1/PyQL-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c03fb2e91e7228169fda39852a8b2501", "sha256": "fcc45acfc52b179f2b8db42fa18ffb799778f190f08f68a225c5783e23055b49" }, "downloads": -1, "filename": "PyQL-0.2.3.tar.gz", "has_sig": false, "md5_digest": "c03fb2e91e7228169fda39852a8b2501", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9484, "upload_time": "2019-01-04T12:08:34", "url": "https://files.pythonhosted.org/packages/a4/fa/05e50edc01c8c42e4d7a38939876ee75f834e1b880b81f6b112e818854ec/PyQL-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "85e1468f55c2e4b84738333fa797af2a", "sha256": "9142b8cb5af53955fef62d397ba28e8156583593939927454d688b41ff555520" }, "downloads": -1, "filename": "PyQL-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "85e1468f55c2e4b84738333fa797af2a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14317, "upload_time": "2019-01-04T12:26:56", "url": "https://files.pythonhosted.org/packages/73/2e/89ce75e9a59350b3a72e21884925d6a204aff789b13c3bf8d8fbdb6e063c/PyQL-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec3a546d67fbda83c5169de5ac76f813", "sha256": "62ec71701dcd215cf6310a8c4f77bb5f71bf45d34d67438bd02d6f91bb48b02d" }, "downloads": -1, "filename": "PyQL-0.2.4.tar.gz", "has_sig": false, "md5_digest": "ec3a546d67fbda83c5169de5ac76f813", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9545, "upload_time": "2019-01-04T12:26:58", "url": "https://files.pythonhosted.org/packages/aa/1c/0c2ad72d65264eb795d531f7ed4dffd0aa1db77973e26341e71e80acb5b9/PyQL-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "916a7ab249d9b2d7df0e4b3cafa30a16", "sha256": "5c4c0a0649ba37ee25e9c0d76180812dda58567e8d9c6e44da492809475c57ab" }, "downloads": -1, "filename": "PyQL-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "916a7ab249d9b2d7df0e4b3cafa30a16", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14472, "upload_time": "2019-03-29T23:18:43", "url": "https://files.pythonhosted.org/packages/5e/d4/d0118df784516de425e44926f070b6785f231a1d8ed30cda92f8f136ea13/PyQL-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edfe576a94ec3a9c8b3a6093cfcb7d28", "sha256": "3f807fd944d2d1926ef5eb6beef29076a10cebb7939f4e46b0d6149a781af49e" }, "downloads": -1, "filename": "PyQL-0.2.5.tar.gz", "has_sig": false, "md5_digest": "edfe576a94ec3a9c8b3a6093cfcb7d28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9680, "upload_time": "2019-03-29T23:18:45", "url": "https://files.pythonhosted.org/packages/56/9f/6f69700084e4654105ad6e9e2873b567e04e42aa7cb1c3fd3f14759f2ae2/PyQL-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "a0dfae801e19682cc285d2a3b083cf16", "sha256": "eb754c9a075b74d2f64403251934be3f77d6b3a8d1d4b926b3eb9599f87816a1" }, "downloads": -1, "filename": "PyQL-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "a0dfae801e19682cc285d2a3b083cf16", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14622, "upload_time": "2019-04-15T14:47:34", "url": "https://files.pythonhosted.org/packages/78/13/382c031fefa36bb8841286dcf6fbdfb12c13563e8255e380922cfe685d7d/PyQL-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0ec8822a7946904c50a3fc62fc36dbe", "sha256": "9147e3b78d92e6df0373c0bb816b2d446c5509d77fc6ff3c69e0938e1705cf01" }, "downloads": -1, "filename": "PyQL-0.2.6.tar.gz", "has_sig": false, "md5_digest": "a0ec8822a7946904c50a3fc62fc36dbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9827, "upload_time": "2019-04-15T14:47:36", "url": "https://files.pythonhosted.org/packages/e7/f2/c504f61784faaa352958ed50eb2579560ff6dbb9bf08f1e60eb4ef6cd623/PyQL-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "12d50bc5b03a7d27afa169714c244dd4", "sha256": "e2b4b59d40bf75a6f11153f7d5ce26956cebb55ac0a11bc33e19f03e87c9b29b" }, "downloads": -1, "filename": "PyQL-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "12d50bc5b03a7d27afa169714c244dd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14650, "upload_time": "2019-04-16T15:39:06", "url": "https://files.pythonhosted.org/packages/92/0f/bc8abb9c24dfe41cab8d81eb3d0654eefea66a264fca2937982b8d980bb3/PyQL-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f08f1647881b3cd24ca6312f82645789", "sha256": "eb7e92754d2884719f7e15457efe7818b905e5baffdf7c1d588613c0424c19d2" }, "downloads": -1, "filename": "PyQL-0.2.7.tar.gz", "has_sig": false, "md5_digest": "f08f1647881b3cd24ca6312f82645789", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9866, "upload_time": "2019-04-16T15:39:07", "url": "https://files.pythonhosted.org/packages/f0/43/1b7e20b015e398fc9e80b697d71093e7f2704e17c5943609f94788e2acf7/PyQL-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "c2b09e0d386d0742d3040829d13a3d04", "sha256": "7e29e372e11ef75f19a3e5ae864af1b47c1765e525578ec4257f0ce1b51950da" }, "downloads": -1, "filename": "PyQL-0.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "c2b09e0d386d0742d3040829d13a3d04", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16724, "upload_time": "2019-04-16T15:45:27", "url": "https://files.pythonhosted.org/packages/8e/b3/58420ce5aff558d10074f83df368d0b98721a325c904954f370f292a753c/PyQL-0.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08f49b451a0204f3e20b46de25c96751", "sha256": "0d1f9eeffa60656cc0981333c872e2d9b266b8203d1145fb0a4854b29a2d7d29" }, "downloads": -1, "filename": "PyQL-0.2.8.tar.gz", "has_sig": false, "md5_digest": "08f49b451a0204f3e20b46de25c96751", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11222, "upload_time": "2019-04-16T15:45:29", "url": "https://files.pythonhosted.org/packages/55/ee/b40720e24e2b0cf6a4f97b1a9e6ea7178f4f7fd6f9467712cf8654c54be2/PyQL-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "6454f6af04e9b103c35146a1dbcbce20", "sha256": "71de70f7776792f61a8ce06679d578b704c6c950ee40ebaecab21dc9bb8f7b28" }, "downloads": -1, "filename": "PyQL-0.2.9-py3-none-any.whl", "has_sig": false, "md5_digest": "6454f6af04e9b103c35146a1dbcbce20", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17181, "upload_time": "2019-06-07T14:25:40", "url": "https://files.pythonhosted.org/packages/df/61/0778cc933883993036977393e714f91720dad6d0f2785c25c628323517f2/PyQL-0.2.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9831f864c78cdd953c5cc31e9a323a31", "sha256": "aa3c69ece222c9a3e0923202aaf362171ef0a7220007503edc39940a9f168eca" }, "downloads": -1, "filename": "PyQL-0.2.9.tar.gz", "has_sig": false, "md5_digest": "9831f864c78cdd953c5cc31e9a323a31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11449, "upload_time": "2019-06-07T14:25:42", "url": "https://files.pythonhosted.org/packages/29/f1/1a0e526bbef61d9cb8f1206f9dc16b5a11aa5c67844fc78f50ebd75b15b1/PyQL-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "8c5362375c85398f15344a4987f94e46", "sha256": "2e706581c54bf59098a703889645803bd10b380adbe72e4d0c4e5ea2e918793c" }, "downloads": -1, "filename": "PyQL-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8c5362375c85398f15344a4987f94e46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16691, "upload_time": "2019-06-07T14:40:30", "url": "https://files.pythonhosted.org/packages/e8/b6/ed9c8028ffcadb09c30006ccdde5ea6d985af814fe46ff3edf84d91df36a/PyQL-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a699757505ec372276d1ca08a635354", "sha256": "694b9f0464a37fb12f2f291d8658ab8c516ba770891b5d405b152c9401c4f786" }, "downloads": -1, "filename": "PyQL-0.3.0.tar.gz", "has_sig": false, "md5_digest": "8a699757505ec372276d1ca08a635354", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9592, "upload_time": "2019-06-07T14:40:32", "url": "https://files.pythonhosted.org/packages/fc/5b/adba5781911fee50d4f4e15f9ed8cba3f815121078455de23af2801e7cb2/PyQL-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a3d95a4ff607c689e5d19ced75d551ea", "sha256": "156c0c64286519bfa6f4077779aa95902d98509894d4a8e5ff44d86f5e0c0be3" }, "downloads": -1, "filename": "PyQL-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a3d95a4ff607c689e5d19ced75d551ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16803, "upload_time": "2019-06-09T16:43:00", "url": "https://files.pythonhosted.org/packages/d0/af/80b16c20fec5f8437e5cbf72c8f034269978f5dab5b66f1d17f7f84c54b6/PyQL-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58db7e7ab14d8e6ac098c996a8ddec5d", "sha256": "cda96ae850428c7883b4a17cb3aab3d6f63f9ffc3072929f2f481ae8a8f9619c" }, "downloads": -1, "filename": "PyQL-0.3.1.tar.gz", "has_sig": false, "md5_digest": "58db7e7ab14d8e6ac098c996a8ddec5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9698, "upload_time": "2019-06-09T16:43:02", "url": "https://files.pythonhosted.org/packages/a9/e0/522e1e7dcf0349613d5bcae6d11d275364e7ec72e031ebe1c8ef219df5ff/PyQL-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d9c8e99212e3830a39db62d234758776", "sha256": "b84eb2b8f4aeff8d24fdbfd04ca41f2940f649334ff022441ec595037350dfb2" }, "downloads": -1, "filename": "PyQL-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d9c8e99212e3830a39db62d234758776", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17076, "upload_time": "2019-07-05T16:31:30", "url": "https://files.pythonhosted.org/packages/9d/4c/313fb1574c94eb328a9565ebb64a285b8b1837e5d6279de7c525f4853525/PyQL-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2fe79a2d10841f11def26d19973dbc93", "sha256": "7199aae69d025dcfd55d5180241b6a6fbf80f1f662c9a337fab0b839dd3a896e" }, "downloads": -1, "filename": "PyQL-0.3.2.tar.gz", "has_sig": false, "md5_digest": "2fe79a2d10841f11def26d19973dbc93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9984, "upload_time": "2019-07-05T16:31:31", "url": "https://files.pythonhosted.org/packages/d7/50/2452843b2000b046329fa891134fe332d81e8682a408021a92d256c196cd/PyQL-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "8b9c6d6380798eab6dfa6afd9ef26f95", "sha256": "020708f292a8fb051b6aef7f2cc7f60da4261338206a97abba70360a0e2d7afd" }, "downloads": -1, "filename": "PyQL-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8b9c6d6380798eab6dfa6afd9ef26f95", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17422, "upload_time": "2019-07-08T11:07:09", "url": "https://files.pythonhosted.org/packages/00/8e/37db200208db73e7a26229b4870737483a1f1449368f04e53f52e9cad638/PyQL-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f93271f40094b43280eaabae3b5f870", "sha256": "cb5cf1077c052d61b236923537b4652d7f8162fdf3885d4ca81e527149e4c148" }, "downloads": -1, "filename": "PyQL-0.4.0.tar.gz", "has_sig": false, "md5_digest": "2f93271f40094b43280eaabae3b5f870", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10287, "upload_time": "2019-07-08T11:07:10", "url": "https://files.pythonhosted.org/packages/8a/ec/049c461fa9bbd23bf48b28c0e08ba2eb79c6d90fcc23dc65736a0e10249c/PyQL-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8b9c6d6380798eab6dfa6afd9ef26f95", "sha256": "020708f292a8fb051b6aef7f2cc7f60da4261338206a97abba70360a0e2d7afd" }, "downloads": -1, "filename": "PyQL-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8b9c6d6380798eab6dfa6afd9ef26f95", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17422, "upload_time": "2019-07-08T11:07:09", "url": "https://files.pythonhosted.org/packages/00/8e/37db200208db73e7a26229b4870737483a1f1449368f04e53f52e9cad638/PyQL-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f93271f40094b43280eaabae3b5f870", "sha256": "cb5cf1077c052d61b236923537b4652d7f8162fdf3885d4ca81e527149e4c148" }, "downloads": -1, "filename": "PyQL-0.4.0.tar.gz", "has_sig": false, "md5_digest": "2f93271f40094b43280eaabae3b5f870", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10287, "upload_time": "2019-07-08T11:07:10", "url": "https://files.pythonhosted.org/packages/8a/ec/049c461fa9bbd23bf48b28c0e08ba2eb79c6d90fcc23dc65736a0e10249c/PyQL-0.4.0.tar.gz" } ] }