qh3


Nameqh3 JSON
Version 1.5.4 PyPI version JSON
download
home_pagehttps://github.com/jawah/qh3
SummaryA lightway and fast implementation of QUIC and HTTP/3
upload_time2025-08-11 06:50:00
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            qh3
===

|pypi-pyversions| |pypi-stats|

.. |pypi-pyversions| image:: https://img.shields.io/pypi/pyversions/qh3.svg
    :target: https://pypi.python.org/pypi/qh3
    :alt: Supported Interpreters

.. |pypi-stats| image:: https://img.shields.io/pypi/dm/qh3
   :target: https://pypistats.org/packages/qh3
   :alt: PyPI - Downloads

What is ``qh3``?
----------------

``qh3`` is a maintained fork of the ``aioquic`` library.

It is lighter, faster, and more adapted to a broader audience as this package has no external dependency
and does not rely on mainstream OpenSSL.

While it is a compatible fork, it is not a drop-in replacement since the first major. See the CHANGELOG for details.

``qh3`` is a library for the QUIC network protocol in Python. It features
a minimal TLS 1.3 implementation, a QUIC stack, and an HTTP/3 stack.

QUIC was standardized in `RFC 9000`_ and HTTP/3 in `RFC 9114`_.
``qh3`` follow the standardized version of QUIC and HTTP/3.

QUIC stack conforming with `RFC 9000`_ (QUIC v1) and `RFC 9369`_ (QUIC v2)

To learn more about ``qh3`` please `read the documentation`_.

``qh3`` stands for **Q** UIC . **H** TTP/ **3**.

Our primary goal with this fork is mainly about the client aspect, while the
server side code is maintained, we do not have enough time to add feature to it at the moment.

PR are welcomed for any improvement (server or client).

Why should I use ``qh3``?
-----------------------------

``qh3`` has been designed to be embedded into Python client and server
libraries wishing to support QUIC and/or HTTP/3. The goal is to provide a
common codebase for Python libraries in the hope of avoiding duplicated effort.

Both the QUIC and the HTTP/3 APIs follow the "bring your own I/O" pattern,
leaving actual I/O operations to the API user. This approach has a number of
advantages including making the code testable and allowing integration with
different concurrency models.

This library is the lowest level you can find for handling QUIC and HTTP/3. Here are higher libraries:

- mid-way: `urllib3.future`_
- highest and easiest: `niquests`_ (Recommended!)

Features
--------

- QUIC stack conforming with `RFC 9000`_
- HTTP/3 stack conforming with `RFC 9114`_
- minimal TLS 1.3 implementation conforming with `RFC 8446`_
- IPv4 and IPv6 support
- connection migration and NAT rebinding
- logging TLS traffic secrets
- logging QUIC events in QLOG format
- HTTP/3 server push support
- Post-Quantum (KEM) Key-Exchange (NIST FIPS 203 ML-KEM-768)
- OCSP Stapling (Client Only)

Requirements
------------

``qh3`` requires Python and PyPy 3.7 or greater.

Running the examples
--------------------

`qh3` comes with a number of examples illustrating various QUIC use cases.

You can browse these examples here: https://github.com/jawah/qh3/tree/main/examples

License
-------

``qh3`` is released under the `BSD license`_.

.. _read the documentation: https://qh3.readthedocs.io/en/latest/
.. _BSD license: https://qh3.readthedocs.io/en/latest/license.html
.. _RFC 8446: https://datatracker.ietf.org/doc/html/rfc8446
.. _RFC 9000: https://datatracker.ietf.org/doc/html/rfc9000
.. _RFC 9114: https://datatracker.ietf.org/doc/html/rfc9114
.. _RFC 9369: https://datatracker.ietf.org/doc/html/rfc9369
.. _niquests: https://github.com/jawah/niquests
.. _urllib3.future: https://github.com/jawah/urllib3.future


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jawah/qh3",
    "name": "qh3",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "\"Ahmed R. TAHRI\" <tahri.ahmed@proton.me>",
    "keywords": null,
    "author": null,
    "author_email": "Jeremy Lain\u00e9 <jeremy.laine@m4x.org>",
    "download_url": "https://files.pythonhosted.org/packages/c0/60/c0afa2ad69ed41644f0f3fc925a2f74e56066ce85404a13badae193348bc/qh3-1.5.4.tar.gz",
    "platform": null,
    "description": "qh3\n===\n\n|pypi-pyversions| |pypi-stats|\n\n.. |pypi-pyversions| image:: https://img.shields.io/pypi/pyversions/qh3.svg\n    :target: https://pypi.python.org/pypi/qh3\n    :alt: Supported Interpreters\n\n.. |pypi-stats| image:: https://img.shields.io/pypi/dm/qh3\n   :target: https://pypistats.org/packages/qh3\n   :alt: PyPI - Downloads\n\nWhat is ``qh3``?\n----------------\n\n``qh3`` is a maintained fork of the ``aioquic`` library.\n\nIt is lighter, faster, and more adapted to a broader audience as this package has no external dependency\nand does not rely on mainstream OpenSSL.\n\nWhile it is a compatible fork, it is not a drop-in replacement since the first major. See the CHANGELOG for details.\n\n``qh3`` is a library for the QUIC network protocol in Python. It features\na minimal TLS 1.3 implementation, a QUIC stack, and an HTTP/3 stack.\n\nQUIC was standardized in `RFC 9000`_ and HTTP/3 in `RFC 9114`_.\n``qh3`` follow the standardized version of QUIC and HTTP/3.\n\nQUIC stack conforming with `RFC 9000`_ (QUIC v1) and `RFC 9369`_ (QUIC v2)\n\nTo learn more about ``qh3`` please `read the documentation`_.\n\n``qh3`` stands for **Q** UIC . **H** TTP/ **3**.\n\nOur primary goal with this fork is mainly about the client aspect, while the\nserver side code is maintained, we do not have enough time to add feature to it at the moment.\n\nPR are welcomed for any improvement (server or client).\n\nWhy should I use ``qh3``?\n-----------------------------\n\n``qh3`` has been designed to be embedded into Python client and server\nlibraries wishing to support QUIC and/or HTTP/3. The goal is to provide a\ncommon codebase for Python libraries in the hope of avoiding duplicated effort.\n\nBoth the QUIC and the HTTP/3 APIs follow the \"bring your own I/O\" pattern,\nleaving actual I/O operations to the API user. This approach has a number of\nadvantages including making the code testable and allowing integration with\ndifferent concurrency models.\n\nThis library is the lowest level you can find for handling QUIC and HTTP/3. Here are higher libraries:\n\n- mid-way: `urllib3.future`_\n- highest and easiest: `niquests`_ (Recommended!)\n\nFeatures\n--------\n\n- QUIC stack conforming with `RFC 9000`_\n- HTTP/3 stack conforming with `RFC 9114`_\n- minimal TLS 1.3 implementation conforming with `RFC 8446`_\n- IPv4 and IPv6 support\n- connection migration and NAT rebinding\n- logging TLS traffic secrets\n- logging QUIC events in QLOG format\n- HTTP/3 server push support\n- Post-Quantum (KEM) Key-Exchange (NIST FIPS 203 ML-KEM-768)\n- OCSP Stapling (Client Only)\n\nRequirements\n------------\n\n``qh3`` requires Python and PyPy 3.7 or greater.\n\nRunning the examples\n--------------------\n\n`qh3` comes with a number of examples illustrating various QUIC use cases.\n\nYou can browse these examples here: https://github.com/jawah/qh3/tree/main/examples\n\nLicense\n-------\n\n``qh3`` is released under the `BSD license`_.\n\n.. _read the documentation: https://qh3.readthedocs.io/en/latest/\n.. _BSD license: https://qh3.readthedocs.io/en/latest/license.html\n.. _RFC 8446: https://datatracker.ietf.org/doc/html/rfc8446\n.. _RFC 9000: https://datatracker.ietf.org/doc/html/rfc9000\n.. _RFC 9114: https://datatracker.ietf.org/doc/html/rfc9114\n.. _RFC 9369: https://datatracker.ietf.org/doc/html/rfc9369\n.. _niquests: https://github.com/jawah/niquests\n.. _urllib3.future: https://github.com/jawah/urllib3.future\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A lightway and fast implementation of QUIC and HTTP/3",
    "version": "1.5.4",
    "project_urls": {
        "Homepage": "https://github.com/jawah/qh3",
        "documentation": "https://qh3.readthedocs.io/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "811264a7351e224279215f21c5182c8b27b39e6bbc3acf51b38cd5053712c46d",
                "md5": "6b41dcc4db650fa5c39c594310ecae34",
                "sha256": "8a9ec605e59acb5d1c38e2cd83cf0f2d6a1767cef862f9fad366747b3e88b89d"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "6b41dcc4db650fa5c39c594310ecae34",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 4463693,
            "upload_time": "2025-08-11T06:47:05",
            "upload_time_iso_8601": "2025-08-11T06:47:05.317438Z",
            "url": "https://files.pythonhosted.org/packages/81/12/64a7351e224279215f21c5182c8b27b39e6bbc3acf51b38cd5053712c46d/qh3-1.5.4-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc5f26a4f0431197a78de6b0249a0e6dac54fd0ebcd9e4192aecb31c4ee2f496",
                "md5": "c7ff6052057a533440899989cc579661",
                "sha256": "97c6fef276aaa1134aa3d472a74aedc547ff402b609e734d1b274abc86a5569f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c7ff6052057a533440899989cc579661",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2159230,
            "upload_time": "2025-08-11T06:47:07",
            "upload_time_iso_8601": "2025-08-11T06:47:07.867879Z",
            "url": "https://files.pythonhosted.org/packages/cc/5f/26a4f0431197a78de6b0249a0e6dac54fd0ebcd9e4192aecb31c4ee2f496/qh3-1.5.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "afb465edef03f812d3ab6e2b9540598ea4161d5d677278da72757180f84d97a9",
                "md5": "585abc57c33a9a4a31e93ed3d1ea6472",
                "sha256": "6ccd8078dc35b2550ff171f0405f8d3c7d88ff091b8db12008a17c0d15aae731"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "585abc57c33a9a4a31e93ed3d1ea6472",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 1881252,
            "upload_time": "2025-08-11T06:47:09",
            "upload_time_iso_8601": "2025-08-11T06:47:09.319802Z",
            "url": "https://files.pythonhosted.org/packages/af/b4/65edef03f812d3ab6e2b9540598ea4161d5d677278da72757180f84d97a9/qh3-1.5.4-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d473f263e2f2dddc1a62c22a83c07ddfd29f26a7baf4fe60fcb9b22c8f25fb4",
                "md5": "24372a91be4baceb379a38eaccd7ef38",
                "sha256": "16e10b5e89239dfe9edd1e2535ceda4964fc458a8cd27c32428b1f4c5b8bdab0"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "24372a91be4baceb379a38eaccd7ef38",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2029515,
            "upload_time": "2025-08-11T06:47:11",
            "upload_time_iso_8601": "2025-08-11T06:47:11.854790Z",
            "url": "https://files.pythonhosted.org/packages/9d/47/3f263e2f2dddc1a62c22a83c07ddfd29f26a7baf4fe60fcb9b22c8f25fb4/qh3-1.5.4-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b83c7fbd4c7cb0f75aff7014c067eacb35c0c9ea9f3ff40e0505c7cc157667ba",
                "md5": "f205748bf810d287fcbca4f16cc38035",
                "sha256": "5b52efa448244d61a915aae7c9b7188312127cfb27b79c409104e8bc84bdaf59"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "f205748bf810d287fcbca4f16cc38035",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2077446,
            "upload_time": "2025-08-11T06:47:15",
            "upload_time_iso_8601": "2025-08-11T06:47:15.915042Z",
            "url": "https://files.pythonhosted.org/packages/b8/3c/7fbd4c7cb0f75aff7014c067eacb35c0c9ea9f3ff40e0505c7cc157667ba/qh3-1.5.4-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f5a26ee366421719a146d28913782d98a3288b1ea80eb835fde02e082266b432",
                "md5": "82009bb2d3cd8c65079699ee0c94fa48",
                "sha256": "5e44f1780cf57fca671dac1bad22901b476fbd73866d78343c4b37cec1464f24"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "82009bb2d3cd8c65079699ee0c94fa48",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2033163,
            "upload_time": "2025-08-11T06:47:14",
            "upload_time_iso_8601": "2025-08-11T06:47:14.225039Z",
            "url": "https://files.pythonhosted.org/packages/f5/a2/6ee366421719a146d28913782d98a3288b1ea80eb835fde02e082266b432/qh3-1.5.4-cp313-cp313t-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7eb610892a9f8d4f9bc6c27313d7a3cfb0bd5081c1b7991e6925ed2c0151f172",
                "md5": "728130710f2078f25077ee37104528da",
                "sha256": "0eeca88353452bf72e258c9fd1cd1fdee7f1865a00b01bc3c0aa5d46f5075832"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "728130710f2078f25077ee37104528da",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2144537,
            "upload_time": "2025-08-11T06:47:17",
            "upload_time_iso_8601": "2025-08-11T06:47:17.555969Z",
            "url": "https://files.pythonhosted.org/packages/7e/b6/10892a9f8d4f9bc6c27313d7a3cfb0bd5081c1b7991e6925ed2c0151f172/qh3-1.5.4-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "230677d0b25c49473e9d35628763f7bc5b76e4de26cbf9ae52b8206d8b43714d",
                "md5": "3fbb9f5fd1cf669151f59080df130841",
                "sha256": "621b7130e4e1587b3cdb2a626aa77cc9a27457050dd3b8f7314af8f8bebe4bbf"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3fbb9f5fd1cf669151f59080df130841",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2350575,
            "upload_time": "2025-08-11T06:47:19",
            "upload_time_iso_8601": "2025-08-11T06:47:19.234995Z",
            "url": "https://files.pythonhosted.org/packages/23/06/77d0b25c49473e9d35628763f7bc5b76e4de26cbf9ae52b8206d8b43714d/qh3-1.5.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "72cd573a039cba5436ba233aacca6b17e87365a4cffe5071e552235dbb37acc2",
                "md5": "cc538b951b10665a771ebc43a4b3bc14",
                "sha256": "105a5b1c311f583afe80c0b01d7c30bc5e80f63ac4ef174e361892daa972b8b6"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "cc538b951b10665a771ebc43a4b3bc14",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2357607,
            "upload_time": "2025-08-11T06:47:21",
            "upload_time_iso_8601": "2025-08-11T06:47:21.254059Z",
            "url": "https://files.pythonhosted.org/packages/72/cd/573a039cba5436ba233aacca6b17e87365a4cffe5071e552235dbb37acc2/qh3-1.5.4-cp313-cp313t-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f51b4a329115067f199cd6795909376aec8698392cbcc75775950eed3b6006d4",
                "md5": "e2bd972b7c3532235f7fe9803277ed52",
                "sha256": "2d5547741ce656761e04dbf2902f629f1fb1238daedb2502f0934d776fbe24a3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "e2bd972b7c3532235f7fe9803277ed52",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2131137,
            "upload_time": "2025-08-11T06:47:22",
            "upload_time_iso_8601": "2025-08-11T06:47:22.696483Z",
            "url": "https://files.pythonhosted.org/packages/f5/1b/4a329115067f199cd6795909376aec8698392cbcc75775950eed3b6006d4/qh3-1.5.4-cp313-cp313t-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54758a5f97d030682ccabf3e623af842b09c3abe74ce85a8b4c48d313c5a400e",
                "md5": "caa8c51dec1654da83e8694a06e0b723",
                "sha256": "dee40e4339cbbf92d017f74e14e99af8e40fbf21496ea875ac85c90a966d35d2"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "caa8c51dec1654da83e8694a06e0b723",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2171058,
            "upload_time": "2025-08-11T06:47:24",
            "upload_time_iso_8601": "2025-08-11T06:47:24.719861Z",
            "url": "https://files.pythonhosted.org/packages/54/75/8a5f97d030682ccabf3e623af842b09c3abe74ce85a8b4c48d313c5a400e/qh3-1.5.4-cp313-cp313t-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4097f43ff84057cd4cde5041e6dc35f486a996b19dff3344556bb7f6edcf578",
                "md5": "ca758fb95f9fd2aa374154b052400bd0",
                "sha256": "d1f66d8a7fdc81ac59e55650f3fea3016ca97884082b6648ff8eb91af81e5801"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ca758fb95f9fd2aa374154b052400bd0",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2517966,
            "upload_time": "2025-08-11T06:47:26",
            "upload_time_iso_8601": "2025-08-11T06:47:26.235232Z",
            "url": "https://files.pythonhosted.org/packages/b4/09/7f43ff84057cd4cde5041e6dc35f486a996b19dff3344556bb7f6edcf578/qh3-1.5.4-cp313-cp313t-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4df7fa45790d322caf1d23f12fe6aa9a5f2c1237d1c98ea5021f42d33bbf8394",
                "md5": "ca4179a1c112619a7be8f3c8731856ed",
                "sha256": "694d02602987f37934b4386202712d95a068437c028f535a098d9b18d22fa65f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-win32.whl",
            "has_sig": false,
            "md5_digest": "ca4179a1c112619a7be8f3c8731856ed",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 1746841,
            "upload_time": "2025-08-11T06:47:27",
            "upload_time_iso_8601": "2025-08-11T06:47:27.816864Z",
            "url": "https://files.pythonhosted.org/packages/4d/f7/fa45790d322caf1d23f12fe6aa9a5f2c1237d1c98ea5021f42d33bbf8394/qh3-1.5.4-cp313-cp313t-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9dbbdab3a36fcce3bcc8c3815538d7e75a4a105f739ed781d22bf530bb8399f8",
                "md5": "184e3404f42a679f5e03240e44c0c06b",
                "sha256": "0132d6028b9da1b7da9539f2d3bcb79452963b62c34275e43b7ca65aef5ee155"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "184e3404f42a679f5e03240e44c0c06b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 1992963,
            "upload_time": "2025-08-11T06:47:29",
            "upload_time_iso_8601": "2025-08-11T06:47:29.345045Z",
            "url": "https://files.pythonhosted.org/packages/9d/bb/dab3a36fcce3bcc8c3815538d7e75a4a105f739ed781d22bf530bb8399f8/qh3-1.5.4-cp313-cp313t-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3a925d772184ca120c8eb4d6d17041acac8e70242c8738bde9b0df1187f9b09",
                "md5": "1530c1f6271b28bb6434b170543bd9dd",
                "sha256": "7d2518e8b8fc00c733a9cbf756e467cba917c0771506d3feca1727a8986e2dcf"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp313-cp313t-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "1530c1f6271b28bb6434b170543bd9dd",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 1821849,
            "upload_time": "2025-08-11T06:47:30",
            "upload_time_iso_8601": "2025-08-11T06:47:30.895840Z",
            "url": "https://files.pythonhosted.org/packages/c3/a9/25d772184ca120c8eb4d6d17041acac8e70242c8738bde9b0df1187f9b09/qh3-1.5.4-cp313-cp313t-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "825136e307283406746c0e62a3d4f029ed2f4bb224c2c08b1ae76b211f57a96b",
                "md5": "f15f0221227a88e34fbf14cf322cd710",
                "sha256": "5d3a4dec61f4b0f8b21f58c272968de55e7916f278aeb6eaa76c8a38e330edf1"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "f15f0221227a88e34fbf14cf322cd710",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 4475179,
            "upload_time": "2025-08-11T06:47:33",
            "upload_time_iso_8601": "2025-08-11T06:47:33.620397Z",
            "url": "https://files.pythonhosted.org/packages/82/51/36e307283406746c0e62a3d4f029ed2f4bb224c2c08b1ae76b211f57a96b/qh3-1.5.4-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e2a928837bf05ae2ec4c620f9c3a18af7306ed7f9f285b432b50a000f509a00f",
                "md5": "8057134b9dae12541b1c2297ae17c789",
                "sha256": "103cef335ddb49a3a38ca66ef81dc552157d589135630bcc4102f6b47713d691"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8057134b9dae12541b1c2297ae17c789",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2159367,
            "upload_time": "2025-08-11T06:47:35",
            "upload_time_iso_8601": "2025-08-11T06:47:35.778326Z",
            "url": "https://files.pythonhosted.org/packages/e2/a9/28837bf05ae2ec4c620f9c3a18af7306ed7f9f285b432b50a000f509a00f/qh3-1.5.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c88d009571b8a44274a9b07566870ef0e2ccf3e5fa6f77181455438625ce467",
                "md5": "f3be24caa7b21d4d29b112ca4a53d79c",
                "sha256": "8479edf0cc93036cb854abe6b76db01db54d5a4b9586a7af843944bd1dd21bcd"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "f3be24caa7b21d4d29b112ca4a53d79c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1880992,
            "upload_time": "2025-08-11T06:47:37",
            "upload_time_iso_8601": "2025-08-11T06:47:37.731012Z",
            "url": "https://files.pythonhosted.org/packages/0c/88/d009571b8a44274a9b07566870ef0e2ccf3e5fa6f77181455438625ce467/qh3-1.5.4-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "edcd74f42e80a07b388ec9805f9e9791aae517188b6898dcc67a9be961f758a0",
                "md5": "8a1e292301e3ff7adf56fd426c857989",
                "sha256": "b8a530feb1e8af326c363da85bccad06d258755037e24ca44f40ae03267cca32"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "8a1e292301e3ff7adf56fd426c857989",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2029853,
            "upload_time": "2025-08-11T06:47:39",
            "upload_time_iso_8601": "2025-08-11T06:47:39.428757Z",
            "url": "https://files.pythonhosted.org/packages/ed/cd/74f42e80a07b388ec9805f9e9791aae517188b6898dcc67a9be961f758a0/qh3-1.5.4-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66a30646360105f11a6a05fca25d4b47a7dbc1223d8ee6fc578c019d0222e89c",
                "md5": "0e6c529c57ac1a05802207b01b0dfb64",
                "sha256": "f8426f6ed411a0bdd5c5a428373b225255b1b11656898930ba654aabcad668b9"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "0e6c529c57ac1a05802207b01b0dfb64",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2080164,
            "upload_time": "2025-08-11T06:47:43",
            "upload_time_iso_8601": "2025-08-11T06:47:43.031362Z",
            "url": "https://files.pythonhosted.org/packages/66/a3/0646360105f11a6a05fca25d4b47a7dbc1223d8ee6fc578c019d0222e89c/qh3-1.5.4-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e869a75d54c14a2203dc25ef93a2997e40b91c3ec772181f39cf1e257cc858c",
                "md5": "c0b2754d6ef21a1a467045ffdb4d2f04",
                "sha256": "9013aadb4c89fc8561e7638a58e2bf5799de40a010aab08e061895ce58a74ef0"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "c0b2754d6ef21a1a467045ffdb4d2f04",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2034447,
            "upload_time": "2025-08-11T06:47:40",
            "upload_time_iso_8601": "2025-08-11T06:47:40.961705Z",
            "url": "https://files.pythonhosted.org/packages/2e/86/9a75d54c14a2203dc25ef93a2997e40b91c3ec772181f39cf1e257cc858c/qh3-1.5.4-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e89b5bf3e8c63345ebf21efcfa21855d101e108e968e34bdcf4aa7324ace704a",
                "md5": "8d6ac949630235554711a3074170ecf5",
                "sha256": "968ed2dc7521982c2df148151056b117f259769bcbaceeca8030e364184eaa58"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "8d6ac949630235554711a3074170ecf5",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2148048,
            "upload_time": "2025-08-11T06:47:44",
            "upload_time_iso_8601": "2025-08-11T06:47:44.573078Z",
            "url": "https://files.pythonhosted.org/packages/e8/9b/5bf3e8c63345ebf21efcfa21855d101e108e968e34bdcf4aa7324ace704a/qh3-1.5.4-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea12d15416140995bdefa94c480a5980ba8a555f90b0fb77211b5e13541352eb",
                "md5": "d9917fa8296bf632aadb7ac06118a135",
                "sha256": "38ed360f28ff92adb391eff081f5bedfc69c6a32ef2ae7d6632b43450fd2e22a"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d9917fa8296bf632aadb7ac06118a135",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2350422,
            "upload_time": "2025-08-11T06:47:48",
            "upload_time_iso_8601": "2025-08-11T06:47:48.128550Z",
            "url": "https://files.pythonhosted.org/packages/ea/12/d15416140995bdefa94c480a5980ba8a555f90b0fb77211b5e13541352eb/qh3-1.5.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5ef08fab23e9dfbf1213b3714f8a2c666cc26ed35081dfd702f71f5acb04e31b",
                "md5": "295d91c1d2964398e2cc066258a05f83",
                "sha256": "a593116a07b05fd5fa19ba012d720f69e8120d6dc4ff9b2b6b278d40b5837d9e"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "295d91c1d2964398e2cc066258a05f83",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2358916,
            "upload_time": "2025-08-11T06:47:49",
            "upload_time_iso_8601": "2025-08-11T06:47:49.641440Z",
            "url": "https://files.pythonhosted.org/packages/5e/f0/8fab23e9dfbf1213b3714f8a2c666cc26ed35081dfd702f71f5acb04e31b/qh3-1.5.4-cp37-abi3-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "89a2fa43fd4cadc35923ddb817f4e6bc6edfd803062ebb1953fb86671db74064",
                "md5": "922e64f3a506fb8059b89788684a957c",
                "sha256": "584a7d6018408b03ba6c6d0373058c0af0fbb764cab31c87074e897ae7b9cf74"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "922e64f3a506fb8059b89788684a957c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2131474,
            "upload_time": "2025-08-11T06:47:51",
            "upload_time_iso_8601": "2025-08-11T06:47:51.273187Z",
            "url": "https://files.pythonhosted.org/packages/89/a2/fa43fd4cadc35923ddb817f4e6bc6edfd803062ebb1953fb86671db74064/qh3-1.5.4-cp37-abi3-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71bdec7422be6d02e1c9fce424a82ab901d9a766c5a7954383827c32807c3c65",
                "md5": "20f9a2518d2435181e09d1d9ffde8ac0",
                "sha256": "c43ad6221f427cb820fa806c4ea86cf309c20e5d819749e6008c93dc99a0c3da"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "20f9a2518d2435181e09d1d9ffde8ac0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2172164,
            "upload_time": "2025-08-11T06:47:52",
            "upload_time_iso_8601": "2025-08-11T06:47:52.931582Z",
            "url": "https://files.pythonhosted.org/packages/71/bd/ec7422be6d02e1c9fce424a82ab901d9a766c5a7954383827c32807c3c65/qh3-1.5.4-cp37-abi3-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b676ab37a6bc8a1f0d2d297762ac3c87375a6c2981ec5b1a140511763095846c",
                "md5": "09df9c4d3413148c030af3e695cdf4cd",
                "sha256": "f724dc1d57262aee7fdea30efe5a4d7ce059dabfb0b8e8930e1aa6ea4a9be0ba"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "09df9c4d3413148c030af3e695cdf4cd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2520967,
            "upload_time": "2025-08-11T06:47:54",
            "upload_time_iso_8601": "2025-08-11T06:47:54.593232Z",
            "url": "https://files.pythonhosted.org/packages/b6/76/ab37a6bc8a1f0d2d297762ac3c87375a6c2981ec5b1a140511763095846c/qh3-1.5.4-cp37-abi3-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93c1faa18c89cb5da9b4d6ad9480ebd684a3f220adeb3c2706bf372db6ac532f",
                "md5": "95049381ce67a0ca73c1ebe2c7736232",
                "sha256": "ef79368e9979ac386e81a816fa46d07b95a586ad99bfc01998c3b7cca61ba46d"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-win32.whl",
            "has_sig": false,
            "md5_digest": "95049381ce67a0ca73c1ebe2c7736232",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1744458,
            "upload_time": "2025-08-11T06:47:56",
            "upload_time_iso_8601": "2025-08-11T06:47:56.211047Z",
            "url": "https://files.pythonhosted.org/packages/93/c1/faa18c89cb5da9b4d6ad9480ebd684a3f220adeb3c2706bf372db6ac532f/qh3-1.5.4-cp37-abi3-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c7e49159114a1d96c0442e1465ace2ec1f197e5027db6f794887cf2ca386cc40",
                "md5": "a6c08c231035891eb0591f38476caccb",
                "sha256": "90ce786909cd7d39db158d86d4c9569d2aebfb18782d04c81b98a1b912489b5a"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-cp37-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a6c08c231035891eb0591f38476caccb",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1991452,
            "upload_time": "2025-08-11T06:47:58",
            "upload_time_iso_8601": "2025-08-11T06:47:58.663050Z",
            "url": "https://files.pythonhosted.org/packages/c7/e4/9159114a1d96c0442e1465ace2ec1f197e5027db6f794887cf2ca386cc40/qh3-1.5.4-cp37-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70bdb1a090bba912ff5c05adfe888b0fe98e3e27656a00efdd3db9aca4dc11c5",
                "md5": "c141edb24b026213cf2b3cf09e1a2247",
                "sha256": "01ab89ccb007953cfa1231e92ab4a245a9972d89b2ad3f5e12b4ef21a6d2cc90"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "c141edb24b026213cf2b3cf09e1a2247",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 4480860,
            "upload_time": "2025-08-11T06:48:00",
            "upload_time_iso_8601": "2025-08-11T06:48:00.358345Z",
            "url": "https://files.pythonhosted.org/packages/70/bd/b1a090bba912ff5c05adfe888b0fe98e3e27656a00efdd3db9aca4dc11c5/qh3-1.5.4-pp310-pypy310_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76e059636bcbb69c6af214a39d3ec49ef0ec2cc77208c0c69c92d644f444bf82",
                "md5": "ddf42dcffb860b33543112c65cfeafcc",
                "sha256": "94bcdf7653c604997c9f71c404190da403b74dcb405fca01e9f03fd5cd3b4251"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ddf42dcffb860b33543112c65cfeafcc",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2161999,
            "upload_time": "2025-08-11T06:48:02",
            "upload_time_iso_8601": "2025-08-11T06:48:02.171720Z",
            "url": "https://files.pythonhosted.org/packages/76/e0/59636bcbb69c6af214a39d3ec49ef0ec2cc77208c0c69c92d644f444bf82/qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ba5e8e8889042d0854d056e0cc9e8d9fbad83e1a7f8d1d3e81b9377b617cc81d",
                "md5": "2041801b68369f94adab6cb842e59201",
                "sha256": "1b5f2314526ad3ac2d35311860efd8b72b761ccda3cbffce04f1ef16876b5de7"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "2041801b68369f94adab6cb842e59201",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 1887573,
            "upload_time": "2025-08-11T06:48:03",
            "upload_time_iso_8601": "2025-08-11T06:48:03.791909Z",
            "url": "https://files.pythonhosted.org/packages/ba/5e/8e8889042d0854d056e0cc9e8d9fbad83e1a7f8d1d3e81b9377b617cc81d/qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3cbce40dc28cefded62db2cc655ccb734a73c76ef408e54ff9b8f5b247c0ad5f",
                "md5": "23435c00d0dcca769b7940772ee6dfec",
                "sha256": "ecedd23efcb78efad2013d7adacda17eadd23695a26ee2e7c836781e94d8c13b"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "23435c00d0dcca769b7940772ee6dfec",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2035819,
            "upload_time": "2025-08-11T06:48:05",
            "upload_time_iso_8601": "2025-08-11T06:48:05.320564Z",
            "url": "https://files.pythonhosted.org/packages/3c/bc/e40dc28cefded62db2cc655ccb734a73c76ef408e54ff9b8f5b247c0ad5f/qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "028061c65b6eb01b4d093464d72cee7eaea414c80fcc9ef4812e987149da5ec1",
                "md5": "bbed41c0384399dea5bf2a7e0834ab19",
                "sha256": "2992c1e29959d9f91f4283377f2a63cf41d386ab4657f19d533340c6572ba0ff"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "bbed41c0384399dea5bf2a7e0834ab19",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2084910,
            "upload_time": "2025-08-11T06:48:09",
            "upload_time_iso_8601": "2025-08-11T06:48:09.092258Z",
            "url": "https://files.pythonhosted.org/packages/02/80/61c65b6eb01b4d093464d72cee7eaea414c80fcc9ef4812e987149da5ec1/qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e938da3c07b963bce2426b99ebc17cf3293fbeb62b918e661e1100742de51aaf",
                "md5": "240d53c64e022ecc2038c80dcecd5701",
                "sha256": "0c09c6d0de9f1cb7afdaadac80f4df7cab99b111933c2e46dedf5ef3c7a20f7f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "240d53c64e022ecc2038c80dcecd5701",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2038077,
            "upload_time": "2025-08-11T06:48:06",
            "upload_time_iso_8601": "2025-08-11T06:48:06.924853Z",
            "url": "https://files.pythonhosted.org/packages/e9/38/da3c07b963bce2426b99ebc17cf3293fbeb62b918e661e1100742de51aaf/qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "835006ed476811d47ff56b3eaadb81737e32d8d20ea5eef5a696235579cc15d0",
                "md5": "2b0c5c18f9c8565c9dff8f814fac8463",
                "sha256": "96f9b1ddc305fc8867c303bbcc77527c4d00c50aab2ea9239cf01cfa4498d8f3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "2b0c5c18f9c8565c9dff8f814fac8463",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2148704,
            "upload_time": "2025-08-11T06:48:10",
            "upload_time_iso_8601": "2025-08-11T06:48:10.752006Z",
            "url": "https://files.pythonhosted.org/packages/83/50/06ed476811d47ff56b3eaadb81737e32d8d20ea5eef5a696235579cc15d0/qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da785b044f3d32d0b8362861bcf373a665e22d98a09455d271c8ee9a33e894c0",
                "md5": "3126cdf1dbc305da7832955e297b6073",
                "sha256": "b1a69b1b66be538673905ea67b68f78def3460e3de9757e90cbfca4168beb72f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3126cdf1dbc305da7832955e297b6073",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2355188,
            "upload_time": "2025-08-11T06:48:12",
            "upload_time_iso_8601": "2025-08-11T06:48:12.482606Z",
            "url": "https://files.pythonhosted.org/packages/da/78/5b044f3d32d0b8362861bcf373a665e22d98a09455d271c8ee9a33e894c0/qh3-1.5.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1015085f60a3d4d2bd1f2c2e549d8c32ae950f72b7635b45201c5eb003a0689d",
                "md5": "ad13fa637148f4d0010475c18e8bf923",
                "sha256": "ab7b83c6b288630bdc2a5faa3cc47848e159ca47e3d5e12f41c2f0670a564b18"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ad13fa637148f4d0010475c18e8bf923",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2359984,
            "upload_time": "2025-08-11T06:48:14",
            "upload_time_iso_8601": "2025-08-11T06:48:14.117385Z",
            "url": "https://files.pythonhosted.org/packages/10/15/085f60a3d4d2bd1f2c2e549d8c32ae950f72b7635b45201c5eb003a0689d/qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b54410ff8b6304939d20059c3234f9d9670cd8b48275d3312f07ffd144cba7e7",
                "md5": "6c3f5af9156dc3d3bc18f7068ab1de77",
                "sha256": "bf8dbc8bf32d27d4c12e24fc13da728047058a31f482cff8b28fa3ee37a9483f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "6c3f5af9156dc3d3bc18f7068ab1de77",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2134332,
            "upload_time": "2025-08-11T06:48:15",
            "upload_time_iso_8601": "2025-08-11T06:48:15.785449Z",
            "url": "https://files.pythonhosted.org/packages/b5/44/10ff8b6304939d20059c3234f9d9670cd8b48275d3312f07ffd144cba7e7/qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "abe57bd8ba46f6a587a8454a11236dc6c6e8a19828c019f65e758f6be9551a72",
                "md5": "048de6511bea54825982231cf8f11af6",
                "sha256": "386245236ee1d585cac7906c9c26799d3843a802e99f21b4bd8d2ee93a60198d"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "048de6511bea54825982231cf8f11af6",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2175567,
            "upload_time": "2025-08-11T06:48:17",
            "upload_time_iso_8601": "2025-08-11T06:48:17.337449Z",
            "url": "https://files.pythonhosted.org/packages/ab/e5/7bd8ba46f6a587a8454a11236dc6c6e8a19828c019f65e758f6be9551a72/qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "78b585cc868b05cea76e24f68d2b918e3a70d91ff0e69577b9000437fcb912db",
                "md5": "826c5dc7540463bf5f2a01e3da84d949",
                "sha256": "52082aaf3c759afd04f33f5ffec7afa11e78740eab3a196a3f3672d74e50efd0"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "826c5dc7540463bf5f2a01e3da84d949",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 2523268,
            "upload_time": "2025-08-11T06:48:19",
            "upload_time_iso_8601": "2025-08-11T06:48:19.021082Z",
            "url": "https://files.pythonhosted.org/packages/78/b5/85cc868b05cea76e24f68d2b918e3a70d91ff0e69577b9000437fcb912db/qh3-1.5.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0045abfab2a022a6fc3216b8b730c2441271176808f45ce6325625bbd2f63416",
                "md5": "503db0a3664d66b80e0e3561a9f3c322",
                "sha256": "7452e5ae4c9d2e3e96e1762867abc19799302001c5e186c5540e2acfe174c6d7"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "503db0a3664d66b80e0e3561a9f3c322",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 1997160,
            "upload_time": "2025-08-11T06:48:20",
            "upload_time_iso_8601": "2025-08-11T06:48:20.670752Z",
            "url": "https://files.pythonhosted.org/packages/00/45/abfab2a022a6fc3216b8b730c2441271176808f45ce6325625bbd2f63416/qh3-1.5.4-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "01407a7bbf5f905b83d37e084f7bad756ef09b4eb893b9ae2505ccf7bbbce941",
                "md5": "796e36ee90f15652e999e6eb91879b7b",
                "sha256": "62e0d815acc02e5c42fea29735c480cffab9eb7dcf7ef9235188da43a43b6e3f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "796e36ee90f15652e999e6eb91879b7b",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 4476819,
            "upload_time": "2025-08-11T06:48:22",
            "upload_time_iso_8601": "2025-08-11T06:48:22.456920Z",
            "url": "https://files.pythonhosted.org/packages/01/40/7a7bbf5f905b83d37e084f7bad756ef09b4eb893b9ae2505ccf7bbbce941/qh3-1.5.4-pp311-pypy311_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "22353976585feb67a519d01cdcf090e0e913bce1e525707f6da8561e6d141d37",
                "md5": "1acf7d90025656f51f1dcda6e52dfe64",
                "sha256": "cf03c8016d797af2ceacdbce136178a134081e86c01b3deded37eee57609826c"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1acf7d90025656f51f1dcda6e52dfe64",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2158798,
            "upload_time": "2025-08-11T06:48:24",
            "upload_time_iso_8601": "2025-08-11T06:48:24.147121Z",
            "url": "https://files.pythonhosted.org/packages/22/35/3976585feb67a519d01cdcf090e0e913bce1e525707f6da8561e6d141d37/qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "570e4e6f92c88c47c9855e8e1ebcafe59134b009b99b74f9f9248948f9738659",
                "md5": "6e1939e65cbc8030fae378460247fd10",
                "sha256": "9139079f54547768e631d76f33a56e6c871db884d0adcffe7a27263a2e6e2cff"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "6e1939e65cbc8030fae378460247fd10",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 1884397,
            "upload_time": "2025-08-11T06:48:26",
            "upload_time_iso_8601": "2025-08-11T06:48:26.149256Z",
            "url": "https://files.pythonhosted.org/packages/57/0e/4e6f92c88c47c9855e8e1ebcafe59134b009b99b74f9f9248948f9738659/qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3c4d7361c7e778d0be1b7f4a6141efce13f38362a8e26ef6feb193d4a029462c",
                "md5": "4756ad65303117094e3c4cd260eadd99",
                "sha256": "2b13b59c8403f550cd2d688269698d55735067aa4c2ac16d45075f15f06129ba"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "4756ad65303117094e3c4cd260eadd99",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2033081,
            "upload_time": "2025-08-11T06:48:27",
            "upload_time_iso_8601": "2025-08-11T06:48:27.856092Z",
            "url": "https://files.pythonhosted.org/packages/3c/4d/7361c7e778d0be1b7f4a6141efce13f38362a8e26ef6feb193d4a029462c/qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f261a35f5b4f4cb509e3a23ccdde735d06e8627bd657b2434082a400e0e2f2d8",
                "md5": "3fac821a08de519eceb239c2335885b9",
                "sha256": "bf06003e373a22f3ce0b3ff0f540c4853976a4ce966ca3e745d8e8e436a14844"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "3fac821a08de519eceb239c2335885b9",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2081074,
            "upload_time": "2025-08-11T06:48:31",
            "upload_time_iso_8601": "2025-08-11T06:48:31.163622Z",
            "url": "https://files.pythonhosted.org/packages/f2/61/a35f5b4f4cb509e3a23ccdde735d06e8627bd657b2434082a400e0e2f2d8/qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "80fa2f2f0e89378d7c440d88309a90f8e746a585dcac80053adcc45e53110e5a",
                "md5": "c30b81c996361910ad5d7f469414b5ee",
                "sha256": "fb6275b1f1c929e0e52a8f12e5721aa2b349a1c8b4c6c816ea79bb544566e1c7"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "c30b81c996361910ad5d7f469414b5ee",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2034971,
            "upload_time": "2025-08-11T06:48:29",
            "upload_time_iso_8601": "2025-08-11T06:48:29.538071Z",
            "url": "https://files.pythonhosted.org/packages/80/fa/2f2f0e89378d7c440d88309a90f8e746a585dcac80053adcc45e53110e5a/qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0b17d2b861852bc688484c7df9726d65b25d5ce3c2e0c8d497986fa6f0408563",
                "md5": "26faf1c89350027f8a5a07d048b02a78",
                "sha256": "31387eb00988ea93fdf75f6f56a6cb023eaa090f417946572c9ad339c433773f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "26faf1c89350027f8a5a07d048b02a78",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2144207,
            "upload_time": "2025-08-11T06:48:32",
            "upload_time_iso_8601": "2025-08-11T06:48:32.906017Z",
            "url": "https://files.pythonhosted.org/packages/0b/17/d2b861852bc688484c7df9726d65b25d5ce3c2e0c8d497986fa6f0408563/qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bd192b61bd148a3512dc9535cfc06ce5301971b0a1326836385abbab9e873bfc",
                "md5": "2a3ad6bc4e3695c9b9f4e0fb6e5eb041",
                "sha256": "5cb6730023441f4fa81495f6aecac5b84a19789380881117b561bfa7343ccbc2"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2a3ad6bc4e3695c9b9f4e0fb6e5eb041",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2351992,
            "upload_time": "2025-08-11T06:48:35",
            "upload_time_iso_8601": "2025-08-11T06:48:35.047448Z",
            "url": "https://files.pythonhosted.org/packages/bd/19/2b61bd148a3512dc9535cfc06ce5301971b0a1326836385abbab9e873bfc/qh3-1.5.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "61059a79cdc00579521bc6581c27b9f0ce6eec6a2094c8cb7aa462ffcfb656fd",
                "md5": "dfcfa2e92993583e309b5695b6d0a0f2",
                "sha256": "a2efd0a61d0703580f6835bb2608d5480410f5dfc9fbb934b76efa508e65328d"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "dfcfa2e92993583e309b5695b6d0a0f2",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2357573,
            "upload_time": "2025-08-11T06:48:37",
            "upload_time_iso_8601": "2025-08-11T06:48:37.353669Z",
            "url": "https://files.pythonhosted.org/packages/61/05/9a79cdc00579521bc6581c27b9f0ce6eec6a2094c8cb7aa462ffcfb656fd/qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9c5a2a850bfb5f15e0fa8935aa98cbda084cd15741e5a5493f99eb4c69ea94e",
                "md5": "68b78ee5f2d2dc46cdd7be718a4ae766",
                "sha256": "679eec408e85d03c20a1f6a64b7afb205ce4688e0651a4ee3cf68134fba51af6"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "68b78ee5f2d2dc46cdd7be718a4ae766",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2132133,
            "upload_time": "2025-08-11T06:48:38",
            "upload_time_iso_8601": "2025-08-11T06:48:38.972639Z",
            "url": "https://files.pythonhosted.org/packages/f9/c5/a2a850bfb5f15e0fa8935aa98cbda084cd15741e5a5493f99eb4c69ea94e/qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5ce819e20d0eae9e1fdb8cab81f9a7fb8704e25efe118b200c56a273c43990ac",
                "md5": "027fa4addf84ef4ea147918654775927",
                "sha256": "b88cb28ad86c4cebba37b77dcbb588c5eebc113b57c6a4228470591c0352c054"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "027fa4addf84ef4ea147918654775927",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2173233,
            "upload_time": "2025-08-11T06:48:40",
            "upload_time_iso_8601": "2025-08-11T06:48:40.822256Z",
            "url": "https://files.pythonhosted.org/packages/5c/e8/19e20d0eae9e1fdb8cab81f9a7fb8704e25efe118b200c56a273c43990ac/qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0dc535f1f58fdd0f7179b6435be15720870eed79c9a71ba326b1394b6649d13c",
                "md5": "8077ae5e5298052f2162995b7385f486",
                "sha256": "618430b159be63304f6750c05ea636a2385565554034a2076095bf7ff98123f3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8077ae5e5298052f2162995b7385f486",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 2522182,
            "upload_time": "2025-08-11T06:48:43",
            "upload_time_iso_8601": "2025-08-11T06:48:43.378213Z",
            "url": "https://files.pythonhosted.org/packages/0d/c5/35f1f58fdd0f7179b6435be15720870eed79c9a71ba326b1394b6649d13c/qh3-1.5.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4faa590e32ea3989d369b279f9bc2dc29814d4fe1a369af4da936491cd578b7",
                "md5": "6046adab6c471e68bfaede8ae50ad11d",
                "sha256": "d075e8796edb2b9bc39b8d97e3115789d76351dd8ff6e5a93c06eabb07753bbd"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp311-pypy311_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6046adab6c471e68bfaede8ae50ad11d",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.7",
            "size": 1993578,
            "upload_time": "2025-08-11T06:48:45",
            "upload_time_iso_8601": "2025-08-11T06:48:45.020198Z",
            "url": "https://files.pythonhosted.org/packages/a4/fa/a590e32ea3989d369b279f9bc2dc29814d4fe1a369af4da936491cd578b7/qh3-1.5.4-pp311-pypy311_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c5d90690712147d00aaff733d2ef38c25fabbf9eae3811a04bddaa4bb62edb79",
                "md5": "ec96bec7304df6ecca2f6e0c58833720",
                "sha256": "4ba872ede7084b282bb2728ae610786564e79ac24f31d16084a0dc76833722fe"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "ec96bec7304df6ecca2f6e0c58833720",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 4474082,
            "upload_time": "2025-08-11T06:48:46",
            "upload_time_iso_8601": "2025-08-11T06:48:46.839650Z",
            "url": "https://files.pythonhosted.org/packages/c5/d9/0690712147d00aaff733d2ef38c25fabbf9eae3811a04bddaa4bb62edb79/qh3-1.5.4-pp37-pypy37_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f25ccdd0d3a68b8313f21a800cee6a941dfc5cab736b2343ca3601be4a48dbd5",
                "md5": "ec166b0e83c448829d5d3e2847635d5d",
                "sha256": "850a7743f331676896f1e58c8944f37e5a88bfe2b23bf52845939e110b5f83c3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ec166b0e83c448829d5d3e2847635d5d",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2158223,
            "upload_time": "2025-08-11T06:48:48",
            "upload_time_iso_8601": "2025-08-11T06:48:48.818786Z",
            "url": "https://files.pythonhosted.org/packages/f2/5c/cdd0d3a68b8313f21a800cee6a941dfc5cab736b2343ca3601be4a48dbd5/qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8661c0ecde5b1667d214d0a1fb83ad3885f0cd441fa25617a01794cc4da6b3e5",
                "md5": "4688b5ea55a02d3d0fac2b6ebf2ce0ae",
                "sha256": "49b30ef5eebff152c3712cc1abd4bd1646a12b9edc0c8faa3b16d5961591b19d"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "4688b5ea55a02d3d0fac2b6ebf2ce0ae",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 1880071,
            "upload_time": "2025-08-11T06:48:51",
            "upload_time_iso_8601": "2025-08-11T06:48:51.402604Z",
            "url": "https://files.pythonhosted.org/packages/86/61/c0ecde5b1667d214d0a1fb83ad3885f0cd441fa25617a01794cc4da6b3e5/qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad2a75f01ad39852ea0cf6a802cb1a9d8ffba5d1c2490ddbad6ba0f70ca25549",
                "md5": "1f222a1f30b52328df6d3b2324cd2ea0",
                "sha256": "bb9a0f3e36604f6ed12605e46650b3e09d59688d8132bdc5c82d1b48b4f41d6d"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "1f222a1f30b52328df6d3b2324cd2ea0",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2028724,
            "upload_time": "2025-08-11T06:48:53",
            "upload_time_iso_8601": "2025-08-11T06:48:53.674094Z",
            "url": "https://files.pythonhosted.org/packages/ad/2a/75f01ad39852ea0cf6a802cb1a9d8ffba5d1c2490ddbad6ba0f70ca25549/qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6d7874a35595989e59f6bc5a93ce965991cd775366ddab47ea5dc88de061e94f",
                "md5": "f144f95a3f19e19cb8c598a5b1744843",
                "sha256": "211e80bb29b4e9341fe66c55b4e466cd2aa35ecf487eaf8526472b395c85d7a9"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "f144f95a3f19e19cb8c598a5b1744843",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2079210,
            "upload_time": "2025-08-11T06:48:57",
            "upload_time_iso_8601": "2025-08-11T06:48:57.084593Z",
            "url": "https://files.pythonhosted.org/packages/6d/78/74a35595989e59f6bc5a93ce965991cd775366ddab47ea5dc88de061e94f/qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c053da910fff16ed91d4e5772404f91ab642ea0d7c66083edb01e0ebe05a6f9c",
                "md5": "fb86a0e24754919f7d5a79741dc8444c",
                "sha256": "7263485756259659575ebbfcea2c2c3faa222a5f829a726176de3529360567ae"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "fb86a0e24754919f7d5a79741dc8444c",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2033322,
            "upload_time": "2025-08-11T06:48:55",
            "upload_time_iso_8601": "2025-08-11T06:48:55.321633Z",
            "url": "https://files.pythonhosted.org/packages/c0/53/da910fff16ed91d4e5772404f91ab642ea0d7c66083edb01e0ebe05a6f9c/qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1c9e54ae261cce854e4e31ef7b3178679016195ccf7294786bfd15c3d4e6e3e5",
                "md5": "af2e57e8df3372dec31f9dea369ce9a3",
                "sha256": "5d10fb5d6fa188f659e37b8e336bd1b48c0508a5aa3751ff74e4bf7443970f7e"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "af2e57e8df3372dec31f9dea369ce9a3",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2146613,
            "upload_time": "2025-08-11T06:48:59",
            "upload_time_iso_8601": "2025-08-11T06:48:59.111940Z",
            "url": "https://files.pythonhosted.org/packages/1c/9e/54ae261cce854e4e31ef7b3178679016195ccf7294786bfd15c3d4e6e3e5/qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5c72cb3ce170e5ef2247742fd04e29a44ca0da368473a7a37bd47e02fd99d5c4",
                "md5": "110c44a42432b8c8dc931de3b4cefe9c",
                "sha256": "2f807947250a50435d12c8ce863ec40290ffb13f4617ecbc648d206c1efdd665"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "110c44a42432b8c8dc931de3b4cefe9c",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2349188,
            "upload_time": "2025-08-11T06:49:00",
            "upload_time_iso_8601": "2025-08-11T06:49:00.786137Z",
            "url": "https://files.pythonhosted.org/packages/5c/72/cb3ce170e5ef2247742fd04e29a44ca0da368473a7a37bd47e02fd99d5c4/qh3-1.5.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf0fb5b0c4a3e0696e26bc86008f27414a6541c9614b9b898429d1b03621e731",
                "md5": "b12fe77dc0fa143a13c45c38e4b77d5f",
                "sha256": "6c9b0ec6b8607e72bf72c2933be8ada886fb333b9a8189734a25c850254c6ff0"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b12fe77dc0fa143a13c45c38e4b77d5f",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2357919,
            "upload_time": "2025-08-11T06:49:02",
            "upload_time_iso_8601": "2025-08-11T06:49:02.411036Z",
            "url": "https://files.pythonhosted.org/packages/bf/0f/b5b0c4a3e0696e26bc86008f27414a6541c9614b9b898429d1b03621e731/qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "09ad5ecbdad8ac94572483a31b173280ad1fc63ae9f06270cc84f927d5e7a4ec",
                "md5": "37a83201e10d161eae1ce46750a3e071",
                "sha256": "ecdcc4bf62c7908d97d72beaa248c042f02ac73ed4ee8e6cb6a91fd7e7805ec8"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "37a83201e10d161eae1ce46750a3e071",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2130420,
            "upload_time": "2025-08-11T06:49:04",
            "upload_time_iso_8601": "2025-08-11T06:49:04.435522Z",
            "url": "https://files.pythonhosted.org/packages/09/ad/5ecbdad8ac94572483a31b173280ad1fc63ae9f06270cc84f927d5e7a4ec/qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "769df4cfc6f4b8172f749613abbeaf35cb71c6333ddd4d132d96e039b6a0c64f",
                "md5": "284b383c267a5757faf94ba7599462b9",
                "sha256": "7a17f5aeda0323a4fb980a7472d9a46e3e43bb8c5d9a9ad5ee5934f583685dce"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "284b383c267a5757faf94ba7599462b9",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2171229,
            "upload_time": "2025-08-11T06:49:06",
            "upload_time_iso_8601": "2025-08-11T06:49:06.829676Z",
            "url": "https://files.pythonhosted.org/packages/76/9d/f4cfc6f4b8172f749613abbeaf35cb71c6333ddd4d132d96e039b6a0c64f/qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2abcd3b7129e8a64e787f457a9e838e33e1e8a1400a6d6fd753287c927f8d3f4",
                "md5": "0cb404e32346f438827f38157a68c9fa",
                "sha256": "c630a05b19d30efc0dbde47494617f75a111d46eee9b03fc7aae8d06cc081b96"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0cb404e32346f438827f38157a68c9fa",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 2519880,
            "upload_time": "2025-08-11T06:49:08",
            "upload_time_iso_8601": "2025-08-11T06:49:08.645176Z",
            "url": "https://files.pythonhosted.org/packages/2a/bc/d3b7129e8a64e787f457a9e838e33e1e8a1400a6d6fd753287c927f8d3f4/qh3-1.5.4-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fae5ea4fe7af1fa4918d1d510506046bd8509b4292edf49d453ab4d798974424",
                "md5": "1840f2f3a11682c32ace239d23cc5bd1",
                "sha256": "ff29c2f7184675ef921bdacfc1b69bc08aa7ff0c1f2f7345c676173d381d5863"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp37-pypy37_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1840f2f3a11682c32ace239d23cc5bd1",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 1989653,
            "upload_time": "2025-08-11T06:49:10",
            "upload_time_iso_8601": "2025-08-11T06:49:10.321366Z",
            "url": "https://files.pythonhosted.org/packages/fa/e5/ea4fe7af1fa4918d1d510506046bd8509b4292edf49d453ab4d798974424/qh3-1.5.4-pp37-pypy37_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7fc90529fc113959899862654c058e1ba93081ce99cd6faa7c8ada066f56b3f9",
                "md5": "c4bb0e92bcdaf7511d2eccfaa8fecb9b",
                "sha256": "379603bdc5d72876a92ee86b5bcab1554579a847298e85a28f6b8e6f6a8e3587"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "c4bb0e92bcdaf7511d2eccfaa8fecb9b",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 4474083,
            "upload_time": "2025-08-11T06:49:12",
            "upload_time_iso_8601": "2025-08-11T06:49:12.158687Z",
            "url": "https://files.pythonhosted.org/packages/7f/c9/0529fc113959899862654c058e1ba93081ce99cd6faa7c8ada066f56b3f9/qh3-1.5.4-pp38-pypy38_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bff9c9f2130119cd0d676dbd28d1b8ed81446f6e747420286d59c08907d29a8e",
                "md5": "dd7ab50dcfb3e1caf3d926dc13a82bc8",
                "sha256": "f87fdaa1c46a1463e9acc5d91d47eeae873890200d9660e84ad4b78785cf5d78"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "dd7ab50dcfb3e1caf3d926dc13a82bc8",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2158226,
            "upload_time": "2025-08-11T06:49:13",
            "upload_time_iso_8601": "2025-08-11T06:49:13.795811Z",
            "url": "https://files.pythonhosted.org/packages/bf/f9/c9f2130119cd0d676dbd28d1b8ed81446f6e747420286d59c08907d29a8e/qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f757bf729e120b8f5ca5b5c2715258c4d7bb2b71754ca10a0110fa87dd30dba",
                "md5": "e706df437d5a36604fdfdb89a938154e",
                "sha256": "0529e5bab4caa26eb4efa330dc934d511dff5132ebfc4fdb03917cc9186a93f3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "e706df437d5a36604fdfdb89a938154e",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 1880072,
            "upload_time": "2025-08-11T06:49:15",
            "upload_time_iso_8601": "2025-08-11T06:49:15.477739Z",
            "url": "https://files.pythonhosted.org/packages/9f/75/7bf729e120b8f5ca5b5c2715258c4d7bb2b71754ca10a0110fa87dd30dba/qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e5de8ebc4d48ddb52d8ad0700f34d4cdf1e07f993168310bca2d5f5031a334d",
                "md5": "9abd1cbc561357eec9190de767e507d8",
                "sha256": "b7203b67b0d4b580312be603c211c1968a4774175f5379145cab8ba20c2461c6"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "9abd1cbc561357eec9190de767e507d8",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2028727,
            "upload_time": "2025-08-11T06:49:17",
            "upload_time_iso_8601": "2025-08-11T06:49:17.569808Z",
            "url": "https://files.pythonhosted.org/packages/0e/5d/e8ebc4d48ddb52d8ad0700f34d4cdf1e07f993168310bca2d5f5031a334d/qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d7cc1e606727adea04e405afe693126cf1442e3c65168ff7f1b8b1a8a32a576b",
                "md5": "682c5238a79b2da264363e0b59f06ecb",
                "sha256": "246f0741863f10d37b9182da2c4f8c26328c4ffaacab52c9473df882046feaf7"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "682c5238a79b2da264363e0b59f06ecb",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2079211,
            "upload_time": "2025-08-11T06:49:21",
            "upload_time_iso_8601": "2025-08-11T06:49:21.980997Z",
            "url": "https://files.pythonhosted.org/packages/d7/cc/1e606727adea04e405afe693126cf1442e3c65168ff7f1b8b1a8a32a576b/qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "69e2cac75417fe95cbc9df3dbde93c345f44bd845aab1bc4623cebb50287c053",
                "md5": "42f9e66e582388bd4552592595d525c8",
                "sha256": "4e2dfae1b0750ff003dfc922432c3b572b9c2b2810d28f2ad117a2540a1bd2f3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "42f9e66e582388bd4552592595d525c8",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2033324,
            "upload_time": "2025-08-11T06:49:19",
            "upload_time_iso_8601": "2025-08-11T06:49:19.337701Z",
            "url": "https://files.pythonhosted.org/packages/69/e2/cac75417fe95cbc9df3dbde93c345f44bd845aab1bc4623cebb50287c053/qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6c9b7ec4a4052cc0b16ad903beb66451b9662eb0971b392102dce58903c6fe2f",
                "md5": "1399d3dbc17a137fca85efca97a899fc",
                "sha256": "a565ed48e4471715a0f803a55f8192fe852d4ff7f486a0567ede96f2f925d9e7"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "1399d3dbc17a137fca85efca97a899fc",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2146615,
            "upload_time": "2025-08-11T06:49:23",
            "upload_time_iso_8601": "2025-08-11T06:49:23.790050Z",
            "url": "https://files.pythonhosted.org/packages/6c/9b/7ec4a4052cc0b16ad903beb66451b9662eb0971b392102dce58903c6fe2f/qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8f642763177df8a123bf3953f90cbfe520b470068585bc864707ed7d74d594f",
                "md5": "7e2ef92d6c1c3667dd1b7493626d6119",
                "sha256": "d49420808605037c5e640ce0de925bee27f7eb74dd24eaee632a7b3a374d03f0"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7e2ef92d6c1c3667dd1b7493626d6119",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2349186,
            "upload_time": "2025-08-11T06:49:25",
            "upload_time_iso_8601": "2025-08-11T06:49:25.512699Z",
            "url": "https://files.pythonhosted.org/packages/a8/f6/42763177df8a123bf3953f90cbfe520b470068585bc864707ed7d74d594f/qh3-1.5.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fabfca36dd58e5ac688ed3959cd74afe0270d1462a2a29cc9d8f0067afd40b61",
                "md5": "61814081428d92e9197e71c9ac6a9a23",
                "sha256": "1d2e4fb31b92904e143e466b81ff0117a0a4cec4d56abd6bf8e8078a30d9914b"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "61814081428d92e9197e71c9ac6a9a23",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2357922,
            "upload_time": "2025-08-11T06:49:27",
            "upload_time_iso_8601": "2025-08-11T06:49:27.656391Z",
            "url": "https://files.pythonhosted.org/packages/fa/bf/ca36dd58e5ac688ed3959cd74afe0270d1462a2a29cc9d8f0067afd40b61/qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "002a9d95bd5baecd04dfe85cb244dd4c4675b92fede7bd997b13c0bdf48adc0b",
                "md5": "cd650add57af359e23084a95717450b6",
                "sha256": "6d778e5c5b4ec8e13cf3d9460e0a934334fd844fc4794464215688f8e5dbea18"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "cd650add57af359e23084a95717450b6",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2130419,
            "upload_time": "2025-08-11T06:49:29",
            "upload_time_iso_8601": "2025-08-11T06:49:29.729340Z",
            "url": "https://files.pythonhosted.org/packages/00/2a/9d95bd5baecd04dfe85cb244dd4c4675b92fede7bd997b13c0bdf48adc0b/qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57ad8c7db028da171a54dcab729d555d8a50747915fd6f362c33fea0e3411a8e",
                "md5": "9e0673f617c7225a082b42de00e257f8",
                "sha256": "fd2150ec623289d1da1b3dec2e79e036570bb3d65dce65f0f1e71619e11f8688"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "9e0673f617c7225a082b42de00e257f8",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2171227,
            "upload_time": "2025-08-11T06:49:31",
            "upload_time_iso_8601": "2025-08-11T06:49:31.486948Z",
            "url": "https://files.pythonhosted.org/packages/57/ad/8c7db028da171a54dcab729d555d8a50747915fd6f362c33fea0e3411a8e/qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aefb28706d8ec62878668002389e2569df738717deea3a3116bcc6853dab9ef3",
                "md5": "124d3c8a739e8a996687510f6b179087",
                "sha256": "ba01f589620dfb46d44ba05767c31859b9e6bbacbfb2b11ea80056a8d724203c"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "124d3c8a739e8a996687510f6b179087",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 2519880,
            "upload_time": "2025-08-11T06:49:33",
            "upload_time_iso_8601": "2025-08-11T06:49:33.540267Z",
            "url": "https://files.pythonhosted.org/packages/ae/fb/28706d8ec62878668002389e2569df738717deea3a3116bcc6853dab9ef3/qh3-1.5.4-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1c7b81ebca61f58fc1e1d942b97a7ddb57bffeebf05e07b1af8289010fa0ab91",
                "md5": "b15c54f8ed98e11ed65ce0a8dc113c01",
                "sha256": "a4cf99359995778fb3fa796bf928c63ddaeb05a10d2b7f4e67024f839419fe7a"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp38-pypy38_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b15c54f8ed98e11ed65ce0a8dc113c01",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 1989653,
            "upload_time": "2025-08-11T06:49:35",
            "upload_time_iso_8601": "2025-08-11T06:49:35.169783Z",
            "url": "https://files.pythonhosted.org/packages/1c/7b/81ebca61f58fc1e1d942b97a7ddb57bffeebf05e07b1af8289010fa0ab91/qh3-1.5.4-pp38-pypy38_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85b61233a804712ef28cebebabf26b99fd92fe64b350d4e43db8ef3161e068de",
                "md5": "3d2277fdce33673adf640066a3bd0e86",
                "sha256": "33bb8c4f66d0273568659cf3ef8ac139bba2101c7e073d8856ff78e1396bee89"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "has_sig": false,
            "md5_digest": "3d2277fdce33673adf640066a3bd0e86",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 4474178,
            "upload_time": "2025-08-11T06:49:36",
            "upload_time_iso_8601": "2025-08-11T06:49:36.972419Z",
            "url": "https://files.pythonhosted.org/packages/85/b6/1233a804712ef28cebebabf26b99fd92fe64b350d4e43db8ef3161e068de/qh3-1.5.4-pp39-pypy39_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "631186407293e4d969d179a90cb798cd6cfa5bf31ab0e09f192ae0a29daa3bb3",
                "md5": "ddc15fbcc6b285c982307459add60e72",
                "sha256": "3165a13ef29e841d87a8bca91a059f5d2ba961de4aa57e4136d5c21c47249b29"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ddc15fbcc6b285c982307459add60e72",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2158241,
            "upload_time": "2025-08-11T06:49:38",
            "upload_time_iso_8601": "2025-08-11T06:49:38.710792Z",
            "url": "https://files.pythonhosted.org/packages/63/11/86407293e4d969d179a90cb798cd6cfa5bf31ab0e09f192ae0a29daa3bb3/qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8bfc984d06b9244125af01568abbeaff4e4e03a48aba2c7a8dd8caa469865f05",
                "md5": "ca8be1eec5c7820fcb23688f2c1a55e3",
                "sha256": "93d2cbfbba19a7f5452d7b8a87e4ce0ae27c407dd5da811d7e8ec2f1505a1acc"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "ca8be1eec5c7820fcb23688f2c1a55e3",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 1880023,
            "upload_time": "2025-08-11T06:49:40",
            "upload_time_iso_8601": "2025-08-11T06:49:40.354723Z",
            "url": "https://files.pythonhosted.org/packages/8b/fc/984d06b9244125af01568abbeaff4e4e03a48aba2c7a8dd8caa469865f05/qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35ef93a76face602c317c4c850c2357175fe1d93c1cae011609e531e303ecfdb",
                "md5": "aeb9401a642e6638965ef0708f213ffa",
                "sha256": "45a8f3936ce496eb60bf80c6bd3775270b5c6a5e25489a60d5bc127a00314ae3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "aeb9401a642e6638965ef0708f213ffa",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2028898,
            "upload_time": "2025-08-11T06:49:42",
            "upload_time_iso_8601": "2025-08-11T06:49:42.097666Z",
            "url": "https://files.pythonhosted.org/packages/35/ef/93a76face602c317c4c850c2357175fe1d93c1cae011609e531e303ecfdb/qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54b58591f333274c27d33d204e7d66ddd19aeebc73fdd544b582492fdec218d7",
                "md5": "a92689b6e99a2ab46585160ded43cc27",
                "sha256": "6eeb863c3a920d086473da3a60a6202d9db0e9b11e346d118be2d245396dc394"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "a92689b6e99a2ab46585160ded43cc27",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2079261,
            "upload_time": "2025-08-11T06:49:45",
            "upload_time_iso_8601": "2025-08-11T06:49:45.686717Z",
            "url": "https://files.pythonhosted.org/packages/54/b5/8591f333274c27d33d204e7d66ddd19aeebc73fdd544b582492fdec218d7/qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e39d8f60c218a01b989e8126dba31e53e89bea5c3a0214d3431b47c4b340654",
                "md5": "7c534f6adc1e50ebf2a81e280b877760",
                "sha256": "ccdebbd42afd2cbe80e03960ca6b4279b8b483b952cd487997ad4c46db5c1b0f"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "has_sig": false,
            "md5_digest": "7c534f6adc1e50ebf2a81e280b877760",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2033318,
            "upload_time": "2025-08-11T06:49:43",
            "upload_time_iso_8601": "2025-08-11T06:49:43.904822Z",
            "url": "https://files.pythonhosted.org/packages/3e/39/d8f60c218a01b989e8126dba31e53e89bea5c3a0214d3431b47c4b340654/qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_ppc64.manylinux2014_ppc64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c36c566be1485bd4a182f8398e5325ca7c5ff880aec9fe5ceafcd633295d5d7e",
                "md5": "8f789de0d02f4ded8c86e35700272b0a",
                "sha256": "54bea9b3d18daa3a8adf24b8ef4ab2c6f310d677b623fb93ec624fa291a90dd3"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "8f789de0d02f4ded8c86e35700272b0a",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2146612,
            "upload_time": "2025-08-11T06:49:47",
            "upload_time_iso_8601": "2025-08-11T06:49:47.402845Z",
            "url": "https://files.pythonhosted.org/packages/c3/6c/566be1485bd4a182f8398e5325ca7c5ff880aec9fe5ceafcd633295d5d7e/qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b65a21cdf75eeacecdbe050cdfab465cc1093adc199024bb6207815fb1fcb3b4",
                "md5": "c5f76db032274a0bfa9754a37c895dec",
                "sha256": "cf0c5c4e659675a9b150f1b879f17da3050b53093e790807a4675b1311b05afb"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c5f76db032274a0bfa9754a37c895dec",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2349104,
            "upload_time": "2025-08-11T06:49:49",
            "upload_time_iso_8601": "2025-08-11T06:49:49.484225Z",
            "url": "https://files.pythonhosted.org/packages/b6/5a/21cdf75eeacecdbe050cdfab465cc1093adc199024bb6207815fb1fcb3b4/qh3-1.5.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f5df4c19e65c3abf5b88df024a1f9c3372a484974834a0ee2ee88a16b9ca1b2f",
                "md5": "411ca0e902b429d60518f278bdf8bbe2",
                "sha256": "240b31d84c9b4279952442db578e6cdac51993738d2dc41fe32eb379167c6506"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "411ca0e902b429d60518f278bdf8bbe2",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2357948,
            "upload_time": "2025-08-11T06:49:51",
            "upload_time_iso_8601": "2025-08-11T06:49:51.215871Z",
            "url": "https://files.pythonhosted.org/packages/f5/df/4c19e65c3abf5b88df024a1f9c3372a484974834a0ee2ee88a16b9ca1b2f/qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "478cbebf3836190922e0e389036036591757369695c39d9d7fb5c93c1bb32ace",
                "md5": "9008ec8e8f61a0df3b5c75d92b07cd54",
                "sha256": "2a1d8af6c4653e4b012d65bc7f7142267aea4ae2666497af1237260ee91412f7"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl",
            "has_sig": false,
            "md5_digest": "9008ec8e8f61a0df3b5c75d92b07cd54",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2130474,
            "upload_time": "2025-08-11T06:49:53",
            "upload_time_iso_8601": "2025-08-11T06:49:53.204180Z",
            "url": "https://files.pythonhosted.org/packages/47/8c/bebf3836190922e0e389036036591757369695c39d9d7fb5c93c1bb32ace/qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad7348a9c03294f0791d3602e0ffabe38cacb2346ca253e35b6a7e724d0c6edc",
                "md5": "31996b633e8676b6fd18e396485dd20b",
                "sha256": "c68955b7a00c70acc1942dee2d743a16b836ddd9fd14643bb8b107d1985c6ffd"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "31996b633e8676b6fd18e396485dd20b",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2171149,
            "upload_time": "2025-08-11T06:49:54",
            "upload_time_iso_8601": "2025-08-11T06:49:54.983197Z",
            "url": "https://files.pythonhosted.org/packages/ad/73/48a9c03294f0791d3602e0ffabe38cacb2346ca253e35b6a7e724d0c6edc/qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c40daaa2aec2e003ff9360024ba1f7458b1d499882479a8a711f6c55a6bf772",
                "md5": "025b6badb276fa55023a1f442408ad32",
                "sha256": "ede3f7c2afb2714c06b6fb5419b2bd8878389324b213126adfca9529bb6e2ca0"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "025b6badb276fa55023a1f442408ad32",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 2519760,
            "upload_time": "2025-08-11T06:49:56",
            "upload_time_iso_8601": "2025-08-11T06:49:56.965623Z",
            "url": "https://files.pythonhosted.org/packages/4c/40/daaa2aec2e003ff9360024ba1f7458b1d499882479a8a711f6c55a6bf772/qh3-1.5.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46b7999a3029c05861c758145285dbd92ff2591f7c00d74a08abefb4db8db468",
                "md5": "d467d968a4b3da2eb8013ad97c74fa2a",
                "sha256": "15d9082a3097c45a904cc9d4031dc41cb41b6e489f4b8629fab693b8283c8352"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d467d968a4b3da2eb8013ad97c74fa2a",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 1989545,
            "upload_time": "2025-08-11T06:49:58",
            "upload_time_iso_8601": "2025-08-11T06:49:58.891838Z",
            "url": "https://files.pythonhosted.org/packages/46/b7/999a3029c05861c758145285dbd92ff2591f7c00d74a08abefb4db8db468/qh3-1.5.4-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c060c0afa2ad69ed41644f0f3fc925a2f74e56066ce85404a13badae193348bc",
                "md5": "4357410af10468dca7695350d64cdd88",
                "sha256": "eaaab5103c521bfaf453ee29c09c50ab8a53ca4e226dd83680d3a3eec6012314"
            },
            "downloads": -1,
            "filename": "qh3-1.5.4.tar.gz",
            "has_sig": false,
            "md5_digest": "4357410af10468dca7695350d64cdd88",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 265084,
            "upload_time": "2025-08-11T06:50:00",
            "upload_time_iso_8601": "2025-08-11T06:50:00.548048Z",
            "url": "https://files.pythonhosted.org/packages/c0/60/c0afa2ad69ed41644f0f3fc925a2f74e56066ce85404a13badae193348bc/qh3-1.5.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-11 06:50:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jawah",
    "github_project": "qh3",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "qh3"
}
        
Elapsed time: 1.32091s