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