python-attrs
Port variant v13
Summary Classes Without Boilerplate (3.13)
BROKEN
Package version 24.2.0
Homepage No known homepage
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v12
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 11 NOV 2024, 23:28:05 UTC
Port created 06 AUG 2019, 14:27:27 UTC
Subpackage Descriptions
single

[image]

*attrs* is the Python package that will bring back the **joy** of **writing classes** by relieving you from the drudgery of implementing object protocols (aka [dunder methods]). [Trusted by NASA] for Mars missions since 2020! Its main goal is to help you to write **concise** and **correct** software without slowing down your code. ## Sponsors *attrs* would not be possible without our [amazing sponsors]. Especially those generously supporting us at the *The Organization* tier and higher:

[image] [image] [image] [image]

Please consider joining them to help make attrs’s maintenance more sustainable!

## Example *attrs* gives you a class decorator and a way to declaratively define the attributes on that class: ```pycon >>> from attrs import asdict, define, make_class, Factory >>> @define ... class SomeClass: ... a_number: int = 42 ... list_of_numbers: list[int] = Factory(list) ... ... def hard_math(self, another_number): ... return self.a_number + sum(self.list_of_numbers) * another_number >>> sc = SomeClass(1, [1, 2, 3]) >>> sc SomeClass(a_number=1, list_of_numbers=[1, 2, 3]) >>> sc.hard_math(3) 19 >>> sc == SomeClass(1, [1, 2, 3]) True >>> sc != SomeClass(2, [3, 2, 1]) True >>> asdict(sc) {'a_number': 1, 'list_of_numbers': [1, 2, 3]} >>> SomeClass() SomeClass(a_number=42, list_of_numbers=[]) >>> C = make_class("C", ["a", "b"]) >>> C("foo", "bar") C(a='foo', b='bar') ``` After *declaring* your attributes, *attrs* gives you: - a concise and explicit overview of the class's attributes, - a nice human-readable `__repr__`, - equality-checking methods, - an initializer, - and much more, *without* writing dull boilerplate code again and again and *without* runtime performance penalties.
Configuration Switches (platform-specific settings discarded)
PY312 OFF Build using Python 3.12 PY313 ON Build using Python 3.13
Package Dependencies by Type
Build (only) python313:dev:std
python-pip:single:v13
autoselect-python:single:std
Build and Runtime python313:primary:std
Download groups
main mirror://PYPIWHL/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a
Distribution File Information
81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2 63001 attrs-24.2.0-py3-none-any.whl
Ports that require python-attrs:v13
python-Twisted:v13 Asynchronous networking framework (3.13)
python-aiohttp:v13 Async http client/server framework (3.13)
python-cattrs:v13 Composable complex class support for attrs (3.13)
python-jsonschema:v13 Alternate implementation of JSON Schema (3.13)
python-referencing:v13 JSON Referencing + Python (3.13)
python-requests-cache:v13 Persistent cache for python requests (3.13)
python-statmake:v13 Applies STAT Stylespace to a variable font (3.13)
python-ufoLib2:v13 UfoLib2 is a UFO font processing library (3.13)