chore(deps-dev): bump wrapt from 1.17.3 to 2.0.1
Bumps wrapt from 1.17.3 to 2.0.1.
Release notes
Sourced from wrapt's releases.
wrapt-2.0.1
See the project page on the Python Package Index at https://pypi.org/project/wrapt/2.0.1/ for more information.
wrapt-2.0.0
See the project page on the Python Package Index at https://pypi.org/project/wrapt/2.0.0/ for more information.
Changelog
Sourced from wrapt's changelog.
Version 2.0.1
Bugs Fixed
The
wrapt.lazy_import()function wasn't included in the__all__attribute of thewraptmodule, meaning that it wasn't accessible when usingfrom wrapt import *and type checkers such asmypyorpylancemay not see it as part of the public API.When using
wrapt.lazy_import()to lazily import a function of a module, the resulting proxy object wasn't marked as callable until something triggered the import of the module via the proxy. This meant acallable()check on the proxy would returnFalseuntil the module was actually imported. Further, calling the proxy before the module was imported would raiseTypeError: 'LazyObjectProxy' object is not callablerather than importing the module and calling the function as expected. In order to address this issue, an additional keyword argumentinterfacehas been added towrapt.lazy_import()which can be used to specify the expected interface type of the wrapped object. This will default toCallablewhen an attribute name is supplied, and toModuleTypewhen no attribute name is supplied. If usingwrapt.lazy_import()and supplying anattributeargument, and you expect the wrapped object to be something other than a callable, you should now also supplyinterface=...with the appropriate type fromcollections.abcto ensure the proxy behaves correctly prior to the module being imported. This should only be necessary where the wrapped object has special dunder methods on its type which need to exist on the proxy prior to the module being imported.Version 2.0.0
There have been subtle changes in various corner cases of the behaviour of the
ObjectProxyclass, which although not expected to cause problems, still has the potential for causing issues if code was for some reason dependent on prior behaviour. All existing code related to Python 2.X has also been removed. Finally it has also been a while since the last significant release. For all these reasons a major version bump is being made.New Features
Added
__all__attribute towraptmodule to expose the public API.The
wrapt.PartialCallableObjectProxyclass can now be accessed via the aliaswrapt.partial, which is a convenience for users who are used to usingfunctools.partialand want to use thewraptversion of it.Type hints have been added to the
wraptmodule. The type hints are available when using Python 3.10 or later, and can be used with static type checkers such aspylanceormypy. Note that due to limitations in
... (truncated)
Commits
14387afMerge branch 'release/2.0.1'73db180Prepare for 2.0.1 release.1ec71e0Fix lazy import for callable attributes of a module.09cd9e6Use RestructuredText readme file for PyPi.d8803adChange version to a release candidate.26e637fMissing lazy_import in public API declaration.d07059fMerge branch 'release/2.0.0'a3a3b30Merge tag '2.0.0' into developbf2609eUpdate Python version in GitHub runner.0363b82Update version to 2.0.0 for release.- Additional commits viewable in compare view
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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)