* 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#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
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>
* Raise a NameError if a field name shadows a BaseModel attribute fix#242
* Move the test and also check the names of non-annotation attributes
* Fix for flake8
* Fix import order
* Move validate_field_name to utils
* Linting
* Update history
* Make dump/load symmetric for aliased fields
* Only populate model fields by alias if enabled
* Document Config.allow_population_by_alias
* Update history
* Fix doc formatting
* Fix doc errors
* Get rid of `track` in errors
* Move `display_as_type` func into utils module
* Get rid of error as `namedtuple`
* Renamed `Error.index` to `Error.loc`
* New way to get error type
* New way to get error message
* New errors format
* Renamed `flatten_errors` property to `flat_errors`
* `__slots__` for `Error` and `ValidationError`
* `loc` as `tuple`
* Tests
* Review fixes
* `flatten_errors` as generator
* Perform validation on assignment to attribute
* Add config variable "validate_assignment" defaulting to False.
* Add unit test.
* Add non-empty second parameter to fields.validate
* Improved tests per maintainer's suggestions.
* Improved tests.
* Add documentation in index.rst
* working on parsers
* starting parse tests
* proper tests for parse
* adding parse docs
* tweaks and history
* add test for datetime direct, fix tests
* tweak docs
* working on models allowing immutability, ref #38
* up complexity
* use noqa c901
* fixing fields with new processor
* allow_mutation config and tests
* uprev, history and docs
* fix typos
* add support for annotation only fields, fix#34
* adding tests with mypy
* adding docs for mypy usage
* adding mypy failure test
* adding alias tests
* tweak mypy tests