Brian Maissy
a89c97a3e3
add a __call__ stub to PyObject for mypy ( #1849 )
...
Co-authored-by: Brian Maissy <brian@medigate.io >
2020-10-09 12:11:23 +01:00
PrettyWood
75859a9d58
feat(tools): add parse_raw_as util ( #1813 )
...
closes #1812
2020-10-09 10:35:07 +01:00
dependabot[bot]
87aeab3672
Bump isort from 5.5.4 to 5.6.1 ( #1980 )
...
Bumps [isort](https://github.com/pycqa/isort ) from 5.5.4 to 5.6.1.
- [Release notes](https://github.com/pycqa/isort/releases )
- [Changelog](https://github.com/PyCQA/isort/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/pycqa/isort/compare/5.5.4...5.6.1 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-09 10:32:16 +01:00
PrettyWood
76fdbe92be
feat(dotenv): support home directory relative paths (e.g. ~/.env) ( #1804 )
...
closes #1803
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2020-10-09 10:23:28 +01:00
Samuel Colvin
c5fc921620
combined uprev of dependencies ( #1978 )
2020-10-09 10:20:36 +01:00
dependabot[bot]
078e7090d0
Bump pytest from 6.0.1 to 6.1.1 ( #1965 )
...
* Bump pytest from 6.0.1 to 6.1.1
Bumps [pytest](https://github.com/pytest-dev/pytest ) from 6.0.1 to 6.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases )
- [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest/compare/6.0.1...6.1.1 )
Signed-off-by: dependabot[bot] <support@github.com >
* add pytest-mock to binaries build
* unchange build step of ci
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2020-10-09 10:20:08 +01:00
Selim Belhaouane
b99c37e3d0
Fix #1770 ( #1771 )
2020-10-08 21:07:22 +01:00
PrettyWood
55e78cc106
fix(schema): add basic support of Pattern type in schema generation ( #1768 )
...
closes #1767
2020-10-08 20:42:14 +01:00
PrettyWood
a2fc01a59b
fix: forward ref with nested models and optional fields ( #1752 )
...
* fix: forward ref with nested models and optional fields
PR #1712 introduced a regression for forward refs in `ModelField.prepare`
as it would not return early for forward refs anymore.
Optional fields would hence have `required` set to `True`.
closes #1736
* test: skip python 3.6 as __future__.annotations is not defined
2020-10-08 20:26:30 +01:00
Arseny Boykov
d5e9d9abc8
add smart_deepcopy (originaly from #1679 ) ( #1920 )
...
* add smart_deepcopy
* uncomment tuple in BUILTIN_COLLECTIONS, fix doc a bit
* Fix grammar
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
* replace map() usage with generator comprehension, fix comment
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
2020-10-08 19:50:54 +01:00
dependabot[bot]
bf9cc4a5e7
Bump black from 19.10b0 to 20.8b1 ( #1909 )
...
* Bump black from 19.10b0 to 20.8b1
Bumps [black](https://github.com/psf/black ) from 19.10b0 to 20.8b1.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/master/CHANGES.md )
- [Commits](https://github.com/psf/black/commits )
Signed-off-by: dependabot[bot] <support@github.com >
* fix: run `make format`
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
2020-09-10 00:53:24 +02:00
Samuel Colvin
9c4860ce96
Valdiate arguments config ( #1663 )
...
* add `configs` to validate_arguments
* simplify `validate_arguments` and add annotation for parameter `configs`
* change double quotes to single quotes
* reformat code
* fix mypy error
* fix mypy 'maximum semantic analysis' error
* rename 'configs' > 'config_params'
* change name and usage, start tests
* prevent setting fields on custom config
* add docs and fix mypy
* tweak docs
* add change
Co-authored-by: quantpy <quantpy@qq.com >
2020-09-06 23:17:52 +01:00
Yury Paykov
0a465b6216
Fix #1561 - apply Config env names for fields defined in the parent c… ( #1585 )
...
* Fix #1561 - apply Config env names for fields defined in the parent class
* Changes
* Fix lint
* Fix typing
* More tests
2020-09-06 16:51:38 +01:00
Samuel Colvin
296d929904
updating all deps ( #1907 )
...
* updating all deps
* uprev github actions docs
2020-09-06 13:04:41 +01:00
dependabot[bot]
44616e35cb
Bump isort from 5.1.1 to 5.1.4 ( #1742 )
...
Bumps [isort](https://github.com/timothycrosley/isort ) from 5.1.1 to 5.1.4.
- [Release notes](https://github.com/timothycrosley/isort/releases )
- [Changelog](https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/timothycrosley/isort/compare/5.1.1...5.1.4 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-21 10:07:24 +01:00
dependabot[bot]
e985857e5a
Bump isort from 4.3.21 to 5.1.1 ( #1730 )
...
* Bump isort from 4.3.21 to 5.1.1
Bumps [isort](https://github.com/timothycrosley/isort ) from 4.3.21 to 5.1.1.
- [Release notes](https://github.com/timothycrosley/isort/releases )
- [Changelog](https://github.com/timothycrosley/isort/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/timothycrosley/isort/compare/4.3.21...5.1.1 )
Signed-off-by: dependabot[bot] <support@github.com >
* isort 5 compatibility
* fix known_standard_library and apply isort changes
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2020-07-16 10:28:44 +01:00
PrettyWood
e2fcab52b9
fix: validate and parse nested models properly with default_factory ( #1712 )
...
* fix: validate nested models with `default_factory`
PR #1504 introduced a regression by bypassing `populate_validators()`,
which would skip the validation of children in nested models
with `default_factory`
closes #1710
* test: add example of nested models parsing with `default_factory`
closes #1717
* add testcase from #1722
* bodge for benchmarks
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2020-07-15 20:23:18 +01:00
dependabot[bot]
ba56a6746b
Bump pytest-mock from 3.1.1 to 3.2.0 ( #1719 )
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.1.1...v3.2.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 20:10:14 +01:00
Spiros Dontas
1f4ecd0785
Fix nested all include exclude ( #1588 )
...
* Fix nested all include exclude
* Ensure original exclude value is not modified
This commit also fixes some weird cases in the recursive
`update_normalized_all` call and Ellipsis values.
* Add docstring, parametrize tests
2020-07-11 11:28:53 +01:00
Samuel Colvin
853a6bbb76
fix coverage for 'conset()' ( #1704 )
2020-07-11 11:24:24 +01:00
Samuel Colvin
f977709d43
add dependabot.yml ( #1705 )
2020-07-10 13:04:29 +01:00
dependabot-preview[bot]
5ccf3ec8d1
Bump pytest-sugar from 0.9.3 to 0.9.4 ( #1690 )
...
Bumps [pytest-sugar](https://github.com/Teemu/pytest-sugar ) from 0.9.3 to 0.9.4.
- [Release notes](https://github.com/Teemu/pytest-sugar/releases )
- [Changelog](https://github.com/Teemu/pytest-sugar/blob/master/CHANGES.rst )
- [Commits](https://github.com/Teemu/pytest-sugar/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-10 10:40:35 +01:00
dependabot-preview[bot]
90faeab523
Bump coverage from 5.1 to 5.2 ( #1692 )
...
Bumps [coverage](https://github.com/nedbat/coveragepy ) from 5.1 to 5.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/coverage-5.1...coverage-5.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-10 10:40:21 +01:00
dependabot-preview[bot]
bcb69d83cc
Bump cython from 0.29.20 to 0.29.21 ( #1697 )
...
Bumps [cython](https://github.com/cython/cython ) from 0.29.20 to 0.29.21.
- [Release notes](https://github.com/cython/cython/releases )
- [Changelog](https://github.com/cython/cython/blob/master/CHANGES.rst )
- [Commits](https://github.com/cython/cython/compare/0.29.20...0.29.21 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-09 17:44:38 +01:00
Samuel Colvin
a913c37560
Fix master ( #1682 )
...
* Fix master
* Fix master 2 (#1694 )
* test: add regression test with wrong type default
* fix: remove always on conlist and conset
* fix: use utf8 as default encoding on all OS
* conset invalid defualt test
* add change
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
2020-07-09 14:26:27 +01:00
flapili
dac6764575
Url port check ( #1678 )
...
* add url port check
* add change
* Update pydantic/networks.py
fix typo
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
* Update 1654-flapili.md
* Update 1654-flapili.md
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2020-07-03 20:56:36 +01:00
Patrick Wang
dca98559d5
Add conset ( #1627 )
...
* Add conset
* Add changes doc
* Fix too-long lines
* bump
* Update conset change doc formatting
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
* Robustify test_conset
* Move conlist and conset tests to test_types
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2020-07-03 20:51:23 +01:00
beezee
e3c5e1d3cd
aggregate root validation errors ( #1586 )
...
* aggregate root validation errors
* add changelog
* update language in docs around root validators and prior failure
* factor out unique_list
2020-07-03 20:47:04 +01:00
Samuel Colvin
f219501ff0
tests for missing user
2020-06-29 22:30:04 +01:00
John Carter
ff20477521
Apply __modify_schema__ on enum schema rather than fields that use it ( #1581 )
...
* Apply __modify_schema__ on enum schema rather than fields that use it
Resolves #1576
* tweak test
* correct linting :-(
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2020-06-29 13:22:27 +01:00
ll H
8aebba2c35
check ModelField().validate_always when inheriting ( #1545 )
...
fix #1155
* fix issure #1155
* add changes.1545-dcHHH.md
* improve change description
Co-authored-by: dchhh <hudacong@geetest.com >
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2020-06-29 11:04:44 +01:00
PrettyWood
e5fff9ccd0
fix: make pydantic errors (un)pickable ( #1630 )
...
* fix: make pydantic errors (un)pickable
closes #1616
* add typing
* refactor: rename kwargs into ctx
2020-06-27 19:31:23 +01:00
Patrick Wang
5a2d78765a
squash internal __root__ models in .dict() ( #1607 )
...
fix #1414
* flatten internal __root__ models
* add 1414 changes doc
2020-06-27 14:55:17 +01:00
Mlbiche
113921c6c5
Update datetime parser to support negative timestamps ( #1605 )
...
- Negative timestamps corresponds to dates before 1970/1/1
2020-06-27 14:52:20 +01:00
PrettyWood
7ac9faf031
(fix) use right type check when modifying schema ( #1562 )
...
fix #1552
2020-06-27 14:12:36 +01:00
PrettyWood
c59db275dc
fix(field): remove some side effects of default_factory ( #1504 )
...
* Avoid some side effects of default factory
- by calling it only once if possible (fix #1491 )
- by not setting the default value in the schema (fix #1520 )
* refactor: ensure type is set when using default_factory
2020-06-27 14:02:29 +01:00
Samuel Colvin
d122b1dbdc
remove RedisDsn.user_required = True ( #1658 )
...
* remove RedisDsn.user_required = True
* update docs
2020-06-26 12:02:57 +01:00
dependabot-preview[bot]
d726497b5b
Bump mypy from 0.780 to 0.782 ( #1659 )
...
Bumps [mypy](https://github.com/python/mypy ) from 0.780 to 0.782.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.780...v0.782 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-06-26 12:02:32 +01:00
Samuel Colvin
8e00077cc4
uprev test dependencies ( #1657 )
2020-06-25 21:40:34 +01:00
dependabot-preview[bot]
70d531ff4c
Bump mypy from 0.770 to 0.780 ( #1598 )
...
* Bump mypy from 0.770 to 0.780
Bumps [mypy](https://github.com/python/mypy ) from 0.770 to 0.780.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.770...v0.780 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
* fix mypy errors and remove AnyType
* fix python 3.6 inconsistencies
* linting
* tweak typing
* fix typing for 3.6
* bump
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2020-06-25 19:24:37 +01:00
PrettyWood
0cee311be5
feat(settings): allow custom encoding for dotenv files ( #1620 )
...
closes #1615
2020-06-11 11:04:08 +01:00
PrettyWood
329b1d3e7b
fix: type hints on BaseConfig ( #1618 )
...
closes #1614
2020-06-09 10:32:07 +01:00
wangpeibao
5e82689c79
Change schema frozenset ( #1560 )
...
* add frozenset to field_class_to_schema
* add change.md
* add my test
* format my test
* remove print()
* just test
* return to original code
Co-authored-by: wangpeibao <wangpeibao@troila.com >
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2020-06-02 11:03:12 +01:00
dependabot-preview[bot]
f89e372bda
Bump flake8 from 3.8.1 to 3.8.2 ( #1553 )
...
Bumps [flake8](https://gitlab.com/pycqa/flake8 ) from 3.8.1 to 3.8.2.
- [Release notes](https://gitlab.com/pycqa/flake8/tags )
- [Commits](https://gitlab.com/pycqa/flake8/compare/3.8.1...3.8.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-31 15:23:37 +01:00
Shawn Wall
4f9e77d213
1541 UUID bytes support for 16 byte strings / BINARY(16) ( #1542 )
...
* [1541] add fallback to UUID instantiation through bytes
* [1541] added changes md file
* Update UUID docs for bytes/bytearray
Co-authored-by: Shawn Wall <shawn@civicscience.com >
2020-05-31 15:05:53 +01:00
dependabot-preview[bot]
cb8e7e0930
Bump pytest-cov from 2.8.1 to 2.9.0 ( #1555 )
...
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov ) from 2.8.1 to 2.9.0.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases )
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v2.8.1...v2.9.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-31 14:58:51 +01:00
dependabot-preview[bot]
d6f446fdc0
Bump cython from 0.29.17 to 0.29.19 ( #1544 )
...
Bumps [cython](https://github.com/cython/cython ) from 0.29.17 to 0.29.19.
- [Release notes](https://github.com/cython/cython/releases )
- [Changelog](https://github.com/cython/cython/blob/master/CHANGES.rst )
- [Commits](https://github.com/cython/cython/compare/0.29.17...0.29.19 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-31 14:58:38 +01:00
John Carter
827388b4fe
Add a test assertion that default_factory can return a singleton ( #1523 )
2020-05-31 14:51:50 +01:00
Calvin Young
5195e55c10
Enums as separate models ( #1432 )
...
* Updates schema() to generate enums as separate models
* Fixes mypy annotations
* Adds changes file
* Fixes comment
* Removes unused import
* Fixes test case
* Fixes missing partial branch in test coverage
* Resolves PR comments
* 🐛 Include enums in flat model schema handling
as they now have independent schemas, they kinda behave like top-level models, and should be taken into account for top level definitions
* ✅ Add test for coverage
* 🐛 Use Type[Enum] as type for consistency
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com >
2020-05-23 19:11:34 +01:00
Daniel Burkhardt Cerigo
913025ac3f
FIX: validation on model attribute with nested Literal breaks ( #1364 )
...
* Add tests for nested literals validator
* Implement flatten literal in validator
* Add test for flatten literal
* Add changelog entry
* Add test skip markers if not Literal
* Refactor: use improved all literals implementation
From Github user PrettyWood, see PR https://github.com/samuelcolvin/pydantic/pull/1364
* Add testing for typing module
Includes moving corresponding tests.
* Remove unnecessary type hint
* Move all literals test to test_utils
2020-05-23 13:01:43 +01:00