head 1.8; access; symbols pkgsrc-2026Q1:1.8.0.2 pkgsrc-2026Q1-base:1.8 pkgsrc-2025Q4:1.7.0.2 pkgsrc-2025Q4-base:1.7 pkgsrc-2025Q3:1.6.0.4 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.2 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.5.0.6 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.4 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.2 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.4.0.6 pkgsrc-2024Q2-base:1.4 pkgsrc-2024Q1:1.4.0.4 pkgsrc-2024Q1-base:1.4 pkgsrc-2023Q4:1.4.0.2 pkgsrc-2023Q4-base:1.4 pkgsrc-2023Q3:1.2.0.4 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.2 pkgsrc-2023Q2-base:1.2; locks; strict; comment @# @; 1.8 date 2026.02.22.11.10.44; author wiz; state Exp; branches; next 1.7; commitid S8heDFt2P9YnzmvG; 1.7 date 2025.10.12.17.55.12; author wiz; state Exp; branches; next 1.6; commitid H1LHsxZXgL7t5jeG; 1.6 date 2025.06.07.22.03.32; author wiz; state Exp; branches; next 1.5; commitid LTs8nKIybsRAx0YF; 1.5 date 2024.08.30.07.18.11; author adam; state Exp; branches; next 1.4; commitid V0Z4KEs2E77PFOnF; 1.4 date 2023.11.19.14.09.31; author wiz; state Exp; branches; next 1.3; commitid a6OuaM8v6HqF6eNE; 1.3 date 2023.10.28.19.56.57; author wiz; state Exp; branches; next 1.2; commitid jP8MYROLWZ3yJqKE; 1.2 date 2023.06.06.08.09.47; author wiz; state Exp; branches; next 1.1; commitid ornOUpxptGGysRrE; 1.1 date 2023.05.05.09.34.11; author wiz; state Exp; branches; next ; commitid zlAnf5AE8aTiXKnE; desc @@ 1.8 log @py-cattrs: update to 26.1.0. ## 26.1.0 (2026-02-18) - Add the {mod}`tomllib ` preconf converter. See [here](https://catt.rs/en/latest/preconf.html#tomllib) for details. ([#716](https://github.com/python-attrs/cattrs/pull/716)) - Customizing un/structuring of _attrs_ classes, dataclasses, TypedDicts and dict NamedTuples is now possible by using `Annotated[T, override()]` on fields. See [here](https://catt.rs/en/stable/customizing.html#using-typing-annotated-t-override) for more details. ([#717](https://github.com/python-attrs/cattrs/pull/717)) - Fix structuring of nested generic classes with stringified annotations. ([#688](https://github.com/python-attrs/cattrs/pull/688)) - Python 3.9 is no longer supported, as it is end-of-life. Use previous versions on this Python version. ([#698](https://github.com/python-attrs/cattrs/pull/698)) - Apply the attrs converter to the default value before checking if it is equal to the attribute's value, when `omit_if_default` is true and an attrs converter is specified. ([#696](https://github.com/python-attrs/cattrs/pull/696)) - Use the optional `_value_` type hint to structure and unstructure enums if present. ([#699](https://github.com/python-attrs/cattrs/issues/699)) - Aliases (when in use) now properly generate rename metadata in generated hooks. ([#706](https://github.com/python-attrs/cattrs/issues/706) [#710](https://github.com/python-attrs/cattrs/pull/710)) - _cattrs_ now tracks performance using [codspeed](https://codspeed.io/python-attrs/cattrs). ([#703](https://github.com/python-attrs/cattrs/pull/703)) - The {mod}`tomlkit ` preconf converter now properly handles native `date` objects when structuring. ([#707](https://github.com/python-attrs/cattrs/issues/707) [#708](https://github.com/python-attrs/cattrs/pull/708)) - The {mod}`tomlkit ` preconf converter now passes date objects directly to _tomlkit_ for unstructuring. ([#707](https://github.com/python-attrs/cattrs/issues/707) [#708](https://github.com/python-attrs/cattrs/pull/708)) - Enum handling has been optimized by switching to hook factories, improving performance especially for plain enums. ([#705](https://github.com/python-attrs/cattrs/pull/705)) - Fix {func}`cattrs.strategies.include_subclasses` when used with {func}`cattrs.strategies.configure_tagged_union` and classes using diamond inheritance. ([#685](https://github.com/python-attrs/cattrs/issues/685) [#713](https://github.com/python-attrs/cattrs/pull/713)) - Fix {func}`cattrs.strategies.configure_tagged_union` when used with recursive type aliases. ([#678](https://github.com/python-attrs/cattrs/issues/678) [#714](https://github.com/python-attrs/cattrs/pull/714)) @ text @@@comment $NetBSD$ ${PYSITELIB}/cattr/__init__.py ${PYSITELIB}/cattr/__init__.pyc ${PYSITELIB}/cattr/__init__.pyo ${PYSITELIB}/cattr/converters.py ${PYSITELIB}/cattr/converters.pyc ${PYSITELIB}/cattr/converters.pyo ${PYSITELIB}/cattr/disambiguators.py ${PYSITELIB}/cattr/disambiguators.pyc ${PYSITELIB}/cattr/disambiguators.pyo ${PYSITELIB}/cattr/dispatch.py ${PYSITELIB}/cattr/dispatch.pyc ${PYSITELIB}/cattr/dispatch.pyo ${PYSITELIB}/cattr/errors.py ${PYSITELIB}/cattr/errors.pyc ${PYSITELIB}/cattr/errors.pyo ${PYSITELIB}/cattr/gen.py ${PYSITELIB}/cattr/gen.pyc ${PYSITELIB}/cattr/gen.pyo ${PYSITELIB}/cattr/preconf/__init__.py ${PYSITELIB}/cattr/preconf/__init__.pyc ${PYSITELIB}/cattr/preconf/__init__.pyo ${PYSITELIB}/cattr/preconf/bson.py ${PYSITELIB}/cattr/preconf/bson.pyc ${PYSITELIB}/cattr/preconf/bson.pyo ${PYSITELIB}/cattr/preconf/json.py ${PYSITELIB}/cattr/preconf/json.pyc ${PYSITELIB}/cattr/preconf/json.pyo ${PYSITELIB}/cattr/preconf/msgpack.py ${PYSITELIB}/cattr/preconf/msgpack.pyc ${PYSITELIB}/cattr/preconf/msgpack.pyo ${PYSITELIB}/cattr/preconf/orjson.py ${PYSITELIB}/cattr/preconf/orjson.pyc ${PYSITELIB}/cattr/preconf/orjson.pyo ${PYSITELIB}/cattr/preconf/pyyaml.py ${PYSITELIB}/cattr/preconf/pyyaml.pyc ${PYSITELIB}/cattr/preconf/pyyaml.pyo ${PYSITELIB}/cattr/preconf/tomlkit.py ${PYSITELIB}/cattr/preconf/tomlkit.pyc ${PYSITELIB}/cattr/preconf/tomlkit.pyo ${PYSITELIB}/cattr/preconf/ujson.py ${PYSITELIB}/cattr/preconf/ujson.pyc ${PYSITELIB}/cattr/preconf/ujson.pyo ${PYSITELIB}/cattr/py.typed ${PYSITELIB}/${WHEEL_INFODIR}/METADATA ${PYSITELIB}/${WHEEL_INFODIR}/RECORD ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL ${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE ${PYSITELIB}/cattrs/__init__.py ${PYSITELIB}/cattrs/__init__.pyc ${PYSITELIB}/cattrs/__init__.pyo ${PYSITELIB}/cattrs/_compat.py ${PYSITELIB}/cattrs/_compat.pyc ${PYSITELIB}/cattrs/_compat.pyo ${PYSITELIB}/cattrs/_generics.py ${PYSITELIB}/cattrs/_generics.pyc ${PYSITELIB}/cattrs/_generics.pyo ${PYSITELIB}/cattrs/cols.py ${PYSITELIB}/cattrs/cols.pyc ${PYSITELIB}/cattrs/cols.pyo ${PYSITELIB}/cattrs/converters.py ${PYSITELIB}/cattrs/converters.pyc ${PYSITELIB}/cattrs/converters.pyo ${PYSITELIB}/cattrs/disambiguators.py ${PYSITELIB}/cattrs/disambiguators.pyc ${PYSITELIB}/cattrs/disambiguators.pyo ${PYSITELIB}/cattrs/dispatch.py ${PYSITELIB}/cattrs/dispatch.pyc ${PYSITELIB}/cattrs/dispatch.pyo ${PYSITELIB}/cattrs/enums.py ${PYSITELIB}/cattrs/enums.pyc ${PYSITELIB}/cattrs/enums.pyo ${PYSITELIB}/cattrs/errors.py ${PYSITELIB}/cattrs/errors.pyc ${PYSITELIB}/cattrs/errors.pyo ${PYSITELIB}/cattrs/fns.py ${PYSITELIB}/cattrs/fns.pyc ${PYSITELIB}/cattrs/fns.pyo ${PYSITELIB}/cattrs/gen/__init__.py ${PYSITELIB}/cattrs/gen/__init__.pyc ${PYSITELIB}/cattrs/gen/__init__.pyo ${PYSITELIB}/cattrs/gen/_consts.py ${PYSITELIB}/cattrs/gen/_consts.pyc ${PYSITELIB}/cattrs/gen/_consts.pyo ${PYSITELIB}/cattrs/gen/_generics.py ${PYSITELIB}/cattrs/gen/_generics.pyc ${PYSITELIB}/cattrs/gen/_generics.pyo ${PYSITELIB}/cattrs/gen/_lc.py ${PYSITELIB}/cattrs/gen/_lc.pyc ${PYSITELIB}/cattrs/gen/_lc.pyo ${PYSITELIB}/cattrs/gen/_shared.py ${PYSITELIB}/cattrs/gen/_shared.pyc ${PYSITELIB}/cattrs/gen/_shared.pyo ${PYSITELIB}/cattrs/gen/typeddicts.py ${PYSITELIB}/cattrs/gen/typeddicts.pyc ${PYSITELIB}/cattrs/gen/typeddicts.pyo ${PYSITELIB}/cattrs/literals.py ${PYSITELIB}/cattrs/literals.pyc ${PYSITELIB}/cattrs/literals.pyo ${PYSITELIB}/cattrs/preconf/__init__.py ${PYSITELIB}/cattrs/preconf/__init__.pyc ${PYSITELIB}/cattrs/preconf/__init__.pyo ${PYSITELIB}/cattrs/preconf/bson.py ${PYSITELIB}/cattrs/preconf/bson.pyc ${PYSITELIB}/cattrs/preconf/bson.pyo ${PYSITELIB}/cattrs/preconf/cbor2.py ${PYSITELIB}/cattrs/preconf/cbor2.pyc ${PYSITELIB}/cattrs/preconf/cbor2.pyo ${PYSITELIB}/cattrs/preconf/json.py ${PYSITELIB}/cattrs/preconf/json.pyc ${PYSITELIB}/cattrs/preconf/json.pyo ${PYSITELIB}/cattrs/preconf/msgpack.py ${PYSITELIB}/cattrs/preconf/msgpack.pyc ${PYSITELIB}/cattrs/preconf/msgpack.pyo ${PYSITELIB}/cattrs/preconf/msgspec.py ${PYSITELIB}/cattrs/preconf/msgspec.pyc ${PYSITELIB}/cattrs/preconf/msgspec.pyo ${PYSITELIB}/cattrs/preconf/orjson.py ${PYSITELIB}/cattrs/preconf/orjson.pyc ${PYSITELIB}/cattrs/preconf/orjson.pyo ${PYSITELIB}/cattrs/preconf/pyyaml.py ${PYSITELIB}/cattrs/preconf/pyyaml.pyc ${PYSITELIB}/cattrs/preconf/pyyaml.pyo ${PYSITELIB}/cattrs/preconf/tomlkit.py ${PYSITELIB}/cattrs/preconf/tomlkit.pyc ${PYSITELIB}/cattrs/preconf/tomlkit.pyo ${PYSITELIB}/cattrs/preconf/tomllib.py ${PYSITELIB}/cattrs/preconf/tomllib.pyc ${PYSITELIB}/cattrs/preconf/tomllib.pyo ${PYSITELIB}/cattrs/preconf/ujson.py ${PYSITELIB}/cattrs/preconf/ujson.pyc ${PYSITELIB}/cattrs/preconf/ujson.pyo ${PYSITELIB}/cattrs/py.typed ${PYSITELIB}/cattrs/strategies/__init__.py ${PYSITELIB}/cattrs/strategies/__init__.pyc ${PYSITELIB}/cattrs/strategies/__init__.pyo ${PYSITELIB}/cattrs/strategies/_class_methods.py ${PYSITELIB}/cattrs/strategies/_class_methods.pyc ${PYSITELIB}/cattrs/strategies/_class_methods.pyo ${PYSITELIB}/cattrs/strategies/_subclasses.py ${PYSITELIB}/cattrs/strategies/_subclasses.pyc ${PYSITELIB}/cattrs/strategies/_subclasses.pyo ${PYSITELIB}/cattrs/strategies/_unions.py ${PYSITELIB}/cattrs/strategies/_unions.pyc ${PYSITELIB}/cattrs/strategies/_unions.pyo ${PYSITELIB}/cattrs/subclasses.py ${PYSITELIB}/cattrs/subclasses.pyc ${PYSITELIB}/cattrs/subclasses.pyo ${PYSITELIB}/cattrs/typealiases.py ${PYSITELIB}/cattrs/typealiases.pyc ${PYSITELIB}/cattrs/typealiases.pyo ${PYSITELIB}/cattrs/types.py ${PYSITELIB}/cattrs/types.pyc ${PYSITELIB}/cattrs/types.pyo ${PYSITELIB}/cattrs/v.py ${PYSITELIB}/cattrs/v.pyc ${PYSITELIB}/cattrs/v.pyo @ 1.7 log @py-cattrs: update to 25.3.0. ## 25.3.0 (2025-10-07) - **Potentially breaking**: [Abstract sets] are now structured into frozensets. This allows hashability, better immutability and is more consistent with the [`collections.abc.Set`] type. - Python 3.14 is now supported and part of the test matrix. - Fix unstructuring NewTypes with the {class}`BaseConverter`. - Make some Hypothesis tests more robust. - {func}`cattrs.strategies.include_subclasses` now works with generic parent classes and the tagged union strategy. @ text @d70 3 d127 3 @ 1.6 log @py-cattrs: update to 25.1.1. ## 25.1.1 (2025-06-04) - Fixed `AttributeError: no attribute '__parameters__'` while structuring attrs classes that inherit from parametrized generic aliases from `collections.abc`. ## 25.1.0 (2025-05-31) - **Potentially breaking**: The converters raise {class}`StructureHandlerNotFoundError` more eagerly (on hook creation, instead of on hook use). This helps surfacing problems with missing hooks sooner. See [Migrations](https://catt.rs/en/latest/migrations.html#the-default-structure-hook-fallback-factory) for steps to restore legacy behavior. - Add a [Migrations](https://catt.rs/en/latest/migrations.html) page, with instructions on migrating changed behavior for each version. - [`typing.Self`](https://docs.python.org/3/library/typing.html#typing.Self) is now supported in _attrs_ classes, dataclasses, TypedDicts and the dict NamedTuple factories. See [`typing.Self`](https://catt.rs/en/latest/defaulthooks.html#typing-self) for details. - PEP 695 type aliases can now be used with {meth}`BaseConverter.register_structure_hook` and {meth}`BaseConverter.register_unstructure_hook`. Previously, they required the use of {meth}`BaseConverter.register_structure_hook_func` (which is still supported). - Expose {func}`cattrs.cols.mapping_unstructure_factory` through {mod}`cattrs.cols`. - Some `defaultdicts` are now [supported by default](https://catt.rs/en/latest/defaulthooks.html#defaultdicts), and {func}`cattrs.cols.is_defaultdict` and {func}`cattrs.cols.defaultdict_structure_factory` are exposed through {mod}`cattrs.cols`. - Generic PEP 695 type aliases are now supported. - The [tagged union strategy](https://catt.rs/en/stable/strategies.html#tagged-unions-strategy) now also supports type aliases of unions. - {meth}`Converter.copy` and {meth}`BaseConverter.copy` are correctly annotated as returning `Self`. - Many preconf converters (_bson_, stdlib JSON, _cbor2_, _msgpack_, _msgspec_, _orjson_, _ujson_) skip unstructuring `int` and `str` enums, leaving them to the underlying libraries to handle with greater efficiency. - The {class}`msgspec JSON preconf converter ` now handles dataclasses with private attributes more efficiently. - Literals containing enums are now unstructured properly, and their unstructuring is greatly optimized in the _bson_, stdlib JSON, _cbor2_, _msgpack_, _msgspec_, _orjson_ and _ujson_ preconf converters. - Preconf converters now handle dictionaries with literal keys properly. - Structuring TypedDicts from invalid inputs now properly raises a {class}`ClassValidationError`. - {func}`cattrs.strategies.include_subclasses` now properly works with generic parent classes. - Replace `cattrs.gen.MappingStructureFn` with {class}`cattrs.SimpleStructureHook`. - Python 3.13 is now supported. - Python 3.8 is no longer supported, as it is end-of-life. Use previous versions on this Python version. - Change type of `Converter.__init__.unstruct_collection_overrides` from `Callable` to `Mapping[type, UnstructureHook]` - Adopt the Contributor Covenant Code of Conduct (just like _attrs_). @ text @d140 3 @ 1.5 log @py-cattrs: updated to 24.1.0 24.1.0 (2024-08-28) - **Potentially breaking**: Unstructuring hooks for `typing.Any` are consistent now: values are unstructured using their runtime type. Previously this behavior was underspecified and inconsistent, but followed this rule in the majority of cases. Reverting old behavior is very dependent on the actual case; ask on the issue tracker if in doubt. - **Minor change**: Heterogeneous tuples are now unstructured into tuples instead of lists by default; this is significantly faster and widely supported by serialization libraries. - **Minor change**: {py:func}`cattrs.gen.make_dict_structure_fn` will use the value for the `prefer_attrib_converters` parameter from the given converter by default now. If you're using this function directly, the old behavior can be restored by passing in the desired values explicitly. - Introduce {meth}`BaseConverter.get_structure_hook` and {meth}`BaseConverter.get_unstructure_hook` methods. - {meth}`BaseConverter.register_structure_hook`, {meth}`BaseConverter.register_unstructure_hook`, {meth}`BaseConverter.register_unstructure_hook_factory` and {meth}`BaseConverter.register_structure_hook_factory` can now be used as decorators and have gained new features. See [here](https://catt.rs/en/latest/customizing.html#use-as-decorators) and [here](https://catt.rs/en/latest/customizing.html#id1) for more details. - Introduce and [document](https://catt.rs/en/latest/customizing.html#customizing-collections) the {mod}`cattrs.cols` module for better collection customizations. - Enhance the {func}`cattrs.cols.is_mapping` predicate function to also cover virtual subclasses of `abc.Mapping`. This enables map classes from libraries such as _immutables_ or _sortedcontainers_ to structure out-of-the-box. - Introduce the [_msgspec_](https://jcristharif.com/msgspec/) {mod}`preconf converter `. Only JSON is supported for now, with other formats supported by _msgspec_ to come later. - The default union handler now properly takes renamed fields into account. - The default union handler now also handles dataclasses. - Add support for [PEP 695](https://peps.python.org/pep-0695/) type aliases. - Add support for [PEP 696](https://peps.python.org/pep-0696/) `TypeVar`s with defaults. - Add support for named tuples with type metadata ([`typing.NamedTuple`](https://docs.python.org/3/library/typing.html#typing.NamedTuple)). - Add support for optionally un/unstructuring named tuples using dictionaries. - The `include_subclasses` strategy now fetches the member hooks from the converter (making use of converter defaults) if overrides are not provided, instead of generating new hooks with no overrides. - The preconf `make_converter` factories are now correctly typed. - The {class}`orjson preconf converter ` now passes through dates and datetimes to orjson while unstructuring, greatly improving speed. - {mod}`cattrs.gen` generators now attach metadata to the generated functions, making them introspectable. - Structure hook factories in {mod}`cattrs.gen` now handle recursive classes better. - The [tagged union strategy](https://catt.rs/en/stable/strategies.html#tagged-unions-strategy) now leaves the tags in the payload unless `forbid_extra_keys` is set. - More robust support for `Annotated` and `NotRequired` in TypedDicts. - `typing_extensions.Literal` is now automatically structured, just like `typing.Literal`. - `typing_extensions.Any` is now supported and handled like `typing.Any`. - `Optional` types can now be consistently customized using `register_structure_hook` and `register_unstructure_hook`. - The BaseConverter now properly generates detailed validation errors for mappings. - [PEP 695](https://peps.python.org/pep-0695/) generics are now tested. - Imports are now sorted using Ruff. - Tests are run with the pytest-xdist plugin by default. - Rework the introductory parts of the documentation, introducing the Basics section. - The documentation has been significantly reworked. - The docs now use the Inter font. - Make type annotations for `include_subclasses` and `tagged_union` strategies more lenient. @ text @d1 1 a1 5 @@comment $NetBSD: PLIST,v 1.4 2023/11/19 14:09:31 wiz Exp $ ${PYSITELIB}/${WHEEL_INFODIR}/METADATA ${PYSITELIB}/${WHEEL_INFODIR}/RECORD ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL ${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE d45 4 d94 3 d140 6 @ 1.4 log @py-cattrs: update to 23.2.1. ## 23.2.1 (2023-11-18) - Fix unnecessary `typing_extensions` import on Python 3.11. ## 23.2.0 (2023-11-17) - **Potentially breaking**: skip _attrs_ fields marked as `init=False` by default. This change is potentially breaking for unstructuring. - **Potentially breaking**: {py:func}`cattrs.gen.make_dict_structure_fn` and {py:func}`cattrs.gen.typeddicts.make_dict_structure_fn` will use the values for the `detailed_validation` and `forbid_extra_keys` parameters from the given converter by default now. If you're using these functions directly, the old behavior can be restored by passing in the desired values directly. - **Potentially breaking**: The default union structuring strategy will also use fields annotated as `typing.Literal` to help guide structuring. - Python 3.12 is now supported. Python 3.7 is no longer supported; use older releases there. - Implement the `union passthrough` strategy, enabling much richer union handling for preconfigured converters. - Introduce the `use_class_methods` strategy. - The `omit` parameter of {py:func}`cattrs.override` is now of type `bool | None` (from `bool`). `None` is the new default and means to apply default _cattrs_ handling to the attribute, which is to omit the attribute if it's marked as `init=False`, and keep it otherwise. - Converters can now be initialized with custom fallback hook factories for un/structuring. - Add support for `date` to preconfigured converters. - Add support for `datetime.date`s to the PyYAML preconfigured converter. - Fix {py:func}`format_exception() ` parameter working for recursive calls to {py:func}`transform_error `. - _attrs_ aliases are now supported, although aliased fields still map to their attribute name instead of their alias by default when un/structuring. - Fix TypedDicts with periods in their field names. - Optimize and improve unstructuring of `Optional` (unions of one type and `None`). - Fix {py:func}`format_exception ` and {py:func}`transform_error ` type annotations. - Improve the implementation of `cattrs._compat.is_typeddict`. The implementation is now simpler, and relies on fewer private implementation details from `typing` and typing_extensions. - Improve handling of TypedDicts with forward references. - Speed up generated _attrs_ and TypedDict structuring functions by changing their signature slightly. - Fix copying of converters with function hooks. - Broaden {py:func}`loads' ` type definition for the preconf orjson converter. - {py:class}`AttributeValidationNote ` and {py:class}`IterableValidationNote ` are now picklable. - Fix structuring `Final` lists. - Fix certain cases of structuring `Annotated` types. - Fix the tagged union strategy to work with `forbid_extra_keys`. - Use PDM instead of Poetry. - _cattrs_ is now linted with Ruff. - Remove some unused lines in the unstructuring code. - Fix handling classes inheriting from non-generic protocols. - The documentation Makefile now supports the `htmlview` and `htmllive` targets. - _cattrs_ is now published using PyPI Trusted Publishers, and `main` branch commits are automatically deployed to Test PyPI. @ text @d1 5 a5 1 @@comment $NetBSD$ a48 4 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA ${PYSITELIB}/${WHEEL_INFODIR}/RECORD ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL ${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE d58 3 d109 3 @ 1.3 log @python/wheel.mk: simplify a lot, and switch to 'installer' for installation This follows the recommended bootstrap method (flit_core, build, installer). However, installer installs different files than pip, so update PLISTs for all packages using wheel.mk and bump their PKGREVISIONs. @ text @a44 1 ${PYSITELIB}/${WHEEL_INFODIR}/LICENSE d48 1 d70 3 d122 3 @ 1.2 log @py-cattrs: update to 23.1.2. 23.1.2 (2023-06-02) Improve typing_extensions version bound. (#372) 23.1.1 (2023-05-30) Add typing_extensions as a direct dependency on 3.10. (#369 #370) 23.1.0 (2023-05-30) Introduce the tagged_union strategy. (#318 #317) Introduce the cattrs.transform_error helper function for formatting validation exceptions. (258 342) Add support for typing.TypedDict and typing_extensions.TypedDict. (#296 #364) Add support for typing.Final. (#340 #349) Introduce override.struct_hook and override.unstruct_hook. Learn more here. (#326) Fix generating structuring functions for types with angle brackets (<>) and pipe symbols (|) in the name. (#319 #327) pathlib.Path is now supported by default. (#81) Add cbor2 serialization library to the cattr.preconf package. Add optional dependencies for cattrs.preconf third-party libraries. (#337) All preconf converters now allow overriding the default unstruct_collection_overrides in make_converter. (#350 #353) Subclasses structuring and unstructuring is now supported via a custom include_subclasses strategy. (#312) Add support for typing_extensions.Annotated when the python version is less than 3.9. (#366) Add unstructuring and structuring support for the standard library deque. (#355) @ text @d4 1 d7 1 d10 1 d13 1 d16 1 d19 1 d22 1 d25 1 d28 1 d31 1 d34 1 d37 1 d40 1 d43 1 a44 1 ${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER a47 1 ${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED a48 1 ${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json d51 1 d54 1 d57 1 d60 1 d63 1 d66 1 d69 1 d72 1 d75 1 d78 1 d81 1 d84 1 d87 1 d90 1 d93 1 d96 1 d99 1 d102 1 d105 1 d108 1 d111 1 d114 1 d118 1 d121 1 d124 1 d127 1 @ 1.1 log @devel/py-cattrs: import py-cattrs-22.2.0 cattrs is an open source Python library for structuring and unstructuring data. cattrs works best with attrs classes, dataclasses and the usual Python collections, but other kinds of classes are supported by manually registering converters. Python has a rich set of powerful, easy to use, built-in data types like dictionaries, lists and tuples. These data types are also the lingua franca of most data serialization libraries, for formats like json, msgpack, yaml or toml. Data types like this, and mappings like dict s in particular, represent unstructured data. Your data is, in all likelihood, structured: not all combinations of field names or values are valid inputs to your programs. In Python, structured data is better represented with classes and enumerations. attrs is an excellent library for declaratively describing the structure of your data, and validating it. When you're handed unstructured data (by your network, file system, database...), cattrs helps to convert this data into structured data. When you have to convert your structured data into data types other libraries can handle, cattrs turns your classes and enumerations into dictionaries, integers and strings. @ text @a3 1 ${PYSITELIB}/cattr/__init__.pyo a5 1 ${PYSITELIB}/cattr/converters.pyo a7 1 ${PYSITELIB}/cattr/disambiguators.pyo a9 1 ${PYSITELIB}/cattr/dispatch.pyo a11 1 ${PYSITELIB}/cattr/errors.pyo a13 1 ${PYSITELIB}/cattr/gen.pyo a15 1 ${PYSITELIB}/cattr/preconf/__init__.pyo a17 1 ${PYSITELIB}/cattr/preconf/bson.pyo a19 1 ${PYSITELIB}/cattr/preconf/json.pyo a21 1 ${PYSITELIB}/cattr/preconf/msgpack.pyo a23 1 ${PYSITELIB}/cattr/preconf/orjson.pyo a25 1 ${PYSITELIB}/cattr/preconf/pyyaml.pyo a27 1 ${PYSITELIB}/cattr/preconf/tomlkit.pyo a29 1 ${PYSITELIB}/cattr/preconf/ujson.pyo d31 7 a37 5 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt ${PYSITELIB}/${EGG_INFODIR}/requires.txt ${PYSITELIB}/${EGG_INFODIR}/top_level.txt a39 1 ${PYSITELIB}/cattrs/__init__.pyo a41 1 ${PYSITELIB}/cattrs/_compat.pyo a43 1 ${PYSITELIB}/cattrs/_generics.pyo a45 1 ${PYSITELIB}/cattrs/converters.pyo a47 1 ${PYSITELIB}/cattrs/disambiguators.pyo a49 1 ${PYSITELIB}/cattrs/dispatch.pyo d52 12 a63 4 ${PYSITELIB}/cattrs/errors.pyo ${PYSITELIB}/cattrs/gen.py ${PYSITELIB}/cattrs/gen.pyc ${PYSITELIB}/cattrs/gen.pyo a65 1 ${PYSITELIB}/cattrs/preconf/__init__.pyo d68 2 a69 1 ${PYSITELIB}/cattrs/preconf/bson.pyo a71 1 ${PYSITELIB}/cattrs/preconf/json.pyo a73 1 ${PYSITELIB}/cattrs/preconf/msgpack.pyo a75 1 ${PYSITELIB}/cattrs/preconf/orjson.pyo a77 1 ${PYSITELIB}/cattrs/preconf/pyyaml.pyo a79 1 ${PYSITELIB}/cattrs/preconf/tomlkit.pyo a81 1 ${PYSITELIB}/cattrs/preconf/ujson.pyo d83 8 @