shield Recommended update for python-wrapt
SUSE-SLES-16.0-1313


This update for python-wrapt fixes the following issues: Changes in python-wrapt: Update to 2.1.2: * When a weak function proxy was created for a bound method and the instance it was bound to was garbage collected, calling the proxy would silently call the function as unbound instead of raising a ReferenceError. * When deleting an attribute named __annotations__ on an object proxy, the attribute was only being deleted from the proxy and not also from the wrapped object. Update to 2.1.1: ## Features Changed * Drop support for Python 3.8. Python version 3.9 or later is now required. ## Bugs Fixed * Missing tox.ini from source distribution package has been added. * Improved type hints so that mypy and ty work better for methods of classes when using wrapt.decorator and wrapt.function_wrapper. Note that applying these to static methods still does not work correctly due to possibly limitations in those type checkers. The pyrefly tool still does not work correctly with wrapt.decorator and wrapt.function_wrapper applied to any methods of classes Update to 2.0.1: ## New Features * Added __all__ attribute to wrapt module to expose the public API. * The wrapt.PartialCallableObjectProxy class can now be accessed via the alias wrapt.partial, which is a convenience for users who are used to using functools.partial and want to use the wrapt version of it. * Type hints have been added to the wrapt module. * Added wrapt.BaseObjectProxy class which is the base class for all object proxy classes. * Added wrapt.AutoObjectProxy class which is a pure Python subclass of BaseObjectProxy which overrides the __new__() method to dynamically generate a custom subclass which includes methods for callable, descriptor and iterator protocols, as well as other select special methods. * Added wrapt.LazyObjectProxy class which is a variant of AutoObjectProxy which takes a callable which returns the object to be wrapped. The callable is only invoked the first time an attribute of the wrapped object is accessed. * Added wrapt.lazy_import() function which takes a module name and returns a LazyObjectProxy which will import the module when it is first needed. ## Features Changed * Code related to Python 2.X and workarounds for older Python 3.X versions has been removed. * Dependency at runtime on setuptools for calculating package entry points has been removed. Instead the importlib.metadata module is now used for this purpose. * For reasons to do with backward/forward compatibility the wrapt module included references to getcallargs() and formatargspec() functions which were part of the inspect module at one time or another. These were provided as convenience for users of the wrapt module, but were not actually part of the public API. They have now been removed from the wrapt module and are no longer available. * The enabled, adapter and proxy arguments to the @decorator decorator had to be keyword parameters, and the initial wrapped argument had to be positional only. Because though Python 2.X was still being supported it was not possible to use appropriate syntax to mark them as such. These arguments are now marked as positional and keyword only parameters in the function signature as appropriate. * The object proxy classes now raise a WrapperNotInitializedError exception rather than Python builtin ValueError exception when an attempt is made to access an attribute of the wrapped object before the wrapper has been initialized. ## Bugs Fixed * The wrapt.lazy_import() function wasn't included in the __all__ attribute of the wrapt module. * 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 a callable() check on the proxy would return False until the module was actually imported. * Reference count was not being incremented on type object for C implementation of the partial callable object proxy when module was initialized. If wrapt was being used in Python sub interpreters which were deleted it could lead to the process crashing. * Wasn't chaining __mro_entries__() calls when the wrapped object was not a type (class) and itself had a __mro_entries__() method. This meant that if using the object proxy as a base class for a generic class, the generic parameters were being ignored. * When an object proxy wrapped an immutable type, such as an integer, and the object proxy had been assigned to a second variable, the result of an in-place operation on the second variable was also affecting the first variable, when instead the lifetime of the two variables should have been independent to reflect what occurs for normal immutable types. Update to 1.17.3: * Added universal binary wheels for macOS. That is, contains both x86_64 and arm64 architectures in the same wheel.

  • Release Date
    Jul 22 2026
  • References
  • Type
    recommended
  • Severity
    moderate

cloud_download Downloads

SUSE Linux Enterprise Server for SAP applications 16.0 x86_64
  • Packages
    python313-wrapt
    A Python module for decorators, wrappers and monkey patching
    2.1.2-160000.1.1 lock rpm
SUSE Linux Enterprise Server 16.0 ppc64le
  • Packages
    python313-wrapt
    A Python module for decorators, wrappers and monkey patching
    2.1.2-160000.1.1 lock rpm
SUSE Linux Enterprise Server 16.0 s390x
  • Packages
    python313-wrapt
    A Python module for decorators, wrappers and monkey patching
    2.1.2-160000.1.1 lock rpm
SUSE Linux Enterprise Server 16.0 x86_64
  • Packages
    python313-wrapt
    A Python module for decorators, wrappers and monkey patching
    2.1.2-160000.1.1 lock rpm
SUSE Linux Enterprise Server 16.0 aarch64
  • Packages
    python313-wrapt
    A Python module for decorators, wrappers and monkey patching
    2.1.2-160000.1.1 lock rpm
SUSE Linux Enterprise Server for SAP applications 16.0 ppc64le
  • Packages
    python313-wrapt
    A Python module for decorators, wrappers and monkey patching
    2.1.2-160000.1.1 lock rpm