14
0
forked from pool/python-cattrs

Accepting request 1133406 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/1133406
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cattrs?expand=0&rev=3
This commit is contained in:
2023-12-15 20:50:07 +00:00
committed by Git OBS Bridge
4 changed files with 168 additions and 7 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:58fe6257626c02dca68acf4b46fd7b484011117111e69c40b4e282b1948049c4
size 117001

3
cattrs-23.2.3.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a934090d95abaa9e911dac357e3a8699e0b4b14f8529bcc7d2b1ad9d51672b9f
size 610215

View File

@@ -1,3 +1,157 @@
-------------------------------------------------------------------
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>

View File

@@ -17,18 +17,22 @@
Name: python-cattrs
Version: 22.2.0
Version: 23.2.3
Release: 0
Summary: Composable complex class support for attrs and dataclasses
License: MIT
URL: https://github.com/python-attrs/cattrs
Source: https://github.com/python-attrs/cattrs/archive/refs/tags/v%{version}.tar.gz#/cattrs-%{version}.tar.gz
Source: https://files.pythonhosted.org/packages/source/c/cattrs/cattrs-%{version}.tar.gz
Requires: python-exceptiongroup
BuildRequires: %{python_module hatch-vcs}
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core >= 1.1}
BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module attrs >= 20}
BuildRequires: %{python_module PyYAML}
BuildRequires: %{python_module cbor2}
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module immutables}
BuildRequires: %{python_module msgpack >= 1.0.2}
@@ -37,10 +41,13 @@ BuildRequires: %{python_module pymongo}
BuildRequires: %{python_module pytest-benchmark}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module tomlkit}
BuildRequires: %{python_module typing_extensions}
BuildRequires: %{python_module ujson}
# /SECTION
BuildRequires: fdupes
Requires: python-attrs >= 20
Requires: python-cbor2
Requires: python-typing_extensions
Suggests: python-ujson
Suggests: python-orjson
Suggests: python-msgpack
@@ -55,7 +62,7 @@ BuildArch: noarch
Composable complex class support for attrs and dataclasses.
%prep
%setup -q -n cattrs-%{version}
%autosetup -p1 -n cattrs-%{version}
%build
%pyproject_wheel
@@ -68,7 +75,7 @@ Composable complex class support for attrs and dataclasses.
%pytest
%files %{python_files}
%doc README.rst
%doc README.md HISTORY.md CONTRIBUTING.md
%license LICENSE
%{python_sitelib}/cattr
%{python_sitelib}/cattrs