⬆️ Update dependency attrs to v24 #40
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/attrs-24.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==23.2.0
->==24.1.0
Release Notes
python-attrs/attrs (attrs)
v24.1.0
Compare Source
Backwards-incompatible Changes
attrs.evolve()
doesn't accept the inst argument as a keyword argument anymore.Pass it as the first positional argument instead.
#1264
attrs.validators.provides()
has been removed.The removed code is available as a gist for convenient copy and pasting.
#1265
All packaging metadata except from
__version__
and__version_info__
has been removed from theattr
andattrs
modules (for example,attrs.__url__
).Please use
importlib.metadata
or importlib_metadata instead.#1268
Speed up the generated
__eq__
methods significantly by generating a chain of attribute comparisons instead of constructing and comparing tuples.This change arguably makes the behavior more correct,
but changes it if an attribute compares equal by identity but not value, like
float('nan')
.#1310
Deprecations
attr.s
is now deprecated.It was a workaround for nested classes in Python 2 and is pointless in Python 3.
#1263
@attr.s
,@attrs.define
, andmake_class()
is now deprecated in favor of unsafe_hash, as defined by PEP 681.#1323
Changes
Allow original slotted
functools.cached_property
classes to be cleaned by garbage collection.Allow
super()
calls in slotted cached properties.#1221
Our type stubs now use modern type notation and are organized such that VS Code's quick-fix prefers the
attrs
namespace.#1234
Preserve
AttributeError
raised by properties of slotted classes withfunctools.cached_properties
.#1253
It is now possible to wrap a converter into an
attrs.Converter
and get the current instance and/or the current field definition passed into the converter callable.Note that this is not supported by any type checker, yet.
#1267
attrs.make_class()
now populates the__annotations__
dict of the generated class, so thatattrs.resolve_types()
can resolve them.#1285
Added the
attrs.validators.or_()
validator.#1303
The combination of a
__attrs_pre_init__
that takes arguments, a kw-only field, and a default on that field does not crash anymore.#1319
attrs.validators.in_()
now transforms certain unhashable options to tuples to keep the field hashable.This allows fields that use this validator to be used with, for example,
attrs.filters.include()
.#1320
If a class has an inherited method called
__attrs_init_subclass__
, it is now called once the class is done assembling.This is a replacement for Python's
__init_subclass__
and useful for registering classes, and similar.#1321
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.