SUSE-RU-2026:22839-1: moderate: Recommended update for python-wrapt
SLE-UPDATES
null at suse.de
Mon Jul 27 17:38:32 UTC 2026
# Recommended update for python-wrapt
Announcement ID: SUSE-RU-2026:22839-1
Release Date: 2026-07-22T07:23:21Z
Rating: moderate
References:
* jsc#PED-16058
Affected Products:
* SUSE Linux Enterprise Server 16.0
* SUSE Linux Enterprise Server for SAP applications 16.0
An update that contains one feature can now be installed.
## Description:
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.
## Patch Instructions:
To install this SUSE update use the SUSE recommended installation methods like
YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:
* SUSE Linux Enterprise Server 16.0
zypper in -t patch SUSE-SLES-16.0-1313=1
* SUSE Linux Enterprise Server for SAP applications 16.0
zypper in -t patch SUSE-SLES-16.0-1313=1
## Package List:
* SUSE Linux Enterprise Server for SAP applications 16.0 (ppc64le x86_64)
* python313-wrapt-debuginfo-2.1.2-160000.1.1
* python-wrapt-debugsource-2.1.2-160000.1.1
* python313-wrapt-2.1.2-160000.1.1
* SUSE Linux Enterprise Server 16.0 (aarch64 ppc64le s390x x86_64)
* python313-wrapt-debuginfo-2.1.2-160000.1.1
* python-wrapt-debugsource-2.1.2-160000.1.1
* python313-wrapt-2.1.2-160000.1.1
## References:
* https://jira.suse.com/browse/PED-16058
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.suse.com/pipermail/sle-updates/attachments/20260727/fb96361b/attachment.htm>
More information about the sle-updates
mailing list