From f4aac336efb5cbe912e1c6ced4bdedac5aec78b4c8d62eb338bc90ccf8f7649d Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sat, 25 Jan 2025 21:10:38 +0000 Subject: [PATCH] - Update to 2.10.6 * Fixes - Fix JSON Schema reference collection with 'examples' keys by @Viicos in #11325 - Fix url python serialization by @sydney-runkle in #11331 - Changes from 2.10.5 * Fixes - Remove custom MRO implementation of Pydantic models by @Viicos in #11184 - Fix URL serialization for unions by @sydney-runkle in #11233 - Changes from 2.10.4 * Packaging - Bump pydantic-core to v2.27.2 by @davidhewitt in #11138 * Fixes - Fix for comparison of AnyUrl objects by @alexprabhat99 in #11082 - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by @Viicos in #11093 - Include JSON Schema input core schema in function schemas by @Viicos in #11085 - Add len to _BaseUrl to avoid TypeError by @Kharianne in #11111 - Make sure the type reference is removed from the seen references by @Viicos in #11143 - Changes from 2.10.3 * Fixes - Set fields when defer_build is set on Pydantic dataclasses by @Viicos in #10984 - Do not resolve the JSON Schema reference for dict core schema keys by @Viicos in #10989 - Use the globals of the function when evaluating the return type for PlainSerializer and WrapSerializer functions by @Viicos in #11008 - Fix host required enforcement for urls to be compatible with v2.9 behavior by @sydney-runkle in #11027 - Add a default_factory_takes_validated_data property to FieldInfo by @Viicos in #11034 - Fix url json schema in serialization mode by @sydney-runkle in #11035 - Changes from 2.10.2 * Fixes - Only evaluate FieldInfo annotations if required during schema building by @Viicos in #10769 - Do not evaluate annotations for private fields by @Viicos in #10962 - Support serialization as any for Secret types and Url types by @sydney-runkle in #10947 - Fix type hint of Field.default to be compatible with Python 3.8 and 3.9 by @Viicos in #10972 - Add hashing support for URL types by @sydney-runkle in #10975 - Hide BaseModel.__replace__ definition from type checkers by @Viicos in 10979 - Changes from 2.10.1 * Packaging - Bump pydantic-core version to v2.27.1 by @sydney-runkle in #10938 * Fixes - Use the correct frame when instantiating a parametrized TypeAdapter by @Viicos in #10893 - Relax check for validated data in default_factory utils by @sydney-runkle in #10909 - Fix type checking issue with model_fields and model_computed_fields by @sydney-runkle in #10911 - Use the parent configuration during schema generation for stdlib dataclasses by @sydney-runkle in #10928 - Use the globals of the function when evaluating the return type of serializers and computed_fields by @Viicos in #10929 - Fix URL constraint application by @sydney-runkle in #10922 - Fix URL equality with different validation methods by @sydney-runkle in #10934 - Fix JSON schema title when specified as '' by @sydney-runkle in #10936 - Fix python mode serialization for complex inference by @sydney-runkle in pydantic-core#1549 - Changes from 2.10.0 * Packaging - Bump pydantic-core to v2.27.0 by @sydney-runkle in #10825 - Replaced pdm with uv by @frfahim in #10727 * New Features - Support fractions.Fraction by @sydney-runkle in #10318 - Support Hashable for json validation by @sydney-runkle in #10324 - Add a SocketPath type for linux systems by @theunkn0wn1 in #10378 - Allow arbitrary refs in JSON schema examples by @sydney-runkle in #10417 - Support defer_build for Pydantic dataclasses by @Viicos in #10313 - Adding v1 / v2 incompatibility warning for nested v1 model by @sydney-runkle in #10431 - Add support for unpacked TypedDict to type hint variadic keyword arguments with @validate_call by @Viicos in #10416 - Support compiled patterns in protected_namespaces by @sydney-runkle in #10522 - Add support for propertyNames in JSON schema by @FlorianSW in #10478 - Adding __replace__ protocol for Python 3.13+ support by @sydney-runkle in #10596 - Expose public sort method for JSON schema generation by @sydney-runkle in #10595 - Add runtime validation of @validate_call callable argument by @kc0506 in #10627 - Add experimental_allow_partial support by @samuelcolvin in #10748 - Support default factories taking validated data as an argument by @Viicos in #10678 - Allow subclassing ValidationError and PydanticCustomError by @Youssefares in pydantic/pydantic-core#1413 - Add trailing-strings support to experimental_allow_partial by @sydney-runkle in #10825 - Add rebuild() method for TypeAdapter and simplify defer_build patterns by @sydney-runkle in #10537 - Improve TypeAdapter instance repr by @sydney-runkle in #10872 * Changes - Don't allow customization of SchemaGenerator until interface is more stable by @sydney-runkle in #10303 - Cleanly defer_build on TypeAdapters, removing experimental flag by @sydney-runkle in #10329 - Fix mro of generic subclass by @kc0506 in #10100 - Strip whitespaces on JSON Schema title generation by @sydney-runkle in #10404 - Use b64decode and b64encode for Base64Bytes type by @sydney-runkle in #10486 - Relax protected namespace config default by @sydney-runkle in #10441 - Revalidate parametrized generics if instance's origin is subclass of OG class by @sydney-runkle in #10666 - Warn if configuration is specified on the @dataclass decorator and with the __pydantic_config__ attribute by @sydney-runkle in #10406 - Recommend against using Ellipsis (...) with Field by @Viicos in #10661 - Migrate to subclassing instead of annotated approach for pydantic url types by @sydney-runkle in #10662 - Change JSON schema generation of Literals and Enums by @Viicos in #10692 - Simplify unions involving Any or Never when replacing type variables by @Viicos in #10338 - Do not require padding when decoding base64 bytes by @bschoenmaeckers in pydantic/pydantic-core#1448 - Support dates all the way to 1BC by @changhc in pydantic/speedate#77 * Performance - Schema cleaning: skip unnecessary copies during schema walking by @Viicos in #10286 - Refactor namespace logic for annotations evaluation by @Viicos in #10530 - Improve email regexp on edge cases by @AlekseyLobanov in #10601 - CoreMetadata refactor with an emphasis on documentation, schema build time performance, and reducing complexity by @sydney-runkle in #10675 * Fixes - Remove guarding check on computed_field with field_serializer by @nix010 in #10390 - Fix Predicate issue in v2.9.0 by @sydney-runkle in #10321 - Fixing annotated-types bound by @sydney-runkle in #10327 - Turn tzdata install requirement into optional timezone dependency by @jakob-keller in #10331 - Use correct types namespace when building namedtuple core schemas by @Viicos in #10337 - Fix evaluation of stringified annotations during namespace inspection by @Viicos in #10347 - Fix IncEx type alias definition by @Viicos in #10339 - Do not error when trying to evaluate annotations of private attributes by @Viicos in #10358 - Fix nested type statement by @kc0506 in #10369 - Improve typing of ModelMetaclass.mro by @Viicos in #10372 - Fix class access of deprecated computed_fields by @Viicos in #10391 - Make sure inspect.iscoroutinefunction works on coroutines decorated with @validate_call by @MovisLi in #10374 - Fix NameError when using validate_call with PEP 695 on a class by @kc0506 in #10380 - Fix ZoneInfo with various invalid types by @sydney-runkle in #10408 - Fix PydanticUserError on empty model_config with annotations by @cdwilson in #10412 - Fix variance issue in _IncEx type alias, only allow True by @Viicos in #10414 - Fix serialization schema generation when using PlainValidator by @Viicos in #10427 - Fix schema generation error when serialization schema holds references by @Viicos in #10444 - Inline references if possible when generating schema for json_schema_input_type by @Viicos in #10439 - Fix recursive arguments in Representation by @Viicos in #10480 - Fix representation for builtin function types by @kschwab in #10479 - Add python validators for decimal constraints (max_digits and decimal_places) by @sydney-runkle in #10506 - Only fetch __pydantic_core_schema__ from the current class during schema generation by @Viicos in #10518 - Fix stacklevel on deprecation warnings for BaseModel by @sydney-runkle in #10520 - Fix warning stacklevel in BaseModel.__init__ by @Viicos in #10526 - Improve error handling for in-evaluable refs for discriminator application by @sydney-runkle in #10440 - Change the signature of ConfigWrapper.core_config to take the title directly by @Viicos in #10562 - Do not use the previous config from the stack for dataclasses without config by @Viicos in #10576 - Fix serialization for IP types with mode='python' by @sydney-runkle in #10594 - Support constraint application for Base64Etc types by @sydney-runkle in #10584 - Fix validate_call ignoring Field in Annotated by @kc0506 in #10610 - Raise an error when Self is invalid by @kc0506 in #10609 - Using core_schema.InvalidSchema instead of metadata injection + checks by @sydney-runkle in [#1... OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=66 --- .gitattributes | 23 + .gitignore | 1 + _multibuild | 3 + pydantic-2.10.6.tar.gz | 3 + pydantic-2.8.0.tar.gz | 3 + pydantic-2.9.2.tar.gz | 3 + python-pydantic.changes | 1031 +++++++++++++++++++++++++++++++++++++++ python-pydantic.spec | 95 ++++ 8 files changed, 1162 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 pydantic-2.10.6.tar.gz create mode 100644 pydantic-2.8.0.tar.gz create mode 100644 pydantic-2.9.2.tar.gz create mode 100644 python-pydantic.changes create mode 100644 python-pydantic.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/pydantic-2.10.6.tar.gz b/pydantic-2.10.6.tar.gz new file mode 100644 index 0000000..39737cd --- /dev/null +++ b/pydantic-2.10.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28ffd94bb9894daddef6cfcb167c78aa7bfb0bd39b22bc3f6db37950273923bf +size 3009610 diff --git a/pydantic-2.8.0.tar.gz b/pydantic-2.8.0.tar.gz new file mode 100644 index 0000000..61a280e --- /dev/null +++ b/pydantic-2.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:258c07f1b36b4840577fba9ad8ace243f3fb787c9619c003896b86cfeb519c06 +size 2788643 diff --git a/pydantic-2.9.2.tar.gz b/pydantic-2.9.2.tar.gz new file mode 100644 index 0000000..37013f2 --- /dev/null +++ b/pydantic-2.9.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d1eb7fe5fb8a55a6aea793b8c946c84c70ca084f22672f0fa2558932ec812dd +size 2826540 diff --git a/python-pydantic.changes b/python-pydantic.changes new file mode 100644 index 0000000..8d17fca --- /dev/null +++ b/python-pydantic.changes @@ -0,0 +1,1031 @@ +------------------------------------------------------------------- +Fri Jan 24 15:21:26 UTC 2025 - ecsos + +- Update to 2.10.6 + * Fixes + - Fix JSON Schema reference collection with 'examples' keys by @Viicos in #11325 + - Fix url python serialization by @sydney-runkle in #11331 +- Changes from 2.10.5 + * Fixes + - Remove custom MRO implementation of Pydantic models by @Viicos in #11184 + - Fix URL serialization for unions by @sydney-runkle in #11233 +- Changes from 2.10.4 + * Packaging + - Bump pydantic-core to v2.27.2 by @davidhewitt in #11138 + * Fixes + - Fix for comparison of AnyUrl objects by @alexprabhat99 in #11082 + - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by @Viicos in #11093 + - Include JSON Schema input core schema in function schemas by @Viicos in #11085 + - Add len to _BaseUrl to avoid TypeError by @Kharianne in #11111 + - Make sure the type reference is removed from the seen references by @Viicos in #11143 +- Changes from 2.10.3 + * Fixes + - Set fields when defer_build is set on Pydantic dataclasses by @Viicos in #10984 + - Do not resolve the JSON Schema reference for dict core schema keys by @Viicos in #10989 + - Use the globals of the function when evaluating the return type for PlainSerializer and WrapSerializer functions by @Viicos in #11008 + - Fix host required enforcement for urls to be compatible with v2.9 behavior by @sydney-runkle in #11027 + - Add a default_factory_takes_validated_data property to FieldInfo by @Viicos in #11034 + - Fix url json schema in serialization mode by @sydney-runkle in #11035 +- Changes from 2.10.2 + * Fixes + - Only evaluate FieldInfo annotations if required during schema building by @Viicos in #10769 + - Do not evaluate annotations for private fields by @Viicos in #10962 + - Support serialization as any for Secret types and Url types by @sydney-runkle in #10947 + - Fix type hint of Field.default to be compatible with Python 3.8 and 3.9 by @Viicos in #10972 + - Add hashing support for URL types by @sydney-runkle in #10975 + - Hide BaseModel.__replace__ definition from type checkers by @Viicos in 10979 +- Changes from 2.10.1 + * Packaging + - Bump pydantic-core version to v2.27.1 by @sydney-runkle in #10938 + * Fixes + - Use the correct frame when instantiating a parametrized TypeAdapter by @Viicos in #10893 + - Relax check for validated data in default_factory utils by @sydney-runkle in #10909 + - Fix type checking issue with model_fields and model_computed_fields by @sydney-runkle in #10911 + - Use the parent configuration during schema generation for stdlib dataclasses by @sydney-runkle in #10928 + - Use the globals of the function when evaluating the return type of serializers and computed_fields by @Viicos in #10929 + - Fix URL constraint application by @sydney-runkle in #10922 + - Fix URL equality with different validation methods by @sydney-runkle in #10934 + - Fix JSON schema title when specified as '' by @sydney-runkle in #10936 + - Fix python mode serialization for complex inference by @sydney-runkle in pydantic-core#1549 +- Changes from 2.10.0 + * Packaging + - Bump pydantic-core to v2.27.0 by @sydney-runkle in #10825 + - Replaced pdm with uv by @frfahim in #10727 + * New Features + - Support fractions.Fraction by @sydney-runkle in #10318 + - Support Hashable for json validation by @sydney-runkle in #10324 + - Add a SocketPath type for linux systems by @theunkn0wn1 in #10378 + - Allow arbitrary refs in JSON schema examples by @sydney-runkle in #10417 + - Support defer_build for Pydantic dataclasses by @Viicos in #10313 + - Adding v1 / v2 incompatibility warning for nested v1 model by @sydney-runkle in #10431 + - Add support for unpacked TypedDict to type hint variadic keyword arguments with @validate_call by @Viicos in #10416 + - Support compiled patterns in protected_namespaces by @sydney-runkle in #10522 + - Add support for propertyNames in JSON schema by @FlorianSW in #10478 + - Adding __replace__ protocol for Python 3.13+ support by @sydney-runkle in #10596 + - Expose public sort method for JSON schema generation by @sydney-runkle in #10595 + - Add runtime validation of @validate_call callable argument by @kc0506 in #10627 + - Add experimental_allow_partial support by @samuelcolvin in #10748 + - Support default factories taking validated data as an argument by @Viicos in #10678 + - Allow subclassing ValidationError and PydanticCustomError by @Youssefares in pydantic/pydantic-core#1413 + - Add trailing-strings support to experimental_allow_partial by @sydney-runkle in #10825 + - Add rebuild() method for TypeAdapter and simplify defer_build patterns by @sydney-runkle in #10537 + - Improve TypeAdapter instance repr by @sydney-runkle in #10872 + * Changes + - Don't allow customization of SchemaGenerator until interface is more stable by @sydney-runkle in #10303 + - Cleanly defer_build on TypeAdapters, removing experimental flag by @sydney-runkle in #10329 + - Fix mro of generic subclass by @kc0506 in #10100 + - Strip whitespaces on JSON Schema title generation by @sydney-runkle in #10404 + - Use b64decode and b64encode for Base64Bytes type by @sydney-runkle in #10486 + - Relax protected namespace config default by @sydney-runkle in #10441 + - Revalidate parametrized generics if instance's origin is subclass of OG class by @sydney-runkle in #10666 + - Warn if configuration is specified on the @dataclass decorator and with the __pydantic_config__ attribute by @sydney-runkle in #10406 + - Recommend against using Ellipsis (...) with Field by @Viicos in #10661 + - Migrate to subclassing instead of annotated approach for pydantic url types by @sydney-runkle in #10662 + - Change JSON schema generation of Literals and Enums by @Viicos in #10692 + - Simplify unions involving Any or Never when replacing type variables by @Viicos in #10338 + - Do not require padding when decoding base64 bytes by @bschoenmaeckers in pydantic/pydantic-core#1448 + - Support dates all the way to 1BC by @changhc in pydantic/speedate#77 + * Performance + - Schema cleaning: skip unnecessary copies during schema walking by @Viicos in #10286 + - Refactor namespace logic for annotations evaluation by @Viicos in #10530 + - Improve email regexp on edge cases by @AlekseyLobanov in #10601 + - CoreMetadata refactor with an emphasis on documentation, schema build time performance, and reducing complexity by @sydney-runkle in #10675 + * Fixes + - Remove guarding check on computed_field with field_serializer by @nix010 in #10390 + - Fix Predicate issue in v2.9.0 by @sydney-runkle in #10321 + - Fixing annotated-types bound by @sydney-runkle in #10327 + - Turn tzdata install requirement into optional timezone dependency by @jakob-keller in #10331 + - Use correct types namespace when building namedtuple core schemas by @Viicos in #10337 + - Fix evaluation of stringified annotations during namespace inspection by @Viicos in #10347 + - Fix IncEx type alias definition by @Viicos in #10339 + - Do not error when trying to evaluate annotations of private attributes by @Viicos in #10358 + - Fix nested type statement by @kc0506 in #10369 + - Improve typing of ModelMetaclass.mro by @Viicos in #10372 + - Fix class access of deprecated computed_fields by @Viicos in #10391 + - Make sure inspect.iscoroutinefunction works on coroutines decorated with @validate_call by @MovisLi in #10374 + - Fix NameError when using validate_call with PEP 695 on a class by @kc0506 in #10380 + - Fix ZoneInfo with various invalid types by @sydney-runkle in #10408 + - Fix PydanticUserError on empty model_config with annotations by @cdwilson in #10412 + - Fix variance issue in _IncEx type alias, only allow True by @Viicos in #10414 + - Fix serialization schema generation when using PlainValidator by @Viicos in #10427 + - Fix schema generation error when serialization schema holds references by @Viicos in #10444 + - Inline references if possible when generating schema for json_schema_input_type by @Viicos in #10439 + - Fix recursive arguments in Representation by @Viicos in #10480 + - Fix representation for builtin function types by @kschwab in #10479 + - Add python validators for decimal constraints (max_digits and decimal_places) by @sydney-runkle in #10506 + - Only fetch __pydantic_core_schema__ from the current class during schema generation by @Viicos in #10518 + - Fix stacklevel on deprecation warnings for BaseModel by @sydney-runkle in #10520 + - Fix warning stacklevel in BaseModel.__init__ by @Viicos in #10526 + - Improve error handling for in-evaluable refs for discriminator application by @sydney-runkle in #10440 + - Change the signature of ConfigWrapper.core_config to take the title directly by @Viicos in #10562 + - Do not use the previous config from the stack for dataclasses without config by @Viicos in #10576 + - Fix serialization for IP types with mode='python' by @sydney-runkle in #10594 + - Support constraint application for Base64Etc types by @sydney-runkle in #10584 + - Fix validate_call ignoring Field in Annotated by @kc0506 in #10610 + - Raise an error when Self is invalid by @kc0506 in #10609 + - Using core_schema.InvalidSchema instead of metadata injection + checks by @sydney-runkle in [#1... + +------------------------------------------------------------------- +Wed Oct 2 22:06:18 UTC 2024 - Meera Belur + +- update to 2.9.2. + * history updates + * v bump + * Fix `ZoneInfo` with various invalid types + * Fix variance issue in `_IncEx` type alias, only allow `True` + * Fix serialization schema generation when using `PlainValidator` + * Adding notes on designing callable discriminators + * Do not error when trying to evaluate annotations of private attributes + * bump + * Fix evaluation of stringified annotations during namespace inspection + * Use correct types namespace when building namedtuple core schemas + * Fix `IncEx` type alias definition + * Turn `tzdata` install requirement into optional `timezone` dependency + * Fixing `annotated-types` bound + * Fix `Predicate` issue in `v2.9.0` + * Prep for v2.9 release + * Fix lifecycle docs formatting + * Add schema generation benchmarks for models with custom serializers + * Add link for complex docs + * Respect `schema_generator` config value in `TypeAdapter` + * Ensure `__pydantic_complete__` is set when rebuilding dataclasses + * Try fix for `coverage` with hidden files + * Ensure coverage data artifact is correctly uploaded + * Support signature for wrap validators without `info` + * Reformat + add some benchmarks for annotated validators + * 👥 Update Pydantic People + * Fix typo in `orgs.toml` + * Add benchmarks for schema generation with custom validators + * Bump to `v2.9.0b2` + * Reorganize types ns functions + * Add in Hyperlint Base Style Guide + Spellcheck Configurations + * Bump `pydantic-core` to `v2.23.1` and other minor v bumps + * Use identity instead of equality after validating model in `__init__` + * Update ns stack with already copied ns + * Remove defaults filter for namespace + * Improve concepts documentation related to models + * Add benchmarks for direct model instantiation + * Fix parent namespace issue with model rebuilds + * Raise helpful warning when `self` isn't returned from model validator + * Fix history.md typos + * Minor reorganization of benchmarks + * Add comment reflecting unexpected union cache behavior that affects validation order + * Update release tweet to encourage usage for beta versions + * Add benchmarks for categories: serialization, validation and schema generation + * Fix a crash when cleaning the namespace in `ModelMetaclass` + * Fix warnings assertions to use `pytest.warns + * Prep for v2.9.0b1 release + * Add support for annotated_types.Not + * Add 'wss' for allowed schemes in NatsDsn + * Add missing imports in documentation example + * Bump `v1` version stub to `v1.10.18` + * Use `pppr` for insiders install + * Apply misc. improvements to "Get started" documentation + * Allow validators to customize validation JSON schema + * Update `mkdocs-material` to `9.5.31` + * Update and clean up several aspects of documentation tooling + * Fix key error with custom serializer + * Remove `initial_metadata` from internal metadata construct + * Remove unused environment variables in CI + * Make sure generated JSON Schemas are valid in tests + * Fix invalid JSON Schemas being generated for functions in certain scenarios + * Breaking Change: Fix JSON Schema generation for constrained dates + * Deprecate passing a dict to the `Examples` class + * Remove `typed_dict_cls` data from `CoreMetadata` + * Fix JSON Schema generation of fields with plain validators in serialization mode + * Fix JSON Schema `number` type for literal and enum schemas + * Remove docs about pydantic plugins + * Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links + * Improve runtime errors for string constraints like `pattern` for incompatible types + * Add support for stringified annotations when using `PrivateAttr` with `Annotated` + * Fix core schema simplification when serialization schemas are involved in specific scenarios + * Reorganize `BaseModel` annotations + * Support PDM `v2.18.1` + * Support complex number + * Add initial architeture documentation + * Handle `nullable` schemas with `serialization` schema available during JSON Schema generation + * Blacklist default globals to support exotic user code with `__` prefixed annotations + * Fix `ImportString` special cases + * Add dsn for Snowflake + * Temporary: cap `pdm` version for `mypy` tests + * Temporary: use `pdm` v2.17.3 to unblock CI failures + * Performance boost: skip caching parent namespaces in most cases + * Do not compute JSON Schema default when plain serializers are used with `when_used` set to `'json-unless-none'` and the default value is `None` + * Add warning for double `frozen` config setting on dataclass + * Revert "Experimental feature: opt-in fast build + * Remove default module globals from types namespace + * Docs update and warning frozen defined both + * Fix ip schema serialization logic + * Improve documentation of the `@computed_field` decorator + * Improve `pyright` tests, refactor model decorators signatures + * Update tests for changes to core + * Fix `PydanticDeprecatedSince26.since` argument + * Use `is_annotated` consistently + * Adding tests for TODO union serialization fixes + * Update `griffe_doclinks` plugin and misc. docs improvements + * Remove allOf JSON schema workarounds + * Remove logic to handle unused `__get_pydantic_core_schema__` signature + * Fix `frozen` enforcement for dataclasses + * Experimental feature: opt-in fast build + * Docs update for `types.py` + * Fix evaluation of `__pydantic_extra__` annotation in specific circumstances + * Removing old typing function + * Simplify internal generics logic - remove generator overhead + * Minor speedup / cleanup for internal `FieldInfo` functions + * Bump `pydantic-core` to v2.21.0 + * Raise a better user error when failing to evaluate a forward reference + * Add `Config.val_json_bytes` + * Enable more lint rules + * Clarify `model_serializer + * Fix `Mapping` and `MutableMapping` annotations to use mapping schema instead of dict schema + * Bump CodSpeedHQ/action from 2 to 3 + * Bump dawidd6/action-download-artifact from 3 to 6 + * Move `import_module` import in `__getattr__` + * Refactor application of deque annotations + * Using cached internal import for `BaseModel` + * 👥 Update Pydantic People + * Initial start at improving import times for modules, using caching primarily + * Add import / isinstance benchmarks + * Move annotation compatibility errors to validation phase + * Support compatibility with `pdm v2.17.0` + * Apply `strict=True` to `__init__` in mypy plugin + * Fix false positives on v1 models in mypy plugin for from_orm check requiring from_attributes=True config + * Fix typing for `IPvAnyAddress` and `IPvAnyInterface` + * ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in `pydantic/_internal/_config.py` + * ⚡️ Speed up function `apply_each_item_validators` by 100% in `pydantic/_internal/_generate_schema.py` + * Refactor annotation injection for known + * Fix Sequence ignoring discriminator + * chore: fix entry in `.gitignore` to let `make format` work correctly + * Move `decimal.Decimal` validation to `_generate_schema.py` + * Move date schemas to `_generate_schema.py` + * Simplify schema generation for uuid, url, and ip types + * Fix dataclass ignoring default_factory passed in Annotated + * Changed `BaseModel.model_validate_json` raises docstring to mention `ValidationError` instead of `ValueError` + * ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in `pydantic/_internal/_generate_schema.py` + * Move enum schema gen to `_generate_schema.py` for consistency + * Add class name to "has conflict" warnings + * `Counter` is handled as a mapping, not a sequence, fix `SequenceValidator` accordingly + * Fix type annotations for some potentially generic `GenerateSchema.match_type` options + * Simplify IP address schema in `_std_types_schema.py` + * Fix typo in `invalid-annotated-type` error code + * Fix _field_name_for_signature docstring + * ⚡️ Speed up function `_field_name_for_signature` by 37% in `pydantic/_internal/_signature.py` + * Add support for `ZoneInfo` + * Fix a typo on Validators doc page + * Adding new schema building benchmark + * Handle frozen fields on a per-field basis + * Allow usage of `type[Annotated[...]]` + * typing: fix recursive typing of `main.IncEnx` + * Fix `ComputedFieldInfo.wrapped_property` pointer when a property setter is assigned + * ⚡️ Speed up `dataclass + * Replace str type annotation with Any in validator factories in documentation on validators + * Fix typing issue with field_validator-decorated methods + * Prevent type error for exotic BaseModel/RootModel inheritance + * ⚡️ Speed up `ModelPrivateAttr.__set_name__ + * chore + * ⚡️ Speed up `multiple_of_validator + * Update functional_serializers.py Typo in Docs Example Simple Fix + * Update changelog to reflect breaking changes regarding PEP 570 + * Update history, bump version to alpha on `main` + * Fix issue with assertion caused by pluggable schema validator + * Fix #9706 PathLike with subtype + * Adding coverage comment + * docs: Add documentation for Semantic Version and Timezone Name + * Bump `pydantic-core` to `v2.20.1`, `pydantic-extra-types` to `v2.9.0` + * Remove spooky meetings file + * Pedantic typo correction within explanation of Pydantic's root in 'pedantic' in index.md + * Breaking Change: Merge `dict` type `json_schema_extra` + * Fix list constraint json schema application + * Respect use_enum_values on Literal types + * Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` + * Fix breaking change in `to_snake` from v2.7 -> v2.8 + * Fix labeler, again + * Hooky - switch to reviewers, labeler, fix ci bug + +------------------------------------------------------------------- +Fri Sep 27 02:01:34 UTC 2024 - Yogalakshmi Arunachalam + +- update to 2.8.2. + * Fix issue with assertion caused by pluggable schema validator by @dmontagu in #9838 + +------------------------------------------------------------------- +Mon Jul 1 16:29:01 UTC 2024 - Dirk Müller + +- update to 2.8.0: + * Update citation version automatically with new releases + * Bump pyright to `v1.1.367` and add type checking tests for + pipeline API + * Update `pydantic.v1` stub to `v1.10.17` + * General package updates to prep for `v2.8.0b1` + * Bump `pydantic-core` to `v2.20.0` + * Add support for Python 3.13 + * Update `pdm` version used for `pdm.lock` to v2.16.1 + * Update to `ruff` `v0.4.8` + * Experimental: support `defer_build` for `TypeAdapter` + * Implement `deprecated` field in json schema + * Experimental: Add pipeline API + * Add support for programmatic title generation + * Implement `fail_fast` feature + * Add `ser_json_inf_nan='strings'` mode to produce valid JSON + * Replace `__spec__.parent` with `__package__` + * Fix Outputted Model JSON Schema for `Sequence` type + * Fix typing of `_frame_depth` + * Make `ImportString` json schema compatible + * Hide private attributes (`PrivateAttr`) from `__init__` + signature in type checkers + * Make detection of `TypeVar` defaults robust to the CPython + `PEP-696` implementation + * Fix usage of `PlainSerializer` with builtin types + * Add more robust custom validation examples + * Fix ignored `strict` specification for + `StringConstraint(strict=False)` + * Use `Self` where possible + * Do not alter `RootModel.model_construct` signature in the + `mypy` plugin + * Fixed type hint of `validation_context` + * Support context being passed to TypeAdapter's + `dump_json`/`dump_python` + * Updates type signature for `Field()` constructor + * Improve builtin alias generators + * Fix typing of `TypeAdapter` + * Add fallback default value for private fields in + `__setstate__` of BaseModel + * Support `PEP 746` + * Allow validator and serializer functions to have default + values + * Fix bug with mypy plugin's handling of covariant `TypeVar` + fields + * Fix multiple annotation / constraint application logic + * Respect `regex` flags in validation and json schema + * Fix type hint on `IpvAnyAddress` + * Allow a field specifier on `__pydantic_extra__` + * Use normalized case for file path comparison + * Modify constraint application logic to allow field + constraints on `Optional[Decimal]` + * `validate_call` type params fix + * Check all warnings returned by pytest.warns() + * Reuse `re.Pattern` object in regex patterns to allow for + regex flags +- drop support-pytest-8.patch (upstream) + +------------------------------------------------------------------- +Sun Jun 30 20:44:51 UTC 2024 - Dirk Müller + +- drop optional email-validator dependency + +------------------------------------------------------------------- +Mon Jun 24 15:45:05 UTC 2024 - Dirk Müller + +- update to 2.7.4: + * Bump `pydantic.v1` to `v1.10.16` reference + * Specify `recursive_guard` as kwarg in `FutureRef._evaluate` + +------------------------------------------------------------------- +Thu Jun 6 14:14:46 UTC 2024 - Dirk Müller + +- update to 2.7.3: + * Bump `pydantic-core` to `v2.18.4` + * Fix u style unicode strings in python @samuelcolvin in + pydantic/jiter#110 + * Replace `__spec__.parent` with `__package__` + * Fix validation of `int`s with leading unary minus + * Fix `str` subclass validation for enums + * Support `BigInt`s in `Literal`s and `Enum`s + * Fix: uuid - allow `str` subclass as input + +------------------------------------------------------------------- +Thu May 30 04:56:19 UTC 2024 - Steve Kowalik + +- Add patch support-pytest-8.patch: + * Support changes in pytest 8.x. + +------------------------------------------------------------------- +Sat Apr 27 07:45:31 UTC 2024 - Dirk Müller + +- update to 2.7.1: + * Bump `pydantic-core` to `v2.18.2` + * Ftp and Websocket connection strings support + * Use field description for RootModel schema description when + there is `…` + * Fix `validation_alias` behavior with `model_construct` for + `AliasChoices` and `AliasPath` + * Revert `typing.Literal` and import it outside the + TYPE_CHECKING block + * Fix `Secret` serialization schema, applicable for unions + * Fix `strict` application to `function-after` with + `use_enum_values` + * Address case where `model_construct` on a class which defines + `model_post_init` fails with `AttributeError` + * Fix `model_json_schema` with config types + * Support multiple zeros as an `int` + * Fix validation of `int`s with leading unary plus + * Fix interaction between `extra != 'ignore'` and + `from_attributes=True` + * Handle error from `Enum`'s `missing` function as + `ValidationError` + * Fix memory leak with `Iterable` validation + * Adopt `jiter` `v0.2.0` + * Extract attribute docstrings from `FieldInfo.description` + * Add a `with_config` decorator to comply with typing spec + * Allow an optional separator splitting the value and unit of + the result of `ByteSize.human_readable` + * Add generic `Secret` base type + * Make use of `Sphinx` inventories for cross references in docs + * Add environment variable to disable plugins + * Add support for `deprecated` fields + * Allow `field_serializer('*')` + * Handle a case when `model_config` is defined as a model + property + * Update `create_model()` to support `typing.Annotated` as + input + * Add `ClickhouseDsn` support + * Add support for `re.Pattern[str]` to `pattern` field + * Support for `serialize_as_any` runtime setting + * Add support for `typing.Self` + * Ability to pass `context` to serialization + * Add feedback widget to docs with flarelytics integration + * Support for parsing partial JSON strings in Python + * Add support for field level number to str coercion option + * Update `warnings` parameter for serialization utilities to + allow raising a warning + +------------------------------------------------------------------- +Sat Mar 16 11:56:01 UTC 2024 - Dirk Müller + +- update to 2.6.4: + * Fix usage of `AliasGenerator` with `computed_field` decorator + * Fix nested discriminated union schema gen, pt 2 + * Fix bug with no_strict_optional=True caused by API deferral + +------------------------------------------------------------------- +Thu Mar 7 03:28:00 UTC 2024 - Steve Kowalik + +- Update to 2.6.3 (bsc#1222806, CVE-2024-3772): + * Fix inheriting `Field` annotations in dataclasses + * Fix warning for tuple of wrong size in `Union` + * Fix `computed_field` JSON serializer `exclude_none` behavior + * Check for `email-validator` version >= 2.0 + * Add `NatsDsn` + * Add `ConfigDict.ser_json_inf_nan` + * Support `AliasGenerator` usage + * Support `yyyy-MM-DD` datetime parsing + * Added bits conversions to the `ByteSize` class + * Add `eval_type_backport` to handle union operator + * Add support for `dataclass` fields `init` + * Implement pickling for `ValidationError` + * Add unified tuple validator that can handle "variadic" tuples via PEP-646 + * Drop Python3.7 support + * Make `@validate_call` return a function instead of a custom descriptor + * Introducing `classproperty` decorator for `model_computed_fields` + * Move `getattr` warning in deprecated `BaseConfig` + * Only hash `model_fields`, not whole `__dict__` + * Fix overload position of `computed_field` + * Fix issue `unittest.mock` deprecation warnings + * Fix `to_snake` conversion + * Add support for field `alias` in `dataclass` signature + * Fix ordering of keys in `__dict__` with `model_construct` call + * Fix usage of `@deprecated` + * Add more support for private attributes in `model_construct` call + * Support `pydantic.Field(repr=False)` in dataclasses + * Override `dataclass_transform` behavior for `RootModel` + * Refactor signature generation for simplicity + * Fix ordering bug of PlainValidator annotation + * Fix `exclude_none` for json serialization of `computed_field`s + * Support yyyy-MM-DD string for datetimes + * Fix memory leak with recursive definitions creating reference cycles + * Add `ConfigDict.ser_json_inf_nan` + * Fix validation of `Literal` from JSON keys when used as `dict` key + * Fix bug re `custom_init` on members of `Union` + * Fix `JsonValue` `bool` serialization + * Fix handling of unhashable inputs with `Literal` in `Union`s + Fix package description limit + * Allow plugins to catch non `ValidationError` errors + * Added `validation_error_cause` to config + * Allow `str` as argument to `Discriminator` + * Add `SchemaSerializer.__reduce__` method to enable pickle serialization + * Properly rebuild the `FieldInfo` when a forward ref gets evaluated + * Fix failure to load `SecretStr` from JSON (regression in v2.4) + * Fix `defer_build` behavior with `TypeAdapter` + * Fix: update `TypeVar` handling when default is not set + * Raise an error when deleting frozen (model) fields + * Use generated alias for aliases that are not specified otherwise + * Fix: support `pydantic.Field(kw_only=True)` with inherited dataclasses + * Support `validate_call` decorator for methods in classes with `__slots__` + * Fix pydantic dataclass problem with `dataclasses.field` default + * Support `|` operator (Union) in PydanticRecursiveRef + * Add support for `NotRequired` generics in `TypedDict` + * Added fix for signature of inherited dataclass + * `PrivateAttr` is passed from `Annotated` default position + * Don't decode bytes (which may not be UTF8) when displaying SecretBytes + * Use `classmethod` instead of `classmethod[Any, Any, Any]` + * Clearer error on invalid Plugin + * Correct pydantic dataclasses import + * Fix `definition-ref` bug with `Dict` keys + * Don't accept `NaN` in float and decimal constraints + * Add `lax_str` and `lax_int` support for enum values not inherited + from str/int + * Fix: proper pluralization in `ValidationError` messages + * Disallow the string `'-'` as `datetime` input + * Fix: NaN and Inf float serialization + * Implement optional `number` to `str` coercion + * Add `BaseModel.model_validate_strings` and `TypeAdapter.validate_strings` + * Add Pydantic `plugins` experimental implementation + * Do not override `model_post_init` in subclass with private attrs + * Fix config detection for `TypedDict` from grandparent classes + * Fix hash function generation for frozen models with unusual MRO + * Make `strict` config overridable in field for Path + * Use `ser_json_` on default in `GenerateJsonSchema` + * Adding a check that alias is validated as an identifier for Python + * Raise an error when computed field overrides field + * Enforce behavior of private attributes having double leading underscore + * Fix generic dataclass fields mutation bug (when using `TypeAdapter`) + * Fix `TypeError` on `model_validator` in `wrap` mode + * Fixed a regular expression denial of service issue by limiting whitespaces + * Fix handling of `UUID` values having `UUID.version=None` + * Fix `__iter__` returning private `cached_property` info + * Make ModelWrapValidator protocols generic + * Make shadowing attributes a warning instead of an error + * Document `Base64Str` and `Base64Bytes` + * Fix `config.defer_build` for serialization first cases + * Support `__get_validators__` + * Replace MiMalloc w/ default allocator + * Cleaner error for invalid input to `Path` fields + * Add section about Constrained classes to the Migration Guide + * Fix issue where generic models couldn't be parametrized with BaseModel + * add field_serializer to computed_field + * fix dataclass annotated before validator called twice + * Add benchmark representing FastAPI startup time + * Fix json_encoders for Enum subclasses + * Revert "Fix default port for mongosrv DSNs (#6827)" + * Do not require `validate_assignment` to use `Field.frozen` + * Fix generic computed fields + * Handle non-json native enum values + * Include Field extra keys name in warning + * Skip FieldInfo merging when unnecessary + * Add `StringConstraints` for use as Annotated metadata + * Fix incorrect subclass check for secretstr + * Mypy plugin for settings + * fast-path checking finite decimals + * Fix pydantic dataclasses that use slots with default values + * Fix inheritance of hash function for frozen models + * Error if an invalid field name is used with Field + * Add `GenericModel` to `MOVED_IN_V2` + * remove email validation from the north star benchmark + * Fix default port for mongosrv DSNs + * Fix serialization issue with `InstanceOf` + * Add back support for `json_encoders` + * Use `WeakValueDictionary` to fix generic memory leak + * Add `config.defer_build` to optionally make model building lazy + * Revise the section on required / optional / nullable fields. + * Replace TransformSchema with GetPydanticSchema + * Fix serialization for IPvAny + * Touch up Decimal validator + * Handle function validators in a discriminated union + * Fix pydantic dataclass problem with dataclasses.field default_factory + * Produce more accurate signatures for pydantic dataclasses + * Ignore unrecognized fields from dataclasses metadata +- Drop patches Fix-Python-3.12-test-failures.patch and + ignore-urllib3-pyopenssl-warning.patch +- Switch to pyproject macros. +- Inject mulitbuild. + +------------------------------------------------------------------- +Mon Jan 22 09:12:28 UTC 2024 - Dirk Müller + +- update to 1.10.14: + * Update install.md + * Fixes ci to only deploy docs on release + * Fix cached_property handling in dataclasses when copied + +------------------------------------------------------------------- +Thu Nov 16 09:58:50 UTC 2023 - Dirk Müller + +- update to 1.10.13: + * Fix: Add max length check to `pydantic.validate_email` + * Docs: Fix pip commands to install v1 + * Fixes the `maxlen` property being dropped on `deque` + validation. Happened only if the deque item has been typed. + Changes the `_validate_sequence_like` func, #6581 by + * Importing create_model in tools.py through relative path + instead of absolute path - so that it doesn't import V2 code + when copied over to V2 branch, #6361 by @SharathHuddar + * Add Pydantic `Json` field support to settings management, + * Fixed literal validator errors for unhashable values + * Fixed bug with generics receiving forward refs + * Update install method of FastAPI for internal tests in CI, + #6117 by @Kludex +- add Fix-Python-3.12-test-failures.patch: fix test fails with + Python 3.12 + +------------------------------------------------------------------- +Wed Jul 5 13:07:17 UTC 2023 - Dirk Müller + +- update to 1.10.9: + * Fix trailing zeros not ignored in Decimal validation + * Fix mypy plugin for v1.4.0 + * Add future and past date hypothesis strategies + * Discourage usage of Cython 3 with Pydantic 1.x + +------------------------------------------------------------------- +Thu May 25 07:32:32 UTC 2023 - Daniel Garcia + +- Update to v1.10.8 + * Fix a bug in `Literal` usage with `typing-extension==4.6.0`, #5826 + by @hramezani + * This solves the (closed) issue #3849 where aliased fields that use + discriminated union fail to validate when the data contains the + non-aliased field name, #5736 by @benwah + * Update email-validator dependency to >=2.0.0post2, #5627 by + @adriangb + * update `AnyClassMethod` for changes in + [python/typeshed#9771](https://github.com/python/typeshed/issues/9771), + #5505 by @ITProKyle + +------------------------------------------------------------------- +Mon Mar 27 10:00:20 UTC 2023 - Dirk Müller + +- update to 1.10.7: + * Fix creating schema from model using `ConstrainedStr` with + `regex` as dict key + * Address bug in mypy plugin caused by + explicit_package_bases=True + * Add implicit defaults in the mypy plugin for Field with no + default argument + * Fix schema generated for Enum values used as Literals in + discriminated unions + * Fix mypy failures caused by the pydantic mypy plugin when + users define `from_orm` in their own classes + * Fix `InitVar` usage with pydantic dataclasses, mypy version + `1.1.1` and the custom mypy plugin + * Implement logic to support creating validators from non + standard callables by using defaults to identify them and + unwrapping `functools.partial` and `functools.partialmethod` + when checking the signature + * Fix mypy plugin for v1.1.1, and fix `dataclass_transform` + decorator for pydantic dataclasses + * Raise `ValidationError`, not `ConfigError`, when a + discriminator value is unhashable + * Fix broken parametrized bases handling with `GenericModel`s + with complex sets of models + * Invalidate mypy cache if plugin config changes + * Fix `RecursionError` when deep-copying dataclass types + wrapped by pydantic + * Fix `X | Y` union syntax breaking `GenericModel` + +------------------------------------------------------------------- +Thu Mar 16 07:18:03 UTC 2023 - Daniel Garcia + +- Disable DeprecationWarning in tests to avoid error with the latest + setuptools and pkg_resources deprecation + +------------------------------------------------------------------- +Mon Jan 2 20:22:05 UTC 2023 - Dirk Müller + +- update to v1.10.4: + * Change dependency to typing-extensions>=4.2.0, #4885 by @samuelcolvin + * fix parsing of custom root models, #4883 by @gou177 + * fix: use dataclass proxy for frozen or empty dataclasses, #4878 by + @PrettyWood + * Fix schema and schema_json on models where a model instance is a one of + default values, #4781 by @Bobronium + * Add Jina AI to sponsors on docs index page, #4767 by @samuelcolvin + * fix: support assignment on DataclassProxy, #4695 by @PrettyWood + * Add postgresql+psycopg as allowed scheme for PostgreDsn to make it + usable with SQLAlchemy 2, #4689 by @morian + * Allow dict schemas to have both patternProperties and + additionalProperties, #4641 by @jparise + * Fixes error passing None for optional lists with unique_items, #4568 by + @mfulgo + * Fix GenericModel with Callable param raising a TypeError, #4551 by + @mfulgo + * Fix field regex with StrictStr type annotation, #4538 by @sisp + * Correct dataclass_transform keyword argument name from field_descriptors + to field_specifiers, #4500 by @samuelcolvin + * fix: avoid multiple calls of __post_init__ when dataclasses are + inherited, #4487 by @PrettyWood + * Reduce the size of binary wheels, #2276 by @samuelcolvin + +------------------------------------------------------------------- +Fri Sep 9 00:47:25 UTC 2022 - Steve Kowalik + +- Update to 1.10.2: + * Prevent long (length > 4_300) strings/bytes as input to int fields, see + python/cpython#95778 and CVE-2020-10735 + * fix: dataclass wrapper was not always called + * Use tomllib on Python 3.11 when parsing mypy configuration + * Basic fix of GenericModel cache to detect order of arguments in Union models + * Fix mypy plugin when using bare types like list and dict as default_factory + * Add __hash__ method to pydancic.color.Color class + * Refactor the whole pydantic dataclass decorator to really act like its + standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes + comparison with its non-validated version possible. + * Now that Config.extra is supported, dataclass ignores by default extra + arguments (like BaseModel) + * Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs + * Allow for custom parsing of environment variables via parse_env_var in + Config + * Fix StrictStr does not raise ValidationError when max_length is present + in Field + * Make SecretStr and SecretBytes hashable + * Fix StrictBytes does not raise ValidationError when max_length is present + in Field + * Add support for bare type + * Support Python 3.11, including binaries for 3.11 in PyPI + * Add support for re.Pattern + * Fix __post_init_post_parse__ is incorrectly passed keyword arguments when + no __post_init__ is defined + * Fix implicitly importing ForwardRef and Callable from pydantic.typing + instead of typing and also expose MappingIntStrAny + * remove Any types from the dataclass decorator so it can be used with the + disallow_any_expr mypy option + * fix "extra fields not permitted" error when dataclass with Extra.forbid + is validated multiple times + * Discriminated union models now use oneOf instead of anyOf when generating + OpenAPI schema definitions + * Allow type checkers to infer inner type of Json type. Json[list[str]] will + be now inferred as list[str] + * Allow empty string aliases by using a alias is not None check, rather + than bool(alias) + * Use parent model's Config when validating nested NamedTuple fields + * Update BaseModel.construct to work with aliased Fields + * Catch certain raised errors in smart_deepcopy and revert to deepcopy if so + * Add Config.anystr_upper and to_upper kwarg to constr and conbytes + * Fix JSON schema for set and frozenset when they include default values + * Teach the mypy plugin that methods decorated by @validator are classmethods + * Improve mypy plugin's ability to detect required fields + * Support fields of type Type[] in schema + * Adds reserved word check to signature generation logic + * Fix Json strategy failure for the complex nested field + * Add JSON-compatible float constraint allow_inf_nan + * Remove undefined behaviour when env_prefix had characters in common with + env_nested_delimiter + * Support generics model with create_model + * allow submodels to overwrite extra field info + * support overwriting dunder attributes of BaseModel instances + * Support kw_only in dataclasses + * Add comparison method for Color class + * created new function to_lower_camel() for "non pascal case" camel case + * Add checks to default and default_factory arguments in Mypy plugin + * Fix parsing of very small numeric timedelta values + * Update SecretsSettingsSource to respect config.case_sensitive + * Add support for multiple dotenv files + * Raise an explicit ConfigError when multiple fields are incorrectly set + for a single validator + * Allow ellipsis on Fields inside Annotated for TypedDicts required + * Catch overflow errors in int_validator + * validate_arguments decorator now supports alias + * Add ability to use Final in a field type annotation + * Update requirement to typing_extensions>=4.1.0 to guarantee + dataclass_transform is available +- Remove patch remove-pkg_resources.patch: + * Included upstream. +- Add patch ignore-urllib3-pyopenssl-warning.patch: + * Ignore DeprecationWarning until requests-toolbelt is fixed. +- Update {Build,}Requires to email-validator package. + +------------------------------------------------------------------- +Tue Jul 19 09:20:43 UTC 2022 - Steve Kowalik + +- Add patch remove-pkg_resources.patch: + * Use packaging, not pkg_resources for versions. + +------------------------------------------------------------------- +Sat Jun 18 13:37:28 UTC 2022 - Michael Ströder + +- Update to 1.9.1 + * Limit the size of generics._generic_types_cache and generics._assigned_parameters + to avoid unlimited increase in memory usage, #4083 by @samuelcolvin + * Add Jupyverse and FPS as Jupyter projects using pydantic, #4082 by @davidbrochart + * Speedup __isinstancecheck__ on pydantic models when the type is not a model, + may also avoid memory "leaks", #4081 by @samuelcolvin + * Fix in-place modification of FieldInfo that caused problems with + PEP 593 type aliases, #4067 by @adriangb + * Add support for autocomplete in VS Code via __dataclass_transform__ + when using pydantic.dataclasses.dataclass, #4006 by @giuliano-oliveira + * Remove benchmarks from codebase and docs, #3973 by @samuelcolvin + * Typing checking with pyright in CI, improve docs on vscode/pylance/pyright, #3972 by @samuelcolvin + * Fix nested Python dataclass schema regression, #3819 by @himbeles + * Update documentation about lazy evaluation of sources for Settings, #3806 by @garyd203 + * Prevent subclasses of bytes being converted to bytes, #3706 by @samuelcolvin + * Fixed "error checking inheritance of" when using PEP585 and PEP604 type hints, #3681 by @aleksul + * Allow self referencing ClassVars in models, #3679 by @samuelcolvin + * Fix issue with self-referencing dataclass, #3675 by @uriyyo + * Include non-standard port numbers in rendered URLs, #3652 by @dolfinus + * Config.copy_on_model_validation does a deep copy and not a shallow one, #3641 by @PrettyWood + * fix: clarify that discriminated unions do not support singletons, #3636 by @tommilligan + * Add read_text(encoding='utf-8') for setup.py, #3625 by @hswong3i + * Fix JSON Schema generation for Discriminated Unions within lists, #3608 by @samuelcolvin + +------------------------------------------------------------------- +Wed Feb 2 04:12:37 UTC 2022 - Steve Kowalik + +- Skip some truculent tests. +- Clean up non-required Python 3.6 {Build,}Requires. + +------------------------------------------------------------------- +Wed Jan 5 16:08:23 UTC 2022 - Ben Greiner + +- Update to 1.9.0 + * add python 3.10 support, #2885 by @PrettyWood + * Discriminated unions, #619 by @PrettyWood + * Config.smart_union for better union logic, #2092 by @PrettyWood + * Binaries for Macos M1 CPUs, #3498 by @samuelcolvin + * Complex types can be set via nested environment variables, e.g. + foo___bar, #3159 by @Air-Mark + * add a dark mode to pydantic documentation, #2913 by @gbdlin + * Add support for autocomplete in VS Code via + __dataclass_transform__, #2721 by @tiangolo + * Add "exclude" as a field parameter so that it can be configured + using model config, #660 by @daviskirk +- Full changelog in HISTORY.md + +------------------------------------------------------------------- +Thu May 13 11:07:30 UTC 2021 - Markéta Machová + +- Update to 1.8.2 (bsc#1186019, CVE-2021-29510) + * Security fix: Fix date and datetime parsing so passing either 'infinity' + or float('inf') (or their negative values) does not cause an infinite loop + * Allow passing json_encoders in class kwargs + * support arbitrary types with custom __eq__ + * Hypothesis plugin for testing + * support for NamedTuple and TypedDict + * Support Annotated hints on model fields + * frozen parameter on Config to allow models to be hashed + * Breaking Change, remove old deprecation aliases from v1 + * Breaking Change: always validate only first sublevel items with each_item + * many more changes, see upstream changelog + +------------------------------------------------------------------- +Fri Jan 8 13:10:40 UTC 2021 - Markéta Machová + +- Update to 1.7.3 + * python 3.9 support + * Private model attributes + * "secrets files" support in BaseSettings + * convert stdlib dataclasses to pydantic dataclasses and use stdlib dataclasses in models + * few bugfixes +- Drop validate-config.patch + +------------------------------------------------------------------- +Mon Dec 7 01:00:22 UTC 2020 - Benjamin Greiner + +- Add dataclasses requirement for Python 3.6: Fixes Leap 15.2 build + and future TW python36 flavor gh#openSUSE/python-rpm-macros#66 + +------------------------------------------------------------------- +Mon Oct 12 08:58:44 UTC 2020 - Marketa Calabkova + +- Add upstream patch validate-config.patch which fixes build with new pytest + +------------------------------------------------------------------- +Sun Aug 2 15:14:47 UTC 2020 - John Vandenberg + +- Add optional test dependencies +- Recommend optional runtime dependency python-typing_extensions +- Remove unused runtime dependency ujson +- Update to v1.6.1 + * fix validation and parsing of nested models with default_factory +- from v1.6 + * Modify validators for conlist and conset to not have always=True + * Add port check to AnyUrl (can't exceed 65536) ports are 16 insigned + bits: 0 <= port <= 2**16-1 src: rfc793 header format + * Document default regex anchoring semantics + * Use chain.from_iterable in class_validators.py. This is a faster + and more idiomatic way of using itertools.chain. Instead of computing + all the items in the iterable and storing them in memory, they are + computed one-by-one and never stored as a huge list. + This can save on both runtime and memory space + * Add conset(), analogous to conlist() + * make pydantic errors (un)pickable + * Allow custom encoding for dotenv files + * Ensure SchemaExtraCallable is always defined to get type hints on BaseConfig + * Update datetime parser to support negative timestamps + * Update mypy, remove AnyType alias for Type[Any] + * Adjust handling of root validators so that errors are aggregated + from all failing root validators, instead of reporting on only + the first root validator to fail + * Make __modify_schema__ on Enums apply to the enum schema rather + than fields that use the enum + * Fix behavior of __all__ key when used in conjunction with index + keys in advanced include/exclude of fields that are sequences + * Subclass validators do not run when referencing a List field + defined in a parent class when each_item=True + * change schema.field_class_to_schema to support frozenset in schema + * Call __modify_schema__ only for the field schema + * Move the assignment of field.validate_always in fields.py so the + always parameter of validators work on inheritance + * Added support for UUID instantiation through 16 byte strings such + as b'\x12\x34\x56\x78' * 4. + This was done to support BINARY(16) columns in sqlalchemy + * Add a test assertion that default_factory can return a singleton + * Add NameEmail.__eq__ so duplicate NameEmail instances are + evaluated as equal + * Add datamodel-code-generator link in pydantic document site + * Added a "Discussion of Pydantic" section to the documentation, + with a link to "Pydantic Introduction" video + * Avoid some side effects of default_factory by calling it only + once if possible and by not setting a default value in the schema + * Added docs about dumping dataclasses to JSON + * Make BaseModel.__signature__ class-only, so getting __signature__ + from model instance will raise AttributeError + * include 'format': 'password' in the schema for secret types + * Modify schema constraints on ConstrainedFloat so that + exclusiveMinimum and minimum are not included in the schema if + they are equal to -math.inf and exclusiveMaximum and maximum are + not included if they are equal to math.inf + * Squash internal __root__ dicts in .dict() (and, by extension, in .json()) + * Move const validator to post-validators so it validates the parsed value + * Fix model validation to handle nested literals + * Remove user_required = True from RedisDsn, neither user nor + password are required + * Remove extra allOf from schema for fields with Union and custom Field + * Updates OpenAPI schema generation to output all enums as separate + models. Instead of inlining the enum values in the model schema, + models now use a $ref property to point to the enum definition + +------------------------------------------------------------------- +Tue Jun 9 19:24:27 UTC 2020 - Dirk Mueller + +- update to 1.5.1 + * Signature generation with `extra: allow` never uses a field name, #1418 by @prettywood + * Avoid mutating `Field` default value, #1412 by @prettywood + +------------------------------------------------------------------- +Sat Apr 18 19:11:39 UTC 2020 - Martin Hauke + +- Update to version 1.5 + * Make includes/excludes arguments for .dict(), ._iter(), ..., + immutable + * Always use a field's real name with includes/excludes in + model._iter(), regardless of by_alias, #1397 by @AlexECX + * Update constr regex example to include start and end lines, + * Confirm that shallow model.copy() does make a shallow copy of + attributes + * Renaming model_name argument of main.create_model() + to __model_name to allow using model_name as a field name + * Replace raising of exception to silent passing for non-Var + attributes in mypy plugin + * Remove typing_extensions dependency for python 3.8 + * Make SecretStr and SecretBytes initialization idempotent + * document making secret types dumpable using the json method + * fix card number length check in PaymentCardNumber, + PaymentCardBrand now inherits from str + * Have BaseModel inherit from Representation to make mypy happy + when overriding __str__ + * Allow None as input to all optional list fields + * Add datetime field to default_factory example + * Allow subclasses of known types to be encoded with superclass + encoder + * Exclude exported fields from all elements of a list/tuple of + submodels/dicts with '__all__', #1286 by @masalim2 + * Add pydantic.color.Color objects as available input for Color + fields + * In examples, type nullable fields as Optional, so that these + are valid mypy annotations + * Make pattern_validator() accept pre-compiled Pattern objects. + Fix str_validator() return type to str + * Support instance methods and class methods with + @validate_arguments + * Add default_factory argument to Field to create a dynamic + default value by passing a zero-argument callable + * add support for NewType of List, Optional, etc + * fix mypy signature for root_validator + * Fixed parsing of nested 'custom root type' models + * Add validate_arguments function decorator which checks the + arguments to a function matches type annotations + * Add __signature__ to models + * Refactor ._iter() method, 10x speed boost for dict(model) + +------------------------------------------------------------------- +Thu Mar 19 13:25:26 UTC 2020 - Marketa Calabkova + +- Update to version 1.4 + * rename Schema to Field, make it a function to placate mypy + * Implement root_validator and rename root errors from __obj__ to __root__ + * Added initvars support to post_init_post_parse + * complete rewrite of URL parsing logic + * BaseSettings now uses the special env settings to define which + environment variables to read, not aliases + * add support for assert statements inside validators + * Change the precedence of aliases so child model aliases override + parent aliases, including using alias_generator + * Add a mypy plugin for type checking BaseModel.__init__ and more + * Add support for typing.Literal for Python 3.8 + * Add a ByteSize type for converting byte string (1GB) to plain bytes + * Add support for required Optional with name: Optional[AnyType] = Field(...) + and refactor ModelField creation to preserve required parameter value + * Add __eq__ to SecretStr and SecretBytes to allow "value equals" + * Add support for nested generic models + * alias precedence logic changed so aliases on a field always take + priority over an alias from alias_generator + * many more fixes and improvements + +------------------------------------------------------------------- +Fri Sep 20 09:56:55 UTC 2019 - Tomáš Chvátal + +- Format with spec-cleaner + +------------------------------------------------------------------- +Thu Sep 19 20:25:27 UTC 2019 - Martin Hauke + +- Initial package, version 0.32.2 diff --git a/python-pydantic.spec b/python-pydantic.spec new file mode 100644 index 0000000..c231087 --- /dev/null +++ b/python-pydantic.spec @@ -0,0 +1,95 @@ +# +# spec file +# +# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2019, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +%{?sle15_python_module_pythons} +Name: python-pydantic%{psuffix} +Version: 2.10.6 +Release: 0 +Summary: Data validation and settings management using python type hinting +License: MIT +URL: https://github.com/pydantic/pydantic +Source: https://github.com/pydantic/pydantic/archive/v%{version}.tar.gz#/pydantic-%{version}.tar.gz +BuildRequires: %{python_module hatch-fancy-pypi-readme} +BuildRequires: %{python_module hatchling} +BuildRequires: %{python_module packaging} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pydantic-core >= 2.27.2} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +%if %{with test} +BuildRequires: %{python_module Faker} +BuildRequires: %{python_module cloudpickle} +BuildRequires: %{python_module dirty-equals} +BuildRequires: %{python_module email-validator >= 2.0} +BuildRequires: %{python_module jsonschema >= 4.23.0 } +BuildRequires: %{python_module pydantic = %{version}} +BuildRequires: %{python_module pytest-benchmark} +BuildRequires: %{python_module pytest-examples} +BuildRequires: %{python_module pytest-mock} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module python-dotenv >= 0.10.4} +BuildRequires: %{python_module rich} +%endif +Requires: python-annotated-types >= 0.4.0 +%if 0%{?python_version_nodots} < 310 +Requires: python-eval-type-backport +%endif +Requires: python-pydantic-core >= 2.27.2 +Requires: python-typing-extensions >= 4.6.1 +BuildArch: noarch +%python_subpackages + +%description +Data validation and settings management using Python type hinting. + +%prep +%autosetup -p1 -n pydantic-%{version} + +%build +%pyproject_wheel + +%install +%if %{without test} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%check +%if %{with test} +%pytest +%endif + +%if %{without test} +%files %{python_files} +%license LICENSE +%doc README.md HISTORY.md +%{python_sitelib}/pydantic +%{python_sitelib}/pydantic-%{version}.dist-info +%endif + +%changelog