wyfo / apischema

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

Bump the benchmark group in /benchmark with 8 updates #629

Closed dependabot[bot] closed 4 months ago

dependabot[bot] commented 5 months ago

Bumps the benchmark group in /benchmark with 8 updates:

Package From To
cattrs 23.1.2 23.2.3
marshmallow 3.20.1 3.21.1
mashumaro 3.10 3.12
matplotlib 3.8.0 3.8.3
pandas 2.1.1 2.2.1
pydantic 2.4.2 2.6.4
typedload 2.26 2.27
pyserde 0.12.3 0.15.0

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 marshmallow from 3.20.1 to 3.21.1

Changelog

Sourced from marshmallow's changelog.

3.21.1 (2024-03-04)


Bug fixes:

  • Fix error message when field is declared as a class and not an instance (:issue:2245). Thanks :user:travnick for reporting.

3.21.0 (2024-02-26)


Bug fixes:

  • Fix validation of URL fields to allow missing user field, per NWG RFC 3986 (:issue:2232). Thanks :user:ddennerline3 for reporting and :user:deckar01 for the PR.

Other changes:

  • Backwards-incompatible: __version__, __parsed_version__, and __version_info__ attributes are deprecated (:issue:2227). Use feature detection or importlib.metadata.version("marshmallow") instead.

3.20.2 (2024-01-09)


Bug fixes:

  • Fix Nested field type hint for lambda Schema types (:pr:2164). Thanks :user:somethingnew2-0 for the PR.

Other changes:

  • Officially support Python 3.12 (:pr:2188). Thanks :user:hugovk for the PR.
Commits


Updates mashumaro from 3.10 to 3.12

Release notes

Sourced from mashumaro's releases.

v3.12

Changes

  • Added support for associating multiple tags with a single variant by returning a list of tags from variant_tagger_fn (#184)
  • Added support for locally defined types (#180, #182, #189)
  • Added support for ForwardRef in JSON Schema generation (#187)
  • Fixed serialization of IntFlag when omit_default is enabled (#188)
  • Improved type annotations for serialization_strategy config option

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
  • 0af3117 Bump version
  • f68290a Remove some "pragma: no cover"
  • 9117d27 Remove speedup which turned out to be a slowdown in some cases
  • 4629e1e Remove some "type: ignore"
  • 3573dcf Merge pull request #191 from Fatal1ty/jsonschema-forward-refs
  • d46fd7e Merge pull request #192 from Fatal1ty/fix-int-flag-omit-default
  • 1664b21 Fix serialization of IntFlag when omit_default is enabled
  • 1cf930c Skip test on Python 3.8
  • 8e6a297 Fix typing
  • cc03367 Merge branch 'master' into jsonschema-forward-refs
  • Additional commits viewable in compare view


Updates matplotlib from 3.8.0 to 3.8.3

Release notes

Sourced from matplotlib's releases.

REL: v3.8.3

This is the third micro release of the 3.8 series.

Highlights of the 3.8.3 release include:

  • Improvements to the MacOS backend
    • Fix hanging on plt.pause
    • Fix warnings about "Secure coding is not enabled for restorable state"
  • Fix crash at exit for PGF backend

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
  • 9e18a34 REL: v3.8.3
  • bd96955 Release prep v3.8.3
  • 3ebebc7 Fix merge conflicts from v3.8.2-doc
  • 8fff5b1 Merge pull request #27790 from meeseeksmachine/auto-backport-of-pr-27785-on-v...
  • c21a93f Merge pull request #27789 from meeseeksmachine/auto-backport-of-pr-27756-on-v...
  • ea407e1 Backport PR #27785: FIX: be careful about communicating with subprocess
  • 2efbf7e Backport PR #27756: Add protections against infinite loop in bezier calculations
  • 95b5eb4 Merge pull request #27779 from ksunden/ci_backports
  • 8cd2c91 Merge pull request #27778 from meeseeksmachine/auto-backport-of-pr-27773-on-v...
  • bef02fa Bump the actions group with 2 updates
  • Additional commits viewable in compare view


Updates pandas from 2.1.1 to 2.2.1

Release notes

Sourced from pandas's releases.

Pandas 2.2.1

We are pleased to announce the release of pandas 2.2.1. This release includes some new features, bug fixes, and performance improvements. We recommend that all users upgrade to this version.

See the full whatsnew for a list of all the changes. Pandas 2.2.1 supports Python 3.9 and higher.

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.2.0

We are pleased to announce the release of pandas 2.2.0. This release includes some new features, bug fixes, and performance improvements. We recommend that all users upgrade to this version.

See the full whatsnew for a list of all the changes. Pandas 2.2.0 supports Python 3.9 and higher.

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.2.0rc0

We are pleased to announce a release candidate for pandas 2.2.0. If all goes well, we'll release pandas 2.2.0 in about two weeks.

See the whatsnew for a list of all the changes.

The release will be available on conda-forge and PyPI.

The release can be installed from PyPI

python -m pip install --upgrade --pre pandas==2.2.0rc0 Or from conda-forge

... (truncated)

Commits


Updates pydantic from 2.4.2 to 2.6.4

Release notes

Sourced from pydantic's releases.

v2.6.4 (2024-03-12)

What's Changed

Fixes

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.6.3...v2.6.4/

v2.6.3 2024-02-27

What's Changed

Packaging

Fixes

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.6.2...v2.6.3/

v2.6.2 2024-02-23

What's Changed

Packaging

Fixes

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.6.1...v2.6.2/

v2.6.1 2024-02-05

What's Changed

Packaging

Fixes

... (truncated)

Changelog

Sourced from pydantic's changelog.

v2.6.4 (2024-03-12)

GitHub release

What's Changed

Fixes

v2.6.3 (2024-02-27)

GitHub release

What's Changed

Packaging

Fixes

v2.6.2 (2024-02-23)

GitHub release

What's Changed

Packaging

Fixes

v2.6.1 (2024-02-05)

GitHub release

What's Changed

Packaging

... (truncated)

Commits


Updates typedload from 2.26 to 2.27

Release notes

Sourced from typedload's releases.

2.27

  • Add support for re.Patterns
Changelog

Sourced from typedload's changelog.

2.27

  • Add support for re.Patterns
Commits
  • f8f1cea Merge pull request #442 from ltworf/newrelease
  • 70f4a13 d/changelog
  • 76be4c1 New benchmarks
  • fd53b25 Merge pull request #441 from lyft/add-re.Pattern-to-remaining-docs
  • f172185 Add re.Pattern to remaining docs
  • e773769 Merge pull request #440 from ltworf/lyft-add-support-for-regex-patterns
  • 04a9977 Address code review feedback
  • ca6593a Add support for regex Patterns
  • 92ecc74 Merge pull request #438 from ltworf/newmail
  • cd7d8d0 Update copyright file
  • Additional commits viewable in compare view


Updates pyserde from 0.12.3 to 0.15.0

Release notes

Sourced from pyserde's releases.

v0.15.0

What's Changed

Bug fixes

Breaking changes

Build

Test

New Contributors

Full Changelog: https://github.com/yukinarit/pyserde/compare/v0.14.2...v0.15.0

v0.14.2

What's Changed

Bug fixes

Full Changelog: https://github.com/yukinarit/pyserde/compare/v0.14.1...v0.14.2

v0.14.1

What's Changed

New features

Documentation

New Contributors

Full Changelog: https://github.com/yukinarit/pyserde/compare/v0.14.0...v0.14.1

... (truncated)

Commits
  • 1ed0000 Merge pull request #497 from yukinarit/fix-mypy-errors
  • 53017a2 Fix mypy type errors in tests
  • ad571a5 Merge pull request #490 from yukinarit/dependabot/github_actions/thollander/a...
  • 28b7db8 Merge pull request #494 from yukinarit/dependabot/pip/pre-commit-eq-v3.5.0
  • 6ddd4a2 Merge pull request #485 from rtbs-dev/patch-1
  • efc9be8 Update pre-commit requirement from ==v2.10.1 to ==v3.5.0
  • d12ee5c Merge pull request #496 from yukinarit/dependabot/pip/more-itertools-approx-e...
  • 71e399c Merge pull request #495 from yukinarit/dependabot/pip/mypy-eq-1.9.0
  • f01f265 Merge pull request #493 from yukinarit/dependabot/pip/pytest-xdist-tw-3.5.0
  • 406996e Merge pull request #491 from yukinarit/dependabot/github_actions/codecov/code...
  • 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 4 months ago

Superseded by #633.