* 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.
* Update sub_types when calling update_forward_refs(), fix#404
* Update History
* Handle deeply nested ForwardRef types in sub_types using recursion
* Move update_field_forward_refs to utils.py
* 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.
* Support specialized ClassVars, e. g. ClassVar[int] now works in a model, fix#435
* Use apostrophes and pass the test also on python 3.6, where ClassVar[int] is a ClassVar, not a _GenericAlias. Note that the == operator gives False in this case, so we must really compare the classes directly.
* Another attempt at the ClassVar check.
* Ran make format.
* Make mypy happy.
* add HISTORY
* fix ForwardRef collection bug, fix#439
* reformat codes
* minor document error
* add HISTORY.rst and simplified unit test
* restore the original example for ForwardRef
* 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
* IPv{4,6,Any}{Network,Interface} types added, unittests and docs updated
* HISTORY.rst minor update
* Remove strict argument from IP network types
* IP Networks validators and type hints fixed
* tweak history
* Update sphinx from 1.8.3 to 1.8.4
* Update flake8 from 3.7.4 to 3.7.7
* Update isort from 4.3.4 to 4.3.9
* Update mypy from 0.660 to 0.670
* Update pyflakes from 2.1.0 to 2.1.1
* Update pytest from 4.2.0 to 4.3.0
* Update pytest-mock from 1.10.0 to 1.10.1
fix#378
* Tracking for setting attributes
* Fixes accidental leak of fields
* Allows defaults fields to be recursively set
* Docs and history for skip_defaults
* Mypy fix on calculate keys
* Update pydantic/main.py
Co-Authored-By: dgasmith <dgasmith@icloud.com>
* Update pydantic/main.py
Co-Authored-By: dgasmith <dgasmith@icloud.com>
* Update HISTORY.rst
Co-Authored-By: dgasmith <dgasmith@icloud.com>
* Cleanup pass based off review
* Simplifies constructors based on feedback
* Makes mypy happy with exlicit KeysView
* SetOrKeys and faster key search
* Formats files once more
* add tests for dict, pickle and construct
* fixes for dict, pickle and construct
* correct field_set for extra.ignore
* Fixes format
* add type hints, fix#372
* fix tests and BaseModel inference
* fix#280
* fix dataclasses and docs
* more typing
* adding hints to fields.py
* type **EVERTHING*
* fix for 3.6
* small speed ups and some typ checks
* correct model.copy
* update history
* Update flake8 from 3.6.0 to 3.7.4
* Update mypy from 0.650 to 0.660
* Update pycodestyle from 2.4.0 to 2.5.0
* Update pyflakes from 2.0.0 to 2.1.0
* Update pytest from 4.0.2 to 4.2.0
* Update pytest-cov from 2.6.0 to 2.6.1
* fix test linting
deprecated `ignore_extra` and `allow_extra` Config fields in favor of `extra`, fix#352
* refaactored extra types to use a single enum
* slightly simplified
* added tests
* fixed most stuff
* docs and some simplifications
* better assert
* changed enum and fixed logic
* trying to capture deprecation warning
* make format
* fixing tests and moving exta logic to __new__
* set_extra tests
* fox benchmarks
* formatting
* updated history
* docs
* added a negative tests
* reverted format changes
* format
* matched casing
* renamed values
* more fixes
* forgot values change
* another one
* weird stuff
* linting issue
* Update pydantic/main.py
Co-Authored-By: liiight <4374581+liiight@users.noreply.github.com>
fix#279
* Support typing.Callable validation.
* Add myself to HISTORY.
* Prove it works with just Callable.
* Document callable validator behavior.
* Support differences in typing module between py36 and py37.
* Remove callable filed from JSON schema with warning.
* Update pydantic/schema.py
Co-Authored-By: proofit404 <proofit404@gmail.com>
* Update tests/test_callable.py
Co-Authored-By: proofit404 <proofit404@gmail.com>
* Update pydantic/validators.py
Co-Authored-By: proofit404 <proofit404@gmail.com>
* Update tests/test_callable.py
Co-Authored-By: proofit404 <proofit404@gmail.com>
* Move callables to the exotic types.
* Move Callable type choice to the import time.
* Move is_callable_type to the utils module.
* Raise warning at skip except.
* Update pydantic/schema.py
Co-Authored-By: proofit404 <proofit404@gmail.com>
* Update docs/index.rst
Co-Authored-By: proofit404 <proofit404@gmail.com>
* Update pydantic/schema.py
Co-Authored-By: proofit404 <proofit404@gmail.com>
* uprev
* Update index.rst (#370)
* Update history.rst
* Make the example a little more concise.
* Use callable import from the utils.
* Remove blank line.
* Remove duplication comments.
* fix history
* support postponed annotations in python 3.7
* support for full ForwardRef
* tweak update_forward_refs
* better ForwardRef resolution
* remove debug, fix linting
* fix comments
* docs and history