Skip to main content

Data validation and settings management using python 3.6 type hinting

Project description

pydantic

CI Coverage pypi CondaForge downloads versions license

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, Optional
from pydantic import BaseModel

class User(BaseModel):
    id: int
    name = 'John Doe'
    signup_ts: Optional[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.

Reporting a Security Vulnerability

See our security policy.

v1.6.2 (2021-05-11)

  • Security fix: Fix date and datetime parsing so passing either 'infinity' or float('inf') (or their negative values) does not cause an infinite loop, See security advisory CVE-2021-29510

v1.6.1 (2020-07-15)

  • fix validation and parsing of nested models with default_factory, #1710 by @PrettyWood

v1.6 (2020-07-11)

Thank you to pydantic's sponsors: @matin, @tiangolo, @chdsbd, @jorgecarleitao, and 1 anonymous sponsor for their kind support.

  • Modify validators for conlist and conset to not have always=True, #1682 by @samuelcolvin
  • add port check to AnyUrl (can't exceed 65536) ports are 16 insigned bits: 0 <= port <= 2**16-1 src: rfc793 header format, #1654 by @flapili
  • Document default regex anchoring semantics, #1648 by @yurikhan
  • Use chain.from_iterable in class_validators.py. This is a faster and more idiomatic way of using itertools.chain. Instead of computing all the items in the iterable and storing them in memory, they are computed one-by-one and never stored as a huge list. This can save on both runtime and memory space, #1642 by @cool-RR
  • Add conset(), analogous to conlist(), #1623 by @patrickkwang
  • make pydantic errors (un)pickable, #1616 by @PrettyWood
  • Allow custom encoding for dotenv files, #1615 by @PrettyWood
  • Ensure SchemaExtraCallable is always defined to get type hints on BaseConfig, #1614 by @PrettyWood
  • Update datetime parser to support negative timestamps, #1600 by @mlbiche
  • Update mypy, remove AnyType alias for Type[Any], #1598 by @samuelcolvin
  • Adjust handling of root validators so that errors are aggregated from all failing root validators, instead of reporting on only the first root validator to fail, #1586 by @beezee
  • Make __modify_schema__ on Enums apply to the enum schema rather than fields that use the enum, #1581 by @therefromhere
  • Fix behavior of __all__ key when used in conjunction with index keys in advanced include/exclude of fields that are sequences, #1579 by @xspirus
  • Subclass validators do not run when referencing a List field defined in a parent class when each_item=True. Added an example to the docs illustrating this, #1566 by @samueldeklund
  • change schema.field_class_to_schema to support frozenset in schema, #1557 by @wangpeibao
  • Call __modify_schema__ only for the field schema, #1552 by @PrettyWood
  • Move the assignment of field.validate_always in fields.py so the always parameter of validators work on inheritance, #1545 by @dcHHH
  • Added support for UUID instantiation through 16 byte strings such as b'\x12\x34\x56\x78' * 4. This was done to support BINARY(16) columns in sqlalchemy, #1541 by @shawnwall
  • Add a test assertion that default_factory can return a singleton, #1523 by @therefromhere
  • Add NameEmail.__eq__ so duplicate NameEmail instances are evaluated as equal, #1514 by @stephen-bunn
  • Add datamodel-code-generator link in pydantic document site, #1500 by @koxudaxi
  • Added a "Discussion of Pydantic" section to the documentation, with a link to "Pydantic Introduction" video by Alexander Hultnér, #1499 by @hultner
  • Avoid some side effects of default_factory by calling it only once if possible and by not setting a default value in the schema, #1491 by @PrettyWood
  • Added docs about dumping dataclasses to JSON, #1487 by @mikegrima
  • Make BaseModel.__signature__ class-only, so getting __signature__ from model instance will raise AttributeError, #1466 by @MrMrRobat
  • include 'format': 'password' in the schema for secret types, #1424 by @atheuz
  • Modify schema constraints on ConstrainedFloat so that exclusiveMinimum and minimum are not included in the schema if they are equal to -math.inf and exclusiveMaximum and maximum are not included if they are equal to math.inf, #1417 by @vdwees
  • Squash internal __root__ dicts in .dict() (and, by extension, in .json()), #1414 by @patrickkwang
  • Move const validator to post-validators so it validates the parsed value, #1410 by @selimb
  • Fix model validation to handle nested literals, e.g. Literal['foo', Literal['bar']], #1364 by @DBCerigo
  • Remove user_required = True from RedisDsn, neither user nor password are required, #1275 by @samuelcolvin
  • Remove extra allOf from schema for fields with Union and custom Field, #1209 by @mostaphaRoudsari
  • Updates OpenAPI schema generation to output all enums as separate models. Instead of inlining the enum values in the model schema, models now use a $ref property to point to the enum definition, #1173 by @calvinwyoung

v1.5.1 (2020-04-23)

v1.5 (2020-04-18)

  • Make includes/excludes arguments for .dict(), ._iter(), ..., immutable, #1404 by @AlexECX
  • Always use a field's real name with includes/excludes in model._iter(), regardless of by_alias, #1397 by @AlexECX
  • Update constr regex example to include start and end lines, #1396 by @lmcnearney
  • Confirm that shallow model.copy() does make a shallow copy of attributes, #1383 by @samuelcolvin
  • Renaming model_name argument of main.create_model() to __model_name to allow using model_name as a field name, #1367 by @kittipatv
  • Replace raising of exception to silent passing for non-Var attributes in mypy plugin, #1345 by @b0g3r
  • Remove typing_extensions dependency for python 3.8, #1342 by @prettywood
  • Make SecretStr and SecretBytes initialization idempotent, #1330 by @atheuz
  • document making secret types dumpable using the json method, #1328 by @atheuz
  • Move all testing and build to github actions, add windows and macos binaries, thank you @StephenBrown2 for much help, #1326 by @samuelcolvin
  • fix card number length check in PaymentCardNumber, PaymentCardBrand now inherits from str, #1317 by @samuelcolvin
  • Have BaseModel inherit from Representation to make mypy happy when overriding __str__, #1310 by @FuegoFro
  • Allow None as input to all optional list fields, #1307 by @prettywood
  • Add datetime field to default_factory example, #1301 by @StephenBrown2
  • Allow subclasses of known types to be encoded with superclass encoder, #1291 by @StephenBrown2
  • Exclude exported fields from all elements of a list/tuple of submodels/dicts with '__all__', #1286 by @masalim2
  • Add pydantic.color.Color objects as available input for Color fields, #1258 by @leosussan
  • In examples, type nullable fields as Optional, so that these are valid mypy annotations, #1248 by @kokes
  • Make pattern_validator() accept pre-compiled Pattern objects. Fix str_validator() return type to str, #1237 by @adamgreg
  • Document how to manage Generics and inheritance, #1229 by @esadruhn
  • update_forward_refs() method of BaseModel now copies __dict__ of class module instead of modyfying it, #1228 by @paul-ilyin
  • Support instance methods and class methods with @validate_arguments, #1222 by @samuelcolvin
  • Add default_factory argument to Field to create a dynamic default value by passing a zero-argument callable, #1210 by @prettywood
  • add support for NewType of List, Optional, etc, #1207 by @Kazy
  • fix mypy signature for root_validator, #1192 by @samuelcolvin
  • Fixed parsing of nested 'custom root type' models, #1190 by @Shados
  • Add validate_arguments function decorator which checks the arguments to a function matches type annotations, #1179 by @samuelcolvin
  • Add __signature__ to models, #1034 by @MrMrRobat
  • Refactor ._iter() method, 10x speed boost for dict(model), #1017 by @MrMrRobat

v1.4 (2020-01-24)

  • Breaking Change: alias precedence logic changed so aliases on a field always take priority over an alias from alias_generator to avoid buggy/unexpected behaviour, see here for details, #1178 by @samuelcolvin
  • Add support for unicode and punycode in TLDs, #1182 by @jamescurtin
  • Fix cls argument in validators during assignment, #1172 by @samuelcolvin
  • completing Luhn algorithm for PaymentCardNumber, #1166 by @cuencandres
  • add support for generics that implement __get_validators__ like a custom data type, #1159 by @tiangolo
  • add support for infinite generators with Iterable, #1152 by @tiangolo
  • fix url_regex to accept schemas with +, - and . after the first character, #1142 by @samuelcolvin
  • move version_info() to version.py, suggest its use in issues, #1138 by @samuelcolvin
  • Improve pydantic import time by roughly 50% by deferring some module loading and regex compilation, #1127 by @samuelcolvin
  • Fix EmailStr and NameEmail to accept instances of themselves in cython, #1126 by @koxudaxi
  • Pass model class to the Config.schema_extra callable, #1125 by @therefromhere
  • Fix regex for username and password in URLs, #1115 by @samuelcolvin
  • Add support for nested generic models, #1104 by @dmontagu
  • add __all__ to __init__.py to prevent "implicit reexport" errors from mypy, #1072 by @samuelcolvin
  • Add support for using "dotenv" files with BaseSettings, #1011 by @acnebs

v1.3 (2019-12-21)

  • Change schema and schema_model to handle dataclasses by using their __pydantic_model__ feature, #792 by @aviramha
  • Added option for root_validator to be skipped if values validation fails using keyword skip_on_failure=True, #1049 by @aviramha
  • Allow Config.schema_extra to be a callable so that the generated schema can be post-processed, #1054 by @selimb
  • Update mypy to version 0.750, #1057 by @dmontagu
  • Trick Cython into allowing str subclassing, #1061 by @skewty
  • Prevent type attributes being added to schema unless the attribute __schema_attributes__ is True, #1064 by @samuelcolvin
  • Change BaseModel.parse_file to use Config.json_loads, #1067 by @kierandarcy
  • Fix for optional Json fields, #1073 by @volker48
  • Change the default number of threads used when compiling with cython to one, allow override via the CYTHON_NTHREADS environment variable, #1074 by @samuelcolvin
  • Run FastAPI tests during Pydantic's CI tests, #1075 by @tiangolo
  • My mypy strictness constraints, and associated tweaks to type annotations, #1077 by @samuelcolvin
  • Add __eq__ to SecretStr and SecretBytes to allow "value equals", #1079 by @sbv-trueenergy
  • Fix schema generation for nested None case, #1088 by @lutostag
  • Consistent checks for sequence like objects, #1090 by @samuelcolvin
  • Fix Config inheritance on BaseSettings when used with env_prefix, #1091 by @samuelcolvin
  • Fix for __modify_schema__ when it conflicted with field_class_to_schema*, #1102 by @samuelcolvin
  • docs: Fix explanation of case sensitive environment variable names when populating BaseSettings subclass attributes, #1105 by @tribals
  • Rename django-rest-framework benchmark in documentation, #1119 by @frankie567

v1.2 (2019-11-28)

  • Possible Breaking Change: Add support for required Optional with name: Optional[AnyType] = Field(...) and refactor ModelField creation to preserve required parameter value, #1031 by @tiangolo; see here for details
  • Add benchmarks for cattrs, #513 by @sebastianmika
  • Add exclude_none option to dict() and friends, #587 by @niknetniko
  • Add benchmarks for valideer, #670 by @gsakkis
  • Add parse_obj_as and parse_file_as functions for ad-hoc parsing of data into arbitrary pydantic-compatible types, #934 by @dmontagu
  • Add allow_reuse argument to validators, thus allowing validator reuse, #940 by @dmontagu
  • Add support for mapping types for custom root models, #958 by @dmontagu
  • Mypy plugin support for dataclasses, #966 by @koxudaxi
  • Add support for dataclasses default factory, #968 by @ahirner
  • Add a ByteSize type for converting byte string (1GB) to plain bytes, #977 by @dgasmith
  • Fix mypy complaint about @root_validator(pre=True), #984 by @samuelcolvin
  • Add manylinux binaries for python 3.8 to pypi, also support manylinux2010, #994 by @samuelcolvin
  • Adds ByteSize conversion to another unit, #995 by @dgasmith
  • Fix __str__ and __repr__ inheritance for models, #1022 by @samuelcolvin
  • add testimonials section to docs, #1025 by @sullivancolin
  • Add support for typing.Literal for Python 3.8, #1026 by @dmontagu

v1.1.1 (2019-11-20)

  • Fix bug where use of complex fields on sub-models could cause fields to be incorrectly configured, #1015 by @samuelcolvin

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 Any to allow None, also support TypeVar thus allowing use of un-parameterised collection types e.g. Dict and List, #962 by @samuelcolvin
  • Set FieldInfo on subfields to fix schema generation for complex nested types, #965 by @samuelcolvin

v1.0 (2019-10-23)

  • Breaking Change: deprecate the Model.fields property, use Model.__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_defaults to exclude_unset, and add ability to exclude actual defaults, #915 by @dmontagu
  • Add **kwargs to pydantic.main.ModelMetaclass.__new__ so __init_subclass__ can take custom parameters on extended BaseModel classes, #867 by @retnikt
  • Fix field of a type that has a default value, #880 by @koxudaxi
  • Use FutureWarning instead of DeprecationWarning when alias instead of env is used for settings models, #881 by @samuelcolvin
  • Fix issue with BaseSettings inheritance and alias getting set to None, #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_insensitive on BaseSettings config, #885 by @samuelcolvin
  • For BaseSettings merge 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, document construct() usage, #898 by @samuelcolvin
  • Add example for the construct() method, #907 by @ashears
  • Improve use of Field constraints on complex types, raise an error if constraints are not enforceable, also support tuples with an ellipsis Tuple[X, ...], Sequence and FrozenSet in schema, #909 by @samuelcolvin
  • update docs for bool missing valid value, #911 by @trim21
  • Better str/repr logic for ModelField, #912 by @samuelcolvin
  • Fix ConstrainedList, update schema generation to reflect min_items and max_items Field() arguments, #917 by @samuelcolvin
  • Allow abstracts sets (eg. dict keys) in the include and exclude arguments of dict(), #921 by @samuelcolvin
  • Fix JSON serialization errors on ValidationError.json() by using pydantic_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 StrictBool typecheck as bool to 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 GenericModel subclasses, #859 by @dmontagu
  • Add if TYPE_CHECKING: to the excluded lines for test coverage, #874 by @dmontagu
  • Rename allow_population_by_alias to allow_population_by_field_name, remove unnecessary warning about it, #875 by @samuelcolvin

v1.0b1 (2019-10-01)

  • Breaking Change: rename Schema to Field, make it a function to placate mypy, #577 by @samuelcolvin
  • Breaking Change: modify parsing behavior for bool, #617 by @dmontagu
  • Breaking Change: get_validators is no longer recognised, use __get_validators__. Config.ignore_extra and Config.allow_extra are no longer recognised, use Config.extra, #720 by @samuelcolvin
  • Breaking Change: modify default config settings for BaseSettings; case_insensitive renamed to case_sensitive, default changed to case_sensitive = False, env_prefix default changed to '' - e.g. no prefix, #721 by @dmontagu
  • Breaking change: Implement root_validator and 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 initvars support to post_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 URL parsing logic, #755 by @samuelcolvin
  • Breaking Change: preserve superclass annotations for field-determination when not provided in subclass, #757 by @dmontagu
  • Breaking Change: BaseSettings now uses the special env settings to define which environment variables to read, not aliases, #847 by @samuelcolvin
  • add support for assert statements inside validators, #653 by @abdusco
  • Update documentation to specify the use of pydantic.dataclasses.dataclass and subclassing pydantic.BaseModel, #710 by @maddosaurus
  • Allow custom JSON decoding and encoding via json_loads and json_dumps Config properties, #714 by @samuelcolvin
  • make all annotated fields occur in the order declared, #715 by @dmontagu
  • use pytest to test mypy integration, #735 by @dmontagu
  • add __repr__ method to ErrorWrapper, #738 by @samuelcolvin
  • Added support for FrozenSet members in dataclasses, and a better error when attempting to use types from the typing module 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, ValidationError and datetime parsing, #763 by @samuelcolvin
  • Improvements to datetime/date/time/timedelta types: more descriptive errors, change errors to value_error not type_error, support bytes, #766 by @samuelcolvin
  • fix error messages for Literal types with multiple allowed values, #770 by @dmontagu
  • Improved auto-generated title field in JSON schema by converting underscore to space, #772 by @skewty
  • support mypy --no-implicit-reexport for dataclasses, also respect --no-implicit-reexport in pydantic itself, #783 by @samuelcolvin
  • add the PaymentCardNumber type, #790 by @matin
  • Fix const validations for lists, #794 by @hmvp
  • Set additionalProperties to false in schema for models with extra fields disallowed, #796 by @Code0x58
  • EmailStr validation method now returns local part case-sensitive per RFC 5321, #798 by @henriklindgren
  • Added ability to validate strictness to ConstrainedFloat, ConstrainedInt and ConstrainedStr and added StrictFloat and StrictInt classes, #799 by @DerRidda
  • Improve handling of None and Optional, replace whole with each_item (inverse meaning, default False) 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 a ValidationError during parsing, #820 by @dmontagu
  • allow getter_dict on Config, modify GetterDict to be more like a Mapping object and thus easier to work with, #821 by @samuelcolvin
  • Only check TypeVar param on base GenericModel class, #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)

(Docs are available here)

  • fix __post_init__ usage with dataclass inheritance, fix #739 by @samuelcolvin
  • fix required fields validation on GenericModels classes, #742 by @amitbl
  • fix defining custom Schema on GenericModel fields, #754 by @amitbl

v0.32.1 (2019-08-08)

v0.32 (2019-08-06)

  • add model name to ValidationError error message, #676 by @dmontagu
  • breaking change: remove __getattr__ and rename __values__ to __dict__ on BaseModel, 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_extra in Config sub-class, #663 by @tiangolo

v0.31.1 (2019-07-31)

  • fix json generation for EnumError, #697 by @dmontagu
  • update numerous dependencies

v0.31 (2019-07-24)

v0.30.1 (2019-07-15)

  • fix so nested classes which inherit and change __init__ are correctly processed while still allowing self as a parameter, #644 by @lnaden and @dgasmith

v0.30 (2019-07-07)

v0.29 (2019-06-19)

  • support dataclasses.InitVar, #592 by @pfrederiks
  • Updated documentation to elucidate the usage of Union when defining multiple types under an attribute's annotation and showcase how the type-order can affect marshalling of provided values, #594 by @somada141
  • add conlist type, #583 by @hmvp
  • add support for generics, #595 by @dmontagu

v0.28 (2019-06-06)

v0.27 (2019-05-30)

  • breaking change _pydantic_post_init to 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, and set, #540 by @tiangolo
  • compiling with cython, manylinux binaries, 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 changing validate_model() to always returns Tuple[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 Color type, #504 by @pilosus and @samuelcolvin

v0.25 (2019-05-05)

v0.24 (2019-04-23)

v0.23 (2019-04-04)

v0.22 (2019-03-29)

v0.21.0 (2019-03-15)

v0.20.1 (2019-02-26)

v0.20.0 (2019-02-18)

  • fix tests for python 3.8, #396 by @samuelcolvin
  • Adds fields to the dir method for autocompletion in interactive sessions, #398 by @dgasmith
  • support ForwardRef (and therefore from __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, config and field is now permitted, eg. (cls, value, field), however the variadic key word argument ("**kwargs") must be called kwargs, #388 by @samuelcolvin
  • breaking change: Adds skip_defaults argument to BaseModel.dict() to allow skipping of fields that were not explicitly set, signature of Model.construct() changed, #389 by @dgasmith
  • add py.typed marker file for PEP-561 support, #391 by @je-l
  • Fix extra behaviour for multiple inheritance/mix-ins, #394 by @YaraslauZhylko

v0.19.0 (2019-02-04)

  • Support Callable type hint, fix #279 by @proofit404
  • Fix schema for fields with validator decorator, fix #375 by @tiangolo
  • Add multiple_of constraint to ConstrainedDecimal, ConstrainedFloat, ConstrainedInt and their related types condecimal, confloat, and conint #371, thanks @StephenBrown2
  • Deprecated ignore_extra and allow_extra Config fields in favor of extra, #352 by @liiight
  • Add type annotations to all functions, test fully with mypy, #373 by @samuelcolvin
  • fix for 'missing' error with validate_all or validate_always, #381 by @samuelcolvin
  • Change the second/millisecond watershed for date/datetime parsing to 2e10, #385 by @samuelcolvin

v0.18.2 (2019-01-22)

v0.18.1 (2019-01-17)

  • add ConstrainedBytes and conbytes types, #315 @Gr1N
  • adding MANIFEST.in to 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=True when the default is None or the type is optional, also prevent whole validators 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=False and allow_population_by_alias=True, fix #257 by @samuelcolvin
  • breaking change: Set BaseConfig attributes min_anystr_length and max_anystr_length to None by default, fix #349 in #350 by @tiangolo
  • add support for postponed annotations, #348 by @samuelcolvin

v0.17.0 (2018-12-27)

  • fix schema for timedelta as 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, : tuple and : 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_assignment argument with config)
  • support for nested dataclasses, #334 by @samuelcolvin
  • better errors when getting an ImportError with PyObject, #309 by @samuelcolvin
  • rename get_validators to __get_validators__, deprecation warning on use of old name, #338 by @samuelcolvin
  • support ClassVar by excluding such attributes from fields, #184 by @samuelcolvin

v0.16.1 (2018-12-10)

  • fix create_model to 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 schema to schema module to generate top-level schemas from base models, #308 by @tiangolo
  • add additional fields to Schema class to declare validation for str and numeric values, #311 by @tiangolo
  • rename _schema to schema on fields, #318 by @samuelcolvin
  • add case_insensitive option to BaseSettings Config, #277 by @jasonkuhrt

v0.15.0 (2018-11-18)

v0.14.0 (2018-10-02)

v0.13.1 (2018-09-21)

  • fix issue where int_validator doesn't cast a bool to an int #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 BaseModel attribute #242
  • add UrlStr and urlstr types #236
  • timedelta json encoding ISO8601 and total seconds, custom json encoders #247, by @cfkanesan and @samuelcolvin
  • allow timedelta objects as values for properties of type timedelta (matches datetime etc. 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_alias argument 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 NewType support #115
  • fix list, set & tuple validation #225
  • separate out validate_model method, allow errors to be returned along with valid values #221

v0.11.1 (2018-07-02)

v0.11.0 (2018-06-28)

  • make list, tuple and set types stricter #86
  • breaking change: remove msgpack parsing #201
  • add FilePath and DirectoryPath types #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_size and Config.max_number_size #183, thanks @Gr1N
  • breaking change: correct behaviour of lt and gt arguments to conint etc. #188 for the old behaviour use le and ge #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_config on config classes #159
  • add UUID1, UUID3, UUID4 and UUID5 types #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, ConstrainedDecimal and condecimal types #170, thanks @Gr1N

v0.9.0 (2018-04-28)

  • tweak email-validator import error message #145
  • fix parse error of parse_date() and parse_datetime() when input is 0 #144, thanks @YannLuo
  • add Config.anystr_strip_whitespace and strip_whitespace kwarg to constr, by default values is False #163, thanks @Gr1N
  • add ConstrainedFloat, confloat, PositiveFloat and NegativeFloat types #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_model modifying the base class

v0.7.0 (2018-02-06)

  • added compatibility with abstract base classes (ABCs) #123
  • add create_model method #113 #125
  • breaking change: rename .config to .__config__ on a model
  • breaking change: remove deprecated .values() on a model, use .dict() instead
  • remove use of OrderedDict and 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.rst present

v0.6.2 (2017-11-13)

  • errors for invalid validator use
  • safer check for complex models in Settings

v0.6.1 (2017-11-08)

  • prevent duplicate validators, #101
  • add always kwarg to validators, #102

v0.6.0 (2017-11-07)

  • assignment validation #94, thanks petroswork!
  • JSON in environment variables for complex types, #96
  • add validator decorators for complex validation, #97
  • depreciate values(...) and replace with .dict(...), #99

v0.5.0 (2017-10-23)

  • add UUID validation #89
  • remove index and track from 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_raw and parse_file helper 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() and copy() #53
  • allow pickling of models #53
  • setattr is removed as __setattr__ is now intelligent #44
  • raise_exception removed, 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 StrictStr which only always strings as input #52

v0.2.1 (2017-06-07)

  • pypi and travis together messed up the deploy of v0.2 this should fix it

v0.2.0 (2017-06-07)

  • breaking change: values() on a model is now a method not a property, takes include and exclude arguments
  • 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

pydantic-1.6.2.tar.gz (124.0 kB view details)

Uploaded Source

Built Distributions

pydantic-1.6.2-py36.py37.py38-none-any.whl (99.3 kB view details)

Uploaded Python 3.6 Python 3.7 Python 3.8

pydantic-1.6.2-cp38-cp38-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.8 Windows x86-64

pydantic-1.6.2-cp38-cp38-manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.8

pydantic-1.6.2-cp38-cp38-manylinux2014_i686.whl (10.7 MB view details)

Uploaded CPython 3.8

pydantic-1.6.2-cp38-cp38-manylinux1_i686.whl (10.7 MB view details)

Uploaded CPython 3.8

pydantic-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pydantic-1.6.2-cp37-cp37m-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.7m Windows x86-64

pydantic-1.6.2-cp37-cp37m-manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.7m

pydantic-1.6.2-cp37-cp37m-manylinux2014_i686.whl (8.3 MB view details)

Uploaded CPython 3.7m

pydantic-1.6.2-cp37-cp37m-manylinux1_i686.whl (8.3 MB view details)

Uploaded CPython 3.7m

pydantic-1.6.2-cp37-cp37m-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pydantic-1.6.2-cp36-cp36m-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.6m Windows x86-64

pydantic-1.6.2-cp36-cp36m-manylinux2014_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.6m

pydantic-1.6.2-cp36-cp36m-manylinux2014_i686.whl (8.3 MB view details)

Uploaded CPython 3.6m

pydantic-1.6.2-cp36-cp36m-manylinux1_i686.whl (8.3 MB view details)

Uploaded CPython 3.6m

pydantic-1.6.2-cp36-cp36m-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file pydantic-1.6.2.tar.gz.

File metadata

  • Download URL: pydantic-1.6.2.tar.gz
  • Upload date:
  • Size: 124.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2.tar.gz
Algorithm Hash digest
SHA256 e77e5f640f1093bf417b841d9b4148bd4212bb0dbb2cbb9024aa07f2b3b260eb
MD5 01074eb02d59c6c83a78031d9928b7f0
BLAKE2b-256 a7852bebfcf5df4697b17ec639c72a00dd9ecea0d66e88bb6adfe40643c4e87b

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-py36.py37.py38-none-any.whl.

File metadata

  • Download URL: pydantic-1.6.2-py36.py37.py38-none-any.whl
  • Upload date:
  • Size: 99.3 kB
  • Tags: Python 3.6, Python 3.7, Python 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-py36.py37.py38-none-any.whl
Algorithm Hash digest
SHA256 93f7f510fc366b99dace4a3d1f036aafcfe908092c5f2572ad4a96be24da199c
MD5 48e0a84419f00799ef6279eae8820c26
BLAKE2b-256 dc350da1964ba737fc6686a734e0dcda58562f68b5b8c0f82f5541be9f87eb48

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ae48129396bd5acfaef1cdaaa959ac8ab5d02c026b1fdffb421dc6fa81d7861d
MD5 8c6a4ae82ea6adb905348187bb9ab018
BLAKE2b-256 e6787bb49ff2e8effea4c59e48d2c49e0c14bb3f4638b3cbe0fcab95ea790e7b

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6a1a465dd72aff0462486588a2bf905f9169e575deec1e6f6d00240fe1b4e00
MD5 9d2615752c6fefbacc4c31ed85d81fed
BLAKE2b-256 ae97a1c2143eeb5c81cfe8acbb7377dc6466ae454b554a4b80f9f2e2442a81ff

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp38-cp38-manylinux2014_i686.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp38-cp38-manylinux2014_i686.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp38-cp38-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 51dec047b44f0de4dbfa301b73df605918088348b951b8b4616127249febfe30
MD5 8d0aecd56ff64d29358076169118cb7f
BLAKE2b-256 69dfbb49f28bba238fff49fd4c2aba302b975ce918841b1cb13fa974ece20862

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 433dda6200104d7aa38c27a6ea52485e69931042556065402281cc73a57fd680
MD5 00edcfdeac881d953fd08729e1678a40
BLAKE2b-256 87a8cab453e0783529e241a67927ee00a522581447ce70f60c755faa8ebcf96c

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 76b241172d6e22403e116e1d3b7305b6a9479323f8168f2fcb300ffe698443b9
MD5 0d6759c8c9c514cfa2e6e1969bc8ac34
BLAKE2b-256 ea240996bcda22bb597ff5b9b6cfee8d327f875b92eb20149c467867e86d2f1c

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 60b8956b57045224294691b78a6a4be0f321271a9f1c2a7fef25248e4c4f20df
MD5 3c409a2c904ef75ee53832dc0484be30
BLAKE2b-256 c0d179f02ef725c402ecf05fb1677349ab577572702056b406df4db127ca2261

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6eea211e8b427841a16f43fa739ac06059db6af0d167476b928dbb237d870b77
MD5 367183b11e52ac53ed6db55a34bf759a
BLAKE2b-256 b0e399adaf10e60decd052ca05ec10af03b920f41c5f1888f5159f72ddd2404b

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp37-cp37m-manylinux2014_i686.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp37-cp37m-manylinux2014_i686.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp37-cp37m-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bf9e5dd5e0e7e64541508f657c63bf6ab869109cb39f017f935acfeb64ea9be8
MD5 03f9b141f4be281e0d995fd885746d54
BLAKE2b-256 bb030a146f5cbcf6315ff08c2082fe68211d64396dd19fe10937996c820451a3

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 90310c1c5945b4fe2ff7bd69e306e54d192e55d22480657ddd6d2519cf2f12ba
MD5 dc655a1098c5fd080c0d49aa02f41a8a
BLAKE2b-256 73a23d091f10f0dd3fe7ed4d29c8ef7e6e466926e145a6e688fd0e833c4adf7c

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1d42c7408cde8a224c2bb969bfb9dca21f3b1eec37a92044be8bcd7d35ea5826
MD5 9a6fb6cab910b44f70bf37a1e0194529
BLAKE2b-256 4262587a4365e2826c287b412216bfd9beed3e3d526dcfcf0af514ec31a8a772

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 548c284237b0c61e0e785ad03167c75723f22000f82e8104d8981fdf50ce14e8
MD5 bc7fa076b61972b8c503ce5a296b7d1a
BLAKE2b-256 44a3b1871cd2ab16711491c51b6116b05b5dfa32426fac449b98d77f1a1e5051

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd777c102ba31bc9992093c2e9f778c21b3965566d1fa5ac9f9b7cea2e67fe2a
MD5 f813d507b37426e69e1ac1396a089b36
BLAKE2b-256 ba184f5c21e813280ea214a93eb10322e07fb881833c0e0a3d9e0d6a07d6b8c0

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp36-cp36m-manylinux2014_i686.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp36-cp36m-manylinux2014_i686.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp36-cp36m-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d09adff1c70351a8750941dd39fda25447eab2e3cdb5b2aade340f69f6f53e84
MD5 e8f937f814db937d3cc4b8f5b4869170
BLAKE2b-256 fb3dcf13fbfa30388c605747102cf70623be5d7cb5bcb06b50f491eec99e61c4

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 14e598055b65d2e6cedf10dc3de6ad1bb04ca3eec348e4af1cf5e5e496deab55
MD5 b1a099a3c28c77f6013adde555af88f5
BLAKE2b-256 fc54a2ea0a1f217b0087147200ab6dd24c56deaaa6590e0418c06e5af735d860

See more details on using hashes here.

File details

Details for the file pydantic-1.6.2-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pydantic-1.6.2-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.7.0 requests/2.25.1 setuptools/56.2.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for pydantic-1.6.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 be4e0263ef515ae14f06e9fb372843f00bdb218ec4f2f04beb3480ac1538a9a9
MD5 372fcde8470ccc958ac04837d8fd8979
BLAKE2b-256 ea42986367937a4f0ddec8a04b1c860b2c5bf705be13e7717fbe334fad9341e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page