python-attrs
Port variant v11
Summary Classes Without Boilerplate (3.11)
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 09 AUG 2024, 01:11:40 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)
PY311 ON Build using Python 3.11 PY312 OFF Build using Python 3.12
Package Dependencies by Type
Build (only) python-pip:single:v11
autoselect-python:single:std
Build and Runtime python311:single: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:v11
python-Automat:v11 Self-service finite-state machines (3.11)
python-Twisted:v11 Asynchronous networking framework (3.11)
python-aiohttp:v11 Async http client/server framework (3.11)
python-cattrs:v11 Composable complex class support for attrs (3.11)
python-jsonschema:v11 Alternate implementation of JSON Schema (3.11)
python-referencing:v11 JSON Referencing + Python (3.11)
python-requests-cache:v11 Persistent cache for python requests (3.11)
python-statmake:v11 Applies STAT Stylespace to a variable font (3.11)
python-ufoLib2:v11 UfoLib2 is a UFO font processing library (3.11)