qcore


Nameqcore JSON
Version 1.10.1 PyPI version JSON
download
home_pagehttps://github.com/quora/qcore
SummaryQuora's core utility library
upload_time2024-03-04 16:53:13
maintainer
docs_urlNone
authorQuora, Inc.
requires_python
licenseApache Software License
keywords quora core common utility
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            *****
qcore
*****

``qcore`` is a library of common utility functions used at Quora. It is used to
abstract out common functionality for other Quora libraries like `asynq <https://github.com/quora/asynq>`_.

Its component modules are discussed below. See the docstrings in the code
itself for more detail.

qcore.asserts
-------------

When a normal Python assert fails, it only indicates that there was a failure,
not what the bad values were that caused the assert to fail. This module
provides rich assertion helpers that automatically produce better error
messages. For example:

.. code-block:: python

    >>> from qcore.asserts import assert_eq
    >>> assert 5 == 2 * 2
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AssertionError
    >>> assert_eq(5, 2 * 2)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "qcore/asserts.py", line 82, in assert_eq
        assert expected == actual, _assert_fail_message(message, expected, actual, '!=', extra)
    AssertionError: 5 != 4

Similar methods are provided by the standard library's ``unittest`` package,
but those are tied to the ``TestCase`` class instead of being standalone
functions.

qcore.caching
-------------

This provides helpers for caching data. Some examples include:

.. code-block:: python

    from qcore.caching import cached_per_instance, lazy_constant

    @lazy_constant
    def some_function():
        # this will only be executed the first time some_function() is called;
        # afterwards it will be cached
        return expensive_computation()

    class SomeClass:
        @cached_per_instance()
        def some_method(self, a, b):
            # for any instance of SomeClass, this will only be executed once
            return expensive_computation(a, b)

qcore.debug
-----------

This module provides some helpers useful for debugging Python. Among others, it
includes the ``@qcore.debug.trace()`` decorator, which can be used to trace
every time a function is called.

qcore.decorators
----------------

This module provides an abstraction for class-based decorators that supports
transparently decorating functions, methods, classmethods, and staticmethods
while also providing the option to add additional custom attributes. For
example, it could be used to provide a caching decorator that adds a ``.dirty``
attribute to decorated functions to dirty their cache:

.. code-block:: python

    from qcore.decorators import DecoratorBase, DecoratorBinder, decorate

    class CacheDecoratorBinder(DecoratorBinder):
        def dirty(self, *args):
            if self.instance is None:
                return self.decorator.dirty(*args)
            else:
                return self.decorator.dirty(self.instance, *args)

    class CacheDecorator(DecoratorBase):
        binder_cls = CacheDecoratorBinder

        def __init__(self, *args):
            super().__init__(*args)
            self._cache = {}

        def dirty(self, *args):
            try:
                del self._cache[args]
            except KeyError:
                pass

        def __call__(self, *args):
            try:
                return self._cache[args]
            except KeyError:
                value = self.fn(*args)
                self._cache[args] = value
                return value

    cached = decorate(CacheDecorator)

qcore.enum
----------

This module provides an abstraction for defining enums. You can define an enum
as follows:

.. code-block:: python

    from qcore.enum import Enum

    class Color(Enum):
        red = 1
        green = 2
        blue = 3

qcore.errors
------------

This module provides some commonly useful exception classes and helpers for
reraising exceptions from a different place.

qcore.events
------------

This provides an abstraction for registering events and running callbacks.
Example usage:

.. code-block:: python

    >>> from qcore.events import EventHook
    >>> event = EventHook()
    >>> def callback():
    ...     print('callback called')
    ...
    >>> event.subscribe(callback)
    >>> event.trigger()
    callback called

qcore.helpers
-------------

This provides a number of small helper functions.

qcore.inspectable_class
-----------------------

This provides a base class that automatically provides hashing, equality
checks, and a readable ``repr()`` result. Example usage:

.. code-block:: python

    >>> from qcore.inspectable_class import InspectableClass
    >>> class Pair(InspectableClass):
    ...     def __init__(self, a, b):
    ...         self.a = a
    ...         self.b = b
    ...
    >>> Pair(1, 2)
    Pair(a=1, b=2)
    >>> Pair(1, 2) == Pair(1, 2)
    True

qcore.inspection
----------------

This provides functionality similar to the standard ``inspect`` module. Among
others, it includes the ``get_original_fn`` function, which extracts the
underlying function from a ``qcore.decorators``-decorated object.

qcore.microtime
---------------

This includes helpers for dealing with time, represented as an integer number
of microseconds since the Unix epoch.

qcore.testing
-------------

This provides helpers to use in unit tests. Among others, it provides an
``Anything`` object that compares equal to any other Python object.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/quora/qcore",
    "name": "qcore",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "quora core common utility",
    "author": "Quora, Inc.",
    "author_email": "asynq@quora.com",
    "download_url": "https://files.pythonhosted.org/packages/41/9e/3f94ced42287473e3a6383faa8d5b04bc397699965f8fe3143dc506f9dec/qcore-1.10.1.tar.gz",
    "platform": null,
    "description": "*****\nqcore\n*****\n\n``qcore`` is a library of common utility functions used at Quora. It is used to\nabstract out common functionality for other Quora libraries like `asynq <https://github.com/quora/asynq>`_.\n\nIts component modules are discussed below. See the docstrings in the code\nitself for more detail.\n\nqcore.asserts\n-------------\n\nWhen a normal Python assert fails, it only indicates that there was a failure,\nnot what the bad values were that caused the assert to fail. This module\nprovides rich assertion helpers that automatically produce better error\nmessages. For example:\n\n.. code-block:: python\n\n    >>> from qcore.asserts import assert_eq\n    >>> assert 5 == 2 * 2\n    Traceback (most recent call last):\n      File \"<stdin>\", line 1, in <module>\n    AssertionError\n    >>> assert_eq(5, 2 * 2)\n    Traceback (most recent call last):\n      File \"<stdin>\", line 1, in <module>\n      File \"qcore/asserts.py\", line 82, in assert_eq\n        assert expected == actual, _assert_fail_message(message, expected, actual, '!=', extra)\n    AssertionError: 5 != 4\n\nSimilar methods are provided by the standard library's ``unittest`` package,\nbut those are tied to the ``TestCase`` class instead of being standalone\nfunctions.\n\nqcore.caching\n-------------\n\nThis provides helpers for caching data. Some examples include:\n\n.. code-block:: python\n\n    from qcore.caching import cached_per_instance, lazy_constant\n\n    @lazy_constant\n    def some_function():\n        # this will only be executed the first time some_function() is called;\n        # afterwards it will be cached\n        return expensive_computation()\n\n    class SomeClass:\n        @cached_per_instance()\n        def some_method(self, a, b):\n            # for any instance of SomeClass, this will only be executed once\n            return expensive_computation(a, b)\n\nqcore.debug\n-----------\n\nThis module provides some helpers useful for debugging Python. Among others, it\nincludes the ``@qcore.debug.trace()`` decorator, which can be used to trace\nevery time a function is called.\n\nqcore.decorators\n----------------\n\nThis module provides an abstraction for class-based decorators that supports\ntransparently decorating functions, methods, classmethods, and staticmethods\nwhile also providing the option to add additional custom attributes. For\nexample, it could be used to provide a caching decorator that adds a ``.dirty``\nattribute to decorated functions to dirty their cache:\n\n.. code-block:: python\n\n    from qcore.decorators import DecoratorBase, DecoratorBinder, decorate\n\n    class CacheDecoratorBinder(DecoratorBinder):\n        def dirty(self, *args):\n            if self.instance is None:\n                return self.decorator.dirty(*args)\n            else:\n                return self.decorator.dirty(self.instance, *args)\n\n    class CacheDecorator(DecoratorBase):\n        binder_cls = CacheDecoratorBinder\n\n        def __init__(self, *args):\n            super().__init__(*args)\n            self._cache = {}\n\n        def dirty(self, *args):\n            try:\n                del self._cache[args]\n            except KeyError:\n                pass\n\n        def __call__(self, *args):\n            try:\n                return self._cache[args]\n            except KeyError:\n                value = self.fn(*args)\n                self._cache[args] = value\n                return value\n\n    cached = decorate(CacheDecorator)\n\nqcore.enum\n----------\n\nThis module provides an abstraction for defining enums. You can define an enum\nas follows:\n\n.. code-block:: python\n\n    from qcore.enum import Enum\n\n    class Color(Enum):\n        red = 1\n        green = 2\n        blue = 3\n\nqcore.errors\n------------\n\nThis module provides some commonly useful exception classes and helpers for\nreraising exceptions from a different place.\n\nqcore.events\n------------\n\nThis provides an abstraction for registering events and running callbacks.\nExample usage:\n\n.. code-block:: python\n\n    >>> from qcore.events import EventHook\n    >>> event = EventHook()\n    >>> def callback():\n    ...     print('callback called')\n    ...\n    >>> event.subscribe(callback)\n    >>> event.trigger()\n    callback called\n\nqcore.helpers\n-------------\n\nThis provides a number of small helper functions.\n\nqcore.inspectable_class\n-----------------------\n\nThis provides a base class that automatically provides hashing, equality\nchecks, and a readable ``repr()`` result. Example usage:\n\n.. code-block:: python\n\n    >>> from qcore.inspectable_class import InspectableClass\n    >>> class Pair(InspectableClass):\n    ...     def __init__(self, a, b):\n    ...         self.a = a\n    ...         self.b = b\n    ...\n    >>> Pair(1, 2)\n    Pair(a=1, b=2)\n    >>> Pair(1, 2) == Pair(1, 2)\n    True\n\nqcore.inspection\n----------------\n\nThis provides functionality similar to the standard ``inspect`` module. Among\nothers, it includes the ``get_original_fn`` function, which extracts the\nunderlying function from a ``qcore.decorators``-decorated object.\n\nqcore.microtime\n---------------\n\nThis includes helpers for dealing with time, represented as an integer number\nof microseconds since the Unix epoch.\n\nqcore.testing\n-------------\n\nThis provides helpers to use in unit tests. Among others, it provides an\n``Anything`` object that compares equal to any other Python object.\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": "Quora's core utility library",
    "version": "1.10.1",
    "project_urls": {
        "Homepage": "https://github.com/quora/qcore"
    },
    "split_keywords": [
        "quora",
        "core",
        "common",
        "utility"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35a0f4d77ff0b2d53db6c78dc301c5411770aad83a4f4b4716d12c5b44f0511d",
                "md5": "db5717813b1f6105588b0ccfc3dc59fc",
                "sha256": "ddd730f0ad88f8c4489ad2880a37135676778d1bf7819fa4f333d33b9aa59851"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "db5717813b1f6105588b0ccfc3dc59fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 501410,
            "upload_time": "2024-03-04T16:52:11",
            "upload_time_iso_8601": "2024-03-04T16:52:11.984272Z",
            "url": "https://files.pythonhosted.org/packages/35/a0/f4d77ff0b2d53db6c78dc301c5411770aad83a4f4b4716d12c5b44f0511d/qcore-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e89aebf3d00685d9579398266c4d05a83fff5c9eea87951f4a9b227f14fa1aa2",
                "md5": "c372719d9a4da76f93f7f47e4d4cc2d3",
                "sha256": "0365b778c2114595580ebb1bc772d0de4682af71e194385a109c575b1acefef8"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c372719d9a4da76f93f7f47e4d4cc2d3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2466159,
            "upload_time": "2024-03-04T16:52:14",
            "upload_time_iso_8601": "2024-03-04T16:52:14.519463Z",
            "url": "https://files.pythonhosted.org/packages/e8/9a/ebf3d00685d9579398266c4d05a83fff5c9eea87951f4a9b227f14fa1aa2/qcore-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f10e4d984fe67c72915ffe97721d1464e869417eda674a457706c2ec79a67da8",
                "md5": "7e6d370f15623988c6f6be0bfe3bddbe",
                "sha256": "f0202c3741b767d86b5763ae8da0246df438e5692f0819acbf57d0d0c7aa699a"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "7e6d370f15623988c6f6be0bfe3bddbe",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2346931,
            "upload_time": "2024-03-04T16:52:16",
            "upload_time_iso_8601": "2024-03-04T16:52:16.368985Z",
            "url": "https://files.pythonhosted.org/packages/f1/0e/4d984fe67c72915ffe97721d1464e869417eda674a457706c2ec79a67da8/qcore-1.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "98c6445f07be064053f19aef71d92142c3f9fb573641ccd4d8a3e94ec1d83508",
                "md5": "71a5cc1dd47d08fd57fc6e89206b59f1",
                "sha256": "c5b5744f318f0c54218db4c4d7382accd940ae939707db8b32b712dfa9eec1ce"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "71a5cc1dd47d08fd57fc6e89206b59f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2363591,
            "upload_time": "2024-03-04T16:52:18",
            "upload_time_iso_8601": "2024-03-04T16:52:18.719469Z",
            "url": "https://files.pythonhosted.org/packages/98/c6/445f07be064053f19aef71d92142c3f9fb573641ccd4d8a3e94ec1d83508/qcore-1.10.1-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32be0250e792ecb6feb4c38c1c58f29e6c8a536f5e52b95d19a4dbe8fd7b0d62",
                "md5": "f1514d8de3f495e93005ece47686c8ff",
                "sha256": "331f4b6e2bae6e278b42158902cb71cc8dd0d700a7f7abeeb074ed16b7282845"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f1514d8de3f495e93005ece47686c8ff",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2468434,
            "upload_time": "2024-03-04T16:52:20",
            "upload_time_iso_8601": "2024-03-04T16:52:20.513631Z",
            "url": "https://files.pythonhosted.org/packages/32/be/0250e792ecb6feb4c38c1c58f29e6c8a536f5e52b95d19a4dbe8fd7b0d62/qcore-1.10.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c88647e23ef2c8d1ac3db10cb07ae033ec87ad791054f7a230516958ae1a3cdd",
                "md5": "73cc67a4f699286ce7c25814058fcff6",
                "sha256": "4bd99011ad0a93239da0b2dcd9353eaba82cd7b4f0305b4de2f69a2f8ad599a6"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "73cc67a4f699286ce7c25814058fcff6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 398029,
            "upload_time": "2024-03-04T16:52:23",
            "upload_time_iso_8601": "2024-03-04T16:52:23.186743Z",
            "url": "https://files.pythonhosted.org/packages/c8/86/47e23ef2c8d1ac3db10cb07ae033ec87ad791054f7a230516958ae1a3cdd/qcore-1.10.1-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "292b262f8e606c6e46946b6bd96a97393bc4d480d30d4f95155c1b1b7f454b5d",
                "md5": "50e97b8338f3283bdf34ed864568aecc",
                "sha256": "f73eec1be15462b93bba5c2be17ea97096498d78eb2daddf4af237458c808ad8"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "50e97b8338f3283bdf34ed864568aecc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 447711,
            "upload_time": "2024-03-04T16:52:25",
            "upload_time_iso_8601": "2024-03-04T16:52:25.398984Z",
            "url": "https://files.pythonhosted.org/packages/29/2b/262f8e606c6e46946b6bd96a97393bc4d480d30d4f95155c1b1b7f454b5d/qcore-1.10.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a17fb964038fb213571828ba4630fee7e2a42d5cc368ab0649130ecc3c986ff0",
                "md5": "a63ebcf90fedeb09ca0a183d9b12f870",
                "sha256": "884f5bc260577e0307a655339aed0ae0bf353de82f6c46bd97e1b3019e9a9607"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a63ebcf90fedeb09ca0a183d9b12f870",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 505943,
            "upload_time": "2024-03-04T16:52:27",
            "upload_time_iso_8601": "2024-03-04T16:52:27.073369Z",
            "url": "https://files.pythonhosted.org/packages/a1/7f/b964038fb213571828ba4630fee7e2a42d5cc368ab0649130ecc3c986ff0/qcore-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e496237c569f1557cb3b807d093cd41eea4a32846ed4de2d6f53fafd95ae5d3b",
                "md5": "8f29211d5d18ee630b34328a5a6f7607",
                "sha256": "07724b8c1cb9b6940d012c2ae4e069b98af915e0c1407f3688473d0fc29874e9"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8f29211d5d18ee630b34328a5a6f7607",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2684414,
            "upload_time": "2024-03-04T16:52:29",
            "upload_time_iso_8601": "2024-03-04T16:52:29.287462Z",
            "url": "https://files.pythonhosted.org/packages/e4/96/237c569f1557cb3b807d093cd41eea4a32846ed4de2d6f53fafd95ae5d3b/qcore-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81cfd8c71961ed2060b73197f8dc2e0f3cd90ed1f60312f40dd9f9cd96013465",
                "md5": "c68265652c9ada5c10f807b53da70ff7",
                "sha256": "4f870ed9579444ba808c6511cb7fc835a5d58e15bcdd26a6aab34a008402518e"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "c68265652c9ada5c10f807b53da70ff7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2546169,
            "upload_time": "2024-03-04T16:52:30",
            "upload_time_iso_8601": "2024-03-04T16:52:30.943647Z",
            "url": "https://files.pythonhosted.org/packages/81/cf/d8c71961ed2060b73197f8dc2e0f3cd90ed1f60312f40dd9f9cd96013465/qcore-1.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "592637d80f476f4500bf71b18357b2741bc98c2529f0b6b67992092d7068c13a",
                "md5": "f35e67aa1320ba6a302d85b4a5f14d1c",
                "sha256": "dac50813739ec21e4d289492570595236eab6762d2f812c6bb53dc82eaabe157"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "f35e67aa1320ba6a302d85b4a5f14d1c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2543441,
            "upload_time": "2024-03-04T16:52:32",
            "upload_time_iso_8601": "2024-03-04T16:52:32.747461Z",
            "url": "https://files.pythonhosted.org/packages/59/26/37d80f476f4500bf71b18357b2741bc98c2529f0b6b67992092d7068c13a/qcore-1.10.1-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8391362c47e12ebb9e76e10f88c649e62cfdd7ba6f987572448fcbb41f8cbf01",
                "md5": "ab221740c968a7bf4214489329c14e71",
                "sha256": "563dd353bf285713f70fd2bd2cb29038b02beb46850360ec546fb2749bd93da5"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ab221740c968a7bf4214489329c14e71",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2668657,
            "upload_time": "2024-03-04T16:52:34",
            "upload_time_iso_8601": "2024-03-04T16:52:34.323460Z",
            "url": "https://files.pythonhosted.org/packages/83/91/362c47e12ebb9e76e10f88c649e62cfdd7ba6f987572448fcbb41f8cbf01/qcore-1.10.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef847f3ebbf83e02b11fc15facb012bf742bd5037c08f202bb7005fe6052a8d6",
                "md5": "61effc4661dcd63e17945233035badee",
                "sha256": "43771b55ca6585e58a9fed099a4c0216772f9397fa2f0e2c8ef7a22f384c1417"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "61effc4661dcd63e17945233035badee",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 396860,
            "upload_time": "2024-03-04T16:52:36",
            "upload_time_iso_8601": "2024-03-04T16:52:36.274901Z",
            "url": "https://files.pythonhosted.org/packages/ef/84/7f3ebbf83e02b11fc15facb012bf742bd5037c08f202bb7005fe6052a8d6/qcore-1.10.1-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06fef9af01beda04228eab73b60f02ea35075d7cd4f40408aa804896be8ba487",
                "md5": "44d51e739e6df446139ddccbb08df4a1",
                "sha256": "c53bf55b800a4d8282142a9a6c406053772acc355d464050b4eff455fe2f968e"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "44d51e739e6df446139ddccbb08df4a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 448347,
            "upload_time": "2024-03-04T16:52:38",
            "upload_time_iso_8601": "2024-03-04T16:52:38.090399Z",
            "url": "https://files.pythonhosted.org/packages/06/fe/f9af01beda04228eab73b60f02ea35075d7cd4f40408aa804896be8ba487/qcore-1.10.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7414d7b17f40d3f1241b07b7b180f02fbdccaa9e61e1a61055822e0b8d3ac873",
                "md5": "e297c7bfc77f65d1f0d0c52d9920ea40",
                "sha256": "e51914eccdd054df2e5b163f7225016f6a8375279ba0c24ee002e4ed344cdb7a"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e297c7bfc77f65d1f0d0c52d9920ea40",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 498042,
            "upload_time": "2024-03-04T16:52:39",
            "upload_time_iso_8601": "2024-03-04T16:52:39.993572Z",
            "url": "https://files.pythonhosted.org/packages/74/14/d7b17f40d3f1241b07b7b180f02fbdccaa9e61e1a61055822e0b8d3ac873/qcore-1.10.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dffa54c3c3cb6c06cbd610b4dab87cb53ed647980a4d358b87650e81adaa3798",
                "md5": "aa17b1f51968bf552a70c10267e4e077",
                "sha256": "6a9984f9ce6e0bab472b1a0765918b6c683e1258475365a33a6af9287fe3feb0"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aa17b1f51968bf552a70c10267e4e077",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2665358,
            "upload_time": "2024-03-04T16:52:41",
            "upload_time_iso_8601": "2024-03-04T16:52:41.536612Z",
            "url": "https://files.pythonhosted.org/packages/df/fa/54c3c3cb6c06cbd610b4dab87cb53ed647980a4d358b87650e81adaa3798/qcore-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f173873c343e04b17f80fc571f942ce9636db91c53bc0dc1420f6744a53b9a4f",
                "md5": "8d0dfead473cbca233a49cc944695a06",
                "sha256": "0ff1a3e28a9d486d5e344f4d1b5d183bcfa0295e8a5368bbd0b40a86576fcf26"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "8d0dfead473cbca233a49cc944695a06",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2510599,
            "upload_time": "2024-03-04T16:52:43",
            "upload_time_iso_8601": "2024-03-04T16:52:43.246648Z",
            "url": "https://files.pythonhosted.org/packages/f1/73/873c343e04b17f80fc571f942ce9636db91c53bc0dc1420f6744a53b9a4f/qcore-1.10.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd817005189d8a9ca848372934187839ee9805f75f992b663340152d8af28489",
                "md5": "92a1d9a5b20c676bb662bd827ab7566e",
                "sha256": "91fb22a9df65649368830c3ac0c8d0762f8b18c1419106bab8c378a362fcd8f9"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp312-cp312-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "92a1d9a5b20c676bb662bd827ab7566e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2494052,
            "upload_time": "2024-03-04T16:52:45",
            "upload_time_iso_8601": "2024-03-04T16:52:45.127625Z",
            "url": "https://files.pythonhosted.org/packages/fd/81/7005189d8a9ca848372934187839ee9805f75f992b663340152d8af28489/qcore-1.10.1-cp312-cp312-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c052f71e1b5bd11c04d3ac41e677102a2e5ab84591b92275c703c227427a79d0",
                "md5": "3503aee285dfc25a1d5d2d7c09f8ead4",
                "sha256": "7aff39c3157fd0e7acdaacccfcb3a6714df8af9856b7e792565fe7f02f723e53"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3503aee285dfc25a1d5d2d7c09f8ead4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2639588,
            "upload_time": "2024-03-04T16:52:46",
            "upload_time_iso_8601": "2024-03-04T16:52:46.724726Z",
            "url": "https://files.pythonhosted.org/packages/c0/52/f71e1b5bd11c04d3ac41e677102a2e5ab84591b92275c703c227427a79d0/qcore-1.10.1-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b498631d9ff98a0fca407ba8815267c35505954d44768e146cf73e7a25bf7e69",
                "md5": "296be7dfbc34c471792df36d316b37e4",
                "sha256": "82e2e48ed0c8d266dab1e0d9637237b7b8b4686c993270f868388e25134e1119"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "296be7dfbc34c471792df36d316b37e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 391238,
            "upload_time": "2024-03-04T16:52:48",
            "upload_time_iso_8601": "2024-03-04T16:52:48.058681Z",
            "url": "https://files.pythonhosted.org/packages/b4/98/631d9ff98a0fca407ba8815267c35505954d44768e146cf73e7a25bf7e69/qcore-1.10.1-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a227af85b8e79fe50d4d0b9cbdfc67769d0cdc97c09dc975af01562344bb92dc",
                "md5": "d081deedbdd9d4ac921a3804df2c5b6e",
                "sha256": "10f6659f2c06ba577ced04220d99e55cc8198141b164c1b0816bad4ba8625c94"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d081deedbdd9d4ac921a3804df2c5b6e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 440670,
            "upload_time": "2024-03-04T16:52:49",
            "upload_time_iso_8601": "2024-03-04T16:52:49.375129Z",
            "url": "https://files.pythonhosted.org/packages/a2/27/af85b8e79fe50d4d0b9cbdfc67769d0cdc97c09dc975af01562344bb92dc/qcore-1.10.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4cf6b596e72291bc7e6d597ad30ae66b7755859f52bb665a930f332a12b8ce2e",
                "md5": "cfb7a09603d238a8ec500a35066b7917",
                "sha256": "dbbb298b46505162e7911394fa20cf103e7ab68a509b9b2916566f4fc7bd2082"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cfb7a09603d238a8ec500a35066b7917",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 504535,
            "upload_time": "2024-03-04T16:52:50",
            "upload_time_iso_8601": "2024-03-04T16:52:50.843348Z",
            "url": "https://files.pythonhosted.org/packages/4c/f6/b596e72291bc7e6d597ad30ae66b7755859f52bb665a930f332a12b8ce2e/qcore-1.10.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "281fa98ccfdaaa55a936048c12229d57ba3307d27d509952d6ab243963f24b0f",
                "md5": "77f1ca7b5c6d71e8eff263ac27d16573",
                "sha256": "5bf56d29899a7ecf5ffdc095200ab14d4299015f43834f787ac02010f58ad2fc"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "77f1ca7b5c6d71e8eff263ac27d16573",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2527491,
            "upload_time": "2024-03-04T16:52:52",
            "upload_time_iso_8601": "2024-03-04T16:52:52.420531Z",
            "url": "https://files.pythonhosted.org/packages/28/1f/a98ccfdaaa55a936048c12229d57ba3307d27d509952d6ab243963f24b0f/qcore-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec7bd7143bc5fd424cdbaa318c1c618d16d761a5032888a8f11d458bd49bcbe7",
                "md5": "23c2c74b0dc776478ab5cd9752dccbaa",
                "sha256": "ef9a73e72e92fd80dcdc2601c9c1eaa6f51d7f9404cf48d7a618615530d179a2"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "23c2c74b0dc776478ab5cd9752dccbaa",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2401410,
            "upload_time": "2024-03-04T16:52:54",
            "upload_time_iso_8601": "2024-03-04T16:52:54.000301Z",
            "url": "https://files.pythonhosted.org/packages/ec/7b/d7143bc5fd424cdbaa318c1c618d16d761a5032888a8f11d458bd49bcbe7/qcore-1.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9e119b4c2e07799a9129f93320ac11e3418c2f939197e3b31610875604f74fb",
                "md5": "edb53f2f771ae07a53b20210acfea81e",
                "sha256": "36c5eab3ad9fc9a60b83d44c9e2541170db769ebf9b4929c650909aa846a0a98"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "edb53f2f771ae07a53b20210acfea81e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2513600,
            "upload_time": "2024-03-04T16:52:55",
            "upload_time_iso_8601": "2024-03-04T16:52:55.524993Z",
            "url": "https://files.pythonhosted.org/packages/b9/e1/19b4c2e07799a9129f93320ac11e3418c2f939197e3b31610875604f74fb/qcore-1.10.1-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f3cccecd9d54a6cc875c32168f729629b94c03d05f5c44ebd98c4297a70a7928",
                "md5": "c786786a6f5a16dc6cf65c77e4214f04",
                "sha256": "7056ee4b448935d24c31b9aee5bf4219936cc910a22ec738d7d4edd81a75277d"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c786786a6f5a16dc6cf65c77e4214f04",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2639073,
            "upload_time": "2024-03-04T16:52:57",
            "upload_time_iso_8601": "2024-03-04T16:52:57.869835Z",
            "url": "https://files.pythonhosted.org/packages/f3/cc/cecd9d54a6cc875c32168f729629b94c03d05f5c44ebd98c4297a70a7928/qcore-1.10.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "719555c4886b1fd3d8b488cf0fa636e306a04cc2393147941c8d9168a3ee6e15",
                "md5": "8243d0dc8f51cdaea309d1d703f9ad6b",
                "sha256": "30f398720a566f1193406cc87bdaff3f8cc4c3187dfdbf1214c04aacfae0373e"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "8243d0dc8f51cdaea309d1d703f9ad6b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 400206,
            "upload_time": "2024-03-04T16:52:59",
            "upload_time_iso_8601": "2024-03-04T16:52:59.805868Z",
            "url": "https://files.pythonhosted.org/packages/71/95/55c4886b1fd3d8b488cf0fa636e306a04cc2393147941c8d9168a3ee6e15/qcore-1.10.1-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c87fd7f6bde256883a61fbebfbd39ef26d4f0500822745898a5e3fe5283f09ab",
                "md5": "2c7e96e5b82ebbd8a879985ac3dbd53e",
                "sha256": "8345854c02a765cfd431bec8226b5c6db1dc683dec3d9bca6b616bb138379988"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2c7e96e5b82ebbd8a879985ac3dbd53e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 450889,
            "upload_time": "2024-03-04T16:53:01",
            "upload_time_iso_8601": "2024-03-04T16:53:01.239383Z",
            "url": "https://files.pythonhosted.org/packages/c8/7f/d7f6bde256883a61fbebfbd39ef26d4f0500822745898a5e3fe5283f09ab/qcore-1.10.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38f62d6d4c082e8fc98b7b7faeea543608133f94cf2977c3e0991fcd80c5b5b7",
                "md5": "96c1ff7cb200f97c2f618f95f83a175b",
                "sha256": "a5cc91beea7d6b2ba4d39b4db40f90a574ac4a2203b4ba3e816a2e6e368b3da4"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "96c1ff7cb200f97c2f618f95f83a175b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 504526,
            "upload_time": "2024-03-04T16:53:02",
            "upload_time_iso_8601": "2024-03-04T16:53:02.615468Z",
            "url": "https://files.pythonhosted.org/packages/38/f6/2d6d4c082e8fc98b7b7faeea543608133f94cf2977c3e0991fcd80c5b5b7/qcore-1.10.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a3d774101100277c724d46cfa4e9898b45c6fa435b9bc0f3eb35508592fe0538",
                "md5": "7bc18f3964771b0bd254d4bc33d04f59",
                "sha256": "a449880751045896f0656260f55824c3d0724e594087da22339b328a6ad1c601"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7bc18f3964771b0bd254d4bc33d04f59",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2474242,
            "upload_time": "2024-03-04T16:53:04",
            "upload_time_iso_8601": "2024-03-04T16:53:04.459442Z",
            "url": "https://files.pythonhosted.org/packages/a3/d7/74101100277c724d46cfa4e9898b45c6fa435b9bc0f3eb35508592fe0538/qcore-1.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "31073bfd18a83a9466ba0400e1e259626086ff71dbecd379f9e549ad5c1bed66",
                "md5": "91673ecc9c53786f2a7416f82dc7f89a",
                "sha256": "8ec2d6261adc91484396c202731e431898afc7d83703af23e08c488dc987aa6f"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "91673ecc9c53786f2a7416f82dc7f89a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2355742,
            "upload_time": "2024-03-04T16:53:06",
            "upload_time_iso_8601": "2024-03-04T16:53:06.153384Z",
            "url": "https://files.pythonhosted.org/packages/31/07/3bfd18a83a9466ba0400e1e259626086ff71dbecd379f9e549ad5c1bed66/qcore-1.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19ae780993d15826f2f0bec3039ac08abaaa5980e8cfd6b6ea85e88396cee210",
                "md5": "8aa73daaff055373fa84fb2f5b677f19",
                "sha256": "a9bd9f58517ff5bcfb75052f30a6d8ce38457311dece43eed4e1ae44dd39618f"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "8aa73daaff055373fa84fb2f5b677f19",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2375717,
            "upload_time": "2024-03-04T16:53:07",
            "upload_time_iso_8601": "2024-03-04T16:53:07.609383Z",
            "url": "https://files.pythonhosted.org/packages/19/ae/780993d15826f2f0bec3039ac08abaaa5980e8cfd6b6ea85e88396cee210/qcore-1.10.1-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "135d9c912a0169c3cdf21811e358d4b55139e4a8a93f85c024d9da5e8454ab01",
                "md5": "b3fe9af3f67f9b9b2c71053cb703e88e",
                "sha256": "60d1fcba0cfb296cb86f491ecd33ad8e8f72b1027fe2424a64d5c1061e85dadf"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b3fe9af3f67f9b9b2c71053cb703e88e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2479335,
            "upload_time": "2024-03-04T16:53:09",
            "upload_time_iso_8601": "2024-03-04T16:53:09.399065Z",
            "url": "https://files.pythonhosted.org/packages/13/5d/9c912a0169c3cdf21811e358d4b55139e4a8a93f85c024d9da5e8454ab01/qcore-1.10.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6db4ed473f7bfe71f03ef9187f39588d18f78353183e22caa6663285e1be5bd2",
                "md5": "57b59e5508c65abb0338fc80d6a1eb6b",
                "sha256": "ada03fbd8148b3f0bf98f7711c2b51ca62ec59904530eca95e6672ab4b311085"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "57b59e5508c65abb0338fc80d6a1eb6b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 399831,
            "upload_time": "2024-03-04T16:53:10",
            "upload_time_iso_8601": "2024-03-04T16:53:10.850392Z",
            "url": "https://files.pythonhosted.org/packages/6d/b4/ed473f7bfe71f03ef9187f39588d18f78353183e22caa6663285e1be5bd2/qcore-1.10.1-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "115e14e2188794744a86ff2789a58a15ec8a930e12dbca973d8bbc2f870e9d20",
                "md5": "2ce59f6b25de5118badeadee0b479056",
                "sha256": "7a6e8a153c616a2b927d713667eed7bbf2e20366aca6e03dca5ba10eb2882324"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2ce59f6b25de5118badeadee0b479056",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 449345,
            "upload_time": "2024-03-04T16:53:12",
            "upload_time_iso_8601": "2024-03-04T16:53:12.503458Z",
            "url": "https://files.pythonhosted.org/packages/11/5e/14e2188794744a86ff2789a58a15ec8a930e12dbca973d8bbc2f870e9d20/qcore-1.10.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "419e3f94ced42287473e3a6383faa8d5b04bc397699965f8fe3143dc506f9dec",
                "md5": "3353b8737a8bffabd15436fa5b893093",
                "sha256": "506d5c7be09979335f3a550118d6ec33a087d6f5a37e1171da5d298959ab5561"
            },
            "downloads": -1,
            "filename": "qcore-1.10.1.tar.gz",
            "has_sig": false,
            "md5_digest": "3353b8737a8bffabd15436fa5b893093",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 53489,
            "upload_time": "2024-03-04T16:53:13",
            "upload_time_iso_8601": "2024-03-04T16:53:13.613078Z",
            "url": "https://files.pythonhosted.org/packages/41/9e/3f94ced42287473e3a6383faa8d5b04bc397699965f8fe3143dc506f9dec/qcore-1.10.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-04 16:53:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "quora",
    "github_project": "qcore",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "qcore"
}
        
Elapsed time: 0.19580s