Name | qypi JSON |
Version |
0.6.1
JSON |
| download |
home_page | None |
Summary | Query PyPI from the command line |
upload_time | 2025-08-02 14:25:37 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
packages
pip
pypi
search
warehouse
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
|repostatus| |ci-status| |coverage| |pyversions| |license|
.. |repostatus| image:: https://www.repostatus.org/badges/latest/active.svg
:target: https://www.repostatus.org/#active
:alt: Project Status: Active — The project has reached a stable, usable
state and is being actively developed.
.. |ci-status| image:: https://github.com/jwodder/qypi/actions/workflows/test.yml/badge.svg
:target: https://github.com/jwodder/qypi/actions/workflows/test.yml
:alt: CI Status
.. |coverage| image:: https://codecov.io/gh/jwodder/qypi/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jwodder/qypi
.. |pyversions| image:: https://img.shields.io/pypi/pyversions/qypi.svg
:target: https://pypi.org/project/qypi/
.. |license| image:: https://img.shields.io/github/license/jwodder/qypi.svg?maxAge=2592000
:target: https://opensource.org/licenses/MIT
:alt: MIT License
`GitHub <https://github.com/jwodder/qypi>`_
| `PyPI <https://pypi.org/project/qypi/>`_
| `Issues <https://github.com/jwodder/qypi/issues>`_
| `Changelog <https://github.com/jwodder/qypi/blob/master/CHANGELOG.md>`_
``qypi`` is a command-line client for querying & searching `the Python Package
Index <https://pypi.org>`_ for Python package information and outputting JSON
(with some minor opinionated changes to the output data structures; see the
examples below).
Installation
============
``qypi`` requires Python 3.10 or higher. Just use version 6.0 or higher of `pip
<https://pip.pypa.io>`_ for Python 3 (You have pip, right?) to install ``qypi``
and its dependencies::
python3 -m pip install qypi
Usage
=====
::
qypi [-i|--index-url <URL>] <command> [<options>] [<arguments>]
Global Option
-------------
-i URL, --index-url URL
Query the Python package server at the given URL, which
must support both the XML-RPC_ and JSON_ APIs. By
default, ``qypi`` queries `PyPI (Warehouse)
<https://pypi.org>`_ at ``https://pypi.org/pypi``.
.. _XML-RPC: https://warehouse.readthedocs.io/api-reference/xml-rpc/
.. _JSON: https://warehouse.readthedocs.io/api-reference/json/
List Packages
-------------
``list``
^^^^^^^^
::
qypi list
List all packages registered on PyPI, one per line, in the order that they are
returned by the API. ``list`` and ``readme`` are the only subcommands that do
not output JSON.
``search``
^^^^^^^^^^
::
qypi search [--and|--or] [--packages|--releases] <term> ...
Search PyPI for packages or package releases matching the given search terms.
Search terms consist of a field name and a value separated by a colon; a term
without a colon searches the ``description`` field. As documented `here
<https://warehouse.readthedocs.io/api-reference/xml-rpc/>`_, the supported
searchable fields are:
- ``name``
- ``version``
- ``author``
- ``author_email``
- ``maintainer``
- ``maintainer_email``
- ``home_page`` (aliases: ``homepage`` and ``url``)
- ``license``
- ``summary``
- ``description`` (aliases: ``long_description`` and ``readme``)
- ``keywords`` (alias: ``keyword``)
- ``platform``
- ``download_url``
All other fields are ignored.
Multiple search terms referring to the same field are combined with logical OR.
Search terms on different fields are combined according to whether ``--and`` or
``--or`` is specified on the command line; the default behavior is ``--and``.
By default, ``search`` lists every matching release for every package, even if
the same package has multiple matching releases. To list no more than one
release (specifically, the highest-versioned) per package, specify the
``-p``/``--packages`` option on the command line. ``-r``/``--releases``
restores the default behavior.
``browse``
^^^^^^^^^^
::
qypi browse [-f|--file <file>] [--packages|--releases] <classifier> ...
List packages or package releases with the given `trove classifiers
<https://pypi.org/pypi?%3Aaction=list_classifiers>`_. Because trove
classifiers are not the most command-line friendly thing in the world, they may
optionally be read from a file, one classifier per line. Any further
classifiers listed on the command line will be added to the file's list.
By default, ``browse`` lists every matching release for every package, even if
the same package has multiple matching releases. To list no more than one
release (specifically, the highest-versioned) per package, specify the
``-p``/``--packages`` option on the command line. ``-r``/``--releases``
restores the default behavior.
``owned``
^^^^^^^^^
::
qypi owned <user> ...
List packages owned or maintained by the given PyPI users
Package Information
-------------------
``releases``
^^^^^^^^^^^^
::
qypi releases <package> ...
List the released versions for the given packages in PEP 440 order
Example::
$ qypi releases qypi
{
"qypi": [
{
"is_prerelease": false,
"release_date": "2017-04-02T03:07:42",
"release_url": "https://pypi.org/project/qypi/0.1.0",
"version": "0.1.0"
},
{
"is_prerelease": false,
"release_date": "2017-04-02T03:32:44",
"release_url": "https://pypi.org/project/qypi/0.1.0.post1",
"version": "0.1.0.post1"
}
]
}
A release's release date is the time at which its first file was uploaded. If
there are no files associated with a release, its release date will be
``null``.
``owner``
^^^^^^^^^
::
qypi owner <package> ...
List the PyPI users that own and/or maintain the given packages
Example::
$ qypi owner requests
{
"requests": [
{
"role": "Owner",
"user": "graffatcolmingov"
},
{
"role": "Owner",
"user": "kennethreitz"
},
{
"role": "Owner",
"user": "Lukasa"
},
{
"role": "Maintainer",
"user": "graffatcolmingov"
},
{
"role": "Maintainer",
"user": "Lukasa"
},
{
"role": "Maintainer",
"user": "nateprewitt"
}
]
}
Release Information
-------------------
These subcommands show information about individual package releases/versions
and share the same command-line options and argument syntax.
Arguments of the form ``package==version`` (e.g., ``qypi info qypi==0.1.0``)
always refer to the given version of the given package.
Arguments that are just a package name refer to (by default) the
highest-numbered non-prerelease version of the package. This can be changed
with the following options:
-A, --all-versions Show information for all versions of each package (in
PEP 440 order, excluding prereleases unless ``--pre``
is given)
--latest-version Show information for only the latest version of each
package; this is the default
--newest Define "latest version" to mean the most recently
released version. Release dates are based on file
upload times; releases without file uploads are thus
ignored.
--highest Define "latest version" to mean the highest-numbered
version; this is the default.
--pre Include prerelease & development versions
--no-pre Don't include prerelease & development versions; this
is the default.
``info``
^^^^^^^^
::
qypi info [<options>] [--description] [--trust-downloads] <package[==version]> ...
Show basic information about the given package releases.
By default, (long) descriptions are omitted because they can be *very* long,
and it is recommended that you view them with the ``readme`` subcommand
instead; use the ``--description`` option to include them anyway.
By default, download counts are omitted because `the feature is currently
broken & unreliable <https://github.com/pypa/pypi-legacy/issues/396>`_; use the
``--trust-downloads`` option if you want to see the values anyway.
Example::
$ qypi info qypi
[
{
"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 :: Only",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Software Distribution"
],
"docs_url": null,
"download_url": null,
"keywords": "pypi warehouse search packages pip",
"license": "MIT",
"name": "qypi",
"people": [
{
"email": "qypi@varonathe.org",
"name": "John Thorvald Wodder II",
"role": "author"
}
],
"platform": null,
"project_url": "https://pypi.org/project/qypi/",
"release_date": "2017-04-02T03:32:44",
"release_url": "https://pypi.org/project/qypi/0.1.0.post1/",
"requires_python": "~=3.4",
"summary": "Query PyPI from the command line",
"url": "https://github.com/jwodder/qypi",
"version": "0.1.0.post1"
}
]
``readme``
^^^^^^^^^^
::
qypi readme [<options>] <package[==version]> ...
Display the given package releases' (long) descriptions in a pager one at a
time. ``list`` and ``readme`` are the only subcommands that do not output
JSON.
``files``
^^^^^^^^^
::
qypi files [<options>] [--trust-downloads] <package[==version]> ...
List files available for download for the given package releases. Download
counts are omitted because `the feature is currently broken & unreliable
<https://github.com/pypa/pypi-legacy/issues/396>`_; use the
``--trust-downloads`` option if you want to see the values anyway.
Example::
$ qypi files qypi
[
{
"files": [
{
"comment_text": "",
"digests": {
"md5": "58863d77e19bf4aa1ae85026cc1ff0f6",
"sha256": "5946a4557550479af90278e5418cd2c32a2626936075078a4c7096be52d43078"
},
"filename": "qypi-0.1.0.post1-py3-none-any.whl",
"has_sig": true,
"md5_digest": "58863d77e19bf4aa1ae85026cc1ff0f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"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"
},
"filename": "qypi-0.1.0.post1.tar.gz",
"has_sig": true,
"md5_digest": "bfd357b3df2c2f1cbb6d23ff7c61fbb9",
"packagetype": "sdist",
"python_version": "source",
"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"
}
],
"name": "qypi",
"version": "0.1.0.post1"
}
]
Raw data
{
"_id": null,
"home_page": null,
"name": "qypi",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "packages, pip, pypi, search, warehouse",
"author": null,
"author_email": "John Thorvald Wodder II <qypi@varonathe.org>",
"download_url": "https://files.pythonhosted.org/packages/63/0b/feb343640b94ab755989fc73ffc8a481d5f8a0ca94a5543ae834b7bbc36d/qypi-0.6.1.tar.gz",
"platform": null,
"description": "|repostatus| |ci-status| |coverage| |pyversions| |license|\n\n.. |repostatus| image:: https://www.repostatus.org/badges/latest/active.svg\n :target: https://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.. |ci-status| image:: https://github.com/jwodder/qypi/actions/workflows/test.yml/badge.svg\n :target: https://github.com/jwodder/qypi/actions/workflows/test.yml\n :alt: CI Status\n\n.. |coverage| image:: https://codecov.io/gh/jwodder/qypi/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/jwodder/qypi\n\n.. |pyversions| image:: https://img.shields.io/pypi/pyversions/qypi.svg\n :target: https://pypi.org/project/qypi/\n\n.. |license| 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`GitHub <https://github.com/jwodder/qypi>`_\n| `PyPI <https://pypi.org/project/qypi/>`_\n| `Issues <https://github.com/jwodder/qypi/issues>`_\n| `Changelog <https://github.com/jwodder/qypi/blob/master/CHANGELOG.md>`_\n\n``qypi`` is a command-line client for querying & searching `the Python Package\nIndex <https://pypi.org>`_ 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.10 or higher. Just use version 6.0 or higher of `pip\n<https://pip.pypa.io>`_ 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 <URL>] <command> [<options>] [<arguments>]\n\nGlobal Option\n-------------\n\n-i URL, --index-url URL\n Query the Python package server at the given URL, which\n must support both the XML-RPC_ and JSON_ APIs. By\n default, ``qypi`` queries `PyPI (Warehouse)\n <https://pypi.org>`_ at ``https://pypi.org/pypi``.\n\n.. _XML-RPC: https://warehouse.readthedocs.io/api-reference/xml-rpc/\n.. _JSON: https://warehouse.readthedocs.io/api-reference/json/\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] <term> ...\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<https://warehouse.readthedocs.io/api-reference/xml-rpc/>`_, 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 <file>] [--packages|--releases] <classifier> ...\n\nList packages or package releases with the given `trove classifiers\n<https://pypi.org/pypi?%3Aaction=list_classifiers>`_. 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 <user> ...\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 <package> ...\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 <package> ...\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-A, --all-versions Show information for all versions of each package (in\n PEP 440 order, excluding prereleases unless ``--pre``\n is given)\n\n--latest-version Show information for only the latest version of each\n package; this is the default\n\n--newest Define \"latest version\" to mean the most recently\n released version. Release dates are based on file\n upload times; releases without file uploads are thus\n ignored.\n\n--highest Define \"latest version\" to mean the highest-numbered\n version; this is the default.\n\n--pre Include prerelease & development versions\n\n--no-pre Don't include prerelease & development versions; this\n is the default.\n\n``info``\n^^^^^^^^\n\n::\n\n qypi info [<options>] [--description] [--trust-downloads] <package[==version]> ...\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 <https://github.com/pypa/pypi-legacy/issues/396>`_; 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 [<options>] <package[==version]> ...\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 [<options>] [--trust-downloads] <package[==version]> ...\n\nList files available for download for the given package releases. Download\ncounts are omitted because `the feature is currently broken & unreliable\n<https://github.com/pypa/pypi-legacy/issues/396>`_; 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",
"bugtrack_url": null,
"license": null,
"summary": "Query PyPI from the command line",
"version": "0.6.1",
"project_urls": {
"Bug Tracker": "https://github.com/jwodder/qypi/issues",
"Source Code": "https://github.com/jwodder/qypi"
},
"split_keywords": [
"packages",
" pip",
" pypi",
" search",
" warehouse"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "398567865d5e70980c80822048b864e16fcbb9ceccd0a4e15e54ed942b6cd0c4",
"md5": "25e32cd021e98deaf2afa6f907fde92c",
"sha256": "a2b052d9b0b89e70df48e05e5a6882b05142592d500ac597fe59e68552f5854c"
},
"downloads": -1,
"filename": "qypi-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "25e32cd021e98deaf2afa6f907fde92c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 11568,
"upload_time": "2025-08-02T14:25:36",
"upload_time_iso_8601": "2025-08-02T14:25:36.834302Z",
"url": "https://files.pythonhosted.org/packages/39/85/67865d5e70980c80822048b864e16fcbb9ceccd0a4e15e54ed942b6cd0c4/qypi-0.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "630bfeb343640b94ab755989fc73ffc8a481d5f8a0ca94a5543ae834b7bbc36d",
"md5": "c57c6c996b1b9f1a88de59b88c3dfb79",
"sha256": "576c33839a43c304deb41bb6fb7582cc3934182bfaeee982f176e27709d11912"
},
"downloads": -1,
"filename": "qypi-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "c57c6c996b1b9f1a88de59b88c3dfb79",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 20015,
"upload_time": "2025-08-02T14:25:37",
"upload_time_iso_8601": "2025-08-02T14:25:37.703331Z",
"url": "https://files.pythonhosted.org/packages/63/0b/feb343640b94ab755989fc73ffc8a481d5f8a0ca94a5543ae834b7bbc36d/qypi-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-02 14:25:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jwodder",
"github_project": "qypi",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "qypi"
}