* add documentation for PyCharm Plugin
* add a change document for a history
* Delete typing.py
* update documents
* Apply suggestions from code review
Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
* 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
* 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
* 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
* 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
* Added generic functionality
* Skip tests in python 3.6
* double quote -> single quote
* Simplified, with more comprehensive tests
* double quote -> single quote
* Remove unintentional file
* Add caching
* don't cythonize generics.py
* Make work with mypy
* Remove __parameters__
* double quote -> single quote i'll remember one day
* More cleanup and validation
* Removed unwanted file
* A little more cleanup, and finish the PR
* Add proper inheritance
* Added note about inheritance to docs
* Added error for double-parameterizing
* Should build for python3.7
* Works with both 3.6 and 3.7
* Fixed bug with caching for single argument
* handle __name__ for generic models
* double quote -> single quote
* Updated error messages
* StrictBool
StrictBool only allows booleans to be parsed. Any other value, no matter
its truthiness, is rejected.
* Fix type of `validate`
Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
* " => '
* Update the exotic docs with StrictBool
* Fix error message
* Improve docs
* tweak docs.
* added feature post_init_post_parse
* fixed bug where post_init_post_parse was triggered without looking is post_init_original is set
* change double to single quotes
* __doc__ strings fixed back to double quote
* added better way of doing the post_init_post_parse also tests passes now
* removed unused file
* deleted unnecessary test
* update history.rst, changed previouis change 560 to breaking change because it broke the original flow
* update docs, added section post_init_post_parse under dataclasses
* added __post_init_post_parse__ as attribute of DataclassType
* Update HISTORY.rst
Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
* Update HISTORY.rst
Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
* Update pydantic/dataclasses.py
Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
* update docs, added subsection initialize hooks under dataclasses
* my bad
* make tests work again
* removed checking if post_init_parse is none
* correct typo in history
* fixed typo in history.rst
* Update pygments from 2.3.1 to 2.4.2
* Update sphinxcontrib-websupport from 1.1.0 to 1.1.2
* Update email-validator from 1.0.3 to 1.0.4
* Update isort from 4.3.17 to 4.3.20
* Update pytest from 4.4.1 to 4.6.0
* Update pytest-cov from 2.6.1 to 2.7.1
* Color validator MVP
* Color Validator refactored
* Small optimizations applied
* Code coverage improved
* hex processing improved, json encoder and repr added
* Add documentation, update HISTORY (#504)
* Increase test coverage (#504)
* hex helpers refactored (#504)
* Fixes after code review (#509)
* Color Type section in docs reduced
* Check for valid but unnamed colors
* Minor fixes: typo in docs, default value for float comparison function
* rewrite Color
* fix color tests
* tweaks and improve docs
* tweaks and change Color.__str__
* add as_hsla and as_hsl
* support more rgb(a) formats
* add hsl parsing
* parsing hex with alpha channel
* fix hsl parsing
* simpler failure/fallback rules for color display
* storage as floats internally
* tweak docs
* fix type hints
* Update sphinx from 2.0.0 to 2.0.1
* Update isort from 4.3.16 to 4.3.17
* Update mypy from 0.670 to 0.701
* Update pytest from 4.4.0 to 4.4.1
* Update pytest-mock from 1.10.3 to 1.10.4
* fix typing
* feat: implement const keyword in Schema
Fix#434.
* make fields marked `const` optional
* move `const` out of the `Field`
* check that `schema` is not `None` instead of using `getattr`
* tweak constant error
* fix json for Path, FilePath, and DirectoryPath objects, fix#473
* convert to single spaces
* assert result to a string
* Update test_json.py
* encode entire Path hierarchy the same way
* Added validators for dataclass, fix#415
* Added dataclass validators
* Added dataclass validators
* Updated docs for added validating to dataclass
* Updated docs for added validating to dataclass
* Fixed line endings
* Set __validators__ type to Mapping instead of Dict
* Update History
* Use __mro__ instead of __bases__ for gather_validators
* Fix PR number
* Fix issue.rst header underline
* Fix HISTORY.rst merge conflict
* Fix utils.py merge conflict
* fix utils.py
* Rebase and other fixes
* Fix rebase and other issues
* Change history
* Remove unnecessary lines in main.py
* Rebase
* Update history
* Rename ModelType to ModelOrDc
* Added inheritance replace test
* More consiste dataclass validator tests
* fix history.
* Remove Optional ModelOrDc Type
* Fix ModelOrDc
* fix: serialize secrets to json, fix#462
* feat: adjust documentation for secretstr.
* feat: undo unnecessary changes. keep tests.
* fix: tests were broken, now they're fixed again.
* feat: add display fn to SecretStr and SecretBytes, to be used for json output.
* fix: minor typo.
* fix: last few comments.
* feat: add SecretStr and SecretBytes.
* chore: update HISTORY.rst
* fix: file permissions were incorrect.
* feat: lint, format, fix comments.
* feat: changed inner type of SecretBytes in the schema to string as there is no bytes type in json.
* feat: remove format from secret str and secret bytes.
* feat: fix schema mapping.
* Update sphinx from 1.8.4 to 2.0.0
* Update attrs from 18.2.0 to 19.1.0
* Update black from 18.9b0 to 19.3b0
* Update coverage from 4.5.2 to 4.5.3
* Update isort from 4.3.9 to 4.3.16
* Update pytest from 4.3.0 to 4.4.0
* Update pytest-isort from 0.2.1 to 0.3.1
* Update pytest-mock from 1.10.1 to 1.10.3