Refactor the whole pydanticdataclass decorator to really act like its standard lib equivalent.
It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible.
It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses.
The support of Config.extra has been added.
Finally, config customization directly via a dict is now possible, #2557 by @PrettyWoodBREAKING CHANGES:
The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @tlambert03
Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @acmiyaguchi
Discriminated union models now use oneOf instead of anyOf when generating OpenAPI schema definitions, #4335 by @MaxwellPayne
Allow type checkers to infer inner type of Json type. Json[list[str]] will be now inferred as list[str],
Json[Any] should be used instead of plain Json.
Runtime behaviour is not changed, #4332 by @Bobronium
Allow empty string aliases by using a alias is not None check, rather than bool(alias), #4253 by @sergeytsaplin
The use of __dataclass_transform__ has been replaced by typing_extensions.dataclass_transform, which is the preferred way to mark pydantic models as a dataclass under PEP 681, #4241 by @multimeric
Use parent model's Config when validating nested NamedTuple fields, #4219 by @synek
Use tomllib on Python 3.11 when parsing mypy configuration, #4476 by @hauntsaninja
Basic fix of GenericModel cache to detect order of arguments in Union models, #4474 by @sveinugu
Fix mypy plugin when using bare types like list and dict as default_factory, #4457 by @samuelcolvin
v1.10.1 (2022-08-31)
Add __hash__ method to pydancic.color.Color class, #4454 by @czaki
v1.10.0 (2022-08-30)
Refactor the whole pydanticdataclass decorator to really act like its standard lib equivalent.
It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible.
It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses.
The support of Config.extra has been added.
Finally, config customization directly via a dict is now possible, #2557 by @PrettyWoodBREAKING CHANGES:
The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @tlambert03
Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @acmiyaguchi
Discriminated union models now use oneOf instead of anyOf when generating OpenAPI schema definitions, #4335 by @MaxwellPayne
Allow type checkers to infer inner type of Json type. Json[list[str]] will be now inferred as list[str],
Json[Any] should be used instead of plain Json.
Runtime behaviour is not changed, #4332 by @Bobronium
Allow empty string aliases by using a alias is not None check, rather than bool(alias), #4253 by @sergeytsaplin
The use of __dataclass_transform__ has been replaced by typing_extensions.dataclass_transform, which is the preferred way to mark pydantic models as a dataclass under PEP 681, #4241 by @multimeric
Use parent model's Config when validating nested NamedTuple fields, #4219 by @synek
Update BaseModel.construct to work with aliased Fields, #4192 by @kylebamos
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pydantic from 1.9.2 to 1.10.2.
Release notes
Sourced from pydantic's releases.
... (truncated)
Changelog
Sourced from pydantic's changelog.
... (truncated)
Commits
bc74342
prepare for v1.10.2f1e9883
fix: dataclass wrapper was not always called (#4484)91bb8d4
Basic fix of GenericModel cache to detect order of args in Union models [#447...eccd85e
prevent long strings as int inputs (#4480)a4367c1
Revert percent encoding in URLs. (#4470)02cf7f5
fix mypy withdefault_factory=list
etc. (#4471)5a2ddec
Use tomllib on Python 3.11 (#4476)317bef3
build(deps): bump black from 22.6.0 to 22.8.0 (#4465)2add8a9
build(deps): bump hypothesis from 6.54.3 to 6.54.4 (#4464)f1fb4f2
build(deps): bump mkdocs-material from 8.4.0 to 8.4.2 (#4463)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)