14
0

27 Commits

Author SHA256 Message Date
7fc62866e3 Accepting request 1322568 from devel:languages:python
- Update to 2.12.5
  * Fix pickle error when using model_construct() on a model with MISSING as a default value in #12522.
  * Several updates to the documentation
- Remove patches bump-pydantic-core-2.35.1.patch, field-name-validator-core-schemas.patch,
  py314.patch, and support-pydantic-core-2.39.0.patch as they've merged upstream.

OBS-URL: https://build.opensuse.org/request/show/1322568
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=37
2025-12-17 16:29:49 +00:00
34e6e0e634 Refresh source with osc service mr
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=82
2025-12-12 09:26:39 +00:00
64fbc5e7ed - Update to 2.12.5
* Fix pickle error when using model_construct() on a model with MISSING as a default value in #12522.
  * Several updates to the documentation
- Remove patches bump-pydantic-core-2.35.1.patch, field-name-validator-core-schemas.patch,
  py314.patch, and support-pydantic-core-2.39.0.patch as they've merged upstream.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=81
2025-12-12 09:14:29 +00:00
b1ff532f4b Accepting request 1307887 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1307887
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=36
2025-09-30 15:39:10 +00:00
5bf97a6b2c - Add upstream py314.patch to fix compatibility with Python 3.14
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=79
2025-09-29 14:16:46 +00:00
2c4c1b50c1 Accepting request 1306150 from devel:languages:python
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1306150
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=35
2025-09-22 14:38:26 +00:00
1ea69de383 - update to 2.11.9:
* Backport v1.10.23 changes
  * Fix mypy plugin for mypy 1.18
  * 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
  * 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=77
2025-09-13 16:03:09 +00:00
208724cd37 Accepting request 1299498 from devel:languages:python
- Add patch support-pydantic-core-2.39.0.patch:
  * Support pydantic-core 2.39.0.

OBS-URL: https://build.opensuse.org/request/show/1299498
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=34
2025-08-17 12:50:02 +00:00
bea0b9037f - Add patch support-pydantic-core-2.39.0.patch:
* Support pydantic-core 2.39.0.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=75
2025-08-15 04:23:45 +00:00
3228196e9e Accepting request 1287850 from devel:languages:python
To stage with the python-pydantic-core 2.35.1 update in sr#1287849

- Add patch bump-pydantic-core-2.35.1.patch to support latest
  pydantic-core, gh#pydantic/pydantic#11963
- Add patch field-name-validator-core-schemas.patch to remove
  deprecation warning, gh#pydantic/pydantic#11761
- Update to 2.11.7
  * Copy FieldInfo instance if necessary during FieldInfo build by @Viicos in #11980
2.11.6
  * Rebuild dataclass fields before schema generation by @Viicos in #11949
  * Always store the original field assignment on FieldInfo by @Viicos in #11946
2.11.5
  * Check if FieldInfo is complete after applying type variable map by @Viicos in #11855
  * Do not delete mock validator/serializer in model_rebuild() by @Viicos in #11890
  * Do not duplicate metadata on model rebuild by @Viicos in #11902

- Update to 2.11.4
  * Bump mkdocs-llmstxt to v0.2.0
  * Allow config and bases to be specified together in create_model()
  * This change was backported as it was previously possible
    (although not meant to be supported)
  * To provide model_config as a field, which would make it
    possible to provide both configuration and bases.
  * Remove generics cache workaround
  * Remove coercion of decimal constraints
  * Fix crash when expanding root type in the mypy plugin
  * Fix issue with recursive generic models
  * Traverse function-before schemas during schema gathering
- Drop field_name.patch, merged upstream
- Update BuildRequires and Requires from pyproject.toml

OBS-URL: https://build.opensuse.org/request/show/1287850
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=33
2025-06-24 18:46:02 +00:00
5af452c66c - Add patch bump-pydantic-core-2.35.1.patch to support latest
pydantic-core, gh#pydantic/pydantic#11963
- Add patch field-name-validator-core-schemas.patch to remove
  deprecation warning, gh#pydantic/pydantic#11761
- Update to 2.11.7
  * Copy FieldInfo instance if necessary during FieldInfo build by @Viicos in #11980
2.11.6
  * Rebuild dataclass fields before schema generation by @Viicos in #11949
  * Always store the original field assignment on FieldInfo by @Viicos in #11946
2.11.5
  * Check if FieldInfo is complete after applying type variable map by @Viicos in #11855
  * Do not delete mock validator/serializer in model_rebuild() by @Viicos in #11890
  * Do not duplicate metadata on model rebuild by @Viicos in #11902

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=73
2025-06-23 06:57:01 +00:00
7adac6edca Accepting request 1274365 from home:glaubitz:branches:devel:languages:python
- Update to 2.11.4
  * Bump mkdocs-llmstxt to v0.2.0
  * Allow config and bases to be specified together in create_model()
  * This change was backported as it was previously possible
    (although not meant to be supported)
  * To provide model_config as a field, which would make it
    possible to provide both configuration and bases.
  * Remove generics cache workaround
  * Remove coercion of decimal constraints
  * Fix crash when expanding root type in the mypy plugin
  * Fix issue with recursive generic models
  * Traverse function-before schemas during schema gathering
- Drop field_name.patch, merged upstream
- Update BuildRequires and Requires from pyproject.toml

OBS-URL: https://build.opensuse.org/request/show/1274365
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=72
2025-05-05 14:56:49 +00:00
436ce7ee8c Accepting request 1272629 from devel:languages:python
- Add upstream field_name.patch for compatibility with recent pydantic-core
- Add missing Requires on typing-inspection.
- update to 2.11.3:
  * Preserve field description when rebuilding model fields
- update to 2.11.2:
  * Make sure __pydantic_private__ exists before setting private attributes
  * Do not override FieldInfo._complete when using field from parent class
  * Provide the available definitions when applying discriminated unions
  * Do not expand root type in the mypy plugin for variables
  * Mention the attribute name in model fields deprecation message
  * Properly validate parameterized mappings
- update to 2.11.1:
  * Do not override 'definitions-ref' schemas containing serialization schemas or metadata
- update to 2.11.0:
  * Re-enable memray related tests on Python 3.12+
  * Add a check_pydantic_core_version() function
  * Remove greenlet development dependency
  * Support unsubstituted type variables with both a default and a bound or constraints
  * Add a default_factory_takes_validated_data property to FieldInfo
  * Raise a better error when a generic alias is used inside type[]
  * Properly support PEP 695 generics syntax
  * Properly support type variable defaults
  * Add support for validating v6, v7, v8 UUIDs
  * Improve alias configuration APIs
  * Add experimental support for free threading
  * Add encoded_string() method to the URL types
  * Add support for defer_build with @validate_call decorator
  * Allow @with_config decorator to be used with keyword arguments
  * Simplify customization of default value inclusion in JSON Schema generation
  * Add generate_arguments_schema() function
  * Rework create_model field definitions format
  * Raise a deprecation warning when a field is annotated as final with a default value
  * Deprecate accessing model_fields and model_computed_fields on instances
  * Move core schema generation logic for path types inside the GenerateSchema class
  * Move Mapping schema gen to GenerateSchema to complete removal of prepare_annotations_for_known_type workaround
  * Remove Python 3.8 Support
  * Optimize calls to get_type_ref
  * Disable pydantic-core core schema validation
  * Only evaluate FieldInfo annotations if required during schema building
  * Improve __setattr__ performance of Pydantic models by caching setter functions
  * Improve annotation application performance
  * Improve performance of _typing_extra module
  * Refactor and optimize schema cleaning logic
  * Create a single dictionary when creating a CoreConfig instance
  * Reuse cached core schemas for parametrized generic Pydantic models
  * Add validation tests for _internal/_validators.py
  * Subclass all single host url classes from AnyUrl to preserve behavior from v2.9
  * Improve TypeAdapter instance repr
  * Use the correct frame when instantiating a parametrized TypeAdapter
  * Relax check for validated data in default factory utils
  * Fix type checking issue with model_fields and model_computed_fields
  * Use the parent configuration during schema generation for stdlib dataclasses
  * Use the globals of the function when evaluating the return type of serializers and computed_fields
  * Fix url constraint application
  * Fix URL equality with different validation methods
  * Fix JSON schema title when specified as ''
  * Do not evaluate annotations for private fields
  * Support serialization as any for Secret types and Url types
  * Fix type hint of Field.default to be compatible with Python 3.8 and 3.9
  * hashing support for urls
  * Hide BaseModel.__replace__ definition from type checkers
  * Set fields when defer_build is set on Pydantic dataclasses
  * Do not resolve the JSON Schema reference for dict core schema keys
  * Use the globals of the function when evaluating the return type for PlainSerializer and WrapSerializer functions
  * Fix host required enforcement for urls to be compatible with v2.9 behavior
  * Fix url json schema in serialization mode
  * Fix for comparison of AnyUrl objects
  * Properly fetch PEP 695 type params for functions, do not fetch annotations from signature
  * Infer final fields with a default value as class variables in the mypy plugin
  * Recursively unpack Literal values if using PEP 695 type aliases
  * Override __subclasscheck__ on ModelMetaclass to avoid memory leak and performance issues
  * Include JSON Schema input core schema in function schemas
  * Add len to _BaseUrl to avoid TypeError
  * Make sure the type reference is removed from the seen references
  * Add FastAPI and SQLModel to third-party tests
  * Improve discriminated union error message for invalid union variants
  * Unpack PEP 695 type aliases if using the Annotated form
  * Remove custom MRO implementation of Pydantic models
  * Add pandera third-party tests
  * Add ODMantic third-party tests
  * Copy WithJsonSchema schema to avoid sharing mutated data
  * Do not cache parametrized models when in the process of parametrizing another model
  * Add discriminated union related metadata entries to the CoreMetadata definition
  * Consolidate schema definitions logic in the _Definitions class
  * Fix url serialization for unions
  * Support initializing root model fields with values of the root type in the mypy plugin
  * Move deque schema gen to GenerateSchema class

OBS-URL: https://build.opensuse.org/request/show/1272629
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=32
2025-04-25 20:17:56 +00:00
32e7f1b8ff - Add upstream field_name.patch for compatibility with recent pydantic-core
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=70
2025-04-25 09:37:37 +00:00
3f75a1e5fd - Add missing Requires on typing-inspection.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=69
2025-04-24 04:47:31 +00:00
dd01ec6e92 need pytest-run-parallel
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=68
2025-04-23 09:35:07 +00:00
eb3735017a Accepting request 1240305 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1240305
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=31
2025-01-29 15:09:40 +00:00
f4aac336ef - 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
2025-01-25 21:10:38 +00:00
d90714d9d3 Accepting request 1218159 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1218159
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=30
2024-10-25 17:19:09 +00:00
de0fe174bb SUSE AI needs a more recent version
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=64
2024-10-25 05:27:29 +00:00
10800831eb Accepting request 1184776 from devel:languages:python
- 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

OBS-URL: https://build.opensuse.org/request/show/1184776
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=29
2024-07-02 16:14:50 +00:00
d5dea0fe9d OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=62 2024-07-02 06:07:32 +00:00
419eb8bf13 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=61 2024-07-01 17:25:27 +00:00
b20ae8e003 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=60 2024-07-01 17:06:54 +00:00
20e9354ff7 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=59
2024-07-01 16:30:27 +00:00
273690b8e0 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=58 2024-06-30 20:52:08 +00:00
fd0f827663 - drop optional email-validator dependency
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=57
2024-06-30 20:45:03 +00:00
5 changed files with 555 additions and 397 deletions

3
pydantic-2.12.5.tar.gz Normal file
View File

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

View File

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

View File

@@ -1,3 +1,539 @@
-------------------------------------------------------------------
Wed Dec 3 20:31:21 UTC 2025 - Guang Yee <gyee@suse.com>
- Update to 2.12.5
* Fix pickle error when using model_construct() on a model with MISSING as a default value in #12522.
* Several updates to the documentation
- Remove patches bump-pydantic-core-2.35.1.patch, field-name-validator-core-schemas.patch,
py314.patch, and support-pydantic-core-2.39.0.patch as they've merged upstream.
-------------------------------------------------------------------
Mon Sep 29 12:28:15 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Add upstream py314.patch to fix compatibility with Python 3.14
-------------------------------------------------------------------
Sat Sep 13 16:02:48 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 2.11.9:
* Backport v1.10.23 changes
* Fix mypy plugin for mypy 1.18
-------------------------------------------------------------------
Fri Aug 15 04:23:15 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch support-pydantic-core-2.39.0.patch:
* Support pydantic-core 2.39.0.
-------------------------------------------------------------------
Mon Jun 23 05:56:23 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- Add patch bump-pydantic-core-2.35.1.patch to support latest
pydantic-core, gh#pydantic/pydantic#11963
- Add patch field-name-validator-core-schemas.patch to remove
deprecation warning, gh#pydantic/pydantic#11761
- Update to 2.11.7
* Copy FieldInfo instance if necessary during FieldInfo build by @Viicos in #11980
2.11.6
* Rebuild dataclass fields before schema generation by @Viicos in #11949
* Always store the original field assignment on FieldInfo by @Viicos in #11946
2.11.5
* Check if FieldInfo is complete after applying type variable map by @Viicos in #11855
* Do not delete mock validator/serializer in model_rebuild() by @Viicos in #11890
* Do not duplicate metadata on model rebuild by @Viicos in #11902
-------------------------------------------------------------------
Mon May 5 08:19:26 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 2.11.4
* Bump mkdocs-llmstxt to v0.2.0
* Allow config and bases to be specified together in create_model()
* This change was backported as it was previously possible
(although not meant to be supported)
* To provide model_config as a field, which would make it
possible to provide both configuration and bases.
* Remove generics cache workaround
* Remove coercion of decimal constraints
* Fix crash when expanding root type in the mypy plugin
* Fix issue with recursive generic models
* Traverse function-before schemas during schema gathering
- Drop field_name.patch, merged upstream
- Update BuildRequires and Requires from pyproject.toml
-------------------------------------------------------------------
Fri Apr 25 09:30:29 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Add upstream field_name.patch for compatibility with recent pydantic-core
-------------------------------------------------------------------
Thu Apr 24 04:47:19 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Add missing Requires on typing-inspection.
-------------------------------------------------------------------
Sun Apr 20 10:54:45 UTC 2025 - Richard Rahl <rrahl0@opensuse.org>
- update to 2.11.3:
* Preserve field description when rebuilding model fields
- update to 2.11.2:
* Make sure __pydantic_private__ exists before setting private attributes
* Do not override FieldInfo._complete when using field from parent class
* Provide the available definitions when applying discriminated unions
* Do not expand root type in the mypy plugin for variables
* Mention the attribute name in model fields deprecation message
* Properly validate parameterized mappings
- update to 2.11.1:
* Do not override 'definitions-ref' schemas containing serialization schemas or metadata
- update to 2.11.0:
* Re-enable memray related tests on Python 3.12+
* Add a check_pydantic_core_version() function
* Remove greenlet development dependency
* Support unsubstituted type variables with both a default and a bound or constraints
* Add a default_factory_takes_validated_data property to FieldInfo
* Raise a better error when a generic alias is used inside type[]
* Properly support PEP 695 generics syntax
* Properly support type variable defaults
* Add support for validating v6, v7, v8 UUIDs
* Improve alias configuration APIs
* Add experimental support for free threading
* Add encoded_string() method to the URL types
* Add support for defer_build with @validate_call decorator
* Allow @with_config decorator to be used with keyword arguments
* Simplify customization of default value inclusion in JSON Schema generation
* Add generate_arguments_schema() function
* Rework create_model field definitions format
* Raise a deprecation warning when a field is annotated as final with a default value
* Deprecate accessing model_fields and model_computed_fields on instances
* Move core schema generation logic for path types inside the GenerateSchema class
* Move Mapping schema gen to GenerateSchema to complete removal of prepare_annotations_for_known_type workaround
* Remove Python 3.8 Support
* Optimize calls to get_type_ref
* Disable pydantic-core core schema validation
* Only evaluate FieldInfo annotations if required during schema building
* Improve __setattr__ performance of Pydantic models by caching setter functions
* Improve annotation application performance
* Improve performance of _typing_extra module
* Refactor and optimize schema cleaning logic
* Create a single dictionary when creating a CoreConfig instance
* Reuse cached core schemas for parametrized generic Pydantic models
* Add validation tests for _internal/_validators.py
* Subclass all single host url classes from AnyUrl to preserve behavior from v2.9
* Improve TypeAdapter instance repr
* Use the correct frame when instantiating a parametrized TypeAdapter
* Relax check for validated data in default factory utils
* Fix type checking issue with model_fields and model_computed_fields
* Use the parent configuration during schema generation for stdlib dataclasses
* Use the globals of the function when evaluating the return type of serializers and computed_fields
* Fix url constraint application
* Fix URL equality with different validation methods
* Fix JSON schema title when specified as ''
* Do not evaluate annotations for private fields
* Support serialization as any for Secret types and Url types
* Fix type hint of Field.default to be compatible with Python 3.8 and 3.9
* hashing support for urls
* Hide BaseModel.__replace__ definition from type checkers
* Set fields when defer_build is set on Pydantic dataclasses
* Do not resolve the JSON Schema reference for dict core schema keys
* Use the globals of the function when evaluating the return type for PlainSerializer and WrapSerializer functions
* Fix host required enforcement for urls to be compatible with v2.9 behavior
* Fix url json schema in serialization mode
* Fix for comparison of AnyUrl objects
* Properly fetch PEP 695 type params for functions, do not fetch annotations from signature
* Infer final fields with a default value as class variables in the mypy plugin
* Recursively unpack Literal values if using PEP 695 type aliases
* Override __subclasscheck__ on ModelMetaclass to avoid memory leak and performance issues
* Include JSON Schema input core schema in function schemas
* Add len to _BaseUrl to avoid TypeError
* Make sure the type reference is removed from the seen references
* Add FastAPI and SQLModel to third-party tests
* Improve discriminated union error message for invalid union variants
* Unpack PEP 695 type aliases if using the Annotated form
* Remove custom MRO implementation of Pydantic models
* Add pandera third-party tests
* Add ODMantic third-party tests
* Copy WithJsonSchema schema to avoid sharing mutated data
* Do not cache parametrized models when in the process of parametrizing another model
* Add discriminated union related metadata entries to the CoreMetadata definition
* Consolidate schema definitions logic in the _Definitions class
* Fix url serialization for unions
* Support initializing root model fields with values of the root type in the mypy plugin
* Move deque schema gen to GenerateSchema class
-------------------------------------------------------------------
Fri Jan 24 15:21:26 UTC 2025 - ecsos <ecsos@opensuse.org>
- 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 <mbelur@suse.com>
- 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 <yarunachalam@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- drop optional email-validator dependency
-------------------------------------------------------------------
Mon Jun 24 15:45:05 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-pydantic
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2019, Martin Hauke <mardnh@gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -27,18 +27,17 @@
%endif
%{?sle15_python_module_pythons}
Name: python-pydantic%{psuffix}
Version: 2.7.4
Version: 2.12.5
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
# PATCH-FIX-UPSTREAM gh#pydantic/pydantic#9527
Patch0: support-pytest-8.patch
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.41.5}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -47,20 +46,21 @@ BuildRequires: %{python_module Faker}
BuildRequires: %{python_module cloudpickle}
BuildRequires: %{python_module dirty-equals}
BuildRequires: %{python_module email-validator >= 2.0}
BuildRequires: %{python_module pydantic == %{version}}
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-run-parallel}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-dotenv >= 0.10.4}
BuildRequires: %{python_module rich}
BuildRequires: %{python_module typing-inspection}
%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.18.4
Requires: python-typing_extensions >= 4.6.1
Suggests: python-email-validator >= 2.0
Requires: python-annotated-types >= 0.6.0
Requires: python-pydantic-core = 2.41.5
Requires: python-typing-extensions >= 4.14.1
Requires: python-typing-inspection
BuildArch: noarch
%python_subpackages
@@ -70,6 +70,10 @@ Data validation and settings management using Python type hinting.
%prep
%autosetup -p1 -n pydantic-%{version}
# FIXME: make it compatible with the older version of setuptools.
# make sure to remove this hack once we have a newer version of setuptools.
sed -i '/.*Programming Language :: Python :: 3\.14.*/d' pyproject.toml
%build
%pyproject_wheel

View File

@@ -1,382 +0,0 @@
From 7fb31529124f51cceb32d1d7b8ae9b58c0606b17 Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@wedontsleep.org>
Date: Thu, 30 May 2024 14:14:04 +1000
Subject: [PATCH] Ignore other warnings when checking warnings
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Building on Michał's amazing work in PR#9040, extend the pattern to also
ignore other warnings that are emitted by pytest.warns() when running
under Pytest 8.x. This also continues to support Pytest 7.x.
Co-authored-by: Michał Górny <mgorny@gentoo.org>
Fixes: #9025
---
tests/conftest.py | 2 +-
tests/test_config.py | 84 +++++++++++---------
tests/test_deprecated.py | 156 ++++++++++++++++++++++----------------
tests/test_json_schema.py | 9 ++-
tests/test_validators.py | 1 +
5 files changed, 146 insertions(+), 106 deletions(-)
diff --git a/tests/conftest.py b/tests/conftest.py
index e0c0dee018..421afade2e 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -49,7 +49,7 @@ def _create_module_file(code, tmp_path, name):
def disable_error_urls():
# Don't add URLs during docs tests when printing
# Otherwise we'll get version numbers in the URLs that will update frequently
- os.environ['PYDANTIC_ERRORS_OMIT_URL'] = 'true'
+ os.environ['PYDANTIC_ERRORS_INCLUDE_URL'] = 'false'
@pytest.fixture
diff --git a/tests/test_config.py b/tests/test_config.py
index 1a5e31628a..31b2320326 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -1,6 +1,7 @@
import json
import re
import sys
+import warnings
from contextlib import nullcontext as does_not_raise
from decimal import Decimal
from inspect import signature
@@ -349,45 +350,54 @@ class Model(BaseModel):
assert m == m.model_copy()
def test_config_class_is_deprecated(self):
- with pytest.warns(
- PydanticDeprecatedSince20, match='Support for class-based `config` is deprecated, use ConfigDict instead.'
- ):
-
- class Config(BaseConfig):
- pass
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='Support for class-based `config` is deprecated, use ConfigDict instead.',
+ ):
+
+ class Config(BaseConfig):
+ pass
def test_config_class_attributes_are_deprecated(self):
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='Support for class-based `config` is deprecated, use ConfigDict instead.',
- ):
- assert BaseConfig.validate_assignment is False
-
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='Support for class-based `config` is deprecated, use ConfigDict instead.',
- ):
- assert BaseConfig().validate_assignment is False
-
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='Support for class-based `config` is deprecated, use ConfigDict instead.',
- ):
-
- class Config(BaseConfig):
- pass
-
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='Support for class-based `config` is deprecated, use ConfigDict instead.',
- ):
- assert Config.validate_assignment is False
-
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='Support for class-based `config` is deprecated, use ConfigDict instead.',
- ):
- assert Config().validate_assignment is False
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='Support for class-based `config` is deprecated, use ConfigDict instead.',
+ ):
+ assert BaseConfig.validate_assignment is False
+
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='Support for class-based `config` is deprecated, use ConfigDict instead.',
+ ):
+ assert BaseConfig().validate_assignment is False
+
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='Support for class-based `config` is deprecated, use ConfigDict instead.',
+ ):
+
+ class Config(BaseConfig):
+ pass
+
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='Support for class-based `config` is deprecated, use ConfigDict instead.',
+ ):
+ assert Config.validate_assignment is False
+
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='Support for class-based `config` is deprecated, use ConfigDict instead.',
+ ):
+ assert Config().validate_assignment is False
@pytest.mark.filterwarnings('ignore:.* is deprecated.*:DeprecationWarning')
def test_config_class_missing_attributes(self):
diff --git a/tests/test_deprecated.py b/tests/test_deprecated.py
index fda6879597..2e58e8b433 100644
--- a/tests/test_deprecated.py
+++ b/tests/test_deprecated.py
@@ -1,5 +1,6 @@
import platform
import re
+import warnings
from datetime import date, timedelta
from pathlib import Path
from types import SimpleNamespace
@@ -273,8 +274,12 @@ class Model(BaseModel):
x: int
y: int
- with pytest.warns(PydanticDeprecatedSince20, match='The `parse_raw` method is deprecated'):
- model = Model.parse_raw('{"x": 1, "y": 2}')
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ with pytest.warns(PydanticDeprecatedSince20, match='The `parse_raw` method is deprecated'):
+ model = Model.parse_raw('{"x": 1, "y": 2}')
assert model.model_dump() == {'x': 1, 'y': 2}
@@ -284,9 +289,13 @@ class Model(BaseModel):
x: int
y: int
- with pytest.warns(PydanticDeprecatedSince20, match='The `parse_raw` method is deprecated'):
- with pytest.raises(ValidationError, match='1 validation error for Model') as exc_info:
- Model.parse_raw('invalid')
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ with pytest.warns(PydanticDeprecatedSince20, match='The `parse_raw` method is deprecated'):
+ with pytest.raises(ValidationError, match='1 validation error for Model') as exc_info:
+ Model.parse_raw('invalid')
# insert_assert(exc_info.value.errors(include_url=False))
assert exc_info.value.errors(include_url=False) == [
@@ -435,10 +444,14 @@ class Model(BaseModel):
def test_field_include_deprecation():
m = '`include` is deprecated and does nothing. It will be removed, use `exclude` instead'
- with pytest.warns(PydanticDeprecatedSince20, match=m):
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ with pytest.warns(PydanticDeprecatedSince20, match=m):
- class Model(BaseModel):
- x: int = Field(include=True)
+ class Model(BaseModel):
+ x: int = Field(include=True)
def test_unique_items_items():
@@ -664,10 +677,14 @@ def test_parse_obj():
def test_parse_file(tmp_path):
path = tmp_path / 'test.json'
path.write_text('{"x": 12}')
- with pytest.warns(
- PydanticDeprecatedSince20, match='^The `parse_file` method is deprecated; load the data from file,'
- ):
- assert SimpleModel.parse_file(str(path)).model_dump() == {'x': 12}
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ with pytest.warns(
+ PydanticDeprecatedSince20, match='^The `parse_file` method is deprecated; load the data from file,'
+ ):
+ assert SimpleModel.parse_file(str(path)).model_dump() == {'x': 12}
def test_construct():
@@ -736,61 +753,68 @@ def test_deprecated_module(tmp_path: Path) -> None:
class Model(BaseModel):
x: int
- assert hasattr(parse_obj_as, '__deprecated__')
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='`parse_obj_as` is deprecated. Use `pydantic.TypeAdapter.validate_python` instead.',
- ):
- parse_obj_as(Model, {'x': 1})
-
- assert hasattr(schema_json_of, '__deprecated__')
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='`schema_json_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.',
- ):
- schema_json_of(Model)
-
- assert hasattr(schema_of, '__deprecated__')
- with pytest.warns(
- PydanticDeprecatedSince20, match='`schema_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.'
- ):
- schema_of(Model)
-
- assert hasattr(load_str_bytes, '__deprecated__')
- with pytest.warns(PydanticDeprecatedSince20, match='`load_str_bytes` is deprecated.'):
- load_str_bytes('{"x": 1}')
-
- assert hasattr(load_file, '__deprecated__')
- file = tmp_path / 'main.py'
- file.write_text('{"x": 1}')
- with pytest.warns(PydanticDeprecatedSince20, match='`load_file` is deprecated.'):
- load_file(file)
-
- assert hasattr(pydantic_encoder, '__deprecated__')
- with pytest.warns(
- PydanticDeprecatedSince20,
- match='`pydantic_encoder` is deprecated, use `pydantic_core.to_jsonable_python` instead.',
- ):
- pydantic_encoder(Model(x=1))
-
- assert hasattr(custom_pydantic_encoder, '__deprecated__')
- with pytest.warns(
- PydanticDeprecatedSince20, match='`custom_pydantic_encoder` is deprecated, use `BaseModel.model_dump` instead.'
- ):
- custom_pydantic_encoder({int: lambda x: str(x)}, Model(x=1))
-
- assert hasattr(timedelta_isoformat, '__deprecated__')
- with pytest.warns(PydanticDeprecatedSince20, match='`timedelta_isoformat` is deprecated.'):
- timedelta_isoformat(timedelta(seconds=1))
-
- with pytest.warns(
- PydanticDeprecatedSince20, match='The `validate_arguments` method is deprecated; use `validate_call` instead.'
- ):
-
- def test(a: int, b: int):
- pass
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ assert hasattr(parse_obj_as, '__deprecated__')
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='`parse_obj_as` is deprecated. Use `pydantic.TypeAdapter.validate_python` instead.',
+ ):
+ parse_obj_as(Model, {'x': 1})
+
+ assert hasattr(schema_json_of, '__deprecated__')
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='`schema_json_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.',
+ ):
+ schema_json_of(Model)
+
+ assert hasattr(schema_of, '__deprecated__')
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='`schema_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.',
+ ):
+ schema_of(Model)
+
+ assert hasattr(load_str_bytes, '__deprecated__')
+ with pytest.warns(PydanticDeprecatedSince20, match='`load_str_bytes` is deprecated.'):
+ load_str_bytes('{"x": 1}')
+
+ assert hasattr(load_file, '__deprecated__')
+ file = tmp_path / 'main.py'
+ file.write_text('{"x": 1}')
+ with pytest.warns(PydanticDeprecatedSince20, match='`load_file` is deprecated.'):
+ load_file(file)
+
+ assert hasattr(pydantic_encoder, '__deprecated__')
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='`pydantic_encoder` is deprecated, use `pydantic_core.to_jsonable_python` instead.',
+ ):
+ pydantic_encoder(Model(x=1))
+
+ assert hasattr(custom_pydantic_encoder, '__deprecated__')
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='`custom_pydantic_encoder` is deprecated, use `BaseModel.model_dump` instead.',
+ ):
+ custom_pydantic_encoder({int: lambda x: str(x)}, Model(x=1))
+
+ assert hasattr(timedelta_isoformat, '__deprecated__')
+ with pytest.warns(PydanticDeprecatedSince20, match='`timedelta_isoformat` is deprecated.'):
+ timedelta_isoformat(timedelta(seconds=1))
+
+ with pytest.warns(
+ PydanticDeprecatedSince20,
+ match='The `validate_arguments` method is deprecated; use `validate_call` instead.',
+ ):
+
+ def test(a: int, b: int):
+ pass
- validate_arguments()(test)
+ validate_arguments()(test)
def test_deprecated_color():
diff --git a/tests/test_json_schema.py b/tests/test_json_schema.py
index e6c60557a5..85d833c15c 100644
--- a/tests/test_json_schema.py
+++ b/tests/test_json_schema.py
@@ -5,6 +5,7 @@
import re
import sys
import typing
+import warnings
from datetime import date, datetime, time, timedelta
from decimal import Decimal
from enum import Enum, IntEnum
@@ -1385,8 +1386,12 @@ class Model(BaseModel):
class MyGenerator(GenerateJsonSchema):
ignored_warning_kinds = ()
- with pytest.warns(PydanticJsonSchemaWarning, match=warning_match):
- model_schema = Model.model_json_schema(schema_generator=MyGenerator)
+ with warnings.catch_warnings():
+ # we need to explicitly ignore the other warning in pytest-8
+ # TODO: rewrite it to use two nested pytest.warns() when pytest-7 is no longer supported
+ warnings.simplefilter('ignore')
+ with pytest.warns(PydanticJsonSchemaWarning, match=warning_match):
+ model_schema = Model.model_json_schema(schema_generator=MyGenerator)
assert model_schema == {
'properties': {'callback': {'title': 'Callback', 'type': 'integer'}},
'title': 'Model',
diff --git a/tests/test_validators.py b/tests/test_validators.py
index 52a8bda88f..b286c49b1b 100644
--- a/tests/test_validators.py
+++ b/tests/test_validators.py
@@ -2554,6 +2554,7 @@ class Model(BaseModel):
assert Model(x=1, y=2).model_dump() == {'x': 2, 'y': 3}
+@pytest.mark.filterwarnings('ignore:Pydantic V1 style `@root_validator` validators are deprecated.*:pydantic.warnings.PydanticDeprecatedSince20')
def test_root_validator_allow_reuse_same_field():
with pytest.warns(UserWarning, match='`root_val` overrides an existing Pydantic `@root_validator` decorator'):