Skip to content

chore(deps-dev): bump wrapt from 1.17.3 to 2.2.0#1509

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/wrapt-2.2.0
Open

chore(deps-dev): bump wrapt from 1.17.3 to 2.2.0#1509
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/wrapt-2.2.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 21, 2026

Bumps wrapt from 1.17.3 to 2.2.0.

Release notes

Sourced from wrapt's releases.

wrapt 2.2.0

Full release notes: https://wrapt.readthedocs.io/en/latest/changes.html#version-2-2-0

Install from PyPi (recommended):

pip install wrapt==2.2.0

PyPi uploads follow each GitHub release; if pip reports the version is unavailable, the matching PyPi upload may not have happened yet.

Pre-built wheels are provided for a range of Python versions and platforms (Linux x86_64/aarch64/riscv64, macOS x86_64 and arm64, Windows x86_64 and arm64, plus PyPy and free-threaded builds). The source distribution is also attached together with SHA256SUMS for verification.

wrapt 2.2.0rc12

Release candidate. Release notes for the upcoming 2.2.0 final (work in progress): https://wrapt.readthedocs.io/en/latest/changes.html#version-2-2-0

May be installable from PyPi:

pip install wrapt==2.2.0rc12

If pip reports the version is unavailable, this candidate either has not been uploaded yet or is not being published to PyPi. Use the attached wheels or build from the source distribution instead:

tar xf wrapt-2.2.0rc12.tar.gz
cd wrapt-2.2.0rc12
pip install .

SHA256SUMS is attached for verification of the archives.

wrapt 2.2.0.dev1

Development snapshot. Not normally published to PyPi (occasionally uploaded to exercise the release pipeline).

Release notes for the upcoming 2.2.0 final (work in progress): https://wrapt.readthedocs.io/en/latest/changes.html#version-2-2-0

Platform wheels and the source distribution are attached. To test against your Python install, either grab a matching wheel or build from the source distribution:

pip install wrapt-2.2.0.dev1-<python>-<abi>-<platform>.whl

or

... (truncated)

Changelog

Sourced from wrapt's changelog.

Version 2.2.0

A special thanks to devdanzin <https://github.com/devdanzin>_ for providing an extremely useful analysis of issues in the wrapt C extension. Their analysis led to the majority of the fixes and updates in this release and their help is much appreciated.

New Features

  • Added bind_state_to_wrapper (also available as StateBindingWrapper), a descriptor decorator for automatically binding state to a wrapper. When applied on top of a method decorated with function_wrapper or decorator, it intercepts descriptor binding so that when the method is accessed through an instance, the owner instance is automatically stored on the resulting wrapper as a named attribute. This eliminates the need for manual setup in decorator factory functions and makes it straightforward to build stateful decorators where the state is accessible through the decorated function. See the "Tracking Call State" section of :doc:examples for usage.

  • Added lru_cache, a drop-in replacement for functools.lru_cache that works correctly with instance methods. Unlike functools.lru_cache, which includes self as a cache key — causing cache pollution across instances, preventing garbage collection of instances, and requiring instances to be hashable — wrapt.lru_cache maintains a separate per-instance cache stored as an attribute on the instance itself. This means each instance gets its own full maxsize budget, instances do not need to be hashable, and caches are automatically cleaned up when the instance is garbage collected. For plain functions, class methods, and static methods, a single shared cache is used. The cache_info(), cache_clear(), and cache_parameters() methods are available directly on the decorated function. See the "LRU Cache" section of :doc:bundled for details.

  • Added support for deferred patching in wrap_function_wrapper and patch_function_wrapper. When the target module name is passed as a string with a trailing ? (e.g., "requests?") and the module has not yet been imported, a post import hook will be registered so that the wrapping is applied automatically when the module is eventually imported. If the module is already imported, the wrapping is applied immediately. This avoids eagerly importing modules solely for the purpose of monkey patching them.

  • Added __self_dict__ to ObjectProxy to allow introspection of the proxy's own instance dictionary. Because ObjectProxy replaces __dict__ with a property that delegates to the wrapped object, vars(proxy) returns the wrapped object's attributes rather than the proxy's, which previously made it impossible to see what _self_ attributes were stored on the proxy itself. __self_dict__ returns the live instance dictionary of the proxy, so mutations to it are reflected on the proxy. The metaclass used by the pure Python

... (truncated)

Commits
  • 4702d9f Merge branch 'release/2.2.0'
  • d678c3a Drop release candidate suffix for 2.2.0 for final release.
  • 35fe9e0 Update to rc12 to validate release candidate with new publishing pipeline.
  • 3b9eb20 Centralize version string formatting in init.py.
  • c7cfe0a Setup workflow to create release and publish to PyPi.
  • cd29883 Add code example for accessing decorator state.
  • b4cf7c5 Fix issues with building docs.
  • be42197 Add docs for bind_state_to_wrapper.
  • 7e09f90 Support runtime subscripting of ObjectProxy via class_getitem.
  • 3cf97b9 Add documentation page for monkey patching features.
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [wrapt](https://github.com/GrahamDumpleton/wrapt) from 1.17.3 to 2.2.0.
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](GrahamDumpleton/wrapt@1.17.3...2.2.0)

---
updated-dependencies:
- dependency-name: wrapt
  dependency-version: 2.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels May 21, 2026
@dependabot dependabot Bot requested a review from a team as a code owner May 21, 2026 05:26
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants