Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jun 22, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
attrs (changelog) ==19.1.0==19.3.0 age adoption passing confidence

Release Notes

python-attrs/attrs (attrs)

v19.3.0

Compare Source

Changes
  • Fixed auto_attribs usage when default values cannot be compared directly with ==, such as numpy arrays.
    #​585

v19.2.0

Compare Source

Backward-incompatible Changes
  • Removed deprecated Attribute attribute convert per scheduled removal on 2019/1.
    This planned deprecation is tracked in issue #​307.
    #​504

  • __lt__, __le__, __gt__, and __ge__ do not consider subclasses comparable anymore.

    This has been deprecated since 18.2.0 and was raising a DeprecationWarning for over a year.
    #​570

Deprecations
  • The cmp argument to attr.s() and attr.ib() is now deprecated.

    Please use eq to add equality methods (__eq__ and __ne__) and order to add ordering methods (__lt__, __le__, __gt__, and __ge__) instead – just like with dataclasses.

    Both are effectively True by default but it's enough to set eq=False to disable both at once.
    Passing eq=False, order=True explicitly will raise a ValueError though.

    Since this is arguably a deeper backward-compatibility break, it will have an extended deprecation period until 2021-06-01.
    After that day, the cmp argument will be removed.

    attr.Attribute also isn't orderable anymore.
    #​574

Changes
  • Updated attr.validators.__all__ to include new validators added in [#​425].
    #​517
  • Slotted classes now use a pure Python mechanism to rewrite the __class__ cell when rebuilding the class, so super() works even on environments where ctypes is not installed.
    #​522
  • When collecting attributes using @attr.s(auto_attribs=True), attributes with a default of None are now deleted too.
    #​523,
    #​556
  • Fixed attr.validators.deep_iterable() and attr.validators.deep_mapping() type stubs.
    #​533
  • attr.validators.is_callable() validator now raises an exception attr.exceptions.NotCallableError, a subclass of TypeError, informing the received value.
    #​536
  • @attr.s(auto_exc=True) now generates classes that are hashable by ID, as the documentation always claimed it would.
    #​543,
    #​563
  • Added attr.validators.matches_re() that checks string attributes whether they match a regular expression.
    #​552
  • Keyword-only attributes (kw_only=True) and attributes that are excluded from the attrs's __init__ (init=False) now can appear before mandatory attributes.
    #​559
  • The fake filename for generated methods is now more stable.
    It won't change when you restart the process.
    #​560
  • The value passed to @attr.ib(repr=…) can now be either a boolean (as before) or a callable.
    That callable must return a string and is then used for formatting the attribute by the generated __repr__() method.
    #​568
  • Added attr.__version_info__ that can be used to reliably check the version of attrs and write forward- and backward-compatible code.
    Please check out the section on deprecated APIs on how to use it.
    #​580


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.


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

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

@renovate renovate bot force-pushed the renovate/attrs-19.x branch from 5981329 to a2f904f Compare August 10, 2025 14:54
@renovate renovate bot force-pushed the renovate/attrs-19.x branch from a2f904f to 861d677 Compare December 15, 2025 18:11
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.

1 participant