Skip to main content

Module for decorators, wrappers and monkey patching.

Project description

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:

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.

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.

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.

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wrapt-1.14.2.tar.gz (50.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

wrapt-1.14.2-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

wrapt-1.14.2-cp311-cp311-win_amd64.whl (35.8 kB view details)

Uploaded CPython 3.11Windows x86-64

wrapt-1.14.2-cp311-cp311-win32.whl (33.7 kB view details)

Uploaded CPython 3.11Windows x86

wrapt-1.14.2-cp311-cp311-musllinux_1_2_x86_64.whl (76.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

wrapt-1.14.2-cp311-cp311-musllinux_1_2_aarch64.whl (76.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

wrapt-1.14.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (78.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

wrapt-1.14.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (77.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

wrapt-1.14.2-cp311-cp311-macosx_11_0_arm64.whl (35.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

wrapt-1.14.2-cp310-cp310-win_amd64.whl (35.8 kB view details)

Uploaded CPython 3.10Windows x86-64

wrapt-1.14.2-cp310-cp310-win32.whl (33.7 kB view details)

Uploaded CPython 3.10Windows x86

wrapt-1.14.2-cp310-cp310-musllinux_1_2_x86_64.whl (76.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

wrapt-1.14.2-cp310-cp310-musllinux_1_2_aarch64.whl (76.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

wrapt-1.14.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (77.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

wrapt-1.14.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (76.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

wrapt-1.14.2-cp310-cp310-macosx_11_0_arm64.whl (35.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

wrapt-1.14.2-cp39-cp39-win_amd64.whl (35.8 kB view details)

Uploaded CPython 3.9Windows x86-64

wrapt-1.14.2-cp39-cp39-win32.whl (33.7 kB view details)

Uploaded CPython 3.9Windows x86

wrapt-1.14.2-cp39-cp39-musllinux_1_2_x86_64.whl (76.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

wrapt-1.14.2-cp39-cp39-musllinux_1_2_aarch64.whl (76.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

wrapt-1.14.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (77.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

wrapt-1.14.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (76.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

wrapt-1.14.2-cp39-cp39-macosx_11_0_arm64.whl (35.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

wrapt-1.14.2-cp38-cp38-win_amd64.whl (35.8 kB view details)

Uploaded CPython 3.8Windows x86-64

wrapt-1.14.2-cp38-cp38-win32.whl (33.6 kB view details)

Uploaded CPython 3.8Windows x86

wrapt-1.14.2-cp38-cp38-musllinux_1_2_x86_64.whl (79.0 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

wrapt-1.14.2-cp38-cp38-musllinux_1_2_aarch64.whl (78.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

wrapt-1.14.2-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (80.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

wrapt-1.14.2-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (80.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

wrapt-1.14.2-cp38-cp38-macosx_11_0_arm64.whl (35.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file wrapt-1.14.2.tar.gz.

File metadata

  • Download URL: wrapt-1.14.2.tar.gz
  • Upload date:
  • Size: 50.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2.tar.gz
Algorithm Hash digest
SHA256 19d33781d891c99b5a35f810656d2fe01765b35ccfb6d395007d2edb1058d98f
MD5 99805e69d6ecd8a7e3e32a9c0f65fbf5
BLAKE2b-256 2349925324e2eaa0c83c45b7a1eb31004af4ad7b37fdc1d9e897ea7d551215da

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-py3-none-any.whl.

File metadata

  • Download URL: wrapt-1.14.2-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-py3-none-any.whl
Algorithm Hash digest
SHA256 82eea3b559f51f22aefc530b747b87406811ef00cb0c4734f48cb139c748db63
MD5 8da56007689baf8c7031d5d075c0a85f
BLAKE2b-256 b7c77376998449689cf2adbdbeacad47084410d00f3ae04cf73e6127cf52b950

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e9773691347205f7d11e7c4395561633285c8d1d691ebfc73ffd64f9072aa22e
MD5 eaf8e676ede11f8e284c502db4269a25
BLAKE2b-256 8e618eb200c6cf899fedc677a7a01b2f189ad58f1d154d0ef84dab30800b9f01

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 cb5aee915d67441bd07acbce9e4cab1d01a110b4e5f02932e80e5ef4c9411ae2
MD5 fb82a89b013e2b792fec878d89f197a5
BLAKE2b-256 28d4003f22d726ca8a0bc2170cad7651dad732f3d3a6e4f69d1f13d8244a93e9

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f23bfecdc0e139f15b195ca3601e71a1388dc058bdbbd160ba9d0f4a17b4a12d
MD5 813fe5a46d50838daae4a83b4b641309
BLAKE2b-256 0bb02b5f8b11c463f75acb6ca710a2ac2e40549f6b5d68bc85c135fc49a7ef19

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e60ca4aa80a85a0bc24cdf0f971d736f6d0957bdbc93874339027cfb0f286c99
MD5 b3391f483c7c6fd5e612992543c177be
BLAKE2b-256 3780d688dfde8c9d75b41c6f01a71e6f64a77861b6ad67e04d622d78060d638c

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 257a53f69737f340d0ba6e4d5554b56a579ca884de6eada15a7126baae8dacc0
MD5 ba61aa2bb61af2f14ff6ceb3fc505c20
BLAKE2b-256 537f4057df32059ea4782cf34b7a9dc08c6b29c4e29ecccfa58b32a12eb77582

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 122015da6e0a1d09e1f9fbb8c756b9a8802e6cb01138f5256c121602bc7c7399
MD5 1f9c8d2bf98c742453aa79942619961f
BLAKE2b-256 bc26953f79a4233603958234358820434d973bd859d3831b19fde23078e09771

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3913516545546d3ff82ffe5bb4a7eab29dc7f1c71cf7329a1494659dc2a60b7b
MD5 10ef844512a61b0c57d037cdf064e5b2
BLAKE2b-256 16ea7ab441022d98da4cd4ff6d2ec6cbd8e4bf69085f261bdf72971a43bd8a45

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ead0c5373df2c551347c7f71903a6403efb391506e1e349704ec21fe797e59bf
MD5 8134346e4aa4fe60dc99789d81660398
BLAKE2b-256 1268134031baba6e1ba7dbdf2a217e99feb7177a2ad860b19f3ba319d40e0baf

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 26c36d922c70de7ae7e933d0f9a10b4017d007d505f60fe02efa8e260a6c7af4
MD5 fb81b17b3acc83a19c1b083388d1f923
BLAKE2b-256 3507fe53594e194b133b29b0808c40f1ad92773186c314dbb5b1bf5bb9a4e34a

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 072684f6264ca83695d1c7ad601e61b17953351b0950790cd50c327402006492
MD5 0052c10f1e79e45dc5be793f9ea8c047
BLAKE2b-256 bae6e3b79ba90e7b3a7c1915dbecb84aa491dc0a16238216dae5137bb0d85689

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3066203bf6e35a040c848143636e6fc2aa4ad6fb2b027a956f462083a3b635ea
MD5 0332e272c490f425e18bdbdf7c761af4
BLAKE2b-256 16dee9205650d0c8401c4e2cc2a01edc89ce3fabda219e2efabcc71d92d02a70

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4f7b9a0364edef5a3033307cde69f7c3775a74eb83caeff8955e72ec3e0963fe
MD5 3d74f4e98b5e602df70db08aa75424db
BLAKE2b-256 18edfcf75886924473ebc11ded6f589f9f715bd605a787201e8b9b1f34b958a7

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 851ded3662733bab093297a0adb844c71e7754b8c144f76bb569ac6544a7c27a
MD5 505869accdaa844a2ce35c0250bd24d9
BLAKE2b-256 f1955e261ed720bdddf9bbfea2b9bbd30bd03e298b02267333a231592a0cef7b

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 734de7e0182d15f03eb4f4fce0ff7f07a072119a19cdcc97c40aee96d10fe851
MD5 a19b4c24eb8753885912bb7b571ee8cf
BLAKE2b-256 ad3f12f70730cf9237e07aa5887bdb3e3695fd68e7e0d6dd66b5dd7a8794724a

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b11008cdae9c937ef3b35b7608c0031ca292efd1fc65db8848570a745506806c
MD5 aced6bd841493953428ba07e3f4e1c01
BLAKE2b-256 155577605309608a1f4b7bc5be1eed2ecb43db4033e2ba2754a7fa1596571807

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp39-cp39-win32.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 582340dde98116875a4cfdd9380c44d86f1dee2482fc0d0ce6ff3d36370447ed
MD5 776c519237daaa8552eb0d32452f8f23
BLAKE2b-256 97b1c5077224c774f84a77f5376aed4f96071d4258df0062c214a91d7b3dbce9

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 755a268129c5551a32124a0557aec0474bf44f8a6a4325d6a43f95206f58e6ef
MD5 b094d159c406a1e9f73f4eb43b1cc29d
BLAKE2b-256 339e99c1d3ead341625992f40c82b8983023afe9ce7f1b074cdbdd8812f88306

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 20f8422985f6ad4b3449212cec0cf331ef7cf9444bd84c1580ecc4535262c7df
MD5 5e1dd37289a8af478013371e8d815511
BLAKE2b-256 91f2e141d40837188d9a424a2a9b56f55592e1bf7871eb5ee9039426b9a73139

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f39de617e4a607e00a86863d1d19f48975386b38e3dc417d6e1db4426b9b78f2
MD5 42899065ccf69e7a463322a44203eaa2
BLAKE2b-256 aacb24c7220b120e18f7867fe37a3db38fb984cf8b0a4cdee4fc6b2453834f66

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 d724e1ef4c8c3e4ff6a07f20eeb697e752a85e12f113f4f1a9b2a0e77be3bf3e
MD5 ff0357771bd69ad92171a87378597c38
BLAKE2b-256 ff62efd6e56fb5a9ff7d9d955f37b7112e505f587d93e8436ff0acd432af013a

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18749866f3240285c7e8947a27fcac1ff05cb8b9a1dc65b0f89eb5688ce0c254
MD5 b2dd0bee719a51db09eaf87c1ec87042
BLAKE2b-256 c997657596b4e4fdd1351fab1565343eea70039fc540a622bcd676d0d42408d4

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 aad2b0dfec2f16308915a4323b6f9c8cb8bda1888ad565fd501c471db2ada908
MD5 f894ca9594f16afdd027f577138ef874
BLAKE2b-256 f3beea322a9740e8937afd5c68b3654cc4b6724ac3a7a840388fd17b2b06fb9f

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp38-cp38-win32.whl.

File metadata

  • Download URL: wrapt-1.14.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for wrapt-1.14.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 c0b1376462b2f3dfb1f6d6fc4255a805471acba4210fbbf79acd8fe564671fd9
MD5 d0b1b85611919410c1b8f52e116abf22
BLAKE2b-256 d31e927ff22ee15893d25ba9e561c255c571760388e8cfc6dd45c4664ba0432f

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 147addd18667e4ac09d056be477ad1351101c3ceba3de6dc65a75685d72115c5
MD5 6188bb61a522c9f9e2362e1929e967a2
BLAKE2b-256 63e20373740827bd62b73a88f661ccbf4ccc47898e9b3f5ddc7a8e36fc4f7dc8

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 59c263f5e00c2ed750954129d998976283b47a7b8c4d285e4652ac57f2f7380d
MD5 5c02cbc1722692a02b42237bb0d3f172
BLAKE2b-256 3e79122df29531cf2da005937498c49af56d28c386646fe996bc3c155cedbbc9

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3a5b5fe94ece92d6e1d4d8542b24ec825822b9e251f2712bbf85893ede02667e
MD5 b42d91cd0b81d9723384ebc50e3670f0
BLAKE2b-256 1603ce89df0038b42bdca1e3c45d500a3e1409e38bc4b9471d41d24493dc0c5a

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 dc87a7287c040097eb79f243c46cd948e36943539db1384bc15602d736ddd2fe
MD5 d7592c6ce677e1c16461ec6503d1be83
BLAKE2b-256 bdfacaf60a36a97acc07b5635932c52e83453480bec8327a3b8b6d406cd7da9b

See more details on using hashes here.

File details

Details for the file wrapt-1.14.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrapt-1.14.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99686b10f59bd73743757afc8cc5c7480679be922f823f4e69a64596ee0ec8cf
MD5 604ee5a1de02bec5682c321b90ef8905
BLAKE2b-256 9d277773e904c7a523c5a857d5599babd2d7ecc799f2e414a603d417eb0bb797

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page