Samuel Colvin
abea8232ee
speedup __instancecheck__ check on BaseModel when they fail ( #4081 )
...
* speedup __instancecheck__ check on BaseModel when they fail
* add change description
* linting
2022-05-17 14:13:36 +01:00
Maxim Martynov
cc54acb612
Fix missing port in HttpUrl.build() result ( #3652 )
...
* Port number is no longer being ignored by HttpUrl.build()
* Update tests/test_networks.py
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Update networks.py
* Update tests/test_networks.py
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Update test_networks.py
* Update test_networks.py
* update change description
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2022-05-14 17:35:39 +01:00
Alex
f69012a5aa
fix: error checking inheritance when using PEP585 and PEP604 type hints ( #3681 )
...
* Add tests
* Fix the issue
* Add changes file
* Improved convert_generics
* Add default fallback to convert_generics
Improved Annotated and Literal handling
* Fix Cython doesn't support generic types (PEP560)
Watch cython issue cython/cython#2753
Previous implementation can be used after cython 3.0 release
* Add custom type test
* Cosmetic fixes
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Fix typos
* Add SelfReferencing test validation
Add parametrization to
* Fix: parametrization caused test discovery problem
* Better explanation for a test case
* Better assertions for model creation tests
* Rerun CI
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2022-05-14 17:26:12 +01:00
Samuel Colvin
9baec86270
try speeding up ci using caching and rearranging jobs ( #3974 )
...
* try speeding up ci using caching and rearranging jobs
* fix job references
* cache lint and docs install
* tweak caching
* tweak caching to avoid conflicts
* correct use of runner.os
* bump
* stop skipping steps depending on cache
* prevent hypothesis flakeyness
* try skipping install steps again
* remove skipping install :-(
2022-05-14 15:32:53 +01:00
dependabot[bot]
3e9cd71325
build(deps): bump mypy from 0.942 to 0.950 ( #4062 )
...
* build(deps): bump mypy from 0.942 to 0.950
Bumps [mypy](https://github.com/python/mypy ) from 0.942 to 0.950.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.942...v0.950 )
---
updated-dependencies:
- dependency-name: mypy
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* ignore ChainMap type
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2022-05-14 09:32:54 +01:00
Samuel Colvin
8718db581d
Fix JSON Schema generation for Discriminated Unions within lists. ( #4071 )
...
* Fix JSON Schema generation for Discriminated Unions within lists.
* linting
* fix mypy
2022-05-14 07:26:34 +01:00
Adrian Garcia Badaracco
e5540296cc
Fix issue with in-place modification of FieldInfo ( #4067 )
...
* Fix info with in-place modification of field info
* add changes
* add test for 3714
* Update changes/4067-adriangb.md
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2022-05-13 15:16:32 +01:00
Samuel Colvin
a45276d6b1
guard against ClassVar in fields ( #4064 )
...
* guard against ClassVar in fields, fix #3679
* fix linting
* skipif for test_class_var_forward_ref
2022-05-13 15:06:53 +01:00
Yurii Karabas
42acd8f8d2
Fix issue with self-referencing dataclass ( #3713 )
...
* Fix issue with self-referencing dataclass
* Fix mypy issue
2022-05-11 19:09:13 +01:00
Luis R
faee3301eb
Fix regression in handling of nested dataclasses in get_flat_models_from_field ( #3819 )
...
* add test for nested python dataclass schema generation
* fix handling of dataclasses in `get_flat_models_from_field`
* add change note
2022-05-11 19:02:37 +01:00
Samuel Colvin
74403c2f15
test pyright with pydantic ( #3972 )
...
* test pyright with pydantic
* rename file to avoid pytest running it
* try another name 😴
* add docs about BaseSettings and Field
* add change
2022-05-11 19:00:37 +01:00
dependabot[bot]
dc07bc5a49
build(deps): bump pre-commit from 2.17.0 to 2.19.0 ( #4061 )
...
Bumps [pre-commit](https://github.com/pre-commit/pre-commit ) from 2.17.0 to 2.19.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases )
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md )
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.17.0...v2.19.0 )
---
updated-dependencies:
- dependency-name: pre-commit
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 18:56:21 +01:00
dependabot[bot]
a1b7aa2a63
build(deps): bump hypothesis from 6.41.0 to 6.46.3 ( #4059 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.41.0 to 6.46.3.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.41.0...hypothesis-python-6.46.3 )
---
updated-dependencies:
- dependency-name: hypothesis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 18:56:10 +01:00
dependabot[bot]
59dffb6942
build(deps): bump pytest from 7.1.1 to 7.1.2 ( #4037 )
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.1...7.1.2 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 18:00:29 +01:00
Eric Jolibois
5490ad5173
fix: Config.copy_on_model_validation does a deep copy and not a shallow one ( #3642 )
...
* fix: `Config.copy_on_model_validation` does a deep copy and not a shallow one
closes #3641
* fix: typo
* use python 3.10 to run fastapi tests
* fix fastapi test call
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2022-05-11 17:03:48 +01:00
dependabot[bot]
f96a6131a3
build(deps): bump mypy from 0.931 to 0.942 ( #3968 )
...
* build(deps): bump mypy from 0.931 to 0.942
Bumps [mypy](https://github.com/python/mypy ) from 0.931 to 0.942.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.931...v0.942 )
---
updated-dependencies:
- dependency-name: mypy
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* build(deps): bump mypy from 0.931 to 0.942
Bumps [mypy](https://github.com/python/mypy ) from 0.931 to 0.942.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.931...v0.942 )
---
updated-dependencies:
- dependency-name: mypy
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix mypy
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2022-04-02 14:50:07 +01:00
Samuel Colvin
f0acf6efe7
Prevent subclasses of bytes being converted to bytes ( #3707 )
...
* adding a test
* fix and add change description
2022-04-02 14:45:31 +01:00
Tom Milligan
02eb182db0
fix: clarify that discriminated unions do not support singletons ( #3639 )
2022-04-02 14:06:11 +01:00
dependabot[bot]
7c05a61e4a
build(deps): bump pytest-mock from 3.6.1 to 3.7.0 ( #3967 )
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.6.1 to 3.7.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.6.1...v3.7.0 )
---
updated-dependencies:
- dependency-name: pytest-mock
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-02 13:25:58 +01:00
dependabot[bot]
c12382d00f
build(deps): bump twine from 3.7.1 to 4.0.0 ( #3965 )
...
Bumps [twine](https://github.com/pypa/twine ) from 3.7.1 to 4.0.0.
- [Release notes](https://github.com/pypa/twine/releases )
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pypa/twine/compare/3.7.1...4.0.0 )
---
updated-dependencies:
- dependency-name: twine
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-02 08:57:22 +01:00
dependabot[bot]
d8054380d3
build(deps): bump pytest from 6.2.5 to 7.1.1 ( #3926 )
...
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 6.2.5 to 7.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.5...7.1.1 )
---
updated-dependencies:
- dependency-name: pytest
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-02 08:57:08 +01:00
dependabot[bot]
19064138e4
build(deps): bump hypothesis from 6.31.6 to 6.41.0 ( #3964 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.31.6 to 6.41.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.31.6...hypothesis-python-6.41.0 )
---
updated-dependencies:
- dependency-name: hypothesis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-02 08:56:39 +01:00
dependabot[bot]
bf5fdfc618
build(deps): bump black from 21.12b0 to 22.3.0 ( #3950 )
...
* build(deps): bump black from 21.12b0 to 22.3.0
Bumps [black](https://github.com/psf/black ) from 21.12b0 to 22.3.0.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md )
- [Commits](https://github.com/psf/black/commits/22.3.0 )
---
updated-dependencies:
- dependency-name: black
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* apply new black styles, fix docs
* try upgrading pip before fastapi tests
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2022-04-02 08:35:55 +01:00
dependabot[bot]
d7a8272d7e
build(deps): bump mypy from 0.930 to 0.931 ( #3656 )
...
Bumps [mypy](https://github.com/python/mypy ) from 0.930 to 0.931.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.930...v0.931 )
---
updated-dependencies:
- dependency-name: mypy
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-01 23:30:57 +00:00
dependabot[bot]
9967f0ebe3
build(deps): bump pre-commit from 2.16.0 to 2.17.0 ( #3731 )
...
Bumps [pre-commit](https://github.com/pre-commit/pre-commit ) from 2.16.0 to 2.17.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases )
- [Changelog](https://github.com/pre-commit/pre-commit/blob/master/CHANGELOG.md )
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.16.0...v2.17.0 )
---
updated-dependencies:
- dependency-name: pre-commit
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-01 22:37:59 +00:00
dependabot[bot]
b90e128175
build(deps): bump coverage from 6.2 to 6.3.2 ( #3839 )
...
Bumps [coverage](https://github.com/nedbat/coveragepy ) from 6.2 to 6.3.2.
- [Release notes](https://github.com/nedbat/coveragepy/releases )
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst )
- [Commits](https://github.com/nedbat/coveragepy/compare/6.2...6.3.2 )
---
updated-dependencies:
- dependency-name: coverage
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-01 22:35:04 +00:00
Eric Jolibois
9d631a3429
fix(ci): update fastapi tests ( #3690 )
...
* use python 3.10 to run fastapi tests
* fix fastapi test call
2022-01-17 22:30:39 +01:00
Samuel Colvin
6f46a5a146
drop python3.6 support ( #3605 )
...
* drop python3.6 support
* revert small change
* fix 3.7 failures
* more cases and cleanup
* add change description
2022-01-02 13:53:45 +00:00
Samuel Colvin
87da9ac23f
apply update_forward_refs to json_encoders ( #3595 )
...
* apply update_forward_refs to json_encoders, fix #3583
* linting
* mypy
* avoid use of ForwardRef with python3.6
* fix ForwardRef usage, take 2
* coverage
2021-12-31 14:44:09 +00:00
Samuel Colvin
6f26a1ce18
Support mypy 0.910 to 0.930 including CI tests ( #3594 )
...
* cleanup bumping mypy to 0.930, #3573
* add tests for old mypy
* tweak test-old-mypy job
* alter mypy plugin to work with older versions
* mypy.py compatibility with multiple versions
* fix mypy tests to allow for varied output
* toml parsing, fix #3579
* formatting :-(
* ignore missing types for toml package
* remove unused ignore_missing_imports
* undo removal of ignore_missing_imports for dotenv
* tweak coverage ignore
* fully uninstall mypy and toml/tomli
2021-12-30 13:49:43 +00:00
Eric Jolibois
8ef492b85f
build(deps): bump mypy from 0.920 to 0.930 ( #3573 )
...
* build(deps): bump mypy from 0.920 to 0.930
* fix: avoid mypy plugin crash
Due to https://github.com/python/mypy/pull/11332 , mypy would crash
because `__builtins__` is not part of `ctx.api` modules, `builtins` is
* fix tests
2021-12-29 16:51:35 +00:00
Eric Jolibois
e8822775e3
fix: support generic models with discriminated union ( #3551 )
2021-12-24 13:17:39 +00:00
Eric Jolibois
edad0dbc46
fix: keep old behaviour of json() by default ( #3542 )
...
* fix: handle basemodel fallback for custom encoders
* put back old behaviour and add to_dict
* typo
Co-authored-by: Christian Bundy <christianbundy@fraction.io >
Co-authored-by: Christian Bundy <christianbundy@fraction.io >
2021-12-24 13:14:13 +00:00
dependabot[bot]
e14e7561ed
build(deps): bump mypy from 0.910 to 0.920 ( #3552 )
...
* build(deps): bump mypy from 0.910 to 0.920
Bumps [mypy](https://github.com/python/mypy ) from 0.910 to 0.920.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.910...v0.920 )
---
updated-dependencies:
- dependency-name: mypy
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix mypy issues
* fix mypy issues
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
2021-12-24 13:11:05 +00:00
dependabot[bot]
30015aca95
build(deps): bump hypothesis from 6.31.4 to 6.31.6 ( #3554 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.31.4 to 6.31.6.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.31.4...hypothesis-python-6.31.6 )
---
updated-dependencies:
- dependency-name: hypothesis
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-24 13:10:50 +00:00
Eric Jolibois
81b13ff3b4
fix: rename schema util into schema_of ( #3547 )
2021-12-22 19:42:56 +00:00
Eric Jolibois
fe2a5e2170
fix: smart union with typeddict ( #3543 )
2021-12-22 19:39:18 +00:00
Hyun Sol
c532e8324e
#3234 exclude extra field when represent model ( #3241 )
...
* exclude extra field when represent model
* add test code
* fix W293
* add change md
* Update changes/3234-cocolman.md
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Update pydantic/main.py
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Update tests/test_main.py
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2021-12-19 16:08:26 +00:00
Eric Jolibois
93faefb4a9
fix: nested ORM from nested dictionaries ( #3182 )
...
closes #3181
2021-12-19 10:41:51 +00:00
Eric Jolibois
5ad73d0388
fix: models copied via Config.copy_on_model_validation always have all fields ( #3201 )
...
Small regression in #2231 .
The shallow copy done with `Config.copy_on_model_validation = True` (default behaviour)
was using excluded / included fields when it should just copy everything
closes #3195
2021-12-19 10:37:30 +00:00
Mark Trifonov
be246701c5
Nested env ( #3159 )
...
* Environment names for complex types #2304
* nested env disabled by default
* cleanup
* nested env settings: simplified and mypy fixes
* nested env settings: config, test, doc
* nested env settings: changes file
* nested env settings: cleanup
* Apply suggestions from code review
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Apply suggested changes from code review
* lint fix
* changes from code review
* simplify explosing env vars
* linting
Co-authored-by: Mark Trifonov <>
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-12-18 20:56:14 +00:00
Jaakko Moisio
63337fbadc
Add optional field argument to __modify_schema__() ( #3434 )
...
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-12-18 20:55:22 +00:00
dependabot[bot]
f36040a4a3
build(deps): bump twine from 3.7.0 to 3.7.1 ( #3519 )
...
Bumps [twine](https://github.com/pypa/twine ) from 3.7.0 to 3.7.1.
- [Release notes](https://github.com/pypa/twine/releases )
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pypa/twine/compare/3.7.0...3.7.1 )
---
updated-dependencies:
- dependency-name: twine
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 20:55:05 +00:00
dependabot[bot]
b03d3ed2ca
build(deps): bump hypothesis from 6.30.1 to 6.31.4 ( #3520 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.30.1 to 6.31.4.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.30.1...hypothesis-python-6.31.4 )
---
updated-dependencies:
- dependency-name: hypothesis
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-18 20:54:58 +00:00
Marcelo Trylesinski
7eaa582980
Add AmqpDsn class ( #3254 )
...
* Add RabbitmqDsn
Will update once finished - haven't looked at the CONTRIB yet. Want to test locally to see if it works.
* added tests; added to docs
* added changes
* fixed import in networks.py
* fixed linting issues; fixed __init__.py import issue
* sorted imports
* added trailing comma on imports
* Merge master
* Change class name from RabbitmqDsn to RabbitMqDsn
* Format code
* Rename change file and prettify content
* Fix RabbitMQ name on documentation
* Add a trivial test
* Address Samuel and Nuno's comments
* Refactor AMQP tests according to Redis tests style
* Update docs/examples/settings_main.py
* cleanup
Co-authored-by: Thomas <thomas@9bitbyte.com >
Co-authored-by: Thomas Crha <tom.crha@dragonflytechnologies.com >
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-12-18 20:40:16 +00:00
Eric Jolibois
c834f3419d
Support discriminated union ( #2336 )
...
* feat: add discriminated union
* feat: add OpenAPI spec schema
* test: add basic example for generated schema
* test: add validation tests
* docs: add basic documentation
* fix: support ForwardRef
* test: add ForwardRef case
* fix: false positive lint error
https://github.com/PyCQA/pyflakes/pull/600
* improve error
* add schema/schema_json utils
* fix tests after merge
* refactor: add `discriminator` attribute to `FieldInfo`
* refactor: @cybojenix remarks
* fix schema with forward ref
* start nested
* feat: add allowed values in error message
* fix wrong check
Same example with
```
class FooDomainA(BaseModel):
__root__: Union[FooDomainAA, FooDomainAB]
```
(without a discriminator)
should obviously be valid
* test: add nested examples
* remove uncovered code as we don't need it
* docs: add nested example
* fix: support properly Annotated Field syntax
* support naked annotated
* fix: handle TypeError
* make error loc more explicit
* fix behaviour with basemodel instance as value
* support schema for dataclasses
* tweak examples
* refactor: context manager just around code that fails
* refactor: add docstring + tweak on `get_sub_types`
* refactor: move `get_discriminator_values` in `utils.py`
* refactor: create `MissingDiscriminator` and `InvalidDiscriminator`
* refactor: move logic in `_validate_discriminated_union`
* refactor: remove `DiscriminatedUnionConfig`
* docs: schema/schema_json
* tests: add tests with other `Literal` types
* update 3.10
* add schema docstring
* weird bug on 3.8 with `Literal[None]`
* bump to view docs & coverage
* bump to prompt tests
* move tests in dedicated file
* chore: rewording
* refactor: replace property by direct slot
* refactor: faster check
* refactor: missing discriminator
* refactor: change error to ConfigError
* refactor: use display_as_type
* fix: mypy
* fix: duplicate
* feat: handle alias
* feat: handle nested unions
* tweak first example
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-12-18 16:31:35 +00:00
Bas van Beek
e012089f12
Mention Python >= 3.9.2 as an alternative to typing_extensions.TypedDict ( #3374 )
...
* Mention python >= 3.9.2 as an alternative to `typing_extensions.TypedDict`
* Narrow the upper version for `LegacyTypedDict`: 3.9 -> 3.9.2
* Add an entry to `changes`
* Update pydantic/annotated_types.py
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Update `TypedDict` exception message in the test suite
* linting
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-12-11 22:44:09 +01:00
Eric Jolibois
ce316cd0d3
add pre-commit ( #3513 )
2021-12-11 21:13:52 +01:00
Sebastián Ramírez
61d30aed7a
✨ Add support for decimal-specific configs in Field() ( #3507 )
...
* ✨ Add support for Decimal-specific configs in Field()
* ✅ Add/update tests for condecimal and variant with Field()
* 📝 Update schema - Field() docs including Decimal-specific configs
* 📝 Add PR changes file
2021-12-11 11:21:06 +00:00
Toby Harradine
6ad80cd402
Allow None when using a Union containing Any or object ( #3452 )
...
* Add unit test for Union[int, Any]
* Allow None when Any or object is in Union
Resolves #3444
* Add changelog entry for #3444
* Prefer `is_none_type()` over `type_ is NoneType`
* fix(lint): remove useless import
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
2021-12-10 18:41:37 +00:00