Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency attrs to v24 #1381

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 20, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
attrs (changelog) ^23.1.0 -> ^24.0.0 age adoption passing confidence
attrs (changelog) ==23.2.0 -> ==24.2.0 age adoption passing confidence

Release Notes

python-attrs/attrs (attrs)

v24.2.0

Compare Source

Deprecations
  • Given the amount of warnings raised in the broader ecosystem, we've decided to only soft-deprecate the hash argument to @define / @attr.s.
    Please don't use it in new code, but we don't intend to remove it anymore.
    #​1330
Changes
  • attrs.converters.pipe() (and its syntactic sugar of passing a list for attrs.field()'s / attr.ib()'s converter argument) works again when passing attrs.setters.convert to on_setattr (which is default for attrs.define).
    #​1328
  • Restored support for PEP 649 / 749-implementing Pythons -- currently 3.14-dev.
    #​1329

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 the attr and attrs modules (for example, attrs.__url__).

    Please use importlib.metadata or importlib-metadata instead.
    #​1268

  • The generated __eq__ methods have been sped up 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
  • The repr_ns argument to attr.s is now deprecated.
    It was a workaround for nested classes in Python 2 and is pointless in Python 3.
    #​1263
  • The hash argument to @attr.s, @attrs.define, and make_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 with functools.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 that attrs.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 these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Contributor Author

renovate bot commented Oct 20, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: poetry.lock
Updating dependencies
Resolving dependencies...

Creating virtualenv akari-bot-hREBLP9B-py3.13 in /home/ubuntu/.cache/pypoetry/virtualenvs

Because langconv (0.3.0) depends on attrs (>=23.2.0,<24.0.0)
 and akari-bot depends on attrs (^24.0.0), langconv is forbidden.
So, because akari-bot depends on langconv (0.3.0), version solving failed.

@OasisAkari OasisAkari marked this pull request as draft October 21, 2024 07:05
@renovate renovate bot force-pushed the renovate/attrs-24.x branch 2 times, most recently from 8d823d4 to 9cad083 Compare October 27, 2024 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants