diff mbox series

[meta-python,1/2] python3-wrapt: Upgrade 2.2.2 -> 2.3.0

Message ID 20260730151527.3241842-1-leon.anavi@konsulko.com
State Under Review
Headers show
Series [meta-python,1/2] python3-wrapt: Upgrade 2.2.2 -> 2.3.0 | expand

Commit Message

Leon Anavi July 30, 2026, 3:15 p.m. UTC
Upgrade to release 2.3.0:

- The __trunc__(), __floor__() and __ceil__() special methods are
  now implemented by object proxies, delegating to math.trunc(),
  math.floor() and math.ceil() applied to the wrapped object. As
  with other special methods, these are only looked up on the class
  type and not the instance, so they cannot rely on the __getattr__()
  fallback of the proxy and must be implemented explicitly. Previously
  calling math.trunc() on an object proxy raised TypeError. These
  special methods sit somewhat outside the core Python object model
  in that they are not used by any builtin operators, with the math
  module being their only consumer. They are however documented as
  part of the Python data model and the math module is a key module
  in the standard library, so supporting them is warranted, in the
  same way as the existing support for __round__(), which is
  consumed by the round() builtin. Note that although math.floor()
  and math.ceil() previously appeared to work when used on an object
  proxy, they were silently falling back to converting the proxy
  using __float__(). If the wrapped object provided its own
  __floor__() or __ceil__() special methods these were ignored and
  the result could differ from that when the wrapped object was
  used directly. These now yield the same result as using the
  wrapped object directly. With thanks to Vincent Gao for the PR.

- The __fspath__() special method of the os.PathLike protocol has
  been added to the set of dunder methods which AutoObjectProxy
  detects on the wrapped object and adds to the class it
  generates, so a proxy it creates around a path-like object can
  now be used with os.fspath(), the builtin open() and other
  standard library functions accepting paths. Note that
  __fspath__() is deliberately not implemented by the base
  object proxy, since its presence on the proxy type would
  cause every proxy to be classified as path-like by code
  branching on isinstance(obj, os.PathLike). Also be aware
  that AutoObjectProxy creates a new class for every proxy
  instance, so it should not be used to wrap path-like
  objects in large numbers due to the memory overhead. For
  high-frequency use define a custom proxy class which adds an
  explicit __fspath__() method instead. See the section on
  wrapping path-like objects in the known issues documentation
  for more details.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
 .../python/{python3-wrapt_2.2.2.bb => python3-wrapt_2.3.0.bb}   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta-python/recipes-devtools/python/{python3-wrapt_2.2.2.bb => python3-wrapt_2.3.0.bb} (85%)
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-wrapt_2.2.2.bb b/meta-python/recipes-devtools/python/python3-wrapt_2.3.0.bb
similarity index 85%
rename from meta-python/recipes-devtools/python/python3-wrapt_2.2.2.bb
rename to meta-python/recipes-devtools/python/python3-wrapt_2.3.0.bb
index fbe5e5719c..c493f80f13 100644
--- a/meta-python/recipes-devtools/python/python3-wrapt_2.2.2.bb
+++ b/meta-python/recipes-devtools/python/python3-wrapt_2.3.0.bb
@@ -6,7 +6,7 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=63a78af2900bfcc5ce482f3b8d445898"
 
 inherit pypi python_setuptools_build_meta ptest-python-pytest
 
-SRC_URI[sha256sum] = "0788e321027c999bf221b667bd4a54aaefd1a36283749a860ac3eb77daed0302"
+SRC_URI[sha256sum] = "681a2d0eefd721998f90642762b8e75c2159ec531b20ad5e437245ea7b06a107"
 
 # python3-misc for 'this' module
 RDEPENDS:${PN}-ptest += " \