devel/py-attrs - The NetBSD Packages Collection

Attributes without boilerplate

attrs is an MIT-licensed 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!

Build dependencies

pkgtools/cwrappers

Runtime dependencies

devel/py-setuptools lang/python38 lang/python38

Available binary packages

aarch64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
aarch64:py39-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py27-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py36-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py37-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py38-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py39-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py27-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py36-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py37-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py38-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py27-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py36-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py37-attrs-19.3.0.tgz(NetBSD 9.0)
alpha:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earm:py39-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py39-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv6hf:py39-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py39-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 8.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py39-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py27-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py36-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py37-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py38-attrs-19.3.0.tgz(NetBSD 9.0)
earmv7hf:py39-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py27-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py36-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py37-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py38-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py27-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py36-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py37-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py38-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py27-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py36-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py37-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py38-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py39-attrs-19.3.0.tgz(NetBSD 8.0)
i386:py27-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py36-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py37-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py38-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py27-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py36-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py37-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py38-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py27-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py36-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py37-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py38-attrs-19.3.0.tgz(NetBSD 9.0)
i386:py39-attrs-19.3.0.tgz(NetBSD 9.0)
m68k:py27-attrs-19.3.0.tgz(NetBSD 9.0)
m68k:py36-attrs-19.3.0.tgz(NetBSD 9.0)
m68k:py37-attrs-19.3.0.tgz(NetBSD 9.0)
m68k:py37-attrs-19.3.0.tgz(NetBSD 9.0)
m68k:py27-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py27-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py36-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py37-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py38-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py27-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py36-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py37-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py38-attrs-19.3.0.tgz(NetBSD 9.0)
mips64eb:py39-attrs-19.3.0.tgz(NetBSD 9.0)
mipsel:py27-attrs-19.3.0.tgz(NetBSD 9.0)
mipsel:py36-attrs-19.3.0.tgz(NetBSD 9.0)
mipsel:py37-attrs-19.3.0.tgz(NetBSD 9.0)
mipsel:py38-attrs-19.3.0.tgz(NetBSD 9.0)
mipsel:py39-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py27-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py36-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py37-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py38-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py39-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py27-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py36-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py37-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py38-attrs-19.3.0.tgz(NetBSD 8.0)
powerpc:py27-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py36-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py37-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py38-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py27-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py36-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py37-attrs-19.3.0.tgz(NetBSD 9.0)
powerpc:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sh3el:py39-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py39-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sparc64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py27-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py36-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py37-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py38-attrs-19.3.0.tgz(NetBSD 9.0)
sparc:py39-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py39-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py39-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py39-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py39-attrs-19.3.0.tgz(NetBSD 8.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py39-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py27-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py36-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py37-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py38-attrs-19.3.0.tgz(NetBSD 9.0)
x86_64:py39-attrs-19.3.0.tgz(NetBSD 9.0)

Binary packages can be installed with pkgin or pkg_add(1). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

(none)

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.


[ Go up one level | Go to top of packages tree | List all packages ]