wyfo / apischema

JSON (de)serialization, GraphQL and JSON schema generation using Python typing.
https://wyfo.github.io/apischema/
MIT License
230 stars 18 forks source link

Bump the benchmark group in /benchmark with 6 updates #616

Closed dependabot[bot] closed 11 months ago

dependabot[bot] commented 12 months ago

Bumps the benchmark group in /benchmark with 6 updates:

Package From To
cattrs 23.1.2 23.2.3
mashumaro 3.10 3.11
matplotlib 3.8.0 3.8.2
pandas 2.1.1 2.1.3
pydantic 2.4.2 2.5.2
pyserde 0.12.3 0.12.6

Updates cattrs from 23.1.2 to 23.2.3

Release notes

Sourced from cattrs's releases.

v23.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)

v23.2.2

  • Fix a regression when unstructuring Any | None. (#453)

v23.2.1

23.2.1 (2023-11-18)

  • Fix unnecessary typing_extensions import on Python 3.11. (#446 #447)

For the v23.2.0 release notes, see here.

v23.2.0

23.2.0 (2023-11-17)

Welcome to cattrs 23.2.0! Thanks to all our wonderful contributors, this release happens to have the largest changelog so far.

Here are some of the noteworthy additions, see below for the entire changelog.

More Powerful Unions in preconf

Courtesy of the union passthrough strategy, the following class (and others like it, this is just a complex example) will work out-of-the-box on any preconf converter:

@define
class MyClass:
    my_field: str | Literal[1] | MyOtherClass

The strategy has been preapplied to all preconf converters, but it can be manually applied to any converter.

Default Disambiguation via Literals

When structuring a union of attrs classes, cattrs will default to the default union strategy.

This strategy works by finding required unique fields in the given classes. It has been enhanced with support for matching on fields annotated as Literals.

from typing import Literal
</tr></table> 

... (truncated)

Changelog

Sourced from cattrs's changelog.

23.2.3 (2023-11-30)

  • 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.dates 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.

... (truncated)

Commits


Updates mashumaro from 3.10 to 3.11

Release notes

Sourced from mashumaro's releases.

v3.11

Changes

  • Added "codecs" feature to separate data models from serialization and work with top-level lists, dataclasses without mixins etc. (#108, #69), see updated documentation
  • Added new allow_deserialization_not_by_alias config option to allow deserialization by both alias and field name, see documentation (Fatal1ty/mashumaro#175)
  • Fixed UnserializableDataError for generic serializable types and generic serialization strategies with postponed evaluation of annotations (#177)
  • Fixed regression when ValueError was not thrown if invalid value type was passed to from_* method
  • Added serialize_by_alias dialect option
  • Added namedtuple_as_dict dialect option
Commits


Updates matplotlib from 3.8.0 to 3.8.2

Release notes

Sourced from matplotlib's releases.

REL: v3.8.2

This is the second bugfix release of the 3.8 series.

Highlights of this release include:

  • Fix a segfault in the MacOS backend when running on Python 3.12
  • Fix Contour labeling manual positions selecting incorrect contours.
  • Various documentation improvements

REL: v3.8.1

This is the first bugfix release of the 3.8.x series.

This release contains several bug fixes and adjustments:

  • Bump setuptools required version because of setuptools_scm v8
  • Update find_nearest_contour and revert contour deprecations
  • allsegs and allkinds return individual segments
  • Restore default behavior of hexbin mincnt with C provided
  • Try/except import of Axes3D
  • Ensure valid path mangling for ContourLabeler
  • BLD: Remove development dependencies from sdists
  • FIX 2-tuple of colors in to_rgba_array
  • Fix issue with non-string labels and legend
  • Fix issue with locale comma when not using math text
  • Various type hinting improvements
  • Various documentation improvements
  • Improvements to the MacOS backend
Commits
  • eb02b10 REL: v3.8.2
  • dfb7a46 Github stats fo v3.8.2
  • 8023978 Merge branch 'v3.8.1-doc' into v3.8.x
  • acae9bf Merge pull request #27339 from meeseeksmachine/auto-backport-of-pr-27299-on-v...
  • 95743f0 Merge pull request #27338 from meeseeksmachine/auto-backport-of-pr-27334-on-v...
  • cfb494f Backport PR #27299: [MNT] swap xkcd script for humor sans
  • 26fd30a Backport PR #27334: Omit MOVETO lines from nearest contour logic
  • 38a0e94 Merge pull request #27324 from meeseeksmachine/auto-backport-of-pr-27323-on-v...
  • 2b58748 Backport PR #27323: [DOC] Minor fixes for savefig-docstring
  • 94c0cfe Merge pull request #27314 from meeseeksmachine/auto-backport-of-pr-27312-on-v...
  • Additional commits viewable in compare view


Updates pandas from 2.1.1 to 2.1.3

Release notes

Sourced from pandas's releases.

Pandas 2.1.3

This is a patch release in the 2.1.x series and includes some regression and bug fixes, and a security fix. We recommend that all users upgrade to this version.

See the full whatsnew for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

conda install pandas

Or via PyPI:

python3 -m pip install --upgrade pandas

Please report any issues with the release on the pandas issue tracker.

Thanks to all the contributors who made this release possible.

Pandas 2.1.2

This is a patch release in the 2.1.x series and includes some regression and bug fixes. We recommend that all users upgrade to this version.

See the full whatsnew for a list of all the changes.

The release will be available on the defaults and conda-forge channels:

conda install pandas

Or via PyPI:

python3 -m pip install --upgrade pandas

Please report any issues with the release on the pandas issue tracker.

Thanks to all the contributors who made this release possible.

Commits
  • 2a953cf RLS: 2.1.3
  • d9665ca Backport PR #55911 on branch 2.1.x (DOC: convert outdated example of NumPy's ...
  • 92ce245 Backport PR #55907 on branch 2.1.x (DOC: Add release date for 2.1.3) (#55913)
  • 1691a51 Backport PR #55894 on 2.1.x: Parquet/Feather IO: disable PyExtensionType auto...
  • 4158666 Backport PR #55764 on branch 2.1.x (REGR: fix return class in _constructor_fr...
  • de8af3c Backport PR #55427 on branch 2.1.x (DOC: Remove outdated docs about NumPy's b...
  • 569f904 Backport PR #55227 on branch 2.1.x (BUG: Interchange object data buffer has t...
  • c9854d9 TST: Make read_csv tests pyarrow 13 compatable on 2.1.x (#55855)
  • 7702f41 Backport PR #55853: DEPS: Use ipython run_cell instead of run_code; remove py...
  • 0bf70c7 Backport PR #55761 on branch 2.1.x (BUG: DatetimeIndex.diff raising TypeError...
  • Additional commits viewable in compare view


Updates pydantic from 2.4.2 to 2.5.2

Release notes

Sourced from pydantic's releases.

v2.5.2 2023-11-22

v2.5.2 (2023-11-22)

GitHub release

What's Changed

Packaging

  • uprev pydantic-core to 2.14.5

New Features

Fixes

https://github.com/pydantic/pydantic/compare/v2.5.1...v2.5.2/

v2.5.1 2023-11-15

v2.5.1 (2023-11-15)

GitHub release

What's Changed

Packaging

Fixes

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.5.0...v2.5.1/

v2.5.0 2023-11-13

v2.5.0 (2023-11-13)

GitHub release

The code released in v2.5.0 is functionally identical to that of v2.5.0b1.

What's Changed

... (truncated)

Changelog

Sourced from pydantic's changelog.

v2.5.2 (2023-11-122)

GitHub release

What's Changed

Packaging

  • uprev pydantic-core to 2.14.5

New Features

Fixes

v2.5.1 (2023-11-15)

GitHub release

What's Changed

Packaging

Fixes

v2.5.0 (2023-11-13)

GitHub release

The code released in v2.5.0 is functionally identical to that of v2.5.0b1.

What's Changed

Packaging

  • Update pydantic-core from 2.10.1 to 2.14.1, significant changes from these updates are described below, full changelog here
  • Update to pyright==1.1.335 by @​Viicos in #8075

New Features

... (truncated)

Commits


Updates pyserde from 0.12.3 to 0.12.6

Release notes

Sourced from pyserde's releases.

v0.12.6

What's Changed

Bug fixes

Other changes

New Contributors

Full Changelog: https://github.com/yukinarit/pyserde/compare/v0.12.5...v0.12.6

v0.12.5

What's Changed

Bug fixes

Full Changelog: https://github.com/yukinarit/pyserde/compare/v0.12.4...v0.12.5

v0.12.4

What's Changed

Bug fixes

Other changes

New Contributors

Full Changelog: https://github.com/yukinarit/pyserde/compare/v0.12.3...v0.12.4

Commits
  • 7119be7 Merge pull request #446 from yukinarit/update-contributors
  • d19075e :busts_in_silhouette: Add @​maallaire as a contributor
  • ee7edae Merge pull request #445 from maallaire/fix-iter_types-set
  • 63b55e4 Removed List in iter_types if type is Set
  • 00b1cfb Fix test for python3.8
  • 79433a4 Added test coverage for Set handling with custom serializer/deserializers
  • ea8203f Fix: Set handling in compat.py iter_types for custom serializer/deserializer
  • 1cba1da Merge pull request #441 from yukinarit/fix-union-any
  • 596e7f6 Fix serializing union with Any
  • 76e919c Merge pull request #439 from yukinarit/update-contributors
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
dependabot[bot] commented 11 months ago

Superseded by #621.