{"schema_version":1,"metadata":{"branch":"release","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:02.361425+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/7.9/packages/amd64/sqlports-7.54.tgz","source_sha256":"2de00144847bf9da3a365be982f101dbb55d591ed7a915ea94984a16ab0e0404","package_count":12059,"source_kind":"sqlports"},"package":{"name":"py3-cattrs-26.1.0","path":"devel/py-cattrs","url":"/packages/release/devel/py-cattrs/","comment":"composable class support for attrs and dataclasses","homepage":"https://cattrs.rs/","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"cattrs is a Swiss army knife for structuring and validating data\nin Python. In practice, that means it converts unstructured\ndictionaries into proper classes and back, while validating their\ncontents.\n\ncattrs works best with attrs classes, and dataclasses where simple\nstructuring works out of the box, even for nested data, without\npolluting your data model with serialization details.\n","package_architecture":"amd64","stem":"py3-cattrs","readme":null,"dependencies":[{"path":"devel/py-attrs","type":"runtime","package_spec":"","url":"/packages/release/devel/py-attrs/"},{"path":"devel/py-typing-extensions","type":"runtime","package_spec":"","url":"/packages/release/devel/py-typing-extensions/"},{"path":"lang/python/3","type":"runtime","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"lang/python/3","type":"build","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"devel/py-build","type":"build","package_spec":"","url":"/packages/release/devel/py-build/"},{"path":"devel/py-installer","type":"build","package_spec":"","url":"/packages/release/devel/py-installer/"},{"path":"devel/py-hatch-vcs","type":"build","package_spec":"","url":"/packages/release/devel/py-hatch-vcs/"},{"path":"devel/py-coverage","type":"test","package_spec":"","url":"/packages/release/devel/py-coverage/"},{"path":"devel/py-hypothesis","type":"test","package_spec":"","url":"/packages/release/devel/py-hypothesis/"},{"path":"devel/py-msgspec","type":"test","package_spec":"","url":"/packages/release/devel/py-msgspec/"},{"path":"devel/py-test-benchmark","type":"test","package_spec":"","url":"/packages/release/devel/py-test-benchmark/"},{"path":"devel/py-test-xdist","type":"test","package_spec":"","url":"/packages/release/devel/py-test-xdist/"},{"path":"net/py-cbor2","type":"test","package_spec":"","url":"/packages/release/net/py-cbor2/"},{"path":"textproc/py-orjson","type":"test","package_spec":"","url":"/packages/release/textproc/py-orjson/"},{"path":"textproc/py-ujson","type":"test","package_spec":"","url":"/packages/release/textproc/py-ujson/"},{"path":"devel/py-attrs","type":"test","package_spec":"","url":"/packages/release/devel/py-attrs/"},{"path":"devel/py-typing-extensions","type":"test","package_spec":"","url":"/packages/release/devel/py-typing-extensions/"},{"path":"lang/python/3","type":"test","package_spec":"","url":"/packages/release/lang/python/3/"},{"path":"devel/py-test","type":"test","package_spec":"","url":"/packages/release/devel/py-test/"}],"reverse_dependencies":{"count":5,"url":"/packages/data/4d/4d5828f2347e6b28399f062f290cd7f9e37644460f86ed6d0de7769b824d1d05.json"},"categories":["devel","lang/python"],"flavors":[],"only_for_architectures":["aarch64","amd64","arm","i386","mips64","mips64el","powerpc","powerpc64","riscv64","alpha","hppa","sparc64"],"not_for_architectures":[]}}
