Commit Graph

646 Commits

Author SHA1 Message Date
Anthony 1a273f2e64 docs: Fix explanation of case sensitivity for Settings (#1110)
* docs: Fix explanation of case sensitivity for `Settings`

* Add changes

* Update docs/usage/settings.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* Update docs/usage/settings.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* Update docs/usage/settings.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
2019-12-18 14:16:38 +00:00
dependabot-preview[bot] 42c4b3e3a1 Bump mypy from 0.750 to 0.760 (#1107)
Bumps [mypy](https://github.com/python/mypy) from 0.750 to 0.760.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.750...v0.760)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-18 13:22:41 +00:00
Aviram Hassan 5510a13f6c Added optional for root_validator to be skipped if values validation fails (#1050)
* Added optional for root_validator to be skipped if values validation fails

* cleaner usage of skip_on_failure

* skip_on_failure: documentation update
2019-12-16 11:15:06 +00:00
dependabot-preview[bot] f37789c87f Bump mkdocs-material from 4.5.1 to 4.6.0 (#1096)
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 4.5.1 to 4.6.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/4.5.1...4.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-12 10:38:34 +00:00
Leo Sussan 36e499fc2c docs: added Reach to "Using Pydantic" section (#1095) 2019-12-12 10:33:51 +00:00
Samuel Colvin bd72e80e94 Prevent type attributes being added to schema unintentionally (#1065)
* Prevent type attributes being added to schema unintentionally, fix #1064

* simpler boolean check

* change to __modify_schema__

* better docs

* Update docs/usage/schema.md

Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com>
2019-12-11 12:01:41 +00:00
Samuel Colvin de6bd1b469 Settings config inheritance fix #1091 (#1093) 2019-12-11 11:58:03 +00:00
Scott P 3804998649 Trick Cython into allowing str subclassing (#1061)
* Trick Cython into allowing str subclassing

* Added a changes file

* Removed 2nd paragraph from changes file so it passes tests

* Augmented with tests for StrictInt/Float

* Removed commented out StrictBool subclass testing
2019-12-10 11:07:56 +00:00
Søren Bjerregaard Vrist 33fee6d9be Let SecretStr/SecretBytes be value equals to them selves (#1079)
fix #1078
2019-12-09 17:23:34 +00:00
Samuel Colvin 4318fc183e skip codecov after fastapi tests 2019-12-09 12:19:30 +00:00
Selim Belhaouane bdc3973d90 Allow schema_extra to be a callable (#1054)
* fixes for Windows development

* Allow Config.schema_extra to be a callable
2019-12-09 11:01:17 +00:00
Greg Lutostanski 34a64efc04 Fix schema for fields with nested None as default (#1088)
fix #1087

As None is typically used for the default value, it is not usually
encoded on its own into schemas. There was an issue, where using None
not as the top-level value, but rather inside other objects (e.g.
[None]) will throw a Traceback.
2019-12-09 10:05:55 +00:00
dependabot-preview[bot] fe0be5ffee Bump mkdocs-material from 4.5.0 to 4.5.1 (#1066)
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/4.5.0...4.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-06 11:38:55 +00:00
dependabot-preview[bot] 3891b1cbc0 Bump pytest-mock from 1.12.1 to 1.13.0 (#1083)
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 1.12.1 to 1.13.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/v1.12.1...v1.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-06 11:38:44 +00:00
Sebastián Ramírez ea709cc66f Add FastAPI tests to Pydantic's CI tests (#1075)
fix #1041

* Add test-fastapi.sh script, after failing to create reusable variables in Make

* Add test-fastapi Make target

* Add fastapi dir for tests to gitignore

* Add fastapi tests to Travis

* Update test-fastapi to run the minimum (pytest)

* Move make test-fastapi to normal run, no "Without Deps"

* Install Pydantic without Cython for FastAPI tests

* Put FastAPI tests in its own Travis job

* Add PR changes description

* Remove coverage for FastAPI, it's not relevant for Pydantic

* Implement code review changes, refactor Makefile use and fastapi tests

* Add a bug intentionally, to test that FastAPI tests are using the current source

and make sure it actually breaks CI.

* Fix intentional bug. Confirmed it breaks Travis for FastAPI.
2019-12-05 11:35:56 +00:00
Samuel Colvin 890589a610 oops, revert issue templates until version_info() is released 2019-12-04 15:35:51 +00:00
Samuel Colvin 13f4b8989e more strict mypy checks (#1077)
* more strict mypy checks

* add change
2019-12-04 15:15:13 +00:00
Samuel Colvin 9255012c08 add version_info to make creating issues easier (#1071)
* add version_info to make creating issues easier

* improve version_info()

* improve contributing docs
2019-12-04 15:14:53 +00:00
Samuel Colvin 15b981d05f change cython nthreads default to zero (#1074)
* change cython nthreads default to zero

* add change
2019-12-04 13:30:30 +00:00
Kieran Darcy 9982eb43dd Change BaseModel.parse_file to use Config.json_loads (#1069)
fix #1067

* Making json_loads available to parse_file

* Change BaseModel.parse_file to use Config.json_loads

* Update changes/1067-kierandarcy.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* Fixed some style issues and added missing test for parse_file_as
2019-12-03 15:05:27 +00:00
dependabot-preview[bot] d059fded52 Bump pygments from 2.5.1 to 2.5.2 (#1046)
Bumps [pygments](https://github.com/pygments/pygments) from 2.5.1 to 2.5.2.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.5.1...2.5.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 13:59:44 +00:00
Samuel Colvin 92c9b10a75 clarify meaning of camel case, fix #1056 (#1063) 2019-12-02 13:10:39 +00:00
dmontagu d538df5fbb Update for compatibility with mypy 0.750 (#1058)
* Update for compatibility with mypy 0.750

* Remove coverage checks for 0.740 compatibility
2019-12-02 13:09:37 +00:00
Samuel Colvin c37ac1c5e6 Warnings for optional required, fix #1047 (#1048) 2019-12-02 12:47:56 +00:00
Aviram Hassan 1b9f08bead Dataclass is now compatible with schema methods (#1045) 2019-12-02 12:44:21 +00:00
Samuel Colvin 151143deb4 coverage for UndefinedType 2019-11-28 18:28:51 +00:00
Samuel Colvin b521f6b24a prepare v1.2 (#1042)
* making field-reuse idempotent (#1016)

* making field-reuse idempotent

* fix for 3.6

* correct change details

* uprev

* generate HISTORY.md
2019-11-28 17:46:43 +00:00
Sebastián Ramírez d9bbb05a16 Implement Optional required (#1031)
* Implement Optional required, when creating a ModelField(required=True), make it persist

* Add test for nullable required

* Improve formatting of Undefined custom object

* Refactor field infer/creation with Undefined to make it idempotent

Needed for when _type_analysis is re-run in Generics

* Add PR changes

* Increment/update tests with code review

* Update/refactor Undefined implementation with code review

* Fix BoolUndefined as string type for mypy, not runtime

* Add docs about required Optional

* Add explicit tests for Any

* Apply code review requested changes

* move tests out of test_validators.py
2019-11-28 16:48:33 +00:00
dependabot-preview[bot] cb82d3c74b Bump pytest from 5.3.0 to 5.3.1 (#1036)
* Bump pytest from 5.3.0 to 5.3.1

Bumps [pytest](https://github.com/pytest-dev/pytest) from 5.3.0 to 5.3.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/5.3.0...5.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* combine uprevs
2019-11-28 11:49:07 +00:00
dmontagu c71326d4a6 Add better support for validator reuse (#941)
* Add better support for validator reuse

* Clean up classmethod unpacking

* Add changes

* Fix coverage check

* Make 3.8 compatible

* Update changes/940-dmontagu.md

Co-Authored-By: Samuel Colvin <s@muelcolvin.com>

* Make allow_reuse discoverable by adding to error message

* switch _check_validator_name to _prepare_validator
2019-11-25 15:15:05 +00:00
dmontagu 6564bbb4ce Add parse_as_type function (#934)
* Add parse_as_type function

* Add changes

* Incorporate feedback

* Add naming tests

* Fix double quotes

* Fix docs example

* Reorder parameters; add dataclass and mapping tests

* Rename parse_as_type to parse_obj, and add parse_file

* Incorporate feedback

* Incorporate feedback

* use custom root types
2019-11-25 12:55:15 +00:00
dmontagu 62bc930f57 Add support for mapping types as custom root (#958)
* Add support for mapping types as custom root

* Incorporate feedback

* Add changes

* Incorporate feedback

* Add docs and tests

* Fix linting issue

* Incorporate more feedback

* Add more specific match
2019-11-25 12:19:41 +00:00
dmontagu 643266944c Support typing.Literal in python 3.8 (#1027)
* Support typing.Literal in python 3.8

* Improve import pattern for Literal

* Update references to  in docs

* Try to get build to pass
2019-11-25 11:32:01 +00:00
dependabot-preview[bot] 796b9588c6 Bump twine from 3.0.0 to 3.1.0 (#1029)
Bumps [twine](https://github.com/pypa/twine) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/pypa/twine/releases)
- [Changelog](https://github.com/pypa/twine/blob/master/docs/changelog.rst)
- [Commits](https://github.com/pypa/twine/compare/3.0.0...3.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 09:13:34 +00:00
Colin Sullivan 043186cfcd add testimonials section to docs with reference to python bytes podcast episode (#1025)
* add testimonials section with reference to python bytes podcast episode

* added description to changes directory
2019-11-22 16:21:02 +00:00
Samuel Colvin 4e23d4a61f __str__ and __repr__ inheritance for models, fix #1022 (#1023) 2019-11-22 15:29:56 +00:00
dependabot-preview[bot] 95a7aa6021 Bump pytest-mock from 1.12.0 to 1.12.1 (#1018)
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 1.12.0 to 1.12.1.
- [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/v1.12.0...v1.12.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-21 11:49:28 +00:00
dependabot-preview[bot] 56ba84a195 Bump pytest from 5.2.4 to 5.3.0 (#1013)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 5.2.4 to 5.3.0.
- [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/5.2.4...5.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 14:20:19 +00:00
dependabot-preview[bot] ed1c0f2e9d Bump pytest-mock from 1.11.2 to 1.12.0 (#1014)
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 1.11.2 to 1.12.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/v1.11.2...v1.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 14:19:55 +00:00
Weston Hunter 8c0f805d15 Update index.md (#1012)
Small typo change.
2019-11-19 23:04:58 +00:00
dependabot-preview[bot] 022885b86d Bump twine from 2.0.0 to 3.0.0 (#1009)
Bumps [twine](https://github.com/pypa/twine) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/pypa/twine/releases)
- [Changelog](https://github.com/pypa/twine/blob/master/docs/changelog.rst)
- [Commits](https://github.com/pypa/twine/compare/2.0.0...3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 18:28:24 +00:00
Niko Strijbol fd32516e0f Add exclude_none option (#1003)
* add `exclude_none` option (#587)

* run formatter

* Apply @samuelcolvin's suggestions
2019-11-18 13:18:51 +00:00
dependabot-preview[bot] 3b313b2ae7 Bump pytest from 5.2.3 to 5.2.4 (#1007)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 5.2.3 to 5.2.4.
- [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/5.2.3...5.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 10:14:10 +00:00
dependabot-preview[bot] 95246ef888 Bump mkdocs-material from 4.4.3 to 4.5.0 (#1006)
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/4.4.3...4.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 10:12:56 +00:00
nwalsh1995 c6e192db04 fix typo: 'frozonset' -> 'frozenset' (#998) 2019-11-15 20:26:38 +00:00
dependabot-preview[bot] 7938cb0edf Bump pytest from 5.2.2 to 5.2.3 (#999)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 5.2.2 to 5.2.3.
- [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/5.2.2...5.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-15 20:25:51 +00:00
Daniel Smith c2e0082800 ByteSize conversion (#996)
* Bytesize implement to conversion

* Changelog

* Lint: changes to single quotes

* Update tests/test_types.py

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* Update tests/test_types.py

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* Update tests/test_types.py

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
2019-11-14 16:22:51 +00:00
Koudai Aono 33b3dc1825 mypy plugin support for dataclasses (#966)
* mypy plugin support for dataclassesv

* fix styles and types

* - change type-hint for `Config`
- change name of an expected file
- update documents

* fix broken a reference of a document.

* - update unittest
- update documents

* fix a document link

* Update docs/mypy_plugin.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* Update docs/mypy_plugin.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* Update docs/mypy_plugin.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* remove extra whitespaces on mypy test results

* fix output file name of mypy test

* Update docs/usage/dataclasses.md

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>

* use TypeVar for DataclassType
2019-11-14 11:26:46 +00:00
Samuel Colvin 0e8f88611f build binaries for python 3.8 (#994)
* build binaries for python 3.8

* change and test with cibuildwheel

* skip codecov on pypi build

* speed up PR ci builds

* better conditional builds

* fix conditional builds

* finish conditional stages
2019-11-14 10:50:34 +00:00
Samuel Colvin e46491d951 move change 2019-11-13 19:20:33 +00:00