attrs: Attributes without boilerplate.

Edit Package python-attrs

Python package with class decorators that ease the chores of implementing the most common attribute-related object protocols.

You just specify the attributes to work with and attrs gives you:

a nice human-readable __repr__,
a complete set of comparison methods,
an initializer,
and much more

without writing dull boilerplate code again and again.

This gives you the power to use actual classes with actual types in your code instead of confusing tuples or confusingly behaving namedtuples.

So put down that type-less data structures and welcome some class into your life!

python-attrs is the successor to python-characterstic

Refresh
Refresh
Source Files
Filename Size Changed
_multibuild 0000000053 53 Bytes
attrs-23.1.0.tar.gz 0000212878 208 KB
python-attrs.changes 0000030570 29.9 KB
python-attrs.spec 0000002968 2.9 KB
Revision 21 (latest revision is 23)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1085487 from Daniel Garcia's avatar Daniel Garcia (dgarcia) (revision 21)
- Update to 23.1.0:
  # Backwards-incompatible Changes
  * Python 3.6 has been dropped and packaging switched to static
    package data using Hatch. #993
  # Deprecations
  * The support for zope-interface via the attrs.validators.provides
    validator is now deprecated and will be removed in, or after,
    April 2024.
  * The presence of a C-based package in our developement dependencies
    has caused headaches and we're not under the impression it's used
    a lot.
  * Let us know if you're using it and we might publish it as a
    separate package. #1120
  # Changes
  * attrs.filters.exclude() and attrs.filters.include() now support
    the passing of attribute names as strings. #1068
  * attrs.has() and attrs.fields() now handle generic classes
    correctly. #1079
  * Fix frozen exception classes when raised within e.g.
    contextlib.contextmanager, which mutates their __traceback__
    attributes. #1081
  * @frozen now works with type checkers that implement PEP-681 (ex.
    pyright). #1084
  * Restored ability to unpickle instances pickled before 22.2.0.
    #1085
  * attrs.asdict()'s and attrs.astuple()'s type stubs now accept the
    attrs.AttrsInstance protocol. #1090
  * Fix slots class cellvar updating closure in CPython 3.8+ even when
    __code__ introspection is unavailable. #1092
  * attrs.resolve_types() can now pass include_extras to
    typing.get_type_hints() on Python 3.9+, and does so by default.
    #1099
  * Added instructions for pull request workflow to CONTRIBUTING.md.
    #1105
  * Added type parameter to attrs.field() function for use with
    attrs.make_class().
  * Please note that type checkers ignore type metadata passed into
    make_class(), but it can be useful if you're wrapping attrs. #1107
  * It is now possible for attrs.evolve() (and attr.evolve()) to
    change fields named inst if the instance is passed as a positional
    argument.
  * Passing the instance using the inst keyword argument is now
    deprecated and will be removed in, or after, April 2024. #1117
  * attrs.validators.optional() now also accepts a tuple of validators
    (in addition to lists of validators). #1122
Comments 0
openSUSE Build Service is sponsored by