attrs: Attributes without boilerplate.
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
- Developed at devel:languages:python
- Sources inherited from project openSUSE:Factory
-
12
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout home:adrianSuSE:PL/python-attrs && cd $_
- Create Badge
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 24)
Dominique Leuenberger (dimstar_suse)
accepted
request 1085487
from
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