{ "info": { "author": "John Thorvald Wodder II", "author_email": "qypi@varonathe.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Software Distribution" ], "description": ".. image:: http://www.repostatus.org/badges/latest/active.svg\n :target: http://www.repostatus.org/#active\n :alt: Project Status: Active \u2014 The project has reached a stable, usable\n state and is being actively developed.\n\n.. image:: https://img.shields.io/pypi/pyversions/qypi.svg\n :target: https://pypi.org/project/qypi/\n\n.. image:: https://img.shields.io/github/license/jwodder/qypi.svg?maxAge=2592000\n :target: https://opensource.org/licenses/MIT\n :alt: MIT License\n\n.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg\n :target: https://saythanks.io/to/jwodder\n\n`GitHub `_\n| `PyPI `_\n| `Issues `_\n| `Changelog `_\n\n``qypi`` is a command-line client for querying & searching `the Python Package\nIndex `_ for Python package information and outputting JSON\n(with some minor opinionated changes to the output data structures; see the\nexamples below).\n\n\nInstallation\n============\n``qypi`` requires Python 3.4 or higher. Just use version 6.0 or higher of `pip\n`_ for Python 3 (You have pip, right?) to install ``qypi``\nand its dependencies::\n\n python3 -m pip install qypi\n\n\nUsage\n=====\n\n::\n\n qypi [-i|--index-url ] [] []\n\nGlobal Option\n-------------\n\n- ``-i ``, ``--index-url `` \u2014 Query the Python package server at the\n given URL, which must support both the `XML-RPC\n `_ and `JSON\n `_ APIs. By default,\n ``qypi`` queries `PyPI (Warehouse) `_ at\n ``https://pypi.org/pypi``.\n\n\nList Packages\n-------------\n\n``list``\n^^^^^^^^\n\n::\n\n qypi list\n\nList all packages registered on PyPI, one per line, in the order that they are\nreturned by the API. ``list`` and ``readme`` are the only subcommands that do\nnot output JSON.\n\n``search``\n^^^^^^^^^^\n\n::\n\n qypi search [--and|--or] [--packages|--releases] ...\n\nSearch PyPI for packages or package releases matching the given search terms.\nSearch terms consist of a field name and a value separated by a colon; a term\nwithout a colon searches the ``description`` field. As documented `here\n`_, the supported\nsearchable fields are:\n\n- ``name``\n- ``version``\n- ``author``\n- ``author_email``\n- ``maintainer``\n- ``maintainer_email``\n- ``home_page`` (aliases: ``homepage`` and ``url``)\n- ``license``\n- ``summary``\n- ``description`` (aliases: ``long_description`` and ``readme``)\n- ``keywords`` (alias: ``keyword``)\n- ``platform``\n- ``download_url``\n\nAll other fields are ignored.\n\nMultiple search terms referring to the same field are combined with logical OR.\nSearch terms on different fields are combined according to whether ``--and`` or\n``--or`` is specified on the command line; the default behavior is ``--and``.\n\nBy default, ``search`` lists every matching release for every package, even if\nthe same package has multiple matching releases. To list no more than one\nrelease (specifically, the highest-versioned) per package, specify the\n``-p``/``--packages`` option on the command line. ``-r``/``--releases``\nrestores the default behavior.\n\n``browse``\n^^^^^^^^^^\n\n::\n\n qypi browse [-f|--file ] [--packages|--releases] ...\n\nList packages or package releases with the given `trove classifiers\n`_. Because trove\nclassifiers are not the most command-line friendly thing in the world, they may\noptionally be read from a file, one classifier per line. Any further\nclassifiers listed on the command line will be added to the file's list.\n\nBy default, ``browse`` lists every matching release for every package, even if\nthe same package has multiple matching releases. To list no more than one\nrelease (specifically, the highest-versioned) per package, specify the\n``-p``/``--packages`` option on the command line. ``-r``/``--releases``\nrestores the default behavior.\n\n``owned``\n^^^^^^^^^\n\n::\n\n qypi owned ...\n\nList packages owned or maintained by the given PyPI users\n\n\nPackage Information\n-------------------\n\n``releases``\n^^^^^^^^^^^^\n\n::\n\n qypi releases ...\n\nList the released versions for the given packages in PEP 440 order\n\nExample::\n\n $ qypi releases qypi\n {\n \"qypi\": [\n {\n \"is_prerelease\": false,\n \"release_date\": \"2017-04-02T03:07:42\",\n \"release_url\": \"https://pypi.org/project/qypi/0.1.0\",\n \"version\": \"0.1.0\"\n },\n {\n \"is_prerelease\": false,\n \"release_date\": \"2017-04-02T03:32:44\",\n \"release_url\": \"https://pypi.org/project/qypi/0.1.0.post1\",\n \"version\": \"0.1.0.post1\"\n }\n ]\n }\n\nA release's release date is the time at which its first file was uploaded. If\nthere are no files associated with a release, its release date will be\n``null``.\n\n``owner``\n^^^^^^^^^\n\n::\n\n qypi owner ...\n\nList the PyPI users that own and/or maintain the given packages\n\nExample::\n\n $ qypi owner requests\n {\n \"requests\": [\n {\n \"role\": \"Owner\",\n \"user\": \"graffatcolmingov\"\n },\n {\n \"role\": \"Owner\",\n \"user\": \"kennethreitz\"\n },\n {\n \"role\": \"Owner\",\n \"user\": \"Lukasa\"\n },\n {\n \"role\": \"Maintainer\",\n \"user\": \"graffatcolmingov\"\n },\n {\n \"role\": \"Maintainer\",\n \"user\": \"Lukasa\"\n },\n {\n \"role\": \"Maintainer\",\n \"user\": \"nateprewitt\"\n }\n ]\n }\n\nRelease Information\n-------------------\nThese subcommands show information about individual package releases/versions\nand share the same command-line options and argument syntax.\n\nArguments of the form ``package==version`` (e.g., ``qypi info qypi==0.1.0``)\nalways refer to the given version of the given package.\n\nArguments that are just a package name refer to (by default) the\nhighest-numbered non-prerelease version of the package. This can be changed\nwith the following options:\n\n- ``--all-versions``/``--latest-version`` \u2014 Show information for all versions\n (in PEP 440 order, excluding prereleases unless ``--pre`` is given)/only the\n latest version of each package; default: latest only\n\n - ``--all-versions`` may optionally be written ``-A``.\n\n- ``--newest``/``--highest`` \u2014 Define \"latest version\" to mean the most\n recently released/highest-numbered version; default: highest-numbered.\n ``--newest`` determines release dates based on file upload times; releases\n without file uploads are thus ignored.\n\n- ``--pre``/``--no-pre`` \u2014 Include/don't include prerelease & development\n versions; default: don't include\n\n``info``\n^^^^^^^^\n\n::\n\n qypi info [] [--description] [--trust-downloads] ...\n\nShow basic information about the given package releases.\n\nBy default, (long) descriptions are omitted because they can be *very* long,\nand it is recommended that you view them with the ``readme`` subcommand\ninstead; use the ``--description`` option to include them anyway.\n\nBy default, download counts are omitted because `the feature is currently\nbroken & unreliable `_; use the\n``--trust-downloads`` option if you want to see the values anyway.\n\nExample::\n\n $ qypi info qypi\n [\n {\n \"bugtrack_url\": null,\n \"classifiers\": [\n \"Development Status :: 4 - Beta\",\n \"Environment :: Console\",\n \"Intended Audience :: Developers\",\n \"Intended Audience :: Information Technology\",\n \"License :: OSI Approved :: MIT License\",\n \"Programming Language :: Python :: 3\",\n \"Programming Language :: Python :: 3.4\",\n \"Programming Language :: Python :: 3.5\",\n \"Programming Language :: Python :: 3.6\",\n \"Programming Language :: Python :: 3 :: Only\",\n \"Topic :: Software Development :: Libraries :: Python Modules\",\n \"Topic :: System :: Software Distribution\"\n ],\n \"docs_url\": null,\n \"download_url\": null,\n \"keywords\": \"pypi warehouse search packages pip\",\n \"license\": \"MIT\",\n \"name\": \"qypi\",\n \"people\": [\n {\n \"email\": \"qypi@varonathe.org\",\n \"name\": \"John Thorvald Wodder II\",\n \"role\": \"author\"\n }\n ],\n \"platform\": null,\n \"project_url\": \"https://pypi.org/project/qypi/\",\n \"release_date\": \"2017-04-02T03:32:44\",\n \"release_url\": \"https://pypi.org/project/qypi/0.1.0.post1/\",\n \"requires_python\": \"~=3.4\",\n \"summary\": \"Query PyPI from the command line\",\n \"url\": \"https://github.com/jwodder/qypi\",\n \"version\": \"0.1.0.post1\"\n }\n ]\n\n``readme``\n^^^^^^^^^^\n\n::\n\n qypi readme [] ...\n\nDisplay the given package releases' (long) descriptions in a pager one at a\ntime. ``list`` and ``readme`` are the only subcommands that do not output\nJSON.\n\n``files``\n^^^^^^^^^\n\n::\n\n qypi files [] [--trust-downloads] ...\n\nList files available for download for the given package releases. Download\ncounts are omitted because `the feature is currently broken & unreliable\n`_; use the\n``--trust-downloads`` option if you want to see the values anyway.\n\nExample::\n\n $ qypi files qypi\n [\n {\n \"files\": [\n {\n \"comment_text\": \"\",\n \"digests\": {\n \"md5\": \"58863d77e19bf4aa1ae85026cc1ff0f6\",\n \"sha256\": \"5946a4557550479af90278e5418cd2c32a2626936075078a4c7096be52d43078\"\n },\n \"filename\": \"qypi-0.1.0.post1-py3-none-any.whl\",\n \"has_sig\": true,\n \"md5_digest\": \"58863d77e19bf4aa1ae85026cc1ff0f6\",\n \"packagetype\": \"bdist_wheel\",\n \"python_version\": \"py3\",\n \"size\": 13590,\n \"upload_time\": \"2017-04-02T03:32:44\",\n \"url\": \"https://files.pythonhosted.org/packages/f9/3f/6b184713e79da15cd451f0dab91864633175242f4d321df0cacdd2dc8300/qypi-0.1.0.post1-py3-none-any.whl\"\n },\n {\n \"comment_text\": \"\",\n \"digests\": {\n \"md5\": \"bfd357b3df2c2f1cbb6d23ff7c61fbb9\",\n \"sha256\": \"c99eea315455cf9fde722599ab67eeefdff5c184bb3861a7fd82f8a9387c252d\"\n },\n \"filename\": \"qypi-0.1.0.post1.tar.gz\",\n \"has_sig\": true,\n \"md5_digest\": \"bfd357b3df2c2f1cbb6d23ff7c61fbb9\",\n \"packagetype\": \"sdist\",\n \"python_version\": \"source\",\n \"size\": 8975,\n \"upload_time\": \"2017-04-02T03:32:46\",\n \"url\": \"https://files.pythonhosted.org/packages/0e/49/3056ee68b44c8eab4d4698b52ae4d18c0db92c80abc312894c02c4722621/qypi-0.1.0.post1.tar.gz\"\n }\n ],\n \"name\": \"qypi\",\n \"version\": \"0.1.0.post1\"\n }\n ]\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jwodder/qypi", "keywords": "pypi,warehouse,search,packages,pip", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "qypi", "package_url": "https://pypi.org/project/qypi/", "platform": "", "project_url": "https://pypi.org/project/qypi/", "project_urls": { "Bug Tracker": "https://github.com/jwodder/qypi/issues", "Homepage": "https://github.com/jwodder/qypi", "Say Thanks!": "https://saythanks.io/to/jwodder", "Source Code": "https://github.com/jwodder/qypi" }, "release_url": "https://pypi.org/project/qypi/0.5.0/", "requires_dist": [ "click (~=7.0)", "packaging (>=16)", "requests (==2.*)" ], "requires_python": "~=3.4", "summary": "Query PyPI from the command line", "version": "0.5.0" }, "last_serial": 5286193, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "806d621cbc3ca9ceffb3a4dd33974585", "sha256": "da69d28dcd527c0e372b3fa7b92fc333b327f8470175f035abc4e351b539189f" }, "downloads": -1, "filename": "qypi-0.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "806d621cbc3ca9ceffb3a4dd33974585", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 13465, "upload_time": "2017-04-02T03:07:42", "url": "https://files.pythonhosted.org/packages/82/fc/9e25534641d7f63be93079bc07fa92bab136ddf5d4181059a1308a346f96/qypi-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96af92271ed42c386ecdf4a5f3975286", "sha256": "212093de95b4f5f22e19fa18fe57fa33eccd63adb9b325fe1b673bf71912c551" }, "downloads": -1, "filename": "qypi-0.1.0.tar.gz", "has_sig": true, "md5_digest": "96af92271ed42c386ecdf4a5f3975286", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 8951, "upload_time": "2017-04-02T03:07:44", "url": "https://files.pythonhosted.org/packages/e4/fe/3fdb222a2916b94e9ca12d80c92dbbad1f7068c82fca42872d6c1739fead/qypi-0.1.0.tar.gz" } ], "0.1.0.post1": [ { "comment_text": "", "digests": { "md5": "58863d77e19bf4aa1ae85026cc1ff0f6", "sha256": "5946a4557550479af90278e5418cd2c32a2626936075078a4c7096be52d43078" }, "downloads": -1, "filename": "qypi-0.1.0.post1-py3-none-any.whl", "has_sig": true, "md5_digest": "58863d77e19bf4aa1ae85026cc1ff0f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 13590, "upload_time": "2017-04-02T03:32:44", "url": "https://files.pythonhosted.org/packages/f9/3f/6b184713e79da15cd451f0dab91864633175242f4d321df0cacdd2dc8300/qypi-0.1.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd357b3df2c2f1cbb6d23ff7c61fbb9", "sha256": "c99eea315455cf9fde722599ab67eeefdff5c184bb3861a7fd82f8a9387c252d" }, "downloads": -1, "filename": "qypi-0.1.0.post1.tar.gz", "has_sig": true, "md5_digest": "bfd357b3df2c2f1cbb6d23ff7c61fbb9", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 8975, "upload_time": "2017-04-02T03:32:46", "url": "https://files.pythonhosted.org/packages/0e/49/3056ee68b44c8eab4d4698b52ae4d18c0db92c80abc312894c02c4722621/qypi-0.1.0.post1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "27133b6ebc6f27b6dad984ca24cd1275", "sha256": "0923d60c5ff6aaf73c4805b5381868ccdf44d1cfe1d1a659d679be821fe38d53" }, "downloads": -1, "filename": "qypi-0.2.0-py3-none-any.whl", "has_sig": true, "md5_digest": "27133b6ebc6f27b6dad984ca24cd1275", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 13845, "upload_time": "2017-04-03T14:33:45", "url": "https://files.pythonhosted.org/packages/96/b8/9c2d0c3d0d95ccdaa04ebff77f8e85e9ca0888f2844b102d32a81ca3c92e/qypi-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5acf1dcb894395b7429f49ee84518f10", "sha256": "cf24ea8841d0f10a822fd5cf3809c1324e5b1eab34e148b841dae6ad54919c85" }, "downloads": -1, "filename": "qypi-0.2.0.tar.gz", "has_sig": true, "md5_digest": "5acf1dcb894395b7429f49ee84518f10", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 9164, "upload_time": "2017-04-03T14:33:47", "url": "https://files.pythonhosted.org/packages/f6/6a/1d37c72684c19f28060bd7ed1bfe3bfb8c6b9b1132b0ea67f98c036930da/qypi-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1a1d2f17ebcb71fd055824033931d9f0", "sha256": "4dddbfa57d6b0c23a0cc20aa17aa8b17c4b41bcbd57c8d273dad84601e85e2dd" }, "downloads": -1, "filename": "qypi-0.3.0-py3-none-any.whl", "has_sig": true, "md5_digest": "1a1d2f17ebcb71fd055824033931d9f0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 15448, "upload_time": "2017-04-14T15:46:32", "url": "https://files.pythonhosted.org/packages/79/b4/dbdcc76c55d1714f2d51f1da25c2a8a59cd1e35357bcafefb7ef6efd8c78/qypi-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4eca9fcbae8fed8e286970cc3b8e3d9", "sha256": "d23f45234a2f7431bd331b9fd4dedc0ff8de1361e171f4f47bb83a15b5726ba1" }, "downloads": -1, "filename": "qypi-0.3.0.tar.gz", "has_sig": true, "md5_digest": "e4eca9fcbae8fed8e286970cc3b8e3d9", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 10783, "upload_time": "2017-04-14T15:46:33", "url": "https://files.pythonhosted.org/packages/46/08/08f54b999c68fb1973824d4ac290a872136e978c6747dca647fc8116c59f/qypi-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f0df648e7974cd580b2f52897fe89a83", "sha256": "f264f87c34b722afdfde2349999697418e404183c80e5180032b3d61202e9a4d" }, "downloads": -1, "filename": "qypi-0.4.0-py3-none-any.whl", "has_sig": true, "md5_digest": "f0df648e7974cd580b2f52897fe89a83", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 16089, "upload_time": "2017-05-07T17:12:38", "url": "https://files.pythonhosted.org/packages/b9/29/82545bfa0b65f8ace22e154f0dd26c3543101523ea86df668995abafcf85/qypi-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72ff32ed6f8510dd2efea3f9886266b3", "sha256": "884d59dd776e091b610e967729a57dd29fe095125210ef29ec4f874245baf7b6" }, "downloads": -1, "filename": "qypi-0.4.0.tar.gz", "has_sig": true, "md5_digest": "72ff32ed6f8510dd2efea3f9886266b3", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 11424, "upload_time": "2017-05-07T17:12:40", "url": "https://files.pythonhosted.org/packages/4a/77/c4cd613177fcc894408ba731abc9d3392dcdd4cc9d6be8f1899c942686dd/qypi-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "1196d31e100b5ac25b509e4c7e13cb6b", "sha256": "488a65d6bd8c10f211e098d2d6e4a66df003be12f028b8f6f858ac2863579eb1" }, "downloads": -1, "filename": "qypi-0.4.1-py3-none-any.whl", "has_sig": true, "md5_digest": "1196d31e100b5ac25b509e4c7e13cb6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 16158, "upload_time": "2017-05-15T14:46:36", "url": "https://files.pythonhosted.org/packages/b3/43/ac36d6a00a86ba7dc9c61f3dd448c233aae2c014c6cae111908ca5644112/qypi-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0bd6172a0707b1a25e531324244e4bb", "sha256": "5f69adbf25e8369d25c31e41912ed0e6be429beb62faf4fc424aa667c561f657" }, "downloads": -1, "filename": "qypi-0.4.1.tar.gz", "has_sig": true, "md5_digest": "a0bd6172a0707b1a25e531324244e4bb", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 11441, "upload_time": "2017-05-15T14:46:37", "url": "https://files.pythonhosted.org/packages/70/7f/8da79c0732787236a9a3a7787f2abfaf996f96f6ebccfdb533646f70640e/qypi-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "bc0c10b5b6526f17a1af52e9978d3df7", "sha256": "7beb05357f98a53f97ce771823ecac458f855dd74bc4a671d579feb239084d18" }, "downloads": -1, "filename": "qypi-0.5.0-py3-none-any.whl", "has_sig": true, "md5_digest": "bc0c10b5b6526f17a1af52e9978d3df7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 11716, "upload_time": "2019-05-18T17:04:10", "url": "https://files.pythonhosted.org/packages/e0/92/b706aff1b27fb21de8253fc3b1a312633c79d174c23e7ae6059bc10a772a/qypi-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36e8ec5913c6ee548612ea7869fb4b9f", "sha256": "00f5e69bbf15e63a10df5e5e367f17b4bf20e4ef871d6e8d0fa45191c0f89a10" }, "downloads": -1, "filename": "qypi-0.5.0.tar.gz", "has_sig": true, "md5_digest": "36e8ec5913c6ee548612ea7869fb4b9f", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 12863, "upload_time": "2019-05-18T17:04:11", "url": "https://files.pythonhosted.org/packages/b5/6d/5dc0c8bf613a7fabe6bd8a0238a534cc546257c1d437d1242411d34ad8fb/qypi-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bc0c10b5b6526f17a1af52e9978d3df7", "sha256": "7beb05357f98a53f97ce771823ecac458f855dd74bc4a671d579feb239084d18" }, "downloads": -1, "filename": "qypi-0.5.0-py3-none-any.whl", "has_sig": true, "md5_digest": "bc0c10b5b6526f17a1af52e9978d3df7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "~=3.4", "size": 11716, "upload_time": "2019-05-18T17:04:10", "url": "https://files.pythonhosted.org/packages/e0/92/b706aff1b27fb21de8253fc3b1a312633c79d174c23e7ae6059bc10a772a/qypi-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36e8ec5913c6ee548612ea7869fb4b9f", "sha256": "00f5e69bbf15e63a10df5e5e367f17b4bf20e4ef871d6e8d0fa45191c0f89a10" }, "downloads": -1, "filename": "qypi-0.5.0.tar.gz", "has_sig": true, "md5_digest": "36e8ec5913c6ee548612ea7869fb4b9f", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.4", "size": 12863, "upload_time": "2019-05-18T17:04:11", "url": "https://files.pythonhosted.org/packages/b5/6d/5dc0c8bf613a7fabe6bd8a0238a534cc546257c1d437d1242411d34ad8fb/qypi-0.5.0.tar.gz" } ] }