python-pydantic/python-pydantic.changes

1032 lines
54 KiB
Plaintext
Raw Permalink Normal View History

- 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
-------------------------------------------------------------------
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>
- 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 <dmueller@suse.com>
- 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 <steven.kowalik@suse.com>
- Add patch support-pytest-8.patch:
* Support changes in pytest 8.x.
-------------------------------------------------------------------
Sat Apr 27 07:45:31 UTC 2024 - Dirk Müller <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <steven.kowalik@suse.com>
- 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_<timedelta|bytes>` 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <daniel.garcia@suse.com>
- 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 <dmueller@suse.com>
- 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 <daniel.garcia@suse.com>
- 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 <dmueller@suse.com>
- 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 <steven.kowalik@suse.com>
- 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 <steven.kowalik@suse.com>
- Add patch remove-pkg_resources.patch:
* Use packaging, not pkg_resources for versions.
-------------------------------------------------------------------
Sat Jun 18 13:37:28 UTC 2022 - Michael Ströder <michael@stroeder.com>
- 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 <steven.kowalik@suse.com>
- Skip some truculent tests.
- Clean up non-required Python 3.6 {Build,}Requires.
-------------------------------------------------------------------
Wed Jan 5 16:08:23 UTC 2022 - Ben Greiner <code@bnavigator.de>
- 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á <mmachova@suse.com>
- 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á <mmachova@suse.com>
- 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 <code@bnavigator.de>
- 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 <mcalabkova@suse.com>
- Add upstream patch validate-config.patch which fixes build with new pytest
-------------------------------------------------------------------
Sun Aug 2 15:14:47 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
- 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 <dmueller@suse.com>
- 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 <mardnh@gmx.de>
- 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 <mcalabkova@suse.com>
- 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 <tchvatal@suse.com>
- Format with spec-cleaner
-------------------------------------------------------------------
Thu Sep 19 20:25:27 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Initial package, version 0.32.2