Commit Graph

22 Commits

Author SHA1 Message Date
Yurii Karabas 5506d8ec19 Update type annotation for create_model function (#2071)
* Update type annotation for create_model function

* Remove redundant __base__ cast
2020-11-29 17:34:12 +00:00
layday e899692654 Add two overload variants to validate_arguments (#2055)
* Add two overload variants to `validate_arguments`

Fixes #2052.

* Add change file

* Move decorator tests to success.py

* Reword changelog entry
2020-10-28 19:09:24 +00:00
Alex Hedges 8aad3a2f58 Refactor PrivateAttr to type-check like Field (#2057)
* Refactor PrivateAttr to type-check like Field

* Change TypeError to ValueError for consistency

* Add PrivateAttr example to mypy tests
2020-10-28 10:17:45 +00:00
PrettyWood c83156d0e0 feat: make pydantic dataclass decorator support built-in dataclass (#1817)
* feat: pydantic dataclasses support built-in ones

closes #744

* feat: improve dataclass typing

* feat: add support for nested dataclasses

closes #1743

* feat: support dataclass schema with nested dataclasses

* refactor: remove `_dataclass_with_validation` function

* docs: add docstring for `make_dataclass_validator`

* refactor: rename DataclassType into Dataclass

The name `DataclassType` was missleading as it's not a `Type` per say.

* refactor: change global `dataclass` import to local

pydantic import time was improved in
https://github.com/samuelcolvin/pydantic/pull/1132
by keeping `dataclass` import local. So let's keep it that way!

* test: add extra nested case with BaseModel

* chore: s/pydantic/_pydantic_/g

* docs: add some documentation
2020-10-26 11:09:28 +00:00
Sergey Teplyakov 52aa5c456f Add init for forward ref stub (#1739)
* Add __init__ for ForwardRef stub

* Add changes file

* Update changes/1738-sirtelemak.md

Co-authored-by: Samuel Colvin <samcolvin@gmail.com>

* Add mypy check for ForwardRef

* Add Black line after if statement

Co-authored-by: Samuel Colvin <samcolvin@gmail.com>
Co-authored-by: Sergey Teplyakov <s.teplyakov@fitingo.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com>
2020-10-25 15:36:38 +00:00
Brian Maissy a89c97a3e3 add a __call__ stub to PyObject for mypy (#1849)
Co-authored-by: Brian Maissy <brian@medigate.io>
2020-10-09 12:11:23 +01:00
Selim Belhaouane b99c37e3d0 Fix #1770 (#1771) 2020-10-08 21:07:22 +01:00
Dima Boger ccd5f7b8f3 Replace exception to silent passing in mypy plugin for non-Var attributes (#1348)
* Replace exception to silent passing in mypy plugin for non-Var attributes

* Add a history file
2020-04-15 22:46:22 +01:00
Danny Weinberg a015cd01ba Have BaseModel inherit from Representation (#1319)
* Have BaseModel inherit from Representation

This changes the inheritance so that `BaseModel` *actually* inherits from `Representation`, rather than just having the same methods as it. While this doesn't actually affect the runtime, it does make mypy happier.

Fixes https://github.com/samuelcolvin/pydantic/issues/1310

* Add '__dict__' back into slots
2020-04-15 22:07:16 +01:00
Samuel Colvin 6914410f38 Validation Decorator (#1179)
* starting validation_decorator

* correct skip_pre_38

* fix coverage and type hints

* mypy tests and move to class based decorator

* 3.6 fix, prevent duplicate github actions

* correct py 3.6 check

* better errors

* cleaner field names for args and kwargs

* add change and comments

* starting docs

* back to 3.7 for docs

* docs

* bump

* add async example and fix print indents

* allow type annotations as strings

* python 3.8 in docs
2020-02-05 17:27:12 +00:00
Samuel Colvin 55f7d35727 update root_validator signature, fix #1192 (#1204) 2020-02-01 16:59:32 +00:00
Samuel Colvin e9da909dd3 remove explicit re-exports from __init__.py (#1124) 2020-01-02 11:44:48 +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
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 f4cc204138 fix mypy complaint on @root_validator(pre=True) (#985)
* fix mypy complaint on @root_validator(pre=True)

* fix internal mypy

* use overload on root_validator
2019-11-09 14:45:29 +00:00
dmontagu 0c18619769 Mypy plugin (#722)
* Add mypy plugin

* Make all arguments optional for BaseSettings

* Get test coverage up

* Add changes

* Add type-checking for BaseModel.construct, and checking for from_orm

* Fix formatting and linting

* Fix the build

* Heavy refactor of plugin and mypy tests

* Make linting pass

* Handle dynamic aliases

* Better organize plugin code

* Add docs

* Add support for error codes

* Fix minor docs typo

* Rename config settings, add docstrings, and incorporate other feedback

* Incorporate feedback

* Update docs, remove dataclasses for cython

* fix mypy example
2019-10-31 13:19:01 +01:00
dmontagu 9667478376 Make strictbool typecheck as bool (#873)
* Make strictbool typecheck as bool

* Incorporate feedback

* Remove unneeded pragma: no cover
2019-10-07 18:39:09 +01:00
Samuel Colvin 12f4e0d082 rename Schema to Field (#824)
* rename Schema to Field

* add Schema function with deprecation warning

* mypy tests and other tweaks

* tweaks and cleanup

* Update pydantic/fields.py

Co-Authored-By: Sebastián Ramírez <tiangolo@gmail.com>
2019-09-30 17:49:59 +01:00
dmontagu f6edb1ef01 Update mypy to 0.730 (#839)
* Update mypy

* Fix import sorting
2019-09-30 12:14:05 +01:00
Samuel Colvin 32efbf069b dataclass import alias for export (#783)
* dataclass import alias for export, fix #781

* support --no-implicit-reexport in pydantic, add changes
2019-08-28 11:54:59 +01:00
dmontagu 6c0f4f31d1 Test mypy integration with pytest (#735)
* Test mypy integration with pytest

* Fix for without deps

* Fix filenames issue

* Remove python run in external-mypy

* Update changes

* Remove external-mypy
2019-08-17 12:59:11 +01:00