cazgp
eb1e640525
StrictBool ( #580 )
...
* 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.
2019-06-06 15:18:21 +01:00
dmontagu
af26f7f181
Fix issue with unspecified generic type ( #554 )
...
* Fix issue with unspecified generic type, fix #550
Seems to solve #550
With this change, models with bare `List` or `Dict` as a typehint still validate for type agreement, but don't validate the type of the parameters.
I'm not sure this is the "right" fix (I don't know the implications of ignoring TypeVars like this), but considering how simple it was I figured I'd at least share.
* Update validators.py
Found this discussion: https://github.com/samuelcolvin/pydantic/issues/545 ; `lenient_issubclass` does seem to fix it.
* Update validators.py
Hacky solution to prevent no validator exception. Maybe there's a better way?
* Tests pass and PR checklist done
* Check sooner
* Block empty list from dict constructor
* Removed modifications to dict_validator
2019-05-29 19:35:16 +01:00
Samuel Colvin
66ce99e4f0
Azure Pipelines - tests for windows ( #538 )
...
* add azure-pipelines.yml
* fix install command
* skip some tests on windows
2019-05-23 10:30:32 +01:00
Vitaly R. Samigullin
fe72ba13f4
Tuple ellipsis ( #512 )
...
* Variable size tuple support added, fix #495
* Minor fixes and tests added (#495 )
* Variable length tuple refactored after a code review (#495 )
2019-05-11 16:10:02 +01:00
Atheuz
449661b8cc
fix: serialize secrets to json. ( #465 )
...
* 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.
2019-04-11 19:32:28 +01:00
Atheuz
4a8faca42e
feat: add SecretStr and SecretBytes. ( #452 )
...
* 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.
2019-04-04 12:14:47 +01:00
Vitaly R. Samigullin
9e12674827
PyObject callable values ( #440 )
...
* Support callable as PyObject field
* Add unittests for PyObject callable values
* Update HISTORY.rst
* PyObject minor fixes after code review (#409 )
2019-04-04 10:00:55 +01:00
Nikita Leybovich
3a33d8db10
IntEnum support ( #444 )
...
* IntEnum support
* Update HISTORY.rst
2019-04-01 15:52:24 +01:00
Vitaly R. Samigullin
42bc8e4b43
Sequence support ( #428 )
...
fix #304
* Sequence support added
* Unittests for sequence added
* Fix HISTORY
* Sequence validation simplified
* Fix type conversion for Sequence
2019-03-29 10:17:23 +00:00
Yaraslau Zhylko
37855aa90c
fix typo in NoneIsNotAllowedError message ( #414 )
...
* fix typo in `NoneIsNotAllowedError` message
* Add HISTORY.rst entry
2019-03-07 13:33:58 +00:00
Stephen Brown II
61e758965c
Add multiple_of attribute to constrained numerics ( #371 )
...
* Add multiple_of attribute to constrained numerics
* Update HISTORY.rst
* make format
* Change limit_value -> multiple_of
2019-02-03 17:13:27 +00:00
Nikita Grishko
145f04cb5d
add `ConstrainedBytes and conbytes` types #315 ( #357 )
...
fix #315
2019-01-17 13:57:49 +00:00
Samuel Colvin
0d5cd3bce5
better import errors, fix #309 ( #336 )
2018-12-27 19:37:53 +00:00
Samuel Colvin
c725a4a5e5
prevent validators being called repeatedly after inheritance ( #327 )
...
* prevent validators being called repeatedly after inheritance
* fix linting
* more tests
2018-12-25 22:33:18 +00:00
Samuel Colvin
9ff946d2fa
PyObject = None, and Pattern ( #306 )
...
* PyObject = None, fix #305
* history formatting on pypi
* fix history rendering in setup
* allow Pattern validation, fix #303
* fix for python3.7
* fix linting
* proper processing for regex pattern errors
2018-11-18 16:11:29 +00:00
Samuel Colvin
15850a43c5
moving to black ( #287 )
...
* moving to black
* put back flake8
* remove isort option
* putting back isort
* uprev pycodestyle
* remove black from docs/examples
* tweak parse.py
2018-11-15 11:30:07 +00:00
Evghenii Goncearov
c31b8d6719
Json type ( #214 )
...
* Json type
* Sort imports
* one more unsorted import
* Changed the way Json type is defined
* Fix Function is too complex (C901) warning
* Fixed remarks
* Fix additional remarks
* Additional test
fix #195
2018-07-10 15:38:28 +01:00
Samuel Colvin
c0413c8896
list, set, tuple validation ( #225 )
...
* list, set, tuple validation, fix #202
* update HISTORY.rst
2018-07-04 16:32:42 +01:00
Nikita Grishko
c002c490ae
add `NewType` support #115 ( #223 )
...
* add ``NewType`` support #115
* updated history
fix #115
2018-07-04 16:11:55 +01:00
Nikita Grishko
f8c1a350f4
add `FilePath and DirectoryPath` types #10 ( #208 )
...
* add ``FilePath`` and ``DirectoryPath`` types #10
* review fixes
* improve tests
* simplify errors
2018-06-28 11:04:00 +01:00
clip
d2745065f5
fix typo ( #207 )
...
* fix typo
* fix test
2018-06-24 17:52:56 +01:00
Nikita Grishko
4f19d2b94a
Strict validation of list, set and tuple ( #86 ) ( #200 )
...
* Strict validation of `list`, `set` and `tuple` (#86 )
* review fixes
2018-06-13 19:11:01 +01:00
Samuel Colvin
f0f9de5f96
improve docs on error handling ( #198 )
...
* improve docs on error handling
* change ValidationError signature
* cleanup
* rename _raw_errors > raw_errors
* improve _display_error_type_and_ctx
2018-06-11 13:06:50 +01:00
Jasper Schulz
3ef595556c
Added le and ge bounds to constrained numerics. ( #194 )
...
* Added `le` and `ge` bounds to constrained numerics.
* Addressed comments.
* Addressed @Gr1N comments.
* Removed comment.
2018-06-08 10:32:26 +01:00
Samuel Colvin
e57f8c4725
correct and complete #188 ( #193 )
2018-06-07 09:19:02 +01:00
Samuel Colvin
95aba150b2
gt, lt, ( #188 )
...
* gt, lt, fix #176
* change test names
2018-06-02 20:53:10 +01:00
Samuel Colvin
31f5f9c267
Cleanup 183 ( #187 )
...
* fix coverage
* use change_exception
* simplifying get_exc_type
* improve to_snake_case
* improve change_exception
* remove to_snake_case completely
* correct comment
2018-06-02 18:08:07 +01:00
Nikita Grishko
4f4e22ef47
Error context and message ( #183 )
...
* POC of error context and message
* Move type errors to the `errors.py` module; Change errors interface a bit
* Rename `.as_dict()` to `.dict()`
* Fix `PydanticErrorMixin` constructor
* Rename `exceptions.py` to `error_wrappers.py`
* Do not include nullable `ctx`
* Fix tests
* Added `int_validator`; Added `IntegerError`
* Added `float_validator`; Added `FloatError`
* Get rid of `__mro__` in prior of `exc.code`
* Removed `min_number_size` and `max_number_size` from config (#174 )
* Added `NumberMinSizeError` and `NumberMaxSizeError`
* Added `NoneIsNotAllowedError`
* Added `EnumError`
* Added `path_validator`; Added `PathError`
* Added `DictError`
* Added `ListError`
* Added `TupleError`
* Added `SetError`
* Added `datetime` related errors
* Added `bytes` and `str` related errors
* Added `SequenceError`
* Improved code coverage
* Display error context in string representation of validation error
* Redefine error message templates using config
* Review fixes
* Updated changelog
2018-05-31 14:35:38 +01:00
Nikita Grishko
31683f8dc4
Errors format ( #179 )
...
* 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
2018-05-23 14:50:04 +01:00
Nikita Grishko
99d7eafa61
add `Decimal, ConstrainedDecimal and condecimal` types #170 ( #175 )
2018-05-10 12:11:45 +01:00
Nikita Grishko
0ee1ffa52a
fix type annotations for exotic types; re-use type validators in exotic types ( #171 )
2018-05-05 14:08:23 +01:00
Nikita Grishko
b4d3a2d544
add `UUID1, UUID3, UUID4 and UUID5` types ( #167 ) ( #167 )
2018-05-02 22:49:55 +01:00
Nikita Grishko
dc07277017
add `ConstrainedFloat, confloat, PositiveFloat and NegativeFloat` types #166 ( #166 )
2018-04-28 18:40:28 +01:00
Nikita Grishko
f88e5925b5
add strip_whitespace option for ConstrainedStr and constr ( #163 )
2018-04-25 02:29:25 +07:00
Samuel Colvin
afb90b91e8
implement email validator ( #142 )
...
* implement email validator, replace #112
* coverage and cleanup
* update docs
2018-03-25 18:09:37 +01:00
Samuel Colvin
91f962e533
replace values() with dict() ( #99 )
...
* replace values(), with dict(), fix #98
* add history and test
2017-11-07 13:28:42 +00:00
Samuel Colvin
b10566841e
Less verbose errors ( #90 )
...
* make errors less verbose, fix #71
* remove track too if null
* update docs
* better dict error, fix #74
* add history
2017-10-23 20:06:48 +01:00
Samuel Colvin
5cf23fb415
Uuid type ( #89 )
...
* adding UUID validator, fix #65
* add docs
* uprev
2017-10-23 19:49:52 +01:00
Samuel Colvin
378c96888e
simplifying errors
2017-07-08 18:22:57 +01:00
Samuel Colvin
61d23b2796
show incorrect length in string validation error
2017-07-06 16:14:02 +01:00
Samuel Colvin
53ba356158
stricter str validation ( #52 )
...
* inheritance bug, fix #49
* stricter str validation, fix #45
* couple for test cases
* adding StrictStr
2017-06-21 17:59:58 +01:00
Samuel Colvin
ff3fa95eb0
convert values to a function, fix #28 ( #43 )
2017-06-07 22:40:09 +01:00
Samuel Colvin
3627bad768
more docs usage examples
2017-06-03 17:45:49 +01:00
Samuel Colvin
45cba8b1ae
fixing isort, adding deploy recipe
2017-06-03 16:18:02 +01:00
Samuel Colvin
0757af6e5e
make values recursive, fix #24
2017-05-31 11:44:31 +01:00
Samuel Colvin
21aa4a383b
renaming Module > PyObect, fix #9
2017-05-23 17:01:34 +01:00
Samuel Colvin
35add310cc
improve error display
2017-05-10 12:43:29 +01:00
Samuel Colvin
ddb8e96401
allow tuples, also infer types for falsy, fix #11
2017-05-10 11:17:07 +01:00
Samuel Colvin
242995beb6
simplify Union field choice
2017-05-08 19:08:16 +01:00
Samuel Colvin
24b9fdcd86
removing 'validator' from exception message
2017-05-08 17:43:39 +01:00