head 1.15; access; symbols pkgsrc-2026Q3:1.14.0.2 pkgsrc-2026Q3-base:1.14 pkgsrc-2026Q2:1.13.0.4 pkgsrc-2026Q2-base:1.13 pkgsrc-2026Q1:1.13.0.2 pkgsrc-2026Q1-base:1.13 pkgsrc-2025Q4:1.12.0.2 pkgsrc-2025Q4-base:1.12 pkgsrc-2025Q3:1.11.0.2 pkgsrc-2025Q3-base:1.11 pkgsrc-2025Q2:1.10.0.2 pkgsrc-2025Q2-base:1.10 pkgsrc-2025Q1:1.8.0.6 pkgsrc-2025Q1-base:1.8 pkgsrc-2024Q4:1.8.0.4 pkgsrc-2024Q4-base:1.8 pkgsrc-2024Q3:1.8.0.2 pkgsrc-2024Q3-base:1.8 pkgsrc-2024Q2:1.5.0.6 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.4 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.2 pkgsrc-2023Q4-base:1.5 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.15 date 2026.09.28.15.03.49; author wiz; state Exp; branches; next 1.14; commitid MPGZTqVqe3j8RoXG; 1.14 date 2026.09.07.07.34.06; author adam; state Exp; branches; next 1.13; commitid oU2o8Rh5yBBC2FUG; 1.13 date 2026.02.22.11.10.44; author wiz; state Exp; branches; next 1.12; commitid S8heDFt2P9YnzmvG; 1.12 date 2025.10.12.17.55.12; author wiz; state Exp; branches; next 1.11; commitid H1LHsxZXgL7t5jeG; 1.11 date 2025.09.03.07.54.43; author adam; state Exp; branches; next 1.10; commitid uiZbef96dTr41f9G; 1.10 date 2025.06.07.22.03.32; author wiz; state Exp; branches; next 1.9; commitid LTs8nKIybsRAx0YF; 1.9 date 2025.04.01.09.53.33; author adam; state Exp; branches; next 1.8; commitid ctH1pnlH260QEkPF; 1.8 date 2024.09.23.08.10.07; author adam; state Exp; branches; next 1.7; commitid 9yVmPG5sHs40cUqF; 1.7 date 2024.09.12.19.45.33; author adam; state Exp; branches; next 1.6; commitid wlTVJFvuIQguoypF; 1.6 date 2024.08.30.07.18.11; author adam; state Exp; branches; next 1.5; commitid V0Z4KEs2E77PFOnF; 1.5 date 2023.12.01.12.58.12; author adam; state Exp; branches; next 1.4; commitid 3S9Aqj2T90hGkLOE; 1.4 date 2023.11.22.11.43.01; author adam; state Exp; branches; next 1.3; commitid jei0BXqzKmWRcBNE; 1.3 date 2023.11.19.14.09.31; author wiz; state Exp; branches; next 1.2; commitid a6OuaM8v6HqF6eNE; 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.15 log @py-cattrs: update to 26.2.1. ## 26.2.1 (2026-09-26) - Fix heterogeneous tuples and `NamedTuple`s with a member type containing a quote in its `repr`, like `tuple[Literal["a"], int]`, crashing structuring code generation with `SyntaxError`; the index note is now embedded with `repr`. - Fix {func}`transform_error ` listing the extra keys of a `ForbiddenExtraKeysError` in set iteration order, which made the message differ between runs; the keys are now sorted, like the error's own `__str__` already sorts them. @ text @$NetBSD: distinfo,v 1.14 2026/09/07 07:34:06 adam Exp $ BLAKE2s (cattrs-26.2.1.tar.gz) = c8d3aff5ad283d5b2cc9ddbdb7276454853f8622961c66207619929e50b03c1e SHA512 (cattrs-26.2.1.tar.gz) = bc82b1f2d11147688638b84b1849f3ac16075b26c5ea4f75024d1803cf5ae88d6ad72e46544ef09042b71d3e51f822ccb294c9f598aa01da8ada410b4203086e Size (cattrs-26.2.1.tar.gz) = 525617 bytes @ 1.14 log @py-cattrs: updated to 26.2.0 26.2.0 (2026-09-08) - Fix the `msgpack` and `cbor2` converters unstructuring naive datetimes as local time, which made the serialized value depend on the timezone of the machine doing the unstructuring; naive datetimes are now assumed to be UTC, matching what the structure hooks already read back. - Fix `override(rename=...)` targets containing a quote (or other characters not safe in a bare string literal) crashing code generation with `SyntaxError`; the rename key is now embedded with `repr`. - Fix `Counter` keys not being unstructured with the key type's own hook; the single-type-arg branch passed the whole type-args tuple to the key hook lookup instead of the key type. - Fix `create_default_dis_func ` (aka `create_uniq_field_dis_func`) failing to disambiguate valid unions depending on the order of the member classes; unique fields are now resolved iteratively to a fixpoint. - Support more recursive types on 3.14+ with specialized factories for [`annotationlib.ForwardRef`](https://docs.python.org/3/library/annotationlib.html#annotationlib.ForwardRef). - `Converter ` now uses specialized hook factories to generate hooks for tuples, increasing speed. - Fix an `AttributeError` in `cattrs` internals that could be triggered by using the `include_subclasses` strategy in a `structure_hook_factory` - Fix TypedDict codegen when keys contain single quotes. - Add `CattrsError` exception type: all exceptions raised by `cattrs` inherit from this. Literal and date-time validation raise this directly, instead of `Exception`. - Fix the `detailed_validation` parameter being passed under the wrong name in {func}`namedtuple_dict_structure_factory `, causing it to be silently ignored. - _cattrs_ is now autoformatted using Ruff. - Support running the test suite without `cbor2` installed. - The [union passthrough strategy](https://catt.rs/en/stable/strategies.html#union-passthrough) now supports PEP 695 type aliases as union members. - {meth}`BaseConverter.register_structure_hook_factory` and {meth}`BaseConverter.register_unstructure_hook_factory` now properly return the factory when used as decorators. - The {mod}`msgspec ` preconf converter now properly handles recursive classes on Python 3.14+. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.13 2026/02/22 11:10:44 wiz Exp $ d3 3 a5 3 BLAKE2s (cattrs-26.2.0.tar.gz) = 5b552085d553ac3f7bd640d31edb52d760cec63784070d543577be7c8da9c55f SHA512 (cattrs-26.2.0.tar.gz) = b3661e2089d36a48286004e2fe73ff51f6d2ff7efdabfd6b699b63dd7dc891018e1eb8bcc29c7e4695ab4aec83c54c5de14706eea084e9b23ce4f5c74e237055 Size (cattrs-26.2.0.tar.gz) = 524993 bytes @ 1.13 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 @d1 1 a1 1 $NetBSD: distinfo,v 1.12 2025/10/12 17:55:12 wiz Exp $ d3 3 a5 3 BLAKE2s (cattrs-26.1.0.tar.gz) = 584c97d27ba615d2a1f8ee5a47ef53c6c43f9a2baf7a6cb93d603a7241c13bf5 SHA512 (cattrs-26.1.0.tar.gz) = 4040d9d9d41a2ceaf3c13cc6b35a8b30549a3a61f23d81cb5935c1cb74a9ed8465bbc7e720b5de8bbdfc8d71341bf063a096848be374bef1af3c3f844105b6cd Size (cattrs-26.1.0.tar.gz) = 495672 bytes @ 1.12 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 @d1 1 a1 1 $NetBSD: distinfo,v 1.11 2025/09/03 07:54:43 adam Exp $ d3 3 a5 3 BLAKE2s (cattrs-25.3.0.tar.gz) = e9155b4790dda0a5f3685ade8fd1587f2efb9a9249548e344bc9dd2fea6be6f1 SHA512 (cattrs-25.3.0.tar.gz) = b82a77d9d2c3d33c75ebbdd064e434bcc10948ce171bdabeffdaef460f7fb41a4ee9391e0e0479f8186d55ec9d82877039f601e253d3e9c36a46cfccd6092a27 Size (cattrs-25.3.0.tar.gz) = 509321 bytes @ 1.11 log @py-cattrs: updated to 25.2.0 25.2.0 (2025-08-31) - **Potentially breaking**: Sequences are now structured into tuples. This allows hashability, better immutability and is more consistent with the [`collections.abc.Sequence`](https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence) type. See [Migrations](https://catt.rs/en/latest/migrations.html#sequences-structuring-into-tuples) for steps to restore legacy behavior. - Add a `use_alias` parameter to {class}`cattrs.Converter`. {func}`cattrs.gen.make_dict_unstructure_fn_from_attrs`, {func}`cattrs.gen.make_dict_unstructure_fn`, {func}`cattrs.gen.make_dict_structure_fn_from_attrs`, {func}`cattrs.gen.make_dict_structure_fn` and {func}`cattrs.gen.typeddicts.make_dict_structure_fn` will use the value for the `use_alias` parameter 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 value directly. - The [union passthrough strategy](https://catt.rs/en/stable/strategies.html#union-passthrough) now by default accepts ints for unions that contain floats but not ints, when configured to be able to handle both ints and floats. This more closely matches the [current typing behavior](https://typing.python.org/en/latest/spec/special-types.html#special-cases-for-float-and-complex). - Fix unstructuring of generic classes with stringified annotations. - For {class}`cattrs.errors.StructureHandlerNotFoundError` and {class}`cattrs.errors.ForbiddenExtraKeysError` correctly set {attr}`BaseException.args` in `super()` and hence make them pickable. - The default disambiguation hook factory is now only enabled for converters with `unstructure_strat=AS_DICT` (the default). Since the strategy doesn't support tuples, it is skipped for `unstructure_strat=AS_TUPLE` converters. - Switch to [`uv`](https://docs.astral.sh/uv/) and [`just`](https://just.systems/man/en/) in lieu of PDM, tox and Make. See [the Contributing section](https://catt.rs/en/v25.2.0/contributing.html#get-started) for new workflow instructions. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.10 2025/06/07 22:03:32 wiz Exp $ d3 3 a5 3 BLAKE2s (cattrs-25.2.0.tar.gz) = b4d1d5c8a42ea57d1c313c804f36e08229ceabed3c23d1c0be998e24f89d311d SHA512 (cattrs-25.2.0.tar.gz) = 53c77ff0ee3ab1ee174cba167da54dd27b7bda4abdcfc83e948fdaf58ca5dba0c42d1f42a28d99431bb90ae07f05d98b81a9f2339d11ad6cb98927e80ec677be Size (cattrs-25.2.0.tar.gz) = 506531 bytes @ 1.10 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 @d1 1 a1 1 $NetBSD: distinfo,v 1.9 2025/04/01 09:53:33 adam Exp $ d3 3 a5 3 BLAKE2s (cattrs-25.1.1.tar.gz) = d0d74b95b4599e2db2dad6a092b3b71bd9fe529c193b610f9d9d46801ea342fa SHA512 (cattrs-25.1.1.tar.gz) = 1d503032e1fbd921cd28db02b05b0c6d3ec329317acc1493613ebc1fde2666727d3a57b917a6e786de3c504ad3081c21e66d47cdf38b58d695b80fb767c6fdcf Size (cattrs-25.1.1.tar.gz) = 435016 bytes @ 1.9 log @py-cattrs: updated to 24.1.3 24.1.3 (2025-03-25) - Fix structuring of keyword-only dataclass fields when not using detailed validation. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.8 2024/09/23 08:10:07 adam Exp $ d3 3 a5 3 BLAKE2s (cattrs-24.1.3.tar.gz) = 4dd3fe9dc4d52f8021f628075a09de213444bda51c641f1c5aab58940ae6fccd SHA512 (cattrs-24.1.3.tar.gz) = 5b1901720133b5908798d544e95e88ebe4bb26b75e4bcb7701330b54617f604c57ec26e0476a7409a937d09d6b28b3e13f7585d16706db3f396eb086731b3755 Size (cattrs-24.1.3.tar.gz) = 426684 bytes @ 1.8 log @py-cattrs: updated to 24.1.2 24.1.2 (2024-09-22) - Fix {meth}`BaseConverter.register_structure_hook` and {meth}`BaseConverter.register_unstructure_hook` type hints. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.7 2024/09/12 19:45:33 adam Exp $ d3 3 a5 3 BLAKE2s (cattrs-24.1.2.tar.gz) = 9579b463d146f792fd7d339d0c7b7af6a78b70888459448fc7ad862707a8028b SHA512 (cattrs-24.1.2.tar.gz) = 2efafbd389fc81d49b48cf833fe94273c4404b1b751d6ae35f1954c44afa3d1a3e85b25e8325c889aefcfe42eb990d15e075e20163db899605ec419a20713cef Size (cattrs-24.1.2.tar.gz) = 426462 bytes @ 1.7 log @py-cattrs: updated to 24.1.1 24.1.1 (2024-09-11) - Fix {meth}`BaseConverter.register_structure_hook_factory` and {meth}`BaseConverter.register_unstructure_hook_factory` type hints. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.6 2024/08/30 07:18:11 adam Exp $ d3 3 a5 3 BLAKE2s (cattrs-24.1.1.tar.gz) = b33127e585dd8289ebc185a16b87f736b3d9a0ba670d6fbbb37146b0071feebd SHA512 (cattrs-24.1.1.tar.gz) = d764a73610dc01841d9424ddeff22cf904a1de744093cfc658d8a44f7c537c0f6abea49b8b57f830ae27bec07c72d302590007227bc3b99d0be5b9e3ea14d49f Size (cattrs-24.1.1.tar.gz) = 426413 bytes @ 1.6 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 1 $NetBSD: distinfo,v 1.5 2023/12/01 12:58:12 adam Exp $ d3 3 a5 3 BLAKE2s (cattrs-24.1.0.tar.gz) = d149407e706da06f956ff821681dabecf81963a3d82614434d2d4dbbb1002866 SHA512 (cattrs-24.1.0.tar.gz) = df2b8c79f0ca417e747a4eaca8c3179fb68cadb5a3e21ac5b31adbf6e23b2cb1c347e588ff6052d8c95429edc35fa46b008357bde83f975c1447abfcb2976477 Size (cattrs-24.1.0.tar.gz) = 426198 bytes @ 1.5 log @py-cattrs: updated to 23.2.3 23.2.3 (2023-11-30) - Fix a regression when unstructuring dictionary values typed as `Any`. - Fix a regression when unstructuring unspecialized generic classes. - Optimize function source code caching. - Generate unique files only in case of linecache enabled. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2023/11/22 11:43:01 adam Exp $ d3 3 a5 3 BLAKE2s (cattrs-23.2.3.tar.gz) = 9191150c13174bf163d3f6a1e7a49ee0e312ced25589f2e95e3ac40930b43261 SHA512 (cattrs-23.2.3.tar.gz) = 1defa5b8f43eb0c585db09bbca54358ab9595e0842ace37b8980d8f3d48f2690675b0901d1cb9636fcd8cd81859b5c65df2034867a9b8b4ed4776ba9ed7945a3 Size (cattrs-23.2.3.tar.gz) = 610215 bytes @ 1.4 log @py-cattrs: updated to 23.2.2 23.2.2 (2023-11-21) - Fix a regression when unstructuring `Any | None`. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2023/11/19 14:09:31 wiz Exp $ d3 3 a5 3 BLAKE2s (cattrs-23.2.2.tar.gz) = 82560d131c50147a70534be51e67a5f9594b2b3f6a5a0d718d232c1203ddb76f SHA512 (cattrs-23.2.2.tar.gz) = 62fbbc08b6e41ac1bf1f7773c43a31be645953458216c75da7e29ab45b71ee2e9fc08a318447342fe23f2e5ad210f7a865951b32a6754adf2015ec4f76ccc280 Size (cattrs-23.2.2.tar.gz) = 609752 bytes @ 1.3 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 1 a1 1 $NetBSD: distinfo,v 1.2 2023/06/06 08:09:47 wiz Exp $ d3 3 a5 3 BLAKE2s (cattrs-23.2.1.tar.gz) = 49f03604eeba0ecde2e11394b6ed6e73a6ab06e4d8b9361b9895dc5625cb8eea SHA512 (cattrs-23.2.1.tar.gz) = 45610f4cf9fb6e47f08d86de0ca4d1ce110858d0677d8314f0fd229e841aa1f13aa1c248ab15d17118b1e6b1bec4c4cd26e6018cf82729c15a325f6017ddaf53 Size (cattrs-23.2.1.tar.gz) = 609625 bytes @ 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 @d1 1 a1 1 $NetBSD: distinfo,v 1.1 2023/05/05 09:34:11 wiz Exp $ d3 3 a5 3 BLAKE2s (cattrs-23.1.2.tar.gz) = 59b892a09ab7725d4e2339cda64a74f547c60e74fccf60657bc24745f0a2ad91 SHA512 (cattrs-23.1.2.tar.gz) = bd55b75911ae44b554ea5e9d1d218c968c4906d9679adc40986c3e9b2b57af51e4b711e39e6e09997db1a2d41c22c6144ec259405c158273cbb9aa2f262c95c5 Size (cattrs-23.1.2.tar.gz) = 39998 bytes @ 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 @d1 1 a1 1 $NetBSD$ d3 3 a5 3 BLAKE2s (cattrs-22.2.0.tar.gz) = bd0b4b76f9d41ab73731239c9158c995db3a9c8295e42de65d95f85345c9c767 SHA512 (cattrs-22.2.0.tar.gz) = 688b227e568ca928b195e0c450a8d159e52dcd82315504f69d44606943340111269ec14fa7f78a1d30535b2821a9d3b4bbabea0a85e8cb0db9e956d3e07dac06 Size (cattrs-22.2.0.tar.gz) = 30050 bytes @