wrapt


Namewrapt JSON
Version 1.16.0 PyPI version JSON
download
home_pagehttps://github.com/GrahamDumpleton/wrapt
SummaryModule for decorators, wrappers and monkey patching.
upload_time2023-11-09 06:33:30
maintainer
docs_urlNone
authorGraham Dumpleton
requires_python>=3.6
licenseBSD
keywords wrapper proxy decorator
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            wrapt
=====

|Actions| |PyPI|

The aim of the **wrapt** module is to provide a transparent object proxy
for Python, which can be used as the basis for the construction of function
wrappers and decorator functions.

The **wrapt** module focuses very much on correctness. It therefore goes
way beyond existing mechanisms such as ``functools.wraps()`` to ensure that
decorators preserve introspectability, signatures, type checking abilities
etc. The decorators that can be constructed using this module will work in
far more scenarios than typical decorators and provide more predictable and
consistent behaviour.

To ensure that the overhead is as minimal as possible, a C extension module
is used for performance critical components. An automatic fallback to a
pure Python implementation is also provided where a target system does not
have a compiler to allow the C extension to be compiled.

Documentation
-------------

For further information on the **wrapt** module see:

* http://wrapt.readthedocs.org/

Quick Start
-----------

To implement your decorator you need to first define a wrapper function.
This will be called each time a decorated function is called. The wrapper
function needs to take four positional arguments:

* ``wrapped`` - The wrapped function which in turns needs to be called by your wrapper function.
* ``instance`` - The object to which the wrapped function was bound when it was called.
* ``args`` - The list of positional arguments supplied when the decorated function was called.
* ``kwargs`` - The dictionary of keyword arguments supplied when the decorated function was called.

The wrapper function would do whatever it needs to, but would usually in
turn call the wrapped function that is passed in via the ``wrapped``
argument.

The decorator ``@wrapt.decorator`` then needs to be applied to the wrapper
function to convert it into a decorator which can in turn be applied to
other functions.

.. code-block:: python

    import wrapt
    
    @wrapt.decorator
    def pass_through(wrapped, instance, args, kwargs):
        return wrapped(*args, **kwargs)

    @pass_through
    def function():
        pass

If you wish to implement a decorator which accepts arguments, then wrap the
definition of the decorator in a function closure. Any arguments supplied
to the outer function when the decorator is applied, will be available to
the inner wrapper when the wrapped function is called.

.. code-block:: python

    import wrapt

    def with_arguments(myarg1, myarg2):
        @wrapt.decorator
        def wrapper(wrapped, instance, args, kwargs):
            return wrapped(*args, **kwargs)
        return wrapper

    @with_arguments(1, 2)
    def function():
        pass

When applied to a normal function or static method, the wrapper function
when called will be passed ``None`` as the ``instance`` argument.

When applied to an instance method, the wrapper function when called will
be passed the instance of the class the method is being called on as the
``instance`` argument. This will be the case even when the instance method
was called explicitly via the class and the instance passed as the first
argument. That is, the instance will never be passed as part of ``args``.

When applied to a class method, the wrapper function when called will be
passed the class type as the ``instance`` argument.

When applied to a class, the wrapper function when called will be passed
``None`` as the ``instance`` argument. The ``wrapped`` argument in this
case will be the class.

The above rules can be summarised with the following example.

.. code-block:: python

    import inspect
    
    @wrapt.decorator
    def universal(wrapped, instance, args, kwargs):
        if instance is None:
            if inspect.isclass(wrapped):
                # Decorator was applied to a class.
                return wrapped(*args, **kwargs)
            else:
                # Decorator was applied to a function or staticmethod.
                return wrapped(*args, **kwargs)
        else:
            if inspect.isclass(instance):
                # Decorator was applied to a classmethod.
                return wrapped(*args, **kwargs)
            else:
                # Decorator was applied to an instancemethod.
                return wrapped(*args, **kwargs)

Using these checks it is therefore possible to create a universal decorator
that can be applied in all situations. It is no longer necessary to create
different variants of decorators for normal functions and instance methods,
or use additional wrappers to convert a function decorator into one that
will work for instance methods.

In all cases, the wrapped function passed to the wrapper function is called
in the same way, with ``args`` and ``kwargs`` being passed. The
``instance`` argument doesn't need to be used in calling the wrapped
function.

Repository
----------

Full source code for the **wrapt** module, including documentation files
and unit tests, can be obtained from github.

* https://github.com/GrahamDumpleton/wrapt

.. |Actions| image:: https://img.shields.io/github/workflow/status/GrahamDumpleton/wrapt/Test/develop?logo=github&cacheSeconds=600
   :target: https://github.com/GrahamDumpleton/wrapt/actions
.. |PyPI| image:: https://img.shields.io/pypi/v/wrapt.svg?logo=python&cacheSeconds=3600
   :target: https://pypi.python.org/pypi/wrapt

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/GrahamDumpleton/wrapt",
    "name": "wrapt",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "wrapper,proxy,decorator",
    "author": "Graham Dumpleton",
    "author_email": "Graham.Dumpleton@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/95/4c/063a912e20bcef7124e0df97282a8af3ff3e4b603ce84c481d6d7346be0a/wrapt-1.16.0.tar.gz",
    "platform": "any",
    "description": "wrapt\n=====\n\n|Actions| |PyPI|\n\nThe aim of the **wrapt** module is to provide a transparent object proxy\nfor Python, which can be used as the basis for the construction of function\nwrappers and decorator functions.\n\nThe **wrapt** module focuses very much on correctness. It therefore goes\nway beyond existing mechanisms such as ``functools.wraps()`` to ensure that\ndecorators preserve introspectability, signatures, type checking abilities\netc. The decorators that can be constructed using this module will work in\nfar more scenarios than typical decorators and provide more predictable and\nconsistent behaviour.\n\nTo ensure that the overhead is as minimal as possible, a C extension module\nis used for performance critical components. An automatic fallback to a\npure Python implementation is also provided where a target system does not\nhave a compiler to allow the C extension to be compiled.\n\nDocumentation\n-------------\n\nFor further information on the **wrapt** module see:\n\n* http://wrapt.readthedocs.org/\n\nQuick Start\n-----------\n\nTo implement your decorator you need to first define a wrapper function.\nThis will be called each time a decorated function is called. The wrapper\nfunction needs to take four positional arguments:\n\n* ``wrapped`` - The wrapped function which in turns needs to be called by your wrapper function.\n* ``instance`` - The object to which the wrapped function was bound when it was called.\n* ``args`` - The list of positional arguments supplied when the decorated function was called.\n* ``kwargs`` - The dictionary of keyword arguments supplied when the decorated function was called.\n\nThe wrapper function would do whatever it needs to, but would usually in\nturn call the wrapped function that is passed in via the ``wrapped``\nargument.\n\nThe decorator ``@wrapt.decorator`` then needs to be applied to the wrapper\nfunction to convert it into a decorator which can in turn be applied to\nother functions.\n\n.. code-block:: python\n\n    import wrapt\n    \n    @wrapt.decorator\n    def pass_through(wrapped, instance, args, kwargs):\n        return wrapped(*args, **kwargs)\n\n    @pass_through\n    def function():\n        pass\n\nIf you wish to implement a decorator which accepts arguments, then wrap the\ndefinition of the decorator in a function closure. Any arguments supplied\nto the outer function when the decorator is applied, will be available to\nthe inner wrapper when the wrapped function is called.\n\n.. code-block:: python\n\n    import wrapt\n\n    def with_arguments(myarg1, myarg2):\n        @wrapt.decorator\n        def wrapper(wrapped, instance, args, kwargs):\n            return wrapped(*args, **kwargs)\n        return wrapper\n\n    @with_arguments(1, 2)\n    def function():\n        pass\n\nWhen applied to a normal function or static method, the wrapper function\nwhen called will be passed ``None`` as the ``instance`` argument.\n\nWhen applied to an instance method, the wrapper function when called will\nbe passed the instance of the class the method is being called on as the\n``instance`` argument. This will be the case even when the instance method\nwas called explicitly via the class and the instance passed as the first\nargument. That is, the instance will never be passed as part of ``args``.\n\nWhen applied to a class method, the wrapper function when called will be\npassed the class type as the ``instance`` argument.\n\nWhen applied to a class, the wrapper function when called will be passed\n``None`` as the ``instance`` argument. The ``wrapped`` argument in this\ncase will be the class.\n\nThe above rules can be summarised with the following example.\n\n.. code-block:: python\n\n    import inspect\n    \n    @wrapt.decorator\n    def universal(wrapped, instance, args, kwargs):\n        if instance is None:\n            if inspect.isclass(wrapped):\n                # Decorator was applied to a class.\n                return wrapped(*args, **kwargs)\n            else:\n                # Decorator was applied to a function or staticmethod.\n                return wrapped(*args, **kwargs)\n        else:\n            if inspect.isclass(instance):\n                # Decorator was applied to a classmethod.\n                return wrapped(*args, **kwargs)\n            else:\n                # Decorator was applied to an instancemethod.\n                return wrapped(*args, **kwargs)\n\nUsing these checks it is therefore possible to create a universal decorator\nthat can be applied in all situations. It is no longer necessary to create\ndifferent variants of decorators for normal functions and instance methods,\nor use additional wrappers to convert a function decorator into one that\nwill work for instance methods.\n\nIn all cases, the wrapped function passed to the wrapper function is called\nin the same way, with ``args`` and ``kwargs`` being passed. The\n``instance`` argument doesn't need to be used in calling the wrapped\nfunction.\n\nRepository\n----------\n\nFull source code for the **wrapt** module, including documentation files\nand unit tests, can be obtained from github.\n\n* https://github.com/GrahamDumpleton/wrapt\n\n.. |Actions| image:: https://img.shields.io/github/workflow/status/GrahamDumpleton/wrapt/Test/develop?logo=github&cacheSeconds=600\n   :target: https://github.com/GrahamDumpleton/wrapt/actions\n.. |PyPI| image:: https://img.shields.io/pypi/v/wrapt.svg?logo=python&cacheSeconds=3600\n   :target: https://pypi.python.org/pypi/wrapt\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Module for decorators, wrappers and monkey patching.",
    "version": "1.16.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/GrahamDumpleton/wrapt/issues/",
        "Changelog": "https://wrapt.readthedocs.io/en/latest/changes.html",
        "Documentation": "https://wrapt.readthedocs.io/",
        "Homepage": "https://github.com/GrahamDumpleton/wrapt"
    },
    "split_keywords": [
        "wrapper",
        "proxy",
        "decorator"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8c65375258add3777494671d8cec27cdf5402abd91016dee24aa2972c61fedf",
                "md5": "bbb6383e15f2fcf8b6d208844f2fc232",
                "sha256": "ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bbb6383e15f2fcf8b6d208844f2fc232",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 37315,
            "upload_time": "2023-11-09T06:31:34",
            "upload_time_iso_8601": "2023-11-09T06:31:34.487396Z",
            "url": "https://files.pythonhosted.org/packages/a8/c6/5375258add3777494671d8cec27cdf5402abd91016dee24aa2972c61fedf/wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3212e11adfde33444986135d8881b401e4de6cbb4cced046edc6b464e6ad7547",
                "md5": "fa2bf9b552786a08df54d81a8889e49c",
                "sha256": "e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "fa2bf9b552786a08df54d81a8889e49c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 38160,
            "upload_time": "2023-11-09T06:31:36",
            "upload_time_iso_8601": "2023-11-09T06:31:36.931844Z",
            "url": "https://files.pythonhosted.org/packages/32/12/e11adfde33444986135d8881b401e4de6cbb4cced046edc6b464e6ad7547/wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "707d3dcc4a7e96f8d3e398450ec7703db384413f79bd6c0196e0e139055ce00f",
                "md5": "2935b3dc629bd4d3cc94fce11a8f9489",
                "sha256": "bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2935b3dc629bd4d3cc94fce11a8f9489",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 80419,
            "upload_time": "2023-11-09T06:31:38",
            "upload_time_iso_8601": "2023-11-09T06:31:38.956605Z",
            "url": "https://files.pythonhosted.org/packages/70/7d/3dcc4a7e96f8d3e398450ec7703db384413f79bd6c0196e0e139055ce00f/wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d1c48dfdc3c2f0b38be85c8d9fdf0011ebad2f54e40897f9549a356bebb63a97",
                "md5": "41cf1ae3ccd6237430f18659c213724a",
                "sha256": "2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "41cf1ae3ccd6237430f18659c213724a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 72669,
            "upload_time": "2023-11-09T06:31:40",
            "upload_time_iso_8601": "2023-11-09T06:31:40.741802Z",
            "url": "https://files.pythonhosted.org/packages/d1/c4/8dfdc3c2f0b38be85c8d9fdf0011ebad2f54e40897f9549a356bebb63a97/wrapt-1.16.0-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": "4983b40bc1ad04a868b5b5bcec86349f06c1ee1ea7afe51dc3e46131e4f39308",
                "md5": "652aecda6d217cc16c719b748237c198",
                "sha256": "ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "652aecda6d217cc16c719b748237c198",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 80271,
            "upload_time": "2023-11-09T06:31:42",
            "upload_time_iso_8601": "2023-11-09T06:31:42.566738Z",
            "url": "https://files.pythonhosted.org/packages/49/83/b40bc1ad04a868b5b5bcec86349f06c1ee1ea7afe51dc3e46131e4f39308/wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19d4cd33d3a82df73a064c9b6401d14f346e1d2fb372885f0295516ec08ed2ee",
                "md5": "02ae7302f7d95bbc49e17caba3163767",
                "sha256": "73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "02ae7302f7d95bbc49e17caba3163767",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 84748,
            "upload_time": "2023-11-09T06:31:44",
            "upload_time_iso_8601": "2023-11-09T06:31:44.718697Z",
            "url": "https://files.pythonhosted.org/packages/19/d4/cd33d3a82df73a064c9b6401d14f346e1d2fb372885f0295516ec08ed2ee/wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef582fde309415b5fa98fd8f5f4a11886cbf276824c4c64d45a39da342fff6fe",
                "md5": "fa1fe11678a0711f856ab547cbec64a7",
                "sha256": "807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "fa1fe11678a0711f856ab547cbec64a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 77522,
            "upload_time": "2023-11-09T06:31:46",
            "upload_time_iso_8601": "2023-11-09T06:31:46.343337Z",
            "url": "https://files.pythonhosted.org/packages/ef/58/2fde309415b5fa98fd8f5f4a11886cbf276824c4c64d45a39da342fff6fe/wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0744359e4724a92369b88dbf09878a7cde7393cf3da885567ea898e5904049a3",
                "md5": "f741961d4d7b60b60af4ff2ddbca0cdb",
                "sha256": "bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f741961d4d7b60b60af4ff2ddbca0cdb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 84780,
            "upload_time": "2023-11-09T06:31:48",
            "upload_time_iso_8601": "2023-11-09T06:31:48.006173Z",
            "url": "https://files.pythonhosted.org/packages/07/44/359e4724a92369b88dbf09878a7cde7393cf3da885567ea898e5904049a3/wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "888f706f2fee019360cc1da652353330350c76aa5746b4e191082e45d6838faf",
                "md5": "1c4b647bfb35db21bdef38d78ef259d1",
                "sha256": "f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "1c4b647bfb35db21bdef38d78ef259d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 35335,
            "upload_time": "2023-11-09T06:31:49",
            "upload_time_iso_8601": "2023-11-09T06:31:49.517553Z",
            "url": "https://files.pythonhosted.org/packages/88/8f/706f2fee019360cc1da652353330350c76aa5746b4e191082e45d6838faf/wrapt-1.16.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "192b548d23362e3002ebbfaefe649b833fa43f6ca37ac3e95472130c4b69e0b4",
                "md5": "85730cc839a2685b12ab46ba40a5d573",
                "sha256": "decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "85730cc839a2685b12ab46ba40a5d573",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.6",
            "size": 37528,
            "upload_time": "2023-11-09T06:31:50",
            "upload_time_iso_8601": "2023-11-09T06:31:50.803938Z",
            "url": "https://files.pythonhosted.org/packages/19/2b/548d23362e3002ebbfaefe649b833fa43f6ca37ac3e95472130c4b69e0b4/wrapt-1.16.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd03c188ac517f402775b90d6f312955a5e53b866c964b32119f2ed76315697e",
                "md5": "1e895b1958567576c165f365152959c6",
                "sha256": "1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1e895b1958567576c165f365152959c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 37313,
            "upload_time": "2023-11-09T06:31:52",
            "upload_time_iso_8601": "2023-11-09T06:31:52.168396Z",
            "url": "https://files.pythonhosted.org/packages/fd/03/c188ac517f402775b90d6f312955a5e53b866c964b32119f2ed76315697e/wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0f16ea627d7817394db04518f62934a5de59874b587b792300991b3c347ff5e0",
                "md5": "21abf76ad5f6dc54ea52745e2430a70c",
                "sha256": "75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "21abf76ad5f6dc54ea52745e2430a70c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 38164,
            "upload_time": "2023-11-09T06:31:53",
            "upload_time_iso_8601": "2023-11-09T06:31:53.522485Z",
            "url": "https://files.pythonhosted.org/packages/0f/16/ea627d7817394db04518f62934a5de59874b587b792300991b3c347ff5e0/wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7fa7f1212ba098f3de0fd244e2de0f8791ad2539c03bef6c05a9fcb03e45b089",
                "md5": "b11851ff3def8a346c386d44aa1b1a53",
                "sha256": "a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b11851ff3def8a346c386d44aa1b1a53",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 80890,
            "upload_time": "2023-11-09T06:31:55",
            "upload_time_iso_8601": "2023-11-09T06:31:55.247028Z",
            "url": "https://files.pythonhosted.org/packages/7f/a7/f1212ba098f3de0fd244e2de0f8791ad2539c03bef6c05a9fcb03e45b089/wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b796bb5e08b3d6db003c9ab219c487714c13a237ee7dcc572a555eaf1ce7dc82",
                "md5": "5df9ca3eeb853768fff6e640309d116c",
                "sha256": "43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "5df9ca3eeb853768fff6e640309d116c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 73118,
            "upload_time": "2023-11-09T06:31:57",
            "upload_time_iso_8601": "2023-11-09T06:31:57.023456Z",
            "url": "https://files.pythonhosted.org/packages/b7/96/bb5e08b3d6db003c9ab219c487714c13a237ee7dcc572a555eaf1ce7dc82/wrapt-1.16.0-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": "6e522da48b35193e39ac53cfb141467d9f259851522d0e8c87153f0ba4205fb1",
                "md5": "35746f9a882cdfb6090ee71a9031e3a6",
                "sha256": "72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "35746f9a882cdfb6090ee71a9031e3a6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 80746,
            "upload_time": "2023-11-09T06:31:58",
            "upload_time_iso_8601": "2023-11-09T06:31:58.686871Z",
            "url": "https://files.pythonhosted.org/packages/6e/52/2da48b35193e39ac53cfb141467d9f259851522d0e8c87153f0ba4205fb1/wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "11fb18ec40265ab81c0e82a934de04596b6ce972c27ba2592c8b53d5585e6bcd",
                "md5": "ab4a4cd88a5fc0f4ac0f969213776f7c",
                "sha256": "d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ab4a4cd88a5fc0f4ac0f969213776f7c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 85668,
            "upload_time": "2023-11-09T06:31:59",
            "upload_time_iso_8601": "2023-11-09T06:31:59.992449Z",
            "url": "https://files.pythonhosted.org/packages/11/fb/18ec40265ab81c0e82a934de04596b6ce972c27ba2592c8b53d5585e6bcd/wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0fef0ecb1fa23145560431b970418dce575cfaec555ab08617d82eb92afc7ccf",
                "md5": "47534d2d4349674c23832935a3a54f8a",
                "sha256": "6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "47534d2d4349674c23832935a3a54f8a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 78556,
            "upload_time": "2023-11-09T06:32:01",
            "upload_time_iso_8601": "2023-11-09T06:32:01.942370Z",
            "url": "https://files.pythonhosted.org/packages/0f/ef/0ecb1fa23145560431b970418dce575cfaec555ab08617d82eb92afc7ccf/wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2562cd284b2b747f175b5a96cbd8092b32e7369edab0644c45784871528eb852",
                "md5": "6d5cfb7b7891d97c7e68efc14d7e856d",
                "sha256": "eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6d5cfb7b7891d97c7e68efc14d7e856d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 85712,
            "upload_time": "2023-11-09T06:32:03",
            "upload_time_iso_8601": "2023-11-09T06:32:03.686144Z",
            "url": "https://files.pythonhosted.org/packages/25/62/cd284b2b747f175b5a96cbd8092b32e7369edab0644c45784871528eb852/wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e5a747b7ff74fbadf81b696872d5ba504966591a3468f1bc86bca2f407baef68",
                "md5": "9501141c8a42ea9799ffe8e16766cbad",
                "sha256": "66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "9501141c8a42ea9799ffe8e16766cbad",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 35327,
            "upload_time": "2023-11-09T06:32:05",
            "upload_time_iso_8601": "2023-11-09T06:32:05.284141Z",
            "url": "https://files.pythonhosted.org/packages/e5/a7/47b7ff74fbadf81b696872d5ba504966591a3468f1bc86bca2f407baef68/wrapt-1.16.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cfc30084351951d9579ae83a3d9e38c140371e4c6b038136909235079f2e6e78",
                "md5": "adbb45ea4dd2cefdabc954841d90e224",
                "sha256": "aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "adbb45ea4dd2cefdabc954841d90e224",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.6",
            "size": 37523,
            "upload_time": "2023-11-09T06:32:07",
            "upload_time_iso_8601": "2023-11-09T06:32:07.170810Z",
            "url": "https://files.pythonhosted.org/packages/cf/c3/0084351951d9579ae83a3d9e38c140371e4c6b038136909235079f2e6e78/wrapt-1.16.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9217224132494c1e23521868cdd57cd1e903f3b6a7ba6996b7b8f077ff8ac7fe",
                "md5": "e3c8f7fa9fa093826276cc20f939de31",
                "sha256": "5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e3c8f7fa9fa093826276cc20f939de31",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 37614,
            "upload_time": "2023-11-09T06:32:08",
            "upload_time_iso_8601": "2023-11-09T06:32:08.859103Z",
            "url": "https://files.pythonhosted.org/packages/92/17/224132494c1e23521868cdd57cd1e903f3b6a7ba6996b7b8f077ff8ac7fe/wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ad7cfcd73e8f4858079ac59d9db1ec5a1349bc486ae8e9ba55698cc1f4a1dff",
                "md5": "13ed705cf988517e1ef5cbbf3d23f9f5",
                "sha256": "9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "13ed705cf988517e1ef5cbbf3d23f9f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 38316,
            "upload_time": "2023-11-09T06:32:10",
            "upload_time_iso_8601": "2023-11-09T06:32:10.719567Z",
            "url": "https://files.pythonhosted.org/packages/6a/d7/cfcd73e8f4858079ac59d9db1ec5a1349bc486ae8e9ba55698cc1f4a1dff/wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e795ff0a5c54bda5aec75b36453d06be4f83d5cd4932cc84b7cb2b52cee23e2",
                "md5": "0d7ba74bf6239b446973eefc071af7ea",
                "sha256": "94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0d7ba74bf6239b446973eefc071af7ea",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 86322,
            "upload_time": "2023-11-09T06:32:12",
            "upload_time_iso_8601": "2023-11-09T06:32:12.592348Z",
            "url": "https://files.pythonhosted.org/packages/7e/79/5ff0a5c54bda5aec75b36453d06be4f83d5cd4932cc84b7cb2b52cee23e2/wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c481e799bf5d419f422d8712108837c1d9bf6ebe3cb2a81ad94413449543a923",
                "md5": "72bfca1bb53bf1023f4bdb8c1594de3f",
                "sha256": "f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "72bfca1bb53bf1023f4bdb8c1594de3f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 79055,
            "upload_time": "2023-11-09T06:32:14",
            "upload_time_iso_8601": "2023-11-09T06:32:14.394416Z",
            "url": "https://files.pythonhosted.org/packages/c4/81/e799bf5d419f422d8712108837c1d9bf6ebe3cb2a81ad94413449543a923/wrapt-1.16.0-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": "626230ca2405de6a20448ee557ab2cd61ab9c5900be7cbd18a2639db595f0b98",
                "md5": "1180cf15933b8f70908f1bb5a4c630e0",
                "sha256": "98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1180cf15933b8f70908f1bb5a4c630e0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 87291,
            "upload_time": "2023-11-09T06:32:16",
            "upload_time_iso_8601": "2023-11-09T06:32:16.201543Z",
            "url": "https://files.pythonhosted.org/packages/62/62/30ca2405de6a20448ee557ab2cd61ab9c5900be7cbd18a2639db595f0b98/wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "494e5d2f6d7b57fc9956bf06e944eb00463551f7d52fc73ca35cfc4c2cdb7aed",
                "md5": "a5c8683c7bd43892aa4bd992cf16d7cc",
                "sha256": "14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "a5c8683c7bd43892aa4bd992cf16d7cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 90374,
            "upload_time": "2023-11-09T06:32:18",
            "upload_time_iso_8601": "2023-11-09T06:32:18.052784Z",
            "url": "https://files.pythonhosted.org/packages/49/4e/5d2f6d7b57fc9956bf06e944eb00463551f7d52fc73ca35cfc4c2cdb7aed/wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a69bc2c21b44ff5b9bf14a83252a8b973fb84923764ff63db3e6dfc3895cf2e0",
                "md5": "ee7129aaab17c288931136b4f1403652",
                "sha256": "49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "ee7129aaab17c288931136b4f1403652",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 83896,
            "upload_time": "2023-11-09T06:32:19",
            "upload_time_iso_8601": "2023-11-09T06:32:19.533566Z",
            "url": "https://files.pythonhosted.org/packages/a6/9b/c2c21b44ff5b9bf14a83252a8b973fb84923764ff63db3e6dfc3895cf2e0/wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "142693a9fa02c6f257df54d7570dfe8011995138118d11939a4ecd82cb849613",
                "md5": "ee39b8abf68f0b5e5a5fa43a59fc2b06",
                "sha256": "418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ee39b8abf68f0b5e5a5fa43a59fc2b06",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 91738,
            "upload_time": "2023-11-09T06:32:20",
            "upload_time_iso_8601": "2023-11-09T06:32:20.989932Z",
            "url": "https://files.pythonhosted.org/packages/14/26/93a9fa02c6f257df54d7570dfe8011995138118d11939a4ecd82cb849613/wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a25b4660897233eb2c8c4de3dc7cefed114c61bacb3c28327e64150dc44ee2f6",
                "md5": "2afa0a90018ebec6a58cb48cbc5b3336",
                "sha256": "685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "2afa0a90018ebec6a58cb48cbc5b3336",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 35568,
            "upload_time": "2023-11-09T06:32:22",
            "upload_time_iso_8601": "2023-11-09T06:32:22.715347Z",
            "url": "https://files.pythonhosted.org/packages/a2/5b/4660897233eb2c8c4de3dc7cefed114c61bacb3c28327e64150dc44ee2f6/wrapt-1.16.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5ccc8297f9658506b224aa4bd71906447dea6bb0ba629861a758c28f67428b91",
                "md5": "9415920a13b4b202ab2b6b65f04680a5",
                "sha256": "dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9415920a13b4b202ab2b6b65f04680a5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.6",
            "size": 37653,
            "upload_time": "2023-11-09T06:32:24",
            "upload_time_iso_8601": "2023-11-09T06:32:24.533841Z",
            "url": "https://files.pythonhosted.org/packages/5c/cc/8297f9658506b224aa4bd71906447dea6bb0ba629861a758c28f67428b91/wrapt-1.16.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3437e5540d14befd0e62cfed1820b76196b5c39029e63dc9c67630d9fbcf27f4",
                "md5": "5292622be8991ad5727181e5ebba3619",
                "sha256": "d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5292622be8991ad5727181e5ebba3619",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 36931,
            "upload_time": "2023-11-09T06:32:25",
            "upload_time_iso_8601": "2023-11-09T06:32:25.913149Z",
            "url": "https://files.pythonhosted.org/packages/34/37/e5540d14befd0e62cfed1820b76196b5c39029e63dc9c67630d9fbcf27f4/wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39af1cc9d51588d865395b620b58c6ae18e9a0da105bbcbde719ba39b4d80f02",
                "md5": "d84373d6e3a6b6baee817f8864ea6b3a",
                "sha256": "a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d84373d6e3a6b6baee817f8864ea6b3a",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 77320,
            "upload_time": "2023-11-09T06:32:27",
            "upload_time_iso_8601": "2023-11-09T06:32:27.908515Z",
            "url": "https://files.pythonhosted.org/packages/39/af/1cc9d51588d865395b620b58c6ae18e9a0da105bbcbde719ba39b4d80f02/wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33df6d33cd045919567de125ee86df4ea57077019619d038c1509b4bffdf8bcb",
                "md5": "717c25c66458298cb58f412ffd563dae",
                "sha256": "b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "717c25c66458298cb58f412ffd563dae",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 69795,
            "upload_time": "2023-11-09T06:32:29",
            "upload_time_iso_8601": "2023-11-09T06:32:29.478131Z",
            "url": "https://files.pythonhosted.org/packages/33/df/6d33cd045919567de125ee86df4ea57077019619d038c1509b4bffdf8bcb/wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66501c5ccb23dd63f8f3d312dc2d5e0e64c681faf7c2388fa1ab2553713cef11",
                "md5": "035b754f38f256ef495bf27dbea671f1",
                "sha256": "3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "035b754f38f256ef495bf27dbea671f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 77220,
            "upload_time": "2023-11-09T06:32:31",
            "upload_time_iso_8601": "2023-11-09T06:32:31.049742Z",
            "url": "https://files.pythonhosted.org/packages/66/50/1c5ccb23dd63f8f3d312dc2d5e0e64c681faf7c2388fa1ab2553713cef11/wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c50f8245c6167ef25965abfe108400710ef568f84ba53ef3c10873586b75d329",
                "md5": "bbecbf477c9deb55f413336fd61673c6",
                "sha256": "0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "bbecbf477c9deb55f413336fd61673c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 81627,
            "upload_time": "2023-11-09T06:32:32",
            "upload_time_iso_8601": "2023-11-09T06:32:32.710344Z",
            "url": "https://files.pythonhosted.org/packages/c5/0f/8245c6167ef25965abfe108400710ef568f84ba53ef3c10873586b75d329/wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf95cd839cf67a9afd588e09ce8139d6afa8b5c81a8a7be7804744c715c7141e",
                "md5": "05c560d4b3b0ba4e1b23e61b869c1f6b",
                "sha256": "1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "05c560d4b3b0ba4e1b23e61b869c1f6b",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 74577,
            "upload_time": "2023-11-09T06:32:34",
            "upload_time_iso_8601": "2023-11-09T06:32:34.339467Z",
            "url": "https://files.pythonhosted.org/packages/cf/95/cd839cf67a9afd588e09ce8139d6afa8b5c81a8a7be7804744c715c7141e/wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57cfcaaec865789ec7ef277fbf65f09128237f41c17774f242023739f3c98709",
                "md5": "980a06904be3520d752d138db1d0b1b9",
                "sha256": "bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "980a06904be3520d752d138db1d0b1b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 81703,
            "upload_time": "2023-11-09T06:32:35",
            "upload_time_iso_8601": "2023-11-09T06:32:35.931401Z",
            "url": "https://files.pythonhosted.org/packages/57/cf/caaec865789ec7ef277fbf65f09128237f41c17774f242023739f3c98709/wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e36517a47f1b286f97433cf46201745917db5d9944cbb97fb45f55cc71024d0",
                "md5": "10e55c21c78591a9b728bce8d50678eb",
                "sha256": "da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-win32.whl",
            "has_sig": false,
            "md5_digest": "10e55c21c78591a9b728bce8d50678eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 35734,
            "upload_time": "2023-11-09T06:32:37",
            "upload_time_iso_8601": "2023-11-09T06:32:37.636652Z",
            "url": "https://files.pythonhosted.org/packages/8e/36/517a47f1b286f97433cf46201745917db5d9944cbb97fb45f55cc71024d0/wrapt-1.16.0-cp36-cp36m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "36fc318d240d1360e6e8f975ae35ca8983d8a1d0fe2264ce4fae38db844615ed",
                "md5": "1f3989a3524b2bfd9dc6f16c25dd9e9d",
                "sha256": "6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp36-cp36m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1f3989a3524b2bfd9dc6f16c25dd9e9d",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": ">=3.6",
            "size": 38048,
            "upload_time": "2023-11-09T06:32:38",
            "upload_time_iso_8601": "2023-11-09T06:32:38.988275Z",
            "url": "https://files.pythonhosted.org/packages/36/fc/318d240d1360e6e8f975ae35ca8983d8a1d0fe2264ce4fae38db844615ed/wrapt-1.16.0-cp36-cp36m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47cfc2861bc5e0d5f4f277e1cefd7b3f8904794cc58469d35eaa82032a84e1c9",
                "md5": "2675b459c2f3d0017fbe93fdf2ec9efd",
                "sha256": "a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2675b459c2f3d0017fbe93fdf2ec9efd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 37069,
            "upload_time": "2023-11-09T06:32:40",
            "upload_time_iso_8601": "2023-11-09T06:32:40.288670Z",
            "url": "https://files.pythonhosted.org/packages/47/cf/c2861bc5e0d5f4f277e1cefd7b3f8904794cc58469d35eaa82032a84e1c9/wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "543904409d9fc89f77bce37b98545b6ee7247ad11df28373206536eea078a390",
                "md5": "48f02c38cc8f0879c3a1f3c2d6b32000",
                "sha256": "7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "48f02c38cc8f0879c3a1f3c2d6b32000",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 77587,
            "upload_time": "2023-11-09T06:32:41",
            "upload_time_iso_8601": "2023-11-09T06:32:41.818472Z",
            "url": "https://files.pythonhosted.org/packages/54/39/04409d9fc89f77bce37b98545b6ee7247ad11df28373206536eea078a390/wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26dd1ea7cb367962a6132ab163e7b2d270049e0f471f0238d0e55cfd27219721",
                "md5": "976c0b533b8fef1880469b37d76308e0",
                "sha256": "9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "976c0b533b8fef1880469b37d76308e0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 69969,
            "upload_time": "2023-11-09T06:32:43",
            "upload_time_iso_8601": "2023-11-09T06:32:43.405714Z",
            "url": "https://files.pythonhosted.org/packages/26/dd/1ea7cb367962a6132ab163e7b2d270049e0f471f0238d0e55cfd27219721/wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f46896369f2550d1ecb5e776f532aada5e77e5e13f821045978cf3d7f3f236b",
                "md5": "9dffaf3d1c2bf7574ac2b2ec69af5aea",
                "sha256": "a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9dffaf3d1c2bf7574ac2b2ec69af5aea",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 77483,
            "upload_time": "2023-11-09T06:32:45",
            "upload_time_iso_8601": "2023-11-09T06:32:45.011883Z",
            "url": "https://files.pythonhosted.org/packages/7f/46/896369f2550d1ecb5e776f532aada5e77e5e13f821045978cf3d7f3f236b/wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf421241b88440ccf8adbf78c81c8899001459102031cc52668cc4e749d9987e",
                "md5": "2139cbe8cb4e43a589b255803bdef79d",
                "sha256": "73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2139cbe8cb4e43a589b255803bdef79d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 82832,
            "upload_time": "2023-11-09T06:32:46",
            "upload_time_iso_8601": "2023-11-09T06:32:46.570044Z",
            "url": "https://files.pythonhosted.org/packages/bf/42/1241b88440ccf8adbf78c81c8899001459102031cc52668cc4e749d9987e/wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "036067dbc0624f1c86cce6150c0b2e13d906009fd6d33128add60a8a2d23137d",
                "md5": "76b085a16164aec990db763a5d07f96f",
                "sha256": "b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "76b085a16164aec990db763a5d07f96f",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 75782,
            "upload_time": "2023-11-09T06:32:47",
            "upload_time_iso_8601": "2023-11-09T06:32:47.924468Z",
            "url": "https://files.pythonhosted.org/packages/03/60/67dbc0624f1c86cce6150c0b2e13d906009fd6d33128add60a8a2d23137d/wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e5f574076e289c42e7c1c2abe944fd9dafb5adcb20b36577d4966ddef145539",
                "md5": "05bf24817a84d0ac72ad15401a9e32a6",
                "sha256": "db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "05bf24817a84d0ac72ad15401a9e32a6",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 82949,
            "upload_time": "2023-11-09T06:32:49",
            "upload_time_iso_8601": "2023-11-09T06:32:49.259484Z",
            "url": "https://files.pythonhosted.org/packages/8e/5f/574076e289c42e7c1c2abe944fd9dafb5adcb20b36577d4966ddef145539/wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "78986307b4da5080432c5a37b69da92ae0582fd284441025014047e98a002ea1",
                "md5": "d5dacaacb1971d3e0b681b0f1bafaa7b",
                "sha256": "9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "d5dacaacb1971d3e0b681b0f1bafaa7b",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 35182,
            "upload_time": "2023-11-09T06:32:51",
            "upload_time_iso_8601": "2023-11-09T06:32:51.530104Z",
            "url": "https://files.pythonhosted.org/packages/78/98/6307b4da5080432c5a37b69da92ae0582fd284441025014047e98a002ea1/wrapt-1.16.0-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66a550e6a2bd4cbf6671012771ec35085807a375da5e61540bc5f62de62ba955",
                "md5": "e5245c2f31ace2d68504b1924417f4c9",
                "sha256": "66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e5245c2f31ace2d68504b1924417f4c9",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.6",
            "size": 37314,
            "upload_time": "2023-11-09T06:32:52",
            "upload_time_iso_8601": "2023-11-09T06:32:52.835114Z",
            "url": "https://files.pythonhosted.org/packages/66/a5/50e6a2bd4cbf6671012771ec35085807a375da5e61540bc5f62de62ba955/wrapt-1.16.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe9ed3bc95e75670ba15c5b25ecf07fc49941843e2678d777ca59339348d1c96",
                "md5": "e3c36a46c8c241e4b4b291ae89e92187",
                "sha256": "1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e3c36a46c8c241e4b4b291ae89e92187",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 37320,
            "upload_time": "2023-11-09T06:32:54",
            "upload_time_iso_8601": "2023-11-09T06:32:54.263791Z",
            "url": "https://files.pythonhosted.org/packages/fe/9e/d3bc95e75670ba15c5b25ecf07fc49941843e2678d777ca59339348d1c96/wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "72b50c9be75f826c8e8d583a4ab312552d63d9f7c0768710146a22ac59bda4a9",
                "md5": "20ea56b46036933f7a0674dde4818134",
                "sha256": "44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "20ea56b46036933f7a0674dde4818134",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 38163,
            "upload_time": "2023-11-09T06:32:55",
            "upload_time_iso_8601": "2023-11-09T06:32:55.819715Z",
            "url": "https://files.pythonhosted.org/packages/72/b5/0c9be75f826c8e8d583a4ab312552d63d9f7c0768710146a22ac59bda4a9/wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6921b2ba809bafc9b6265e359f9c259c6d9a52a16cf6be20c72d95e76da609dd",
                "md5": "2bb586fd4d04f95657a75f2b22422e5d",
                "sha256": "8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2bb586fd4d04f95657a75f2b22422e5d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 83535,
            "upload_time": "2023-11-09T06:32:57",
            "upload_time_iso_8601": "2023-11-09T06:32:57.268943Z",
            "url": "https://files.pythonhosted.org/packages/69/21/b2ba809bafc9b6265e359f9c259c6d9a52a16cf6be20c72d95e76da609dd/wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5843d72e625edb5926483c9868214d25b5e7d5858ace6a80c9dfddfbadf4d8f9",
                "md5": "f1d38e8a5c280698c38054bcffb64ea6",
                "sha256": "dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "f1d38e8a5c280698c38054bcffb64ea6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 75975,
            "upload_time": "2023-11-09T06:32:58",
            "upload_time_iso_8601": "2023-11-09T06:32:58.668730Z",
            "url": "https://files.pythonhosted.org/packages/58/43/d72e625edb5926483c9868214d25b5e7d5858ace6a80c9dfddfbadf4d8f9/wrapt-1.16.0-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": "efc656e718e2c58a4078518c14d97e531ef1e9e8a5c1ddafdc0d264a92be1a1a",
                "md5": "73d5daf37dbd349036f019a3dbbc6994",
                "sha256": "941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "73d5daf37dbd349036f019a3dbbc6994",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 83363,
            "upload_time": "2023-11-09T06:33:00",
            "upload_time_iso_8601": "2023-11-09T06:33:00.529145Z",
            "url": "https://files.pythonhosted.org/packages/ef/c6/56e718e2c58a4078518c14d97e531ef1e9e8a5c1ddafdc0d264a92be1a1a/wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3449589db6fa2d5d428b71716815bca8b39196fdaeea7c247a719ed2f93b0ab4",
                "md5": "8571019833be2384edf2117ff3056afc",
                "sha256": "6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8571019833be2384edf2117ff3056afc",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 87739,
            "upload_time": "2023-11-09T06:33:02",
            "upload_time_iso_8601": "2023-11-09T06:33:02.761967Z",
            "url": "https://files.pythonhosted.org/packages/34/49/589db6fa2d5d428b71716815bca8b39196fdaeea7c247a719ed2f93b0ab4/wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c5403eabe06c8dc54fada7364f34e8caa562efe3bf3f769bf3258de9c785a27f",
                "md5": "c7aa0136bb7091f6d2b57bc9fe80e76a",
                "sha256": "1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "c7aa0136bb7091f6d2b57bc9fe80e76a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 80700,
            "upload_time": "2023-11-09T06:33:05",
            "upload_time_iso_8601": "2023-11-09T06:33:05.225021Z",
            "url": "https://files.pythonhosted.org/packages/c5/40/3eabe06c8dc54fada7364f34e8caa562efe3bf3f769bf3258de9c785a27f/wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "154e081f59237b620a124b035f1229f55db40841a9339fdb8ef60b4decc44df9",
                "md5": "1e5ab7ce9eb89169fafef75948ef7b6c",
                "sha256": "d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1e5ab7ce9eb89169fafef75948ef7b6c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 87783,
            "upload_time": "2023-11-09T06:33:07",
            "upload_time_iso_8601": "2023-11-09T06:33:07.929148Z",
            "url": "https://files.pythonhosted.org/packages/15/4e/081f59237b620a124b035f1229f55db40841a9339fdb8ef60b4decc44df9/wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3aad9d26a33bc80444ff97b937f94611f3b986fd40f735823558dfdf05ef9db8",
                "md5": "befcc5d8af7e6bf658fca0b8c253a50c",
                "sha256": "c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "befcc5d8af7e6bf658fca0b8c253a50c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 35332,
            "upload_time": "2023-11-09T06:33:09",
            "upload_time_iso_8601": "2023-11-09T06:33:09.647461Z",
            "url": "https://files.pythonhosted.org/packages/3a/ad/9d26a33bc80444ff97b937f94611f3b986fd40f735823558dfdf05ef9db8/wrapt-1.16.0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "01db4b29ba5f97d2a0aa97ec41eba1036b7c3eaf6e61e1f4639420cec2463a01",
                "md5": "e7b20e4c7e6e43daf3cbfa70c1e6d64a",
                "sha256": "490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e7b20e4c7e6e43daf3cbfa70c1e6d64a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.6",
            "size": 37524,
            "upload_time": "2023-11-09T06:33:11",
            "upload_time_iso_8601": "2023-11-09T06:33:11.083009Z",
            "url": "https://files.pythonhosted.org/packages/01/db/4b29ba5f97d2a0aa97ec41eba1036b7c3eaf6e61e1f4639420cec2463a01/wrapt-1.16.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70ccb92e1da2cad6a9f8ee481000ece07a35e3b24e041e60ff8b850c079f0ebf",
                "md5": "c0e14cbd9a21dd447044523407c0545c",
                "sha256": "9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c0e14cbd9a21dd447044523407c0545c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 37314,
            "upload_time": "2023-11-09T06:33:12",
            "upload_time_iso_8601": "2023-11-09T06:33:12.535149Z",
            "url": "https://files.pythonhosted.org/packages/70/cc/b92e1da2cad6a9f8ee481000ece07a35e3b24e041e60ff8b850c079f0ebf/wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4acc3402bcc897978be00fef608cd9e3e39ec8869c973feeb5e1e277670e5ad2",
                "md5": "2bd272f159429c77c0399f24f7fdba36",
                "sha256": "2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2bd272f159429c77c0399f24f7fdba36",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 38162,
            "upload_time": "2023-11-09T06:33:14",
            "upload_time_iso_8601": "2023-11-09T06:33:14.102056Z",
            "url": "https://files.pythonhosted.org/packages/4a/cc/3402bcc897978be00fef608cd9e3e39ec8869c973feeb5e1e277670e5ad2/wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "28d34f079f649c515727c127c987b2ec2e0816b80d95784f2d28d1a57d2a1029",
                "md5": "69c64a61ba1d05003bd4a4e5db51f366",
                "sha256": "c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "69c64a61ba1d05003bd4a4e5db51f366",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 80235,
            "upload_time": "2023-11-09T06:33:15",
            "upload_time_iso_8601": "2023-11-09T06:33:15.446283Z",
            "url": "https://files.pythonhosted.org/packages/28/d3/4f079f649c515727c127c987b2ec2e0816b80d95784f2d28d1a57d2a1029/wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a31c226c2a4932e578a2241dcb383f425995f80224b446f439c2e112eb51c3a6",
                "md5": "baafaeca009bd47cdf23ceb16d3b63fb",
                "sha256": "b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "baafaeca009bd47cdf23ceb16d3b63fb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 72553,
            "upload_time": "2023-11-09T06:33:17",
            "upload_time_iso_8601": "2023-11-09T06:33:17.315081Z",
            "url": "https://files.pythonhosted.org/packages/a3/1c/226c2a4932e578a2241dcb383f425995f80224b446f439c2e112eb51c3a6/wrapt-1.16.0-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": "b1e7459a8a4f40f2fa65eb73cb3f339e6d152957932516d18d0e996c7ae2d7ae",
                "md5": "8b2f78d2fa8c22aaf0f56119bca5d27b",
                "sha256": "f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8b2f78d2fa8c22aaf0f56119bca5d27b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 80129,
            "upload_time": "2023-11-09T06:33:18",
            "upload_time_iso_8601": "2023-11-09T06:33:18.858526Z",
            "url": "https://files.pythonhosted.org/packages/b1/e7/459a8a4f40f2fa65eb73cb3f339e6d152957932516d18d0e996c7ae2d7ae/wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "da6f6d0b3c4983f1fc764a422989dabc268ee87d937763246cd48aa92f1eed1e",
                "md5": "8bd2baff4e0ab76e1266e233132b6bef",
                "sha256": "5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8bd2baff4e0ab76e1266e233132b6bef",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 84550,
            "upload_time": "2023-11-09T06:33:20",
            "upload_time_iso_8601": "2023-11-09T06:33:20.267422Z",
            "url": "https://files.pythonhosted.org/packages/da/6f/6d0b3c4983f1fc764a422989dabc268ee87d937763246cd48aa92f1eed1e/wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96e827ef35cf61e5147c1c3abcb89cfbb8d691b2bb8364803fcc950140bc14d8",
                "md5": "9d5c1de72f895051b99528d09aa628ff",
                "sha256": "db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "9d5c1de72f895051b99528d09aa628ff",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 77352,
            "upload_time": "2023-11-09T06:33:22",
            "upload_time_iso_8601": "2023-11-09T06:33:22.041853Z",
            "url": "https://files.pythonhosted.org/packages/96/e8/27ef35cf61e5147c1c3abcb89cfbb8d691b2bb8364803fcc950140bc14d8/wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6ad7a0766341081bfd9f18a7049e4d6d45586ae5c5bb0a640f05e2f558e849c",
                "md5": "aa8fe29094f6bb46f95a1ba1f00ff2c5",
                "sha256": "edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aa8fe29094f6bb46f95a1ba1f00ff2c5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 84626,
            "upload_time": "2023-11-09T06:33:23",
            "upload_time_iso_8601": "2023-11-09T06:33:23.634879Z",
            "url": "https://files.pythonhosted.org/packages/b6/ad/7a0766341081bfd9f18a7049e4d6d45586ae5c5bb0a640f05e2f558e849c/wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0943b26852e9c45a1aac0d14b1080b25b612fa840ba99739c5fc55db07b7ce08",
                "md5": "cb772f2cb2e271515cfc3964973b493a",
                "sha256": "ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "cb772f2cb2e271515cfc3964973b493a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 35327,
            "upload_time": "2023-11-09T06:33:25",
            "upload_time_iso_8601": "2023-11-09T06:33:25.430391Z",
            "url": "https://files.pythonhosted.org/packages/09/43/b26852e9c45a1aac0d14b1080b25b612fa840ba99739c5fc55db07b7ce08/wrapt-1.16.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "74f296ed140b08743f7f68d5bda35a2a589600781366c3da96f056043d258b1a",
                "md5": "330199a94990d752ddb9c0128d6a4286",
                "sha256": "eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "330199a94990d752ddb9c0128d6a4286",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.6",
            "size": 37526,
            "upload_time": "2023-11-09T06:33:26",
            "upload_time_iso_8601": "2023-11-09T06:33:26.882383Z",
            "url": "https://files.pythonhosted.org/packages/74/f2/96ed140b08743f7f68d5bda35a2a589600781366c3da96f056043d258b1a/wrapt-1.16.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff21abdedb4cdf6ff41ebf01a74087740a709e2edb146490e4d9beea054b0b7a",
                "md5": "c98cdf8bf5a1eedc803cc0d827c1ef5e",
                "sha256": "6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c98cdf8bf5a1eedc803cc0d827c1ef5e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 23362,
            "upload_time": "2023-11-09T06:33:28",
            "upload_time_iso_8601": "2023-11-09T06:33:28.271549Z",
            "url": "https://files.pythonhosted.org/packages/ff/21/abdedb4cdf6ff41ebf01a74087740a709e2edb146490e4d9beea054b0b7a/wrapt-1.16.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "954c063a912e20bcef7124e0df97282a8af3ff3e4b603ce84c481d6d7346be0a",
                "md5": "3e370b4bc08f7dcc518cf8895673b19c",
                "sha256": "5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"
            },
            "downloads": -1,
            "filename": "wrapt-1.16.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3e370b4bc08f7dcc518cf8895673b19c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 53972,
            "upload_time": "2023-11-09T06:33:30",
            "upload_time_iso_8601": "2023-11-09T06:33:30.191227Z",
            "url": "https://files.pythonhosted.org/packages/95/4c/063a912e20bcef7124e0df97282a8af3ff3e4b603ce84c481d6d7346be0a/wrapt-1.16.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-09 06:33:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "GrahamDumpleton",
    "github_project": "wrapt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "wrapt"
}
        
Elapsed time: 0.15098s