PrettyWood
3aacec4e17
feat(schema): support custom title, description and default for enums ( #1749 )
...
* refactor(schema): put schema data from fieldinfo in dedicated function
* feat(schema): support custom title, description and default for enums
closes #1748
* refactor: replace $ref by allOf + $ref to be supported by doc generation tools
* fix: do not set title by default for enums
* refactor: make code more explicit
* fix: run linter
2020-10-18 20:23:06 +01:00
PrettyWood
29e3877a44
chore(deps-dev): bump mypy from 0.782 to 0.790 ( #1998 )
...
* Bump mypy from 0.782 to 0.790
Bumps [mypy](https://github.com/python/mypy ) from 0.782 to 0.790.
- [Release notes](https://github.com/python/mypy/releases )
- [Commits](https://github.com/python/mypy/compare/v0.782...v0.790 )
Signed-off-by: dependabot[bot] <support@github.com >
* chore: remove mypy issues
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-18 19:59:22 +01:00
Hmvp
c6a24f28c5
Fix const validator not running when class validators are present ( #1957 )
2020-10-09 13:26:11 +01:00
Davis Kirkendall
30ee8e2203
Force fields.Undefined to be a singleton objectIn various places of the code, we compare directly to fields.Undefinedsince we assume it to be constant.When new models get created however, the object is deepcopied andis no longer identical with the original object.We therefore add __copy__ and __deepcopy__ methods to ensurethat the copied objects are actually the same original object. ( #1981 )
2020-10-09 13:25:24 +01:00
Louis Sautier
d2972362c5
test_config_file_settings_nornir: use less common env. var names ( #1977 )
...
Gentoo's Portage sets A during the test phase, switching to less common
environment variable names reduces the likelihood of something similar
happening.
2020-10-09 13:23:31 +01:00
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