Marcelo Trylesinski
a4cb4ee3bc
feat: add PastDate and FutureDate types ( #2425 )
...
* feat: add PastDate and FutureDate types
* add changes file
* add tests
* fix: json schema
* fix: black format
* less code duplicated
* add dates on success.py
* fix past and future dates
* ♻️ Apply Samuel's comments
* 🚨 Satisfy flake8
* 🔥 Remove _DateValueError
* test: add last explicit case
Co-authored-by: PrettyWood <em.jolibois@gmail.com >
2021-06-04 23:30:25 +02:00
Peter Roelants
2e2edf4f11
Allow custom CFLAGS and update documentation on reducing size. ( #2517 )
...
Squashed commit Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
2021-06-04 21:42:49 +02:00
Ratul Maharaj
aca18a9863
Added Talk Python Episode 313 to docs ( #2712 )
...
* Added Talk Python Episode 313
* Added changes file
* Update docs/index.md
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
* Fixed typo in Michael's name
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
2021-06-04 19:41:01 +02:00
Eric Jolibois
c489445cea
fix: mypy plugin link in docs ( #2869 )
2021-06-01 23:01:39 +02:00
Rémi Benoit
920d71b708
Fix mypy plugin link in doc ( #2747 )
2021-06-01 22:35:10 +02:00
Eric Jolibois
2549c3012d
build(deps-dev): bump dependencies ( #2867 )
...
black: 21.4b0 -> 21.5b2
flake8: 3.9.1 -> 3.9.2
hypothesis: 6.10.1 -> 6.13.10
mkdocs-material: 7.1.4 -> 7.1.6
pytest: 6.2.3 -> 6.2.4
pytest-cov: 2.11.1 -> 2.12.0
typing-extensions: 3.7.4.3 -> 3.10.0.0
2021-06-01 18:46:05 +02:00
Sebastián Ramírez
c7d5259c0d
🔥 Unpin SQLAlchemy version for FastAPI tests ( #2865 )
...
as it is now pinned in FastAPI, and soon I will upgrade its version
2021-06-01 14:19:11 +02:00
Eric Jolibois
babbd4c59d
fix: attrs + cattrs benchmark ( #2863 )
2021-06-01 13:54:24 +02:00
Nuno André
b718e8e626
Add GetterDict example ( #2463 )
...
* Add GetterDict example
* Update docs/usage/models.md
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2021-05-12 15:25:17 +01:00
dependabot[bot]
6df783e9b4
build(deps): bump mkdocs-material from 7.1.3 to 7.1.4 ( #2773 )
...
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material ) from 7.1.3 to 7.1.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases )
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md )
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.3...7.1.4 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 21:40:27 +01:00
dependabot[bot]
34afae1e97
build(deps): bump pytest-mock from 3.6.0 to 3.6.1 ( #2770 )
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.6.0...v3.6.1 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 21:33:46 +01:00
Samuel Colvin
111ee2f5c9
V1.8.2 history ( #2783 )
...
* add change log for v1.8.2
* fix warning
* v1.6.2 and v1.7.4 to history
2021-05-11 21:28:16 +01:00
Samuel Colvin
7e83fdd256
Merge pull request from GHSA-5jqp-qgf6-3pvh
...
* fix infinite loop in datetime parsing
* add change description
* switch to set a max datetime number
2021-05-11 18:08:48 +01:00
Eric Jolibois
a6154514c1
fix(schema): namedtuple with default ( #2711 )
...
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-05-11 15:13:54 +01:00
Samuel Colvin
7a2bcd2f6a
switch downloads badge to pepy.tech
2021-05-11 15:13:29 +01:00
Yurii Karabas
7ac1dc537a
Fix repr tests ( #2769 )
2021-05-11 15:07:43 +01:00
layday
0bfc930274
Allow passing json_encoders in class kwargs ( #2523 )
...
* Test that `json_encoders` are respected from class kwargs
* Allow passing `json_encoders` in class kwargs
Fixes #2521 .
2021-05-11 15:03:51 +01:00
Samuel Colvin
17eb82cd50
fixing tests ( #2779 )
2021-05-11 14:40:17 +01:00
Frank Epperlein
362f4a5163
add repr parameter to hide a field from repr() ( #2593 )
...
* add repr parameter to hide a field from repr()
* fix styling issues
… found by flake8.
* fix type annotation issues
* correctly name changes file
* test hiding default values from repr() of a Field
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
2021-05-09 14:16:52 +01:00
Eric Jolibois
0b3c5631bd
fix: generate a valid name in schema for Enum classes ( #2582 )
...
* fix: generate a valid name in schema for `Enum` classes
* test: add schema with generic enum
* (erase me): just to check fastapi tests
* Revert "(erase me): just to check fastapi tests"
This reverts commit f334c4b575d413639d26c17c2c36d30333afcf7c.
* fix linting 😴
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-05-09 14:11:48 +01:00
Pax
68784f63c0
fix: provide __version__ attribute ( #2573 )
...
* fix: provide __version__ attribute
Pyinstaller is giving an error packaging a script that uses pydantic, "AttributeError: Module 'pydantic' has no attribute '__version__'"
See Issue #2572
* chore: add md file in changes folder
* test: __version__ attribute of pydantic module
2021-05-09 13:44:55 +01:00
Eric Jolibois
31c4efb7f0
fix: remove side effect of default_factory to always run it only once ( #2566 )
2021-05-09 13:35:15 +01:00
Davis Kirkendall
e3b98a1db4
Support user defined generic field types in generic models. ( #2554 )
...
Work on #2465 (see comments)
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-05-09 13:11:31 +01:00
Eric Jolibois
4753901151
fix(schema): JSON schema generation with a Literal of an enum member ( #2536 )
...
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-05-09 12:20:54 +01:00
Yurii Karabas
0a5f0fae7a
Fix issue with config decl at class level ( #2532 )
...
* Fix issue with config decl at class level
* Add changes
* Update pydantic/main.py
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
* Update changes
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
2021-05-09 12:05:48 +01:00
Christopher Evans
9cc6d44682
Allow for generation of a constrained decimal with decimal_places argument for hypothesis plugin ( #2524 )
...
* Add functionality to create a constrained decimal strategy when decimal_place argument is provided
* adding readme
* edit readme
* adding back confloattmul test
* Update changes/2524-cwe5590.md
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
2021-05-09 11:57:14 +01:00
Samuel Colvin
046fc53324
disable "label-assign" for PR reviews again, :-(
2021-05-09 11:55:12 +01:00
Samuel Colvin
42033cfe1c
try enabling "label-assign" for PR reviews
2021-05-09 11:05:41 +01:00
Søren Bjerregaard Vrist
08fc8302cf
Add lookahead for ip check in AnyUrl ( #2512 )
2021-05-09 10:49:19 +01:00
Eric Jolibois
9cc19e9a8e
fix: support arbitrary types with custom __eq__ ( #2502 )
2021-05-09 10:44:53 +01:00
Koudai Aono
07908b3846
Add "strict" argument to "conbytes" ( #2490 )
...
* Add "strict" argument to "conbytes"
* Add unittest
* Update changes/2489-koxudaxi.md
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
2021-05-09 10:27:29 +01:00
Alexandre Gerona
9f654a1fb2
fix(encoder): serialize NameEmail to str ( #2479 )
2021-05-09 10:26:02 +01:00
Danielle Madeley
82fb6ebfc9
Generate schema for generic models ( #2364 )
2021-05-09 09:23:56 +01:00
Samuel Colvin
5921d5ec96
use latest label-and-assign docker image
2021-05-03 22:03:58 +01:00
Samuel Colvin
c7aea15d2a
remove unused step from label-and-assign
2021-05-03 18:17:44 +01:00
Samuel Colvin
298a54a024
add label-and-assign github action ( #2739 )
...
* add label-and-assign github action
* remove pull_request_review trigger :-(
2021-05-03 18:12:06 +01:00
krisaoe
42395056e1
Fix(docs): remove colon to separate unrelated clauses ( #2733 )
...
* Fix(docs): remove colon to separate unrelated clauses
The colon at the end of the line "The fields which were supplied when user was initialised:" suggests that the code following it is related.
Changed it to a period.
* Include change summary readme.
2021-05-03 17:46:37 +01:00
dependabot[bot]
55e688a30d
build(deps): bump black from 20.8b1 to 21.4b0 ( #2700 )
...
Bumps [black](https://github.com/psf/black ) from 20.8b1 to 21.4b0.
- [Release notes](https://github.com/psf/black/releases )
- [Changelog](https://github.com/psf/black/blob/master/CHANGES.md )
- [Commits](https://github.com/psf/black/commits )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com >
2021-05-03 17:19:58 +01:00
dependabot[bot]
d9cf604786
build(deps): bump pytest-mock from 3.5.1 to 3.6.0 ( #2734 )
...
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock ) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.5.1...v3.6.0 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 17:19:36 +01:00
dependabot[bot]
50ade2fa3a
build(deps): bump python-dotenv from 0.17.0 to 0.17.1 ( #2736 )
...
Bumps [python-dotenv](https://github.com/theskumar/python-dotenv ) from 0.17.0 to 0.17.1.
- [Release notes](https://github.com/theskumar/python-dotenv/releases )
- [Changelog](https://github.com/theskumar/python-dotenv/blob/master/CHANGELOG.md )
- [Commits](https://github.com/theskumar/python-dotenv/compare/v0.17.0...v0.17.1 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-03 17:18:28 +01:00
Samuel Colvin
26faf8ab94
add token permissions to upload-previews
2021-05-02 11:54:04 +01:00
dependabot[bot]
157e115500
build(deps): bump hypothesis from 6.8.5 to 6.10.1 ( #2728 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.8.5 to 6.10.1.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.8.5...hypothesis-python-6.10.1 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-01 17:22:18 +01:00
Davis Kirkendall
db697cc799
Add exclude as field parameter ( #2231 )
...
* Add exclude/include as field parameters
- Add "exclude" / "include" as a field parameter so that it can be
configured using model config (or fields) instead of purely at
`.dict` / `.json` export time.
- Unify merging logic of advanced include/exclude fields
- Add tests for merging logic and field/config exclude/include params
- Closes #660
* Precompute include/exclude fields for class
* Increase test coverage
* Remove (now) redundant type checks in Model._iter: New
exclusion/inclusion algorithms guarantee that no sets are passed further down.
* Add docs for advanced field level exclude/include settings
* Minimal optimization for simple exclude/include export
Running benchmarks this vs. master is at:
this: pydantic best=33.225μs/iter avg=33.940μs/iter stdev=1.120μs/iter version=1.7.3
master: pydantic best=32.901μs/iter avg=33.276μs/iter stdev=0.242μs/iter version=1.7.3
* Apply review comments on exclude/enclude field arguments
* Fix/simplify type annotations
* Allow both ``True`` and ``Ellipsis`` to be used to indicate full field
exclusion
* Reenable hypothesis plugin (removed by mistake)
* Update advanced include/include docs to use ``True`` instead of ``...``
* Move field info exclude/include updates into FieldInfo class
This way, the model field object does not need to concern itself with
dealing with field into specific fields.
(Same was done for alias in a previous commit).
* remove double back tick in markdown.
Co-authored-by: Samuel Colvin <samcolvin@gmail.com >
2021-05-01 16:45:37 +01:00
dependabot[bot]
822be39021
build(deps): bump cython from 0.29.22 to 0.29.23 ( #2684 )
...
Bumps [cython](https://github.com/cython/cython ) from 0.29.22 to 0.29.23.
- [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.22...0.29.23 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-01 16:09:13 +01:00
dependabot[bot]
a7fe5ea201
build(deps): bump mkdocs-material from 7.1.0 to 7.1.3 ( #2699 )
...
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material ) from 7.1.0 to 7.1.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases )
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md )
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.0...7.1.3 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-01 16:08:19 +01:00
dependabot[bot]
d34ea05f60
build(deps): bump flake8 from 3.9.0 to 3.9.1 ( #2682 )
...
Bumps [flake8](https://gitlab.com/pycqa/flake8 ) from 3.9.0 to 3.9.1.
- [Release notes](https://gitlab.com/pycqa/flake8/tags )
- [Commits](https://gitlab.com/pycqa/flake8/compare/3.9.0...3.9.1 )
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-01 16:06:54 +01:00
Yurii Karabas
5261fd05a0
Add missed assert statement ( #2662 )
2021-04-12 22:55:28 +02:00
Edd Salkield
ae13be5b8c
docs: minor typo correction ( #2649 )
2021-04-10 11:21:51 +02:00
Eric Jolibois
14f055e743
fix(docs): url schema -> scheme ( #2634 )
2021-04-05 15:36:21 +02:00
wackazong
7fb77a779a
Documentation: Put examples for config to the start of the section ( #2615 )
...
* Put examples to the start of the section
I think this is where they belong, they were in the middle of the list of config options somewhere near the end.
* Add "options" in table of contents
* tweak
Co-authored-by: Eric Jolibois <em.jolibois@gmail.com >
2021-04-05 12:40:13 +02:00