File python-cattrs.changes of Package python-cattrs
-------------------------------------------------------------------
Wed May 7 11:21:09 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 24.1.3
* Fix structuring of keyword-only dataclass fields when not
using detailed validation. (#637)
- Refresh support-python-3.13.patch
-------------------------------------------------------------------
Fri Nov 15 14:19:05 UTC 2024 - Yunus Acar <yunus.acar@suse.com>
- add fix-test-no-nans.patch to get the tests to work with the
latest attrs
- add support-python-3.13.patch to add python-3.13 support
-------------------------------------------------------------------
Mon Oct 28 22:38:02 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 24.1.2:
* Fix {meth}`BaseConverter.register_structure_hook` and
{meth}`BaseConverter.register_unstructure_hook` type hints.
* Fix {meth}`BaseConverter.register_structure_hook_factory` and
{meth}`BaseConverter.register_unstructure_hook_factory` type
hints.
* **Potentially breaking**: Unstructuring hooks for
`typing.Any` are consistent now: values are unstructured
using their runtime type.
* Introduce {meth}`BaseConverter.get_structure_hook` and
{meth}`BaseConverter.get_unstructure_hook` methods.
* Enhance the {func}`cattrs.cols.is_mapping` predicate function
to also cover virtual subclasses of `abc.Mapping`.
* Introduce the _msgspec_ {mod}`preconf converter
<cattrs.preconf.msgspec>`.
* Add support for PEP 695 type aliases.
* Add support for PEP 696 `TypeVar`s with defaults.
* Add support for named tuples with type metadata
(`typing.NamedTuple`).
* Add support for optionally un/unstructuring named tuples
using dictionaries.
* PEP 695 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.
-------------------------------------------------------------------
Mon Apr 8 10:41:21 UTC 2024 - Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons
-------------------------------------------------------------------
Thu Dec 14 09:18:25 UTC 2023 - Petr Gajdos <pgajdos@suse.com>
- update to 23.2.3:
* Fix a regression when unstructuring dictionary values typed
as `Any`.
* (#453 #462)
* Fix a regression when unstructuring unspecialized generic
classes.
* (#465 #466)
* Optimize function source code caching.
* (#445 #464)
* Generate unique files only in case of linecache enabled.
* (#445 #441)
* ## 23.2.2 (2023-11-21)
* Fix a regression when unstructuring `Any | None`.
* (#453 #454)
* ## 23.2.1 (2023-11-18)
* Fix unnecessary `typing_extensions` import on Python 3.11.
* (#446 #447)
* ## 23.2.0 (2023-11-17)
* **Potentially breaking**: skip _attrs_ fields marked as
`init=False` by default. This change is potentially breaking
for unstructuring.
* See here for instructions on how to restore the old behavior.
* (#40 #395)
* **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.
* (#410 #411)
* **Potentially breaking**: The default union structuring
strategy will also use fields annotated as `typing.Literal`
to help guide structuring.
* See here for instructions on how to restore the old behavior.
* (#391)
* Python 3.12 is now supported. Python 3.7 is no longer
supported; use older releases there.
* (#424)
* Implement the `union passthrough` strategy, enabling much
richer union handling for preconfigured converters. Learn
more here.
* Introduce the `use_class_methods` strategy. Learn more here.
* (#405)
* 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.
* (#331 #441)
* Add support for `date` to preconfigured converters.
* (#420)
* Add support for `datetime.date`s to the PyYAML preconfigured
converter.
* (#393)
* Fix {py:func}`format_exception() <cattrs.v.format_exception>`
parameter working for recursive calls to
{py:func}`transform_error <cattrs.transform_error>`.
* (#389)
* _attrs_ aliases are now supported, although aliased fields
still map to their attribute name instead of their alias by
default when un/structuring.
* (#322 #391)
* Fix TypedDicts with periods in their field names.
* (#376 #377)
* Optimize and improve unstructuring of `Optional` (unions of
one type and `None`).
* (#380 #381)
* Fix {py:func}`format_exception <cattrs.v.format_exception>`
and {py:func}`transform_error <cattrs.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.
* (#384)
* Improve handling of TypedDicts with forward references.
* Speed up generated _attrs_ and TypedDict structuring
functions by changing their signature slightly.
* (#388)
* Fix copying of converters with function hooks.
* (#398 #399)
* Broaden {py:func}`loads'
<cattrs.preconf.orjson.OrjsonConverter.loads>` type
definition for the preconf orjson converter.
* (#400)
* {py:class}`AttributeValidationNote
<cattrs.AttributeValidationNote>` and
{py:class}`IterableValidationNote
<cattrs.IterableValidationNote>` are now picklable.
* (#408)
* Fix structuring `Final` lists.
* (#412)
* Fix certain cases of structuring `Annotated` types.
* (#418)
* Fix the tagged union strategy to work with
`forbid_extra_keys`.
* (#402 #443)
* Use PDM instead of Poetry.
* _cattrs_ is now linted with Ruff.
* Remove some unused lines in the unstructuring code.
* (#416)
* Fix handling classes inheriting from non-generic protocols.
* (#374 #436)
* The documentation Makefile now supports the `htmlview` and
`htmllive` targets. (#442)
* _cattrs_ is now published using PyPI Trusted Publishers, and
`main` branch commits are automatically deployed to Test
PyPI.
* ## 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 `cattrs.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)
-------------------------------------------------------------------
Mon May 8 21:15:51 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Slim down build requirement to poetry-core
- Explicitily require a bunch of test dependencies instead
-------------------------------------------------------------------
Mon Jan 23 04:22:53 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Initial release of 22.2.0.