Evghenii Goncearov
73015d2a72
Allow arbitrary types in model ( #209 )
...
* Allow arbitrary types in model
* Replaced ConfigError with RuntimeError
* Corrections of the ArbitraryTypeError exception class
2018-07-02 12:08:43 +01:00
Samuel Colvin
37364a05b9
implement JSON serialisation ( #210 )
...
* implement JSON serialisation, fix #133
* documenting JSON serialisation
* fix coverage
2018-06-28 18:21:45 +01:00
Samuel Colvin
dd8d013e10
Schemas ( #190 )
...
* starting field and model schemas
* field.schema()
* sub-models working
* move default in Schema and tests
* adding schema
* tweak docs
2018-06-28 13:06:24 +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
Samuel Colvin
9338c413c7
remove msgpack ( #201 )
...
* remove msgpack
* update history
2018-06-18 12:20:10 +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
2687fae6e9
copy defaults to values, fix #154 ( #192 )
2018-06-06 16:36:40 +01:00
Samuel Colvin
9021d94e31
validator exception typo, fix #150 ( #191 )
2018-06-04 11:11:09 +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
pyup.io bot
cbfbe6b11c
Scheduled monthly dependency update for June ( #186 )
...
* Update sphinx from 1.7.4 to 1.7.5
* Update attrs from 17.4.0 to 18.1.0
* Update pycodestyle from 2.3.1 to 2.4.0
* Update pyflakes from 1.6.0 to 2.0.0
* Update pytest from 3.5.1 to 3.6.0
* Update pytest-isort from 0.1.0 to 0.2.0
* Update pytest-mock from 1.9.0 to 1.10.0
* revert pycodestyle, yawwwwn
2018-06-02 15:35:52 +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
Ben Demaree
62d39d90a7
Make model dump/load symmetric for aliased fields ( #160 )
...
* 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
2018-05-24 16:46:03 +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
Samuel Colvin
3eec750640
allow custom get_field_config ( #165 )
...
* allow custom get_field_config, fix #159
* improving config inheritance
2018-05-10 12:12:37 +01:00
Nikita Grishko
99d7eafa61
add `Decimal, ConstrainedDecimal and condecimal` types #170 ( #175 )
2018-05-10 12:11:45 +01:00
pyup.io bot
f4207281a0
Scheduled monthly dependency update for May ( #168 )
...
* Update sphinx from 1.7.2 to 1.7.4
* Update mypy from 0.580 to 0.590
* Update pycodestyle from 2.3.1 to 2.4.0
* Update pytest from 3.5.0 to 3.5.1
* Update pytest-mock from 1.7.1 to 1.9.0
* correct pycodestyle and mypy
* update history
2018-05-05 14:55:55 +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
4c4d4c1551
fix attrs requirement ( #158 )
2018-04-16 19:26:26 +01:00
pyup.io bot
5da36280ae
Scheduled monthly dependency update for April ( #146 )
...
* Update msgpack-python from 0.5.5 to 0.5.6
* Update mypy from 0.560 to 0.580
2018-04-08 13:10:35 +01:00
YannLuo
778a33fac9
fix parse error of parse_date() and parse_datetime() when input is 0 ( #144 )
2018-03-26 11:48:53 +01: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
a3a9b14531
validate attributes of parent models ( #141 )
...
* validate attributes of parent models, fix #137
* add history
2018-03-25 17:46:55 +01:00
Samuel Colvin
a8096959e2
check for invalid validators ( #140 )
...
* check for invalid validators
* documentation and history
2018-03-25 16:41:48 +01:00
Samuel Colvin
76db984cc1
prepare for new version update history
2018-03-25 15:54:18 +01:00
pyup.io bot
27887c6e99
Scheduled monthly dependency update for March ( #134 )
...
* Update sphinx from 1.6.6 to 1.7.1
* Update msgpack-python from 0.5.1 to 0.5.5
* Update coverage from 4.4.2 to 4.5.1
* Update isort from 4.3.0 to 4.3.4
* Update pytest from 3.4.0 to 3.4.1
* Update pytest-mock from 1.6.3 to 1.7.1
* correcting runtime for netlify
2018-03-02 13:29:19 +00:00
Samuel Colvin
03838d9220
stop create_model modifying its base
2018-02-07 17:32:20 +00:00
Samuel Colvin
89201f08b0
add wildcard validators ( #128 )
...
* add wildcard validators
* update docs and history
* more tests
* history links
2018-02-06 19:32:30 +00:00
Samuel Colvin
7a77d06058
add use_enum_values to config ( #127 )
...
* add `use_enum_values` to config
* docs and history
2018-02-06 18:23:41 +00:00
Samuel Colvin
eeb5698e75
funky test with create_model
2018-02-06 17:01:55 +00:00
Samuel Colvin
2b8216ab72
remove use of ordered dict ( #126 )
...
* remove use of ordered dict
* add history
2018-02-06 15:45:17 +00:00
Samuel Colvin
e3444ba7c2
remove .values() from model
2018-02-06 14:40:13 +00:00
Samuel Colvin
c18b2bc4fc
rename config -> __config__ on a model
2018-02-06 14:39:38 +00:00
Samuel Colvin
f9cf6b42f4
Create model method ( #125 )
...
* adding create_model method
* adding method
* docs and tweaks
* prevent config and base together
* tweak docs
2018-02-06 14:29:56 +00:00
Josep Cugat
06008146fe
Subclass abcmeta ( #123 )
...
* Added compatibility with python's ABC
* Added documentation
* Added link
2018-02-06 13:56:45 +00:00
Samuel Colvin
f0fda8c2a4
upgrade pytest-sugar
2018-02-06 13:50:49 +00:00
Samuel Colvin
423137cefe
allow pything dates and times ( #122 )
...
* allow pything dates and times
* update history
2018-02-01 17:20:06 +00:00
pyup.io bot
c17abac2f8
Scheduled monthly dependency update for February ( #121 )
...
* Update sphinx from 1.6.5 to 1.6.6
* Update msgpack-python from 0.4.8 to 0.5.1
* Update isort from 4.2.15 to 4.3.0
* Update pytest from 3.3.1 to 3.4.0
2018-02-01 17:05:55 +00:00
pyup.io bot
960a025110
Scheduled monthly dependency update for January ( #111 )
...
* Update mypy from 0.550 to 0.560
* Update pytest from 3.3.0 to 3.3.1
2018-01-03 14:29:53 +00:00
pyup.io bot
d9acb85e69
Scheduled monthly dependency update for December ( #108 )
...
* Update coverage from 4.4.1 to 4.4.2
* Update mypy from 0.540 to 0.550
* Update pytest from 3.2.3 to 3.3.0
2017-12-08 10:28:23 +00:00
Samuel Colvin
bc931ba790
safe check for complex models with env settings
2017-11-13 15:12:23 +00:00
Samuel Colvin
7050654062
better tests for validator checks
2017-11-08 15:39:44 +00:00
Samuel Colvin
ed2b3f2afd
errors for invalid validator use
2017-11-08 15:36:19 +00:00