attrs
PyPIv26.1.0Classes Without Boilerplate
Not recommended for new projects
No — attrs should not be adopted for new projects. No license declared — you have no explicit right to use this code.
- ?Adoption: grade ?, Not reported by this registry.
No download data reported for this package yet.
- BMaintenance: grade B, Good.
Last published 174 days ago. 6 releases in the last 2 years.
- AWeight: grade A, Excellent.
Zero runtime dependencies, about 66 KB installed.
- BSupply chain: grade B, Good.
This package lists no maintainer.
- FLicense: grade F, Failing.
No license declared — you have no explicit right to use this code.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding attrs to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Compatibility
- Python
- python >=3.9
Quick start
A usage example from the attrs README.
>>> 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])Used by
Popular packages that depend on attrs.
Relationship graph
Dependencies (left) and dependents (right) of attrs.
Frequently installed together
Timeout context manager for asyncio programs
Happy Eyeballs for asyncio
aiosignal: a list of registered asynchronous callbacks
A list-like structure which implements collections.abc.MutableSequence
multidict implementation
Accelerated property cache
Yet another URL library
Release history
6 releases in the last two years, typically about 132 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 26.1.0latest | 5 months ago | 66 KB | — |
| 25.4.0 | 11 months ago | 66 KB | — |
| 25.3.0 | 1 year ago | 62 KB | — |
| 25.2.0 | 1 year ago | 63 KB | — |
| 25.1.0 | 1 year ago | 62 KB | — |
| 24.3.0 | 1 year ago | 62 KB | — |
| 24.2.0 | 2 years ago | 62 KB | — |
| 24.1.0 | 2 years ago | 62 KB | — |
| 23.2.0 | 2 years ago | 59 KB | — |
| 23.1.0 | 3 years ago | 60 KB | — |
| 22.2.0 | 3 years ago | 59 KB | — |
| 22.1.0 | 4 years ago | 57 KB | — |
| 21.4.0 | 4 years ago | 59 KB | — |
| 21.3.0 | 4 years ago | 60 KB | — |
| 21.2.0 | 5 years ago | 52 KB | — |
Overview
attrs is an PyPI package that classes Without Boilerplate. It has 1 known dependents in the graph. The latest version is 26.1.0.
Who should use it
Teams working in the PyPI ecosystem who need classes Without Boilerplate and value a focused solution.
When not to use it
Consider an alternative if you need to or if a more actively-maintained option better fits your PyPI stack.
Pros
- Zero runtime dependencies — minimal footprint.
Cons
- No license detected — review usage terms before adopting.
Auto-generated from collected registry metadata. No external claims are inferred.
Keywords
Funding
Frequently asked questions
Should I use attrs?
No — attrs should not be adopted for new projects. No license declared — you have no explicit right to use this code.
How do I install attrs?
Run `pip install attrs` to add attrs to your PyPI project.
What license is attrs released under?
No license was detected in attrs's metadata; review the repository before use.
How popular is attrs?
PyPI does not publish download counts. Within PackageGraph's crawl, 1 known packages depend on attrs.
Is attrs still maintained?
The most recent release of attrs (v26.1.0) was published 5 months ago.