Data validation and settings management using python 3.6 type hinting
Project description
pydantic
Data validation and settings management using Python type hinting.
Fast and extensible, pydantic plays nicely with your linters/IDE/brain. Define how data should be in pure, canonical Python 3.6+; validate it with pydantic.
Help
See documentation for more details.
Installation
Install using pip install -U pydantic or conda install pydantic -c conda-forge.
For more installation options to make pydantic even faster,
see the Install section in the documentation.
A Simple Example
from datetime import datetime
from typing import List
from pydantic import BaseModel
class User(BaseModel):
id: int
name = 'John Doe'
signup_ts: datetime = None
friends: List[int] = []
external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']}
user = User(**external_data)
print(user)
#> User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3]
print(user.id)
#> 123
Contributing
For guidance on setting up a development environment and how to make a contribution to pydantic, see Contributing to Pydantic.
v1.1 (2019-11-07)
- Add a mypy plugin for type checking
BaseModel.__init__and more, #722 by @dmontagu - Change return type typehint for
GenericModel.__class_getitem__to prevent PyCharm warnings, #936 by @dmontagu - Fix usage of
Anyto allowNone, also supportTypeVarthus allowing use of un-parameterised collection types e.g.DictandList, #962 by @samuelcolvin - Set
FieldInfoon subfields to fix schema generation for complex nested types, #965 by @samuelcolvin
v1.0 (2019-10-23)
- Breaking Change: deprecate the
Model.fieldsproperty, useModel.__fields__instead, #883 by @samuelcolvin - Breaking Change: Change the precedence of aliases so child model aliases override parent aliases,
including using
alias_generator, #904 by @samuelcolvin - Breaking change: Rename
skip_defaultstoexclude_unset, and add ability to exclude actual defaults, #915 by @dmontagu - Add
**kwargstopydantic.main.ModelMetaclass.__new__so__init_subclass__can take custom parameters on extendedBaseModelclasses, #867 by @retnikt - Fix field of a type that has a default value, #880 by @koxudaxi
- Use
FutureWarninginstead ofDeprecationWarningwhenaliasinstead ofenvis used for settings models, #881 by @samuelcolvin - Fix issue with
BaseSettingsinheritance andaliasgetting set toNone, #882 by @samuelcolvin - Modify
__repr__and__str__methods to be consistent across all public classes, add__pretty__to support python-devtools, #884 by @samuelcolvin - deprecation warning for
case_insensitiveonBaseSettingsconfig, #885 by @samuelcolvin - For
BaseSettingsmerge environment variables and in-code values recursively, as long as they create a valid object when merged together, to allow splitting init arguments, #888 by @idmitrievsky - change secret types example, #890 by @ashears
- Change the signature of
Model.construct()to be more user-friendly, documentconstruct()usage, #898 by @samuelcolvin - Add example for the
construct()method, #907 by @ashears - Improve use of
Fieldconstraints on complex types, raise an error if constraints are not enforceable, also support tuples with an ellipsisTuple[X, ...],SequenceandFrozenSetin schema, #909 by @samuelcolvin - update docs for bool missing valid value, #911 by @trim21
- Better
str/reprlogic forModelField, #912 by @samuelcolvin - Fix
ConstrainedList, update schema generation to reflectmin_itemsandmax_itemsField()arguments, #917 by @samuelcolvin - Allow abstracts sets (eg. dict keys) in the
includeandexcludearguments ofdict(), #921 by @samuelcolvin - Fix JSON serialization errors on
ValidationError.json()by usingpydantic_encoder, #922 by @samuelcolvin - Clarify usage of
remove_untouched, improve error message for types with no validators, #926 by @retnikt
v1.0b2 (2019-10-07)
- Mark
StrictBooltypecheck asboolto allow for default values without mypy errors, #690 by @dmontagu - Transfer the documentation build from sphinx to mkdocs, re-write much of the documentation, #856 by @samuelcolvin
- Add support for custom naming schemes for
GenericModelsubclasses, #859 by @dmontagu - Add
if TYPE_CHECKING:to the excluded lines for test coverage, #874 by @dmontagu - Rename
allow_population_by_aliastoallow_population_by_field_name, remove unnecessary warning about it, #875 by @samuelcolvin
v1.0b1 (2019-10-01)
- Breaking Change: rename
SchematoField, make it a function to placate mypy, #577 by @samuelcolvin - Breaking Change: modify parsing behavior for
bool, #617 by @dmontagu - Breaking Change:
get_validatorsis no longer recognised, use__get_validators__.Config.ignore_extraandConfig.allow_extraare no longer recognised, useConfig.extra, #720 by @samuelcolvin - Breaking Change: modify default config settings for
BaseSettings;case_insensitiverenamed tocase_sensitive, default changed tocase_sensitive = False,env_prefixdefault changed to''- e.g. no prefix, #721 by @dmontagu - Breaking change: Implement
root_validatorand rename root errors from__obj__to__root__, #729 by @samuelcolvin - Breaking Change: alter the behaviour of
dict(model)so that sub-models are nolonger converted to dictionaries, #733 by @samuelcolvin - Breaking change: Added
initvarssupport topost_init_post_parse, #748 by @Raphael-C-Almeida - Breaking Change: Make
BaseModel.json()only serialize the__root__key for models with custom root, #752 by @dmontagu - Breaking Change: complete rewrite of
URLparsing logic, #755 by @samuelcolvin - Breaking Change: preserve superclass annotations for field-determination when not provided in subclass, #757 by @dmontagu
- Breaking Change:
BaseSettingsnow uses the specialenvsettings to define which environment variables to read, not aliases, #847 by @samuelcolvin - add support for
assertstatements inside validators, #653 by @abdusco - Update documentation to specify the use of
pydantic.dataclasses.dataclassand subclassingpydantic.BaseModel, #710 by @maddosaurus - Allow custom JSON decoding and encoding via
json_loadsandjson_dumpsConfigproperties, #714 by @samuelcolvin - make all annotated fields occur in the order declared, #715 by @dmontagu
- use pytest to test
mypyintegration, #735 by @dmontagu - add
__repr__method toErrorWrapper, #738 by @samuelcolvin - Added support for
FrozenSetmembers in dataclasses, and a better error when attempting to use types from thetypingmodule that are not supported by Pydantic, #745 by @djpetti - add documentation for Pycharm Plugin, #750 by @koxudaxi
- fix broken examples in the docs, #753 by @dmontagu
- moving typing related objects into
pydantic.typing, #761 by @samuelcolvin - Minor performance improvements to
ErrorWrapper,ValidationErrorand datetime parsing, #763 by @samuelcolvin - Improvements to
datetime/date/time/timedeltatypes: more descriptive errors, change errors tovalue_errornottype_error, support bytes, #766 by @samuelcolvin - fix error messages for
Literaltypes with multiple allowed values, #770 by @dmontagu - Improved auto-generated
titlefield in JSON schema by converting underscore to space, #772 by @skewty - support
mypy --no-implicit-reexportfor dataclasses, also respect--no-implicit-reexportin pydantic itself, #783 by @samuelcolvin - add the
PaymentCardNumbertype, #790 by @matin - Fix const validations for lists, #794 by @hmvp
- Set
additionalPropertiesto false in schema for models with extra fields disallowed, #796 by @Code0x58 EmailStrvalidation method now returns local part case-sensitive per RFC 5321, #798 by @henriklindgren- Added ability to validate strictness to
ConstrainedFloat,ConstrainedIntandConstrainedStrand addedStrictFloatandStrictIntclasses, #799 by @DerRidda - Improve handling of
NoneandOptional, replacewholewitheach_item(inverse meaning, defaultFalse) on validators, #803 by @samuelcolvin - add support for
Type[T]type hints, #807 by @timonbimon - Performance improvements from removing
change_exceptions, change how pydantic error are constructed, #819 by @samuelcolvin - Fix the error message arising when a
BaseModel-type model field causes aValidationErrorduring parsing, #820 by @dmontagu - allow
getter_dictonConfig, modifyGetterDictto be more like aMappingobject and thus easier to work with, #821 by @samuelcolvin - Only check
TypeVarparam on baseGenericModelclass, #842 by @zpencerq - rename
Model._schema_cache->Model.__schema_cache__,Model._json_encoder->Model.__json_encoder__,Model._custom_root_type->Model.__custom_root_type__, #851 by @samuelcolvin
v0.32.2 (2019-08-17)
- fix
__post_init__usage with dataclass inheritance, fix #739 by @samuelcolvin - fix required fields validation on GenericModels classes, #742 by @amitbl
- fix defining custom
SchemaonGenericModelfields, #754 by @amitbl
v0.32.1 (2019-08-08)
- do not validate extra fields when
validate_assignmentis on, #724 by @YaraslauZhylko
v0.32 (2019-08-06)
- add model name to
ValidationErrorerror message, #676 by @dmontagu - breaking change: remove
__getattr__and rename__values__to__dict__onBaseModel, deprecation warning on use__values__attr, attributes access speed increased up to 14 times, #712 by @MrMrRobat - support
ForwardRef(without self-referencing annotations) in Python 3.6, #706 by @koxudaxi - implement
schema_extrainConfigsub-class, #663 by @tiangolo
v0.31.1 (2019-07-31)
v0.31 (2019-07-24)
- better support for floating point
multiple_ofvalues, #652 by @justindujardin - fix schema generation for
NewTypeandLiteral, #649 by @dmontagu - fix
alias_generatorand field config conflict, #645 by @gmetzker and #658 by @MrMrRobat - more detailed message for
EnumError, #673 by @dmontagu - add advanced exclude support for
dict,jsonandcopy, #648 by @MrMrRobat - fix bug in
GenericModelfor models with concrete parameterized fields, #672 by @dmontagu - add documentation for
Literaltype, #651 by @dmontagu - add
Config.keep_untouchedfor custom descriptors support, #679 by @MrMrRobat - use
inspect.cleandocinternally to get model description, #657 by @tiangolo - add
Colorto schema generation, by @euri10 - add documentation for Literal type, #651 by @dmontagu
v0.30.1 (2019-07-15)
- fix so nested classes which inherit and change
__init__are correctly processed while still allowingselfas a parameter, #644 by @lnaden and @dgasmith
v0.30 (2019-07-07)
- enforce single quotes in code, #612 by @samuelcolvin
- fix infinite recursion with dataclass inheritance and
__post_init__, #606 by @Hanaasagi - fix default values for
GenericModel, #610 by @dmontagu - clarify that self-referencing models require python 3.7+, #616 by @vlcinsky
- fix truncate for types, #611 by @dmontagu
- add
alias_generatorsupport, #622 by @MrMrRobat - fix unparameterized generic type schema generation, #625 by @dmontagu
- fix schema generation with multiple/circular references to the same model, #621 by @tiangolo and @wongpat
- support custom root types, #628 by @koxudaxi
- support
selfas a field name inparse_obj, #632 by @samuelcolvin
v0.29 (2019-06-19)
- support dataclasses.InitVar, #592 by @pfrederiks
- Updated documentation to elucidate the usage of
Unionwhen defining multiple types under an attribute's annotation and showcase how the type-order can affect marshalling of provided values, #594 by @somada141 - add
conlisttype, #583 by @hmvp - add support for generics, #595 by @dmontagu
v0.28 (2019-06-06)
- fix support for JSON Schema generation when using models with circular references in Python 3.7, #572 by @tiangolo
- support
__post_init_post_parse__on dataclasses, #567 by @sevaho - allow dumping dataclasses to JSON, #575 by @samuelcolvin and @DanielOberg
- ORM mode, #562 by @samuelcolvin
- fix
pydantic.compiledon ipython, #573 by @dmontagu and @samuelcolvin - add
StrictBooltype, #579 by @cazgp
v0.27 (2019-05-30)
- breaking change
_pydantic_post_initto execute dataclass' original__post_init__before validation, #560 by @HeavenVolkoff - fix handling of generic types without specified parameters, #550 by @dmontagu
- breaking change (maybe): this is the first release compiled with cython, see the docs and please submit an issue if you run into problems
v0.27.0a1 (2019-05-26)
- fix JSON Schema for
list,tuple, andset, #540 by @tiangolo - compiling with cython,
manylinuxbinaries, some other performance improvements, #548 by @samuelcolvin
v0.26 (2019-05-22)
- fix to schema generation for
IPvAnyAddress,IPvAnyInterface,IPvAnyNetwork#498 by @pilosus - fix variable length tuples support, #495 by @pilosus
- fix return type hint for
create_model, #526 by @dmontagu - Breaking Change: fix
.dict(skip_keys=True)skipping values set via alias (this involves changingvalidate_model()to always returnsTuple[Dict[str, Any], Set[str], Optional[ValidationError]]), #517 by @sommd - fix to schema generation for
IPv4Address,IPv6Address,IPv4Interface,IPv6Interface,IPv4Network,IPv6Network#532 by @euri10 - add
Colortype, #504 by @pilosus and @samuelcolvin
v0.25 (2019-05-05)
- Improve documentation on self-referencing models and annotations, #487 by @theenglishway
- fix
.dict()with extra keys, #490 by @JaewonKim - support
constkeyword inSchema, #434 by @Sean1708
v0.24 (2019-04-23)
- fix handling
ForwardRefin sub-types, likeUnion, #464 by @tiangolo - fix secret serialization, #465 by @atheuz
- Support custom validators for dataclasses, #454 by @primal100
- fix
parse_objto cope with dict-like objects, #472 by @samuelcolvin - fix to schema generation in nested dataclass-based models, #474 by @NoAnyLove
- fix
jsonforPath,FilePath, andDirectoryPathobjects, #473 by @mikegoodspeed
v0.23 (2019-04-04)
- improve documentation for contributing section, #441 by @pilosus
- improve README.rst to include essential information about the package, #446 by @pilosus
IntEnumsupport, #444 by @potykion- fix PyObject callable value, #409 by @pilosus
- fix
blackdeprecation warnings after update, #451 by @pilosus - fix
ForwardRefcollection bug, #450 by @tigerwings - Support specialized
ClassVars, #455 by @tyrylu - fix JSON serialization for
ipaddresstypes, #333 by @pilosus - add
SecretStrandSecretBytestypes, #452 by @atheuz
v0.22 (2019-03-29)
- add
IPv{4,6,Any}NetworkandIPv{4,6,Any}Interfacetypes fromipaddressstdlib, #333 by @pilosus - add docs for
datetimetypes, #386 by @pilosus - fix to schema generation in dataclass-based models, #408 by @pilosus
- fix path in nested models, #437 by @kataev
- add
Sequencesupport, #304 by @pilosus
v0.21.0 (2019-03-15)
- fix typo in
NoneIsNotAllowedErrormessage, #414 by @YaraslauZhylko - add
IPvAnyAddress,IPv4AddressandIPv6Addresstypes, #333 by @pilosus
v0.20.1 (2019-02-26)
- fix type hints of
parse_objand similar methods, #405 by @erosennin - fix submodel validation, #403 by @samuelcolvin
- correct type hints for
ValidationError.json, #406 by @layday
v0.20.0 (2019-02-18)
- fix tests for python 3.8, #396 by @samuelcolvin
- Adds fields to the
dirmethod for autocompletion in interactive sessions, #398 by @dgasmith - support
ForwardRef(and thereforefrom __future__ import annotations) with dataclasses, #397 by @samuelcolvin
v0.20.0a1 (2019-02-13)
- breaking change (maybe): more sophisticated argument parsing for validators, any subset of
values,configandfieldis now permitted, eg.(cls, value, field), however the variadic key word argument ("**kwargs") must be calledkwargs, #388 by @samuelcolvin - breaking change: Adds
skip_defaultsargument toBaseModel.dict()to allow skipping of fields that were not explicitly set, signature ofModel.construct()changed, #389 by @dgasmith - add
py.typedmarker file for PEP-561 support, #391 by @je-l - Fix
extrabehaviour for multiple inheritance/mix-ins, #394 by @YaraslauZhylko
v0.19.0 (2019-02-04)
- Support
Callabletype hint, fix #279 by @proofit404 - Fix schema for fields with
validatordecorator, fix #375 by @tiangolo - Add
multiple_ofconstraint toConstrainedDecimal,ConstrainedFloat,ConstrainedIntand their related typescondecimal,confloat, andconint#371, thanks @StephenBrown2 - Deprecated
ignore_extraandallow_extraConfig fields in favor ofextra, #352 by @liiight - Add type annotations to all functions, test fully with mypy, #373 by @samuelcolvin
- fix for 'missing' error with
validate_allorvalidate_always, #381 by @samuelcolvin - Change the second/millisecond watershed for date/datetime parsing to
2e10, #385 by @samuelcolvin
v0.18.2 (2019-01-22)
- Fix to schema generation with
Optionalfields, fix #361 by @samuelcolvin
v0.18.1 (2019-01-17)
- add
ConstrainedBytesandconbytestypes, #315 @Gr1N - adding
MANIFEST.into include license in package.tar.gz, #358 by @samuelcolvin
v0.18.0 (2019-01-13)
- breaking change: don't call validators on keys of dictionaries, #254 by @samuelcolvin
- Fix validators with
always=Truewhen the default isNoneor the type is optional, also preventwholevalidators being called for sub-fields, fix #132 by @samuelcolvin - improve documentation for settings priority and allow it to be easily changed, #343 by @samuelcolvin
- fix
ignore_extra=Falseandallow_population_by_alias=True, fix #257 by @samuelcolvin - breaking change: Set
BaseConfigattributesmin_anystr_lengthandmax_anystr_lengthtoNoneby default, fix #349 in #350 by @tiangolo - add support for postponed annotations, #348 by @samuelcolvin
v0.17.0 (2018-12-27)
- fix schema for
timedeltaas number, #325 by @tiangolo - prevent validators being called repeatedly after inheritance, #327 by @samuelcolvin
- prevent duplicate validator check in ipython, fix #312 by @samuelcolvin
- add "Using Pydantic" section to docs, #323 by @tiangolo & #326 by @samuelcolvin
- fix schema generation for fields annotated as
: dict,: list,: tupleand: set, #330 & #335 by @nkonin - add support for constrained strings as dict keys in schema, #332 by @tiangolo
- support for passing Config class in dataclasses decorator, #276 by @jarekkar
(breaking change: this supersedes the
validate_assignmentargument withconfig) - support for nested dataclasses, #334 by @samuelcolvin
- better errors when getting an
ImportErrorwithPyObject, #309 by @samuelcolvin - rename
get_validatorsto__get_validators__, deprecation warning on use of old name, #338 by @samuelcolvin - support
ClassVarby excluding such attributes from fields, #184 by @samuelcolvin
v0.16.1 (2018-12-10)
- fix
create_modelto correctly use the passed__config__, #320 by @hugoduncan
v0.16.0 (2018-12-03)
- breaking change: refactor schema generation to be compatible with JSON Schema and OpenAPI specs, #308 by @tiangolo
- add
schematoschemamodule to generate top-level schemas from base models, #308 by @tiangolo - add additional fields to
Schemaclass to declare validation forstrand numeric values, #311 by @tiangolo - rename
_schematoschemaon fields, #318 by @samuelcolvin - add
case_insensitiveoption toBaseSettingsConfig, #277 by @jasonkuhrt
v0.15.0 (2018-11-18)
- move codebase to use black, #287 by @samuelcolvin
- fix alias use in settings, #286 by @jasonkuhrt and @samuelcolvin
- fix datetime parsing in
parse_date, #298 by @samuelcolvin - allow dataclass inheritance, fix #293 by @samuelcolvin
- fix
PyObject = None, fix #305 by @samuelcolvin - allow
Patterntype, fix #303 by @samuelcolvin
v0.14.0 (2018-10-02)
- dataclasses decorator, #269 by @Gaunt and @samuelcolvin
v0.13.1 (2018-09-21)
- fix issue where int_validator doesn't cast a
boolto anint#264 by @nphyatt - add deep copy support for
BaseModel.copy()#249, @gangefors
v0.13.0 (2018-08-25)
- raise an exception if a field's name shadows an existing
BaseModelattribute #242 - add
UrlStrandurlstrtypes #236 - timedelta json encoding ISO8601 and total seconds, custom json encoders #247, by @cfkanesan and @samuelcolvin
- allow
timedeltaobjects as values for properties of typetimedelta(matchesdatetimeetc. behavior) #247
v0.12.1 (2018-07-31)
- fix schema generation for fields defined using
typing.Any#237
v0.12.0 (2018-07-31)
- add
by_aliasargument in.dict()and.json()model methods #205 - add Json type support #214
- support tuples #227
- major improvements and changes to schema #213
v0.11.2 (2018-07-05)
- add
NewTypesupport #115 - fix
list,set&tuplevalidation #225 - separate out
validate_modelmethod, allow errors to be returned along with valid values #221
v0.11.1 (2018-07-02)
- support Python 3.7 #216, thanks @layday
- Allow arbitrary types in model #209, thanks @oldPadavan
v0.11.0 (2018-06-28)
- make
list,tupleandsettypes stricter #86 - breaking change: remove msgpack parsing #201
- add
FilePathandDirectoryPathtypes #10 - model schema generation #190
- JSON serialisation of models and schemas #133
v0.10.0 (2018-06-11)
- add
Config.allow_population_by_alias#160, thanks @bendemaree - breaking change: new errors format #179, thanks @Gr1N
- breaking change: removed
Config.min_number_sizeandConfig.max_number_size#183, thanks @Gr1N - breaking change: correct behaviour of
ltandgtarguments toconintetc. #188 for the old behaviour useleandge#194, thanks @jaheba - added error context and ability to redefine error message templates using
Config.error_msg_templates#183, thanks @Gr1N - fix typo in validator exception #150
- copy defaults to model values, so different models don't share objects #154
v0.9.1 (2018-05-10)
- allow custom
get_field_configon config classes #159 - add
UUID1,UUID3,UUID4andUUID5types #167, thanks @Gr1N - modify some inconsistent docstrings and annotations #173, thanks @YannLuo
- fix type annotations for exotic types #171, thanks @Gr1N
- re-use type validators in exotic types #171
- scheduled monthly requirements updates #168
- add
Decimal,ConstrainedDecimalandcondecimaltypes #170, thanks @Gr1N
v0.9.0 (2018-04-28)
- tweak email-validator import error message #145
- fix parse error of
parse_date()andparse_datetime()when input is 0 #144, thanks @YannLuo - add
Config.anystr_strip_whitespaceandstrip_whitespacekwarg toconstr, by default values isFalse#163, thanks @Gr1N - add
ConstrainedFloat,confloat,PositiveFloatandNegativeFloattypes #166, thanks @Gr1N
v0.8.0 (2018-03-25)
- fix type annotation for
inherit_config#139 - breaking change: check for invalid field names in validators #140
- validate attributes of parent models #141
- breaking change: email validation now uses email-validator #142
v0.7.1 (2018-02-07)
- fix bug with
create_modelmodifying the base class
v0.7.0 (2018-02-06)
- added compatibility with abstract base classes (ABCs) #123
- add
create_modelmethod #113 #125 - breaking change: rename
.configto.__config__on a model - breaking change: remove deprecated
.values()on a model, use.dict()instead - remove use of
OrderedDictand use simple dict #126 - add
Config.use_enum_values#127 - add wildcard validators of the form
@validate('*')#128
v0.6.4 (2018-02-01)
- allow python date and times objects #122
v0.6.3 (2017-11-26)
- fix direct install without
README.rstpresent
v0.6.2 (2017-11-13)
- errors for invalid validator use
- safer check for complex models in
Settings
v0.6.1 (2017-11-08)
v0.6.0 (2017-11-07)
- assignment validation #94, thanks petroswork!
- JSON in environment variables for complex types, #96
- add
validatordecorators for complex validation, #97 - depreciate
values(...)and replace with.dict(...), #99
v0.5.0 (2017-10-23)
- add
UUIDvalidation #89 - remove
indexandtrackfrom error object (json) if they're null #90 - improve the error text when a list is provided rather than a dict #90
- add benchmarks table to docs #91
v0.4.0 (2017-07-08)
- show length in string validation error
- fix aliases in config during inheritance #55
- simplify error display
- use unicode ellipsis in
truncate - add
parse_obj,parse_rawandparse_filehelper functions #58 - switch annotation only fields to come first in fields list not last
v0.3.0 (2017-06-21)
- immutable models via
config.allow_mutation = False, associated cleanup and performance improvement #44 - immutable helper methods
construct()andcopy()#53 - allow pickling of models #53
setattris removed as__setattr__is now intelligent #44raise_exceptionremoved, Models now always raise exceptions #44- instance method validators removed
- django-restful-framework benchmarks added #47
- fix inheritance bug #49
- make str type stricter so list, dict etc are not coerced to strings. #52
- add
StrictStrwhich only always strings as input #52
v0.2.1 (2017-06-07)
- pypi and travis together messed up the deploy of
v0.2this should fix it
v0.2.0 (2017-06-07)
- breaking change:
values()on a model is now a method not a property, takesincludeandexcludearguments - allow annotation only fields to support mypy
- add pretty
to_string(pretty=True)method for models
v0.1.0 (2017-06-03)
- add docs
- add history
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pydantic-1.1.tar.gz.
File metadata
- Download URL: pydantic-1.1.tar.gz
- Upload date:
- Size: 93.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f85a63028003d8778dc3bf27c5c5cd25da64593422ab82a696cca32b1ce3e750
|
|
| MD5 |
d5e42da2ec3091ddffa14a49f6f9df7d
|
|
| BLAKE2b-256 |
a2e7f2b5f8d5dfac665967339a0b51d5a98cc3a8155b003db2de96f4cd092768
|
File details
Details for the file pydantic-1.1-py36.py37.py38-none-any.whl.
File metadata
- Download URL: pydantic-1.1-py36.py37.py38-none-any.whl
- Upload date:
- Size: 80.9 kB
- Tags: Python 3.6, Python 3.7, Python 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43f8ac74e114aaac0d844040fea971fc6c53434f24cee2e1aa0486e6601817b4
|
|
| MD5 |
35704f56460f3966b5025d2777322d59
|
|
| BLAKE2b-256 |
5885e39bc2e8cd19625ec3514521e2e3f5e6e104113badc9c25e79a30329df6b
|
File details
Details for the file pydantic-1.1-cp37-cp37m-manylinux1_x86_64.whl.
File metadata
- Download URL: pydantic-1.1-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d8d8c14b6349066e27aca9bfd3fb973fb2c45a860a6ba83fbea16ee42efbfd1
|
|
| MD5 |
cd3c2f5f52623851d1b91af5cf5c90a1
|
|
| BLAKE2b-256 |
f92038e48f037c1d30851ef5a280d4c17ce027bae4310f27ad51fff1fe0a7cb0
|
File details
Details for the file pydantic-1.1-cp37-cp37m-manylinux1_i686.whl.
File metadata
- Download URL: pydantic-1.1-cp37-cp37m-manylinux1_i686.whl
- Upload date:
- Size: 5.7 MB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2588e5c68b7927fd44c4bf2c5768cdaff7948fc4ae0e3f602376b76b1913c3b0
|
|
| MD5 |
b0c603888b681327aa52de52061c1b31
|
|
| BLAKE2b-256 |
d78790b278a4e1a420138e3c6f61219fd8493120b84dd94b59429b26f29a69c8
|
File details
Details for the file pydantic-1.1-cp36-cp36m-manylinux1_x86_64.whl.
File metadata
- Download URL: pydantic-1.1-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 6.4 MB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f3baf0b4ef8f68021186448efddbcc259ed473e18acf4433ef75dd13d795594
|
|
| MD5 |
ae82422825baca1c8854eef2f9bf8072
|
|
| BLAKE2b-256 |
b0e843e3648eeaf1d741a1dce497e04f6c3a6854ef8993e4a7ec921709875a21
|
File details
Details for the file pydantic-1.1-cp36-cp36m-manylinux1_i686.whl.
File metadata
- Download URL: pydantic-1.1-cp36-cp36m-manylinux1_i686.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40b62f5e8db4957221e4aa06cea015c4a74740405edea0e11def4c6418e7c62c
|
|
| MD5 |
761219b441d537d09e8aa3c314abc4b0
|
|
| BLAKE2b-256 |
b4cfd4861c7cd3a989a0989499abd2e6190244956f14db4876eaf4e2f44de2ae
|