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
-
13
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Leap:16.0:FactoryCandidates/python-attrs && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
_multibuild | 0000000053 53 Bytes | |
attrs-23.2.0.tar.gz | 0000780820 763 KB | |
python-attrs.changes | 0000031989 31.2 KB | |
python-attrs.spec | 0000002786 2.72 KB |
Revision 23 (latest revision is 25)
Ana Guerrero (anag+factory)
accepted
request 1137517
from
Dirk Mueller (dirkmueller)
(revision 23)
- update to 23.2.0: * The type annotation for `attrs.resolve_types()` is now correct. * Type stubs now use `typing.dataclass_transform` to decorate dataclass-like decorators, instead of the non-standard `__dataclass_transform__` special form, which is only supported by Pyright. * Fixed serialization of namedtuple fields using `attrs.asdict/astuple()` with `retain_collection_types=True`. * `attrs.AttrsInstance` is now a `typing.Protocol` in both type hints and code. * This allows you to subclass it along with another `Protocol`. * If *attrs* detects that `__attrs_pre_init__` accepts more than just `self`, it will call it with the same arguments as `__init__` was called. * This allows you to, for example, pass arguments to `super().__init__()`. * Slotted classes now transform `functools.cached_property` decorated methods to support equivalent semantics. * Added *class_body* argument to `attrs.make_class()` to provide additional attributes for newly created classes. * It is, for example, now possible to attach methods. be deeply immutable - Initial version
Comments 0