Commit Graph

446 Commits

Author SHA1 Message Date
Samuel Colvin bbdc8e8038 add test_init_inspection 2019-08-05 11:35:49 +01:00
Arseny Boykov f01cedca14 Merge branch 'master' into __dict__-instead-of-__values__ 2019-08-05 12:58:46 +03:00
Samuel Colvin 49178a368d Merge pull request #676 from dmontagu/type-in-validation-error
Add type name to ValidationError error message
2019-08-05 10:50:30 +01:00
MrMrRobat 86be8b2012 Union changes messages 2019-08-05 12:49:12 +03:00
Samuel Colvin 7ace58cad8 Merge branch 'master' into type-in-validation-error 2019-08-05 10:37:42 +01:00
MrMrRobat 0c3093be5f Merge remote-tracking branch 'origin/__dict__-instead-of-__values__' into __dict__-instead-of-__values__ 2019-08-04 01:35:07 +03:00
MrMrRobat 7f87dda20e Remove redundant __dir__ method 2019-08-04 01:34:44 +03:00
Arseny Boykov 33ef9ce1f2 Update HISTORY.rst 2019-08-03 22:48:28 +03:00
MrMrRobat 1d76605736 Update history 2019-08-03 18:42:41 +03:00
MrMrRobat bbf0b4bfbe Add __values__ property with deprecation warning and test for it 2019-08-03 18:05:17 +03:00
MrMrRobat abd773b5a5 Rename BaseModel.__values__ to BaseModel.__dict__, remove BaseModel.__getattr__ 2019-08-03 17:19:29 +03:00
Samuel Colvin 39ee92ae19 Merge pull request #708 from samuelcolvin/dependabot/pip/flake8-quotes-2.1.0
Bump flake8-quotes from 2.0.1 to 2.1.0
2019-08-02 11:07:23 +01:00
dependabot-preview[bot] a3df3aa314 Bump flake8-quotes from 2.0.1 to 2.1.0
Bumps [flake8-quotes](https://github.com/zheller/flake8-quotes) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/zheller/flake8-quotes/releases)
- [Commits](https://github.com/zheller/flake8-quotes/compare/2.0.1...2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-02 06:39:16 +00:00
Samuel Colvin 719501c68b uprev 2019-07-31 12:06:08 +01:00
Samuel Colvin 04756627a3 Merge pull request #700 from samuelcolvin/dependabot/pip/docutils-0.15.2
Bump docutils from 0.14 to 0.15.2
2019-07-31 09:43:19 +01:00
Samuel Colvin 15e81b9aaf Make .json() work for EnumError (#697)
* Make .json() work for EnumError

* Update history
2019-07-31 09:12:44 +01:00
dmontagu f881d4f30c Make .json() work for EnumError (#697)
Make .json() work for EnumError, fix #696
2019-07-31 09:12:18 +01:00
dependabot-preview[bot] a9d9ba3e0a Bump docutils from 0.14 to 0.15.2
Bumps [docutils](http://docutils.sourceforge.net/) from 0.14 to 0.15.2.

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-31 06:40:24 +00:00
David Montague 4500ab7483 Update history 2019-07-30 12:37:34 -07:00
David Montague a028687f98 Make .json() work for EnumError 2019-07-30 11:38:25 -07:00
dependabot-preview[bot] b58f31dfd9 Bump coverage from 4.5.3 to 4.5.4 (#695)
Bumps [coverage](https://github.com/nedbat/coveragepy) from 4.5.3 to 4.5.4.
- [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-4.5.3...coverage-4.5.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-30 10:51:41 +01:00
dependabot-preview[bot] 99dc5c1c83 Bump cython from 0.29.12 to 0.29.13 (#694)
Bumps [cython](https://github.com/cython/cython) from 0.29.12 to 0.29.13.
- [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.12...0.29.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-29 10:37:01 +01:00
dependabot-preview[bot] cb81ca66b2 Bump cython from 0.29.11 to 0.29.12 (#689)
Bumps [cython](https://github.com/cython/cython) from 0.29.11 to 0.29.12.
- [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.11...0.29.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-25 18:52:55 +01:00
dependabot-preview[bot] 85f1016c4a Bump pytest from 5.0.0 to 5.0.1 (#688)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 5.0.0 to 5.0.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.0.0...5.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-25 18:17:39 +01:00
dependabot-preview[bot] f55a633296 Bump mypy from 0.711 to 0.720 (#686)
Bumps [mypy](https://github.com/python/mypy) from 0.711 to 0.720.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.711...v0.720)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-25 18:17:27 +01:00
dependabot-preview[bot] 3dca559e82 Bump flake8 from 3.7.7 to 3.7.8 (#685)
Bumps [flake8](https://gitlab.com/pycqa/flake8) from 3.7.7 to 3.7.8.
- [Release notes](https://gitlab.com/pycqa/flake8/tags)
- [Commits](https://gitlab.com/pycqa/flake8/compare/3.7.7...3.7.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-25 18:17:13 +01:00
David Montague 8135f470e4 Incorporate feedback 2019-07-25 00:15:54 -07:00
David Montague b960f71586 Incorporate feedback 2019-07-25 00:06:44 -07:00
David Montague fd7ec970be Update history 2019-07-25 00:06:44 -07:00
David Montague 20619ea901 Add type name to ValidationError error message 2019-07-25 00:05:57 -07:00
Samuel Colvin c28d469f5b uprev 2019-07-24 18:49:13 +01:00
Arseny Boykov fae3588f42 Add Config.keep_untouched for custom descriptors support (#679)
* Add Config.keep_untouched for custom descriptors support

* Update HISTORY.rst

* Separate test

* Fix tests

* Update pydantic/validators.py

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

* Update HISTORY.rst

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

* Rename TYPE_BLACKLIST -> UNTOUCHED_TYPES, fix tests and formatting

* Update docs/index.rst

Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
2019-07-24 16:33:49 +01:00
dmontagu b702eb8738 Update error message for enum validator (#673)
* Update error message for enum validator

* Update history
2019-07-24 10:53:10 +01:00
dmontagu b09e6977b9 Bugfix for generic types with parameterized generic fields (#672)
* Bugfix for generic types with parameterized generic fields

* Update history

* Skip new tests in python3.6
2019-07-24 10:52:44 +01:00
euri10 1e83ac5137 Color schema (#666)
* First attempt at adding Color in schema() generation

* Lint

* Add history

* Make docs pass

* Added format color

* Format color

* Making history...:)
2019-07-24 10:52:05 +01:00
Arseny Boykov 1b4c1a884c Fix alias_generator and field config conflict (#658)
* Fix alias_generator and field config conflict (see #645)

* HISTORY.rst update: fix alias_generator and field config conflict

* Merge HISTORY.rst with master
2019-07-24 10:32:40 +01:00
Sebastián Ramírez 886d05e100 Use inspect.getdoc to get model description (#657)
* Use inspect.getdoc to get model description

This instead of the custom function clean_docstring.
It also allows models to inherit a description, the same way classes inherit a docstring.

* Update History
2019-07-24 10:00:16 +01:00
Arseny Boykov 74768c1535 Add advanced exclude and include support for dict, json and copy (#648)
* Add advanced exclude support for dict, json and copy

* Add advanced exclude support for dict, json and copy

Add new version section (v0.31)

* Add advanced include support, add more tests, improve code style
Rename ValueExclude to ValueItems and move it to utils
Use old logic to calculate keys, but still exclude it in _iter

* Add more tests for ValueItems

* Removed update arg check in _calculate_keys for return None
This will increase speed when no include or exclude given and skip_defaults is False

* Fix formatting, remove duplicate imports

* Add # pragma: no cover to 'if TYPE_CHECKING:' block

* tweaks and coverage

* fix history

* Add docs

* tweak docs
2019-07-24 09:58:38 +01:00
Justin DuJardin bc60014518 Add better support for floating point multiple_of values (#652)
- modulo doesn't work with floating point values in many cases, e.g. `0.3 % 0.1 == 0.09999999999999998`
 - port implementation from: https://github.com/tdegrunt/jsonschema/issues/187#issuecomment-320664251
 - add tests for int/float multiple_of values
 - update history with pr/author
2019-07-23 16:41:11 +01:00
dmontagu 4c9ee486d8 Add literal docs (#651)
* Add literal docs

* Update history

* Incorporate feedback

* fix history
2019-07-23 16:40:28 +01:00
dmontagu 18d4b2bb2a Make schema work for Literal and NewType (#649)
* Make schema work for Literal and NewType, fix #646

* Fix test when typing_extensions not installed

* Make literal values fetching 3.6 compatible

* Rework to get around issues with Literal in python 3.6

* Make cython-compatible

* Use union for multiple allowed literal values

* Minor simplification of values-gathering

* Updated history
2019-07-15 20:06:35 +01:00
Samuel Colvin 7244aba553 uprev 2019-07-15 19:28:36 +01:00
Levi Naden 61c8ca2f30 Re-enable nested model init calls while still allowing self (#644)
* Re-enable nested model init calls while still allowing self

This commit enables nested model `__init__` statements to be executed
while still allowing `self` as an argument.

Effectively reverses the changes from #632 while still enabling the
feature it implemented. In theory, there will still be a collision if
someone ever tried to use `pydantic_base_model/settings_init` as an arg,
but I don't know how to engineer a case where a collision would *never*
happen, I'm not sure there is one.

This commit also added a test for both BaseModel` and `BaseSettings` for
both the `self`-as-a-parameter and the nested `__init__` features since
`BaseSettings` now has the same issue as `BaseModel` since it invoked
an `__init__` with self.

I have added a comment under the `__init__` for both `BaseModel` and
`BaseSetting` since not having `self` as the first arg is such a
rarity within Python that it will likely confuse future developers who
encounter it.

The actual name of the variable referencing the class itself can be
up for debate.

* Please Lint

* Please Black

* Update from comments
2019-07-11 15:42:48 +02:00
Samuel Colvin b52d877f28 uprev 2019-07-07 11:13:02 +01:00
Samuel Colvin 34f271e8fa support self argument (#632)
* support self argument, fix #629

* support self recursively
2019-07-06 14:22:15 +01:00
Koudai Aono e4b285a0cd support custom root types (#628)
* support custom root types

* update HISTORY.rst for costom root types

* fix invalid arguments case

* remove the keyword argument of "__root__" in __init__
add a keyword argument of "__root__" in parse_obj
fix documents
create a method for cheking valid field name

* fix parse_obj

* Update docs/index.rst

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

* Apply suggestions from code review

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

* add type cheking for custom root type

* Update docs/index.rst

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

* Update index.rst
2019-07-06 09:52:42 +01:00
pyup.io bot 32bc0083d9 Scheduled monthly dependency update for July (#633)
* Update sphinx from 2.0.1 to 2.1.2

* Update typing-extensions from 3.7.2 to 3.7.4

* Update cython from 0.29.9 to 0.29.11

* Update isort from 4.3.20 to 4.3.21

* Update mypy from 0.701 to 0.711

* Update pytest from 4.6.0 to 5.0.0

* pytest and mypy fixes

* prevent deprication warnings
2019-07-06 09:39:39 +01:00
Arseny Boykov 010ba38dc1 Add alias_generator (#622)
* Added alias_provider

* Update HISTORY.rst (+ add alias_provider support #622 by @MrMrRobat)

* Rename alias_provider —> alias_generator
Move docs to config section, reformat example
Separate test_alias_generator

* Update docs/index.rst

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

* Update docs/index.rst

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

* Update docs/index.rst

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

* Fix conflict between dictionary field config in Config.fields and Config.alias_generator

Add one more condition for applying alias_generator

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

* Add test for using alias_generator with field schema
2019-07-02 12:13:06 +01:00
dmontagu 8aac71af0f Fix unparameterized generic type schema generation (#625)
* Fix #623

* Update history

* Add List test

* Augment test
2019-07-02 10:44:24 +01:00
Sebastián Ramírez 3cdbbaee95 Fix circular schema generation, remove None checking hack (#621)
* Fix circular schema generation, remove None checking hack

* Include test written by @wongpat to make it run in CI

* Update History

* Update nested_models in-place

Co-Authored-By: Patrick Wong <wongpat@users.noreply.github.com>

* Update nested_models in-place

Co-Authored-By: Patrick Wong <wongpat@users.noreply.github.com>

* Update nested_models in place everywhere for consistency
2019-06-28 10:49:26 +01:00