Skip to main content

pydantic

CI Coverage pypi CondaForge downloads versions license

Data validation and settings management using Python type hints.

Fast and extensible, pydantic plays nicely with your linters/IDE/brain. Define how data should be in pure, canonical Python 3.7+; validate it with pydantic.

Pydantic Company :rocket:

We've started a company based on the principles that I believe have led to Pydantic's success. Learning more from the Company Announcement.

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.

v2.0b2 (2023-06-03)

Add from_attributes runtime flag to TypeAdapter.validate_python and BaseModel.model_validate.

See the full changelog here

v2.0b1 (2023-06-01)

First beta pre-release of Pydantic V2

See the full changelog here

v2.0a4 (2023-05-05)

Fourth pre-release of Pydantic V2

See the full changelog here

v2.0a3 (2023-04-20)

Third pre-release of Pydantic V2

See the full changelog here

v2.0a2 (2023-04-12)

Second pre-release of Pydantic V2

See the full changelog here

v2.0a1 (2023-04-03)

First pre-release of Pydantic V2!

See this post for more details.

v1.10.9 (2023-06-07)

v1.10.8 (2023-05-23)

v1.10.7 (2023-03-22)

  • Fix creating schema from model using ConstrainedStr with regex as dict key, #5223 by @matejetz
  • Address bug in mypy plugin caused by explicit_package_bases=True, #5191 by @dmontagu
  • Add implicit defaults in the mypy plugin for Field with no default argument, #5190 by @dmontagu
  • Fix schema generated for Enum values used as Literals in discriminated unions, #5188 by @javibookline
  • Fix mypy failures caused by the pydantic mypy plugin when users define from_orm in their own classes, #5187 by @dmontagu
  • Fix InitVar usage with pydantic dataclasses, mypy version 1.1.1 and the custom mypy plugin, #5162 by @cdce8p

v1.10.6 (2023-03-08)

  • Implement logic to support creating validators from non standard callables by using defaults to identify them and unwrapping functools.partial and functools.partialmethod when checking the signature, #5126 by @JensHeinrich
  • Fix mypy plugin for v1.1.1, and fix dataclass_transform decorator for pydantic dataclasses, #5111 by @cdce8p
  • Raise ValidationError, not ConfigError, when a discriminator value is unhashable, #4773 by @kurtmckee

v1.10.5 (2023-02-15)

  • Fix broken parametrized bases handling with GenericModels with complex sets of models, #5052 by @MarkusSintonen
  • Invalidate mypy cache if plugin config changes, #5007 by @cdce8p
  • Fix RecursionError when deep-copying dataclass types wrapped by pydantic, #4949 by @mbillingr
  • Fix X | Y union syntax breaking GenericModel, #4146 by @thenx
  • Switch coverage badge to show coverage for this branch/release, #5060 by @samuelcolvin

v1.10.4 (2022-12-30)

v1.10.3 (2022-12-29)

NOTE: v1.10.3 was "yanked" from PyPI due to #4885 which is fixed in v1.10.4

  • fix parsing of custom root models, #4883 by @gou177
  • fix: use dataclass proxy for frozen or empty dataclasses, #4878 by @PrettyWood
  • Fix schema and schema_json on models where a model instance is a one of default values, #4781 by @Bobronium
  • Add Jina AI to sponsors on docs index page, #4767 by @samuelcolvin
  • fix: support assignment on DataclassProxy, #4695 by @PrettyWood
  • Add postgresql+psycopg as allowed scheme for PostgreDsn to make it usable with SQLAlchemy 2, #4689 by @morian
  • Allow dict schemas to have both patternProperties and additionalProperties, #4641 by @jparise
  • Fixes error passing None for optional lists with unique_items, #4568 by @mfulgo
  • Fix GenericModel with Callable param raising a TypeError, #4551 by @mfulgo
  • Fix field regex with StrictStr type annotation, #4538 by @sisp
  • Correct dataclass_transform keyword argument name from field_descriptors to field_specifiers, #4500 by @samuelcolvin
  • fix: avoid multiple calls of __post_init__ when dataclasses are inherited, #4487 by @PrettyWood
  • Reduce the size of binary wheels, #2276 by @samuelcolvin

v1.10.2 (2022-09-05)

v1.10.1 (2022-08-31)

  • Add __hash__ method to pydancic.color.Color class, #4454 by @czaki

v1.10.0 (2022-08-30)

  • Refactor the whole pydantic dataclass decorator to really act like its standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes comparison with its non-validated version possible. It also fixes usage of frozen dataclasses in fields and usage of default_factory in nested dataclasses. The support of Config.extra has been added. Finally, config customization directly via a dict is now possible, #2557 by @PrettyWood

    BREAKING CHANGES:
    • The compiled boolean (whether pydantic is compiled with cython) has been moved from main.py to version.py
    • Now that Config.extra is supported, dataclass ignores by default extra arguments (like BaseModel)
  • Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs, #4407 by @tlambert03
  • Allow for custom parsing of environment variables via parse_env_var in Config, #4406 by @acmiyaguchi
  • Rename master to main, #4405 by @hramezani
  • Fix StrictStr does not raise ValidationError when max_length is present in Field, #4388 by @hramezani
  • Make SecretStr and SecretBytes hashable, #4387 by @chbndrhnns
  • Fix StrictBytes does not raise ValidationError when max_length is present in Field, #4380 by @JeanArhancet
  • Add support for bare type, #4375 by @hramezani
  • Support Python 3.11, including binaries for 3.11 in PyPI, #4374 by @samuelcolvin
  • Add support for re.Pattern, #4366 by @hramezani
  • Fix __post_init_post_parse__ is incorrectly passed keyword arguments when no __post_init__ is defined, #4361 by @hramezani
  • Fix implicitly importing ForwardRef and Callable from pydantic.typing instead of typing and also expose MappingIntStrAny, #4358 by @aminalaee
  • remove Any types from the dataclass decorator so it can be used with the disallow_any_expr mypy option, #4356 by @DetachHead
  • moved repo to pydantic/pydantic, #4348 by @yezz123
  • fix "extra fields not permitted" error when dataclass with Extra.forbid is validated multiple times, #4343 by @detachhead
  • Add Python 3.9 and 3.10 examples to docs, #4339 by @Bobronium
  • Discriminated union models now use oneOf instead of anyOf when generating OpenAPI schema definitions, #4335 by @MaxwellPayne
  • Allow type checkers to infer inner type of Json type. Json[list[str]] will be now inferred as list[str], Json[Any] should be used instead of plain Json. Runtime behaviour is not changed, #4332 by @Bobronium
  • Allow empty string aliases by using a alias is not None check, rather than bool(alias), #4253 by @sergeytsaplin
  • Update ForwardRefs in Field.outer_type_, #4249 by @JacobHayes
  • The use of __dataclass_transform__ has been replaced by typing_extensions.dataclass_transform, which is the preferred way to mark pydantic models as a dataclass under PEP 681, #4241 by @multimeric
  • Use parent model's Config when validating nested NamedTuple fields, #4219 by @synek
  • Update BaseModel.construct to work with aliased Fields, #4192 by @kylebamos
  • Catch certain raised errors in smart_deepcopy and revert to deepcopy if so, #4184 by @coneybeare
  • Add Config.anystr_upper and to_upper kwarg to constr and conbytes, #4165 by @satheler
  • Fix JSON schema for set and frozenset when they include default values, #4155 by @aminalaee
  • Teach the mypy plugin that methods decorated by @validator are classmethods, #4102 by @DMRobertson
  • Improve mypy plugin's ability to detect required fields, #4086 by @richardxia
  • Support fields of type Type[] in schema, #4051 by @aminalaee
  • Add default value in JSON Schema when const=True, #4031 by @aminalaee
  • Adds reserved word check to signature generation logic, #4011 by @strue36
  • Fix Json strategy failure for the complex nested field, #4005 by @sergiosim
  • Add JSON-compatible float constraint allow_inf_nan, #3994 by @tiangolo
  • Remove undefined behaviour when env_prefix had characters in common with env_nested_delimiter, #3975 by @arsenron
  • Support generics model with create_model, #3945 by @hot123s
  • allow submodels to overwrite extra field info, #3934 by @PrettyWood
  • Document and test structural pattern matching (PEP 636) on BaseModel, #3920 by @irgolic
  • Fix incorrect deserialization of python timedelta object to ISO 8601 for negative time deltas. Minus was serialized in incorrect place ("P-1DT23H59M59.888735S" instead of correct "-P1DT23H59M59.888735S"), #3899 by @07pepa
  • Fix validation of discriminated union fields with an alias when passing a model instance, #3846 by @chornsby
  • Add a CockroachDsn type to validate CockroachDB connection strings. The type supports the following schemes: cockroachdb, cockroachdb+psycopg2 and cockroachdb+asyncpg, #3839 by @blubber
  • Fix MyPy plugin to not override pre-existing __init__ method in models, #3824 by @patrick91
  • Fix mypy version checking, #3783 by @KotlinIsland
  • support overwriting dunder attributes of BaseModel instances, #3777 by @PrettyWood
  • Added ConstrainedDate and condate, #3740 by @hottwaj
  • Support kw_only in dataclasses, #3670 by @detachhead
  • Add comparison method for Color class, #3646 by @aminalaee
  • Drop support for python3.6, associated cleanup, #3605 by @samuelcolvin
  • created new function to_lower_camel() for "non pascal case" camel case, #3463 by @schlerp
  • Add checks to default and default_factory arguments in Mypy plugin, #3430 by @klaa97
  • fix mangling of inspect.signature for BaseModel, #3413 by @fix-inspect-signature
  • Adds the SecretField abstract class so that all the current and future secret fields like SecretStr and SecretBytes will derive from it, #3409 by @expobrain
  • Support multi hosts validation in PostgresDsn, #3337 by @rglsk
  • Fix parsing of very small numeric timedelta values, #3315 by @samuelcolvin
  • Update SecretsSettingsSource to respect config.case_sensitive, #3273 by @JeanArhancet
  • Add MongoDB network data source name (DSN) schema, #3229 by @snosratiershad
  • Add support for multiple dotenv files, #3222 by @rekyungmin
  • Raise an explicit ConfigError when multiple fields are incorrectly set for a single validator, #3215 by @SunsetOrange
  • Allow ellipsis on Fields inside Annotated for TypedDicts required, #3133 by @ezegomez
  • Catch overflow errors in int_validator, #3112 by @ojii
  • Adds a __rich_repr__ method to Representation class which enables pretty printing with Rich, #3099 by @willmcgugan
  • Add percent encoding in AnyUrl and descendent types, #3061 by @FaresAhmedb
  • validate_arguments decorator now supports alias, #3019 by @MAD-py
  • Avoid __dict__ and __weakref__ attributes in AnyUrl and IP address fields, #2890 by @nuno-andre
  • Add ability to use Final in a field type annotation, #2766 by @uriyyo
  • Update requirement to typing_extensions>=4.1.0 to guarantee dataclass_transform is available, #4424 by @commonism
  • Add Explosion and AWS to main sponsors, #4413 by @samuelcolvin
  • Update documentation for copy_on_model_validation to reflect recent changes, #4369 by @samuelcolvin
  • Runtime warning if __slots__ is passed to create_model, __slots__ is then ignored, #4432 by @samuelcolvin
  • Add type hints to BaseSettings.Config to avoid mypy errors, also correct mypy version compatibility notice in docs, #4450 by @samuelcolvin

v1.10.0b1 (2022-08-24)

Pre-release, see the GitHub release for details.

v1.10.0a2 (2022-08-24)

Pre-release, see the GitHub release for details.

v1.10.0a1 (2022-08-22)

Pre-release, see the GitHub release for details.

v1.9.2 (2022-08-11)

Revert Breaking Change: v1.9.1 introduced a breaking change where model fields were deep copied by default, this release reverts the default behaviour to match v1.9.0 and before, while also allow deep-copy behaviour via copy_on_model_validation = 'deep'. See #4092 for more information.

  • Allow for shallow copies of model fields, Config.copy_on_model_validation is now a str which must be 'none', 'deep', or 'shallow' corresponding to not copying, deep copy & shallow copy; default 'shallow', #4093 by @timkpaine

v1.9.1 (2022-05-19)

Thank you to pydantic's sponsors: @tiangolo, @stellargraph, @JonasKs, @grillazz, @Mazyod, @kevinalh, @chdsbd, @povilasb, @povilasb, @jina-ai, @mainframeindustries, @robusta-dev, @SendCloud, @rszamszur, @jodal, @hardbyte, @corleyma, @daddycocoaman, @Rehket, @jokull, @reillysiemens, @westonsteimel, @primer-io, @koxudaxi, @browniebroke, @stradivari96, @adriangb, @kamalgill, @jqueguiner, @dev-zero, @datarootsio, @RedCarpetUp for their kind support.

  • Limit the size of generics._generic_types_cache and generics._assigned_parameters to avoid unlimited increase in memory usage, #4083 by @samuelcolvin
  • Add Jupyverse and FPS as Jupyter projects using pydantic, #4082 by @davidbrochart
  • Speedup __isinstancecheck__ on pydantic models when the type is not a model, may also avoid memory "leaks", #4081 by @samuelcolvin
  • Fix in-place modification of FieldInfo that caused problems with PEP 593 type aliases, #4067 by @adriangb
  • Add support for autocomplete in VS Code via __dataclass_transform__ when using pydantic.dataclasses.dataclass, #4006 by @giuliano-oliveira
  • Remove benchmarks from codebase and docs, #3973 by @samuelcolvin
  • Typing checking with pyright in CI, improve docs on vscode/pylance/pyright, #3972 by @samuelcolvin
  • Fix nested Python dataclass schema regression, #3819 by @himbeles
  • Update documentation about lazy evaluation of sources for Settings, #3806 by @garyd203
  • Prevent subclasses of bytes being converted to bytes, #3706 by @samuelcolvin
  • Fixed "error checking inheritance of" when using PEP585 and PEP604 type hints, #3681 by @aleksul
  • Allow self referencing ClassVars in models, #3679 by @samuelcolvin
  • Breaking Change, see #4106: Fix issue with self-referencing dataclass, #3675 by @uriyyo
  • Include non-standard port numbers in rendered URLs, #3652 by @dolfinus
  • Config.copy_on_model_validation does a deep copy and not a shallow one, #3641 by @PrettyWood
  • fix: clarify that discriminated unions do not support singletons, #3636 by @tommilligan
  • Add read_text(encoding='utf-8') for setup.py, #3625 by @hswong3i
  • Fix JSON Schema generation for Discriminated Unions within lists, #3608 by @samuelcolvin

v1.9.0 (2021-12-31)

Thank you to pydantic's sponsors: @sthagen, @timdrijvers, @toinbis, @koxudaxi, @ginomempin, @primer-io, @and-semakin, @westonsteimel, @reillysiemens, @es3n1n, @jokull, @JonasKs, @Rehket, @corleyma, @daddycocoaman, @hardbyte, @datarootsio, @jodal, @aminalaee, @rafsaf, @jqueguiner, @chdsbd, @kevinalh, @Mazyod, @grillazz, @JonasKs, @simw, @leynier, @xfenix for their kind support.

Highlights

v1.9.0 (2021-12-31) Changes

v1.9.0a2 (2021-12-24) Changes

v1.9.0a1 (2021-12-18) Changes

  • Add support for Decimal-specific validation configurations in Field(), additionally to using condecimal(), to allow better support from editors and tooling, #3507 by @tiangolo
  • Add arm64 binaries suitable for MacOS with an M1 CPU to PyPI, #3498 by @samuelcolvin
  • Fix issue where None was considered invalid when using a Union type containing Any or object, #3444 by @tharradine
  • When generating field schema, pass optional field argument (of type pydantic.fields.ModelField) to __modify_schema__() if present, #3434 by @jasujm
  • Fix issue when pydantic fail to parse typing.ClassVar string type annotation, #3401 by @uriyyo
  • Mention Python >= 3.9.2 as an alternative to typing_extensions.TypedDict, #3374 by @BvB93
  • Changed the validator method name in the Custom Errors example to more accurately describe what the validator is doing; changed from name_must_contain_space to value_must_equal_bar, #3327 by @michaelrios28
  • Add AmqpDsn class, #3254 by @kludex
  • Always use Enum value as default in generated JSON schema, #3190 by @joaommartins
  • Add support for Mypy 0.920, #3175 by @christianbundy
  • validate_arguments now supports extra customization (used to always be Extra.forbid), #3161 by @PrettyWood
  • Complex types can be set by nested environment variables, #3159 by @Air-Mark
  • Fix mypy plugin to collect fields based on pydantic.utils.is_valid_field so that it ignores untyped private variables, #3146 by @hi-ogawa
  • fix validate_arguments issue with Config.validate_all, #3135 by @PrettyWood
  • avoid dict coercion when using dict subclasses as field type, #3122 by @PrettyWood
  • add support for object type, #3062 by @PrettyWood
  • Updates pydantic dataclasses to keep _special properties on parent classes, #3043 by @zulrang
  • Add a TypedDict class for error objects, #3038 by @matthewhughes934
  • Fix support for using a subclass of an annotation as a default, #3018 by @JacobHayes
  • make create_model_from_typeddict mypy compliant, #3008 by @PrettyWood
  • Make multiple inheritance work when using PrivateAttr, #2989 by @hmvp
  • Parse environment variables as JSON, if they have a Union type with a complex subfield, #2936 by @cbartz
  • Prevent StrictStr permitting Enum values where the enum inherits from str, #2929 by @samuelcolvin
  • Make SecretsSettingsSource parse values being assigned to fields of complex types when sourced from a secrets file, just as when sourced from environment variables, #2917 by @davidmreed
  • add a dark mode to pydantic documentation, #2913 by @gbdlin
  • Make pydantic-mypy plugin compatible with pyproject.toml configuration, consistent with mypy changes. See the doc for more information, #2908 by @jrwalk
  • add Python 3.10 support, #2885 by @PrettyWood
  • Correctly parse generic models with Json[T], #2860 by @geekingfrog
  • Update contrib docs re: Python version to use for building docs, #2856 by @paxcodes
  • Clarify documentation about pydantic's support for custom validation and strict type checking, despite pydantic being primarily a parsing library, #2855 by @paxcodes
  • Fix schema generation for Deque fields, #2810 by @sergejkozin
  • fix an edge case when mixing constraints and Literal, #2794 by @PrettyWood
  • Fix postponed annotation resolution for NamedTuple and TypedDict when they're used directly as the type of fields within Pydantic models, #2760 by @jameysharp
  • Fix bug when mypy plugin fails on construct method call for BaseSettings derived classes, #2753 by @uriyyo
  • Add function overloading for a pydantic.create_model function, #2748 by @uriyyo
  • Fix mypy plugin issue with self field declaration, #2743 by @uriyyo
  • The colon at the end of the line "The fields which were supplied when user was initialised:" suggests that the code following it is related. Changed it to a period, #2733 by @krisaoe
  • Renamed variable schema to schema_ to avoid shadowing of global variable name, #2724 by @shahriyarr
  • Add support for autocomplete in VS Code via __dataclass_transform__, #2721 by @tiangolo
  • add missing type annotations in BaseConfig and handle max_length = 0, #2719 by @PrettyWood
  • Change orm_mode checking to allow recursive ORM mode parsing with dicts, #2718 by @nuno-andre
  • Add episode 313 of the Talk Python To Me podcast, where Michael Kennedy and Samuel Colvin discuss pydantic, to the docs, #2712 by @RatulMaharaj
  • fix JSON schema generation when a field is of type NamedTuple and has a default value, #2707 by @PrettyWood
  • Enum fields now properly support extra kwargs in schema generation, #2697 by @sammchardy
  • Breaking Change, see #3780: Make serialization of referenced pydantic models possible, #2650 by @PrettyWood
  • Add uniqueItems option to ConstrainedList, #2618 by @nuno-andre
  • Try to evaluate forward refs automatically at model creation, #2588 by @uriyyo
  • Switch docs preview and coverage display to use smokeshow, #2580 by @samuelcolvin
  • Add __version__ attribute to pydantic module, #2572 by @paxcodes
  • Add postgresql+asyncpg, postgresql+pg8000, postgresql+psycopg2, postgresql+psycopg2cffi, postgresql+py-postgresql and postgresql+pygresql schemes for PostgresDsn, #2567 by @postgres-asyncpg
  • Enable the Hypothesis plugin to generate a constrained decimal when the decimal_places argument is specified, #2524 by @cwe5590
  • Allow collections.abc.Callable to be used as type in Python 3.9, #2519 by @daviskirk
  • Documentation update how to custom compile pydantic when using pip install, small change in setup.py to allow for custom CFLAGS when compiling, #2517 by @peterroelants
  • remove side effect of default_factory to run it only once even if Config.validate_all is set, #2515 by @PrettyWood
  • Add lookahead to ip regexes for AnyUrl hosts. This allows urls with DNS labels looking like IPs to validate as they are perfectly valid host names, #2512 by @sbv-csis
  • Set minItems and maxItems in generated JSON schema for fixed-length tuples, #2497 by @PrettyWood
  • Add strict argument to conbytes, #2489 by @koxudaxi
  • Support user defined generic field types in generic models, #2465 by @daviskirk
  • Add an example and a short explanation of subclassing GetterDict to docs, #2463 by @nuno-andre
  • add KafkaDsn type, HttpUrl now has default port 80 for http and 443 for https, #2447 by @MihanixA
  • Add PastDate and FutureDate types, #2425 by @Kludex
  • Support generating schema for Generic fields with subtypes, #2375 by @maximberg
  • fix(encoder): serialize NameEmail to str, #2341 by @alecgerona
  • add Config.smart_union to prevent coercion in Union if possible, see the doc for more information, #2092 by @PrettyWood
  • Add ability to use typing.Counter as a model field type, #2060 by @uriyyo
  • Add parameterised subclasses to __bases__ when constructing new parameterised classes, so that A <: B => A[int] <: B[int], #2007 by @diabolo-dan
  • Create FileUrl type that allows URLs that conform to RFC 8089. Add host_required parameter, which is True by default (AnyUrl and subclasses), False in RedisDsn, FileUrl, #1983 by @vgerak
  • add confrozenset(), analogous to conset() and conlist(), #1897 by @PrettyWood
  • stop calling parent class root_validator if overridden, #1895 by @PrettyWood
  • Add repr (defaults to True) parameter to Field, to hide it from the default representation of the BaseModel, #1831 by @fnep
  • Accept empty query/fragment URL parts, #1807 by @xavier

v1.8.2 (2021-05-11)

!!! warning A security vulnerability, level "moderate" is fixed in v1.8.2. Please upgrade ASAP. See security advisory CVE-2021-29510

  • 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
  • fix schema generation with Enum by generating a valid name, #2575 by @PrettyWood
  • fix JSON schema generation with a Literal of an enum member, #2536 by @PrettyWood
  • Fix bug with configurations declarations that are passed as keyword arguments during class creation, #2532 by @uriyyo
  • Allow passing json_encoders in class kwargs, #2521 by @layday
  • support arbitrary types with custom __eq__, #2483 by @PrettyWood
  • support Annotated in validate_arguments and in generic models with Python 3.9, #2483 by @PrettyWood

v1.8.1 (2021-03-03)

Bug fixes for regressions and new features from v1.8

  • allow elements of Config.field to update elements of a Field, #2461 by @samuelcolvin
  • fix validation with a BaseModel field and a custom root type, #2449 by @PrettyWood
  • expose Pattern encoder to fastapi, #2444 by @PrettyWood
  • enable the Hypothesis plugin to generate a constrained float when the multiple_of argument is specified, #2442 by @tobi-lipede-oodle
  • Avoid RecursionError when using some types like Enum or Literal with generic models, #2436 by @PrettyWood
  • do not overwrite declared __hash__ in subclasses of a model, #2422 by @PrettyWood
  • fix mypy complaints on Path and UUID related custom types, #2418 by @PrettyWood
  • Support properly variable length tuples of compound types, #2416 by @PrettyWood

v1.8 (2021-02-26)

Thank you to pydantic's sponsors: @jorgecarleitao, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @koxudaxi, @timdrijvers, @mkeen, @meadsteve, @ginomempin, @primer-io, @and-semakin, @tomthorogood, @AjitZK, @westonsteimel, @Mazyod, @christippett, @CarlosDomingues, @Kludex, @r-m-n for their kind support.

Highlights

Changes

  • Breaking Change, remove old deprecation aliases from v1, #2415 by @samuelcolvin:
    • remove notes on migrating to v1 in docs
    • remove Schema which was replaced by Field
    • remove Config.case_insensitive which was replaced by Config.case_sensitive (default False)
    • remove Config.allow_population_by_alias which was replaced by Config.allow_population_by_field_name
    • remove model.fields which was replaced by model.__fields__
    • remove model.to_string() which was replaced by str(model)
    • remove model.__values__ which was replaced by model.__dict__
  • Breaking Change: always validate only first sublevel items with each_item. There were indeed some edge cases with some compound types where the validated items were the last sublevel ones, #1933 by @PrettyWood
  • Update docs extensions to fix local syntax highlighting, #2400 by @daviskirk
  • fix: allow utils.lenient_issubclass to handle typing.GenericAlias objects like list[str] in Python >= 3.9, #2399 by @daviskirk
  • Improve field declaration for pydantic dataclass by allowing the usage of pydantic Field or 'metadata' kwarg of dataclasses.field, #2384 by @PrettyWood
  • Making typing-extensions a required dependency, #2368 by @samuelcolvin
  • Make resolve_annotations more lenient, allowing for missing modules, #2363 by @samuelcolvin
  • Allow configuring models through class kwargs, #2356 by @Bobronium
  • Prevent Mapping subclasses from always being coerced to dict, #2325 by @ofek
  • fix: allow None for type Optional[conset / conlist], #2320 by @PrettyWood
  • Support empty tuple type, #2318 by @PrettyWood
  • fix: python_requires metadata to require >=3.6.1, #2306 by @hukkinj1
  • Properly encode Decimal with, or without any decimal places, #2293 by @hultner
  • fix: update __fields_set__ in BaseModel.copy(update=…), #2290 by @PrettyWood
  • fix: keep order of fields with BaseModel.construct(), #2281 by @PrettyWood
  • Support generating schema for Generic fields, #2262 by @maximberg
  • Fix validate_decorator so **kwargs doesn't exclude values when the keyword has the same name as the *args or **kwargs names, #2251 by @cybojenix
  • Prevent overriding positional arguments with keyword arguments in validate_arguments, as per behaviour with native functions, #2249 by @cybojenix
  • add documentation for con* type functions, #2242 by @tayoogunbiyi
  • Support custom root type (aka __root__) when using parse_obj() with nested models, #2238 by @PrettyWood
  • Support custom root type (aka __root__) with from_orm(), #2237 by @PrettyWood
  • ensure cythonized functions are left untouched when creating models, based on #1944 by @kollmats, #2228 by @samuelcolvin
  • Resolve forward refs for stdlib dataclasses converted into pydantic ones, #2220 by @PrettyWood
  • Add support for NamedTuple and TypedDict types. Those two types are now handled and validated when used inside BaseModel or pydantic dataclass. Two utils are also added create_model_from_namedtuple and create_model_from_typeddict, #2216 by @PrettyWood
  • Do not ignore annotated fields when type is Union[Type[...], ...], #2213 by @PrettyWood
  • Raise a user-friendly TypeError when a root_validator does not return a dict (e.g. None), #2209 by @masalim2
  • Add a FrozenSet[str] type annotation to the allowed_schemes argument on the strict_url field type, #2198 by @Midnighter
  • add allow_mutation constraint to Field, #2195 by @sblack-usu
  • Allow Field with a default_factory to be used as an argument to a function decorated with validate_arguments, #2176 by @thomascobb
  • Allow non-existent secrets directory by only issuing a warning, #2175 by @davidolrik
  • fix URL regex to parse fragment without query string, #2168 by @andrewmwhite
  • fix: ensure to always return one of the values in Literal field type, #2166 by @PrettyWood
  • Support typing.Annotated hints on model fields. A Field may now be set in the type hint with Annotated[..., Field(...); all other annotations are ignored but still visible with get_type_hints(..., include_extras=True), #2147 by @JacobHayes
  • Added StrictBytes type as well as strict=False option to ConstrainedBytes, #2136 by @rlizzo
  • added Config.anystr_lower and to_lower kwarg to constr and conbytes, #2134 by @tayoogunbiyi
  • Support plain typing.Tuple type, #2132 by @PrettyWood
  • Add a bound method validate to functions decorated with validate_arguments to validate parameters without actually calling the function, #2127 by @PrettyWood
  • Add the ability to customize settings sources (add / disable / change priority order), #2107 by @kozlek
  • Fix mypy complaints about most custom pydantic types, #2098 by @PrettyWood
  • Add a Hypothesis plugin for easier property-based testing with Pydantic's custom types - usage details here, #2097 by @Zac-HD
  • add validator for None, NoneType or Literal[None], #2095 by @PrettyWood
  • Handle properly fields of type Callable with a default value, #2094 by @PrettyWood
  • Updated create_model return type annotation to return type which inherits from __base__ argument, #2071 by @uriyyo
  • Add merged json_encoders inheritance, #2064 by @art049
  • allow overwriting ClassVars in sub-models without having to re-annotate them, #2061 by @layday
  • add default encoder for Pattern type, #2045 by @PrettyWood
  • Add NonNegativeInt, NonPositiveInt, NonNegativeFloat, NonPositiveFloat, #1975 by @mdavis-xyz
  • Use % for percentage in string format of colors, #1960 by @EdwardBetts
  • Fixed issue causing KeyError to be raised when building schema from multiple BaseModel with the same names declared in separate classes, #1912 by @JSextonn
  • Add rediss (Redis over SSL) protocol to RedisDsn Allow URLs without user part (e.g., rediss://:pass@localhost), #1911 by @TrDex
  • Add a new frozen boolean parameter to Config (default: False). Setting frozen=True does everything that allow_mutation=False does, and also generates a __hash__() method for the model. This makes instances of the model potentially hashable if all the attributes are hashable, #1880 by @rhuille
  • fix schema generation with multiple Enums having the same name, #1857 by @PrettyWood
  • Added support for 13/19 digits VISA credit cards in PaymentCardNumber type, #1416 by @AlexanderSov
  • fix: prevent RecursionError while using recursive GenericModels, #1370 by @xppt
  • use enum for typing.Literal in JSON schema, #1350 by @PrettyWood
  • Fix: some recursive models did not require update_forward_refs and silently behaved incorrectly, #1201 by @PrettyWood
  • Fix bug where generic models with fields where the typevar is nested in another type a: List[T] are considered to be concrete. This allows these models to be subclassed and composed as expected, #947 by @daviskirk
  • Add Config.copy_on_model_validation flag. When set to False, pydantic will keep models used as fields untouched on validation instead of reconstructing (copying) them, #265 by @PrettyWood

v1.7.4 (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.7.3 (2020-11-30)

Thank you to pydantic's sponsors: @timdrijvers, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @jorgecarleitao, @koxudaxi, @primer-api, @mkeen, @meadsteve for their kind support.

  • fix: set right default value for required (optional) fields, #2142 by @PrettyWood
  • fix: support underscore_attrs_are_private with generic models, #2138 by @PrettyWood
  • fix: update all modified field values in root_validator when validate_assignment is on, #2116 by @PrettyWood
  • Allow pickling of pydantic.dataclasses.dataclass dynamically created from a built-in dataclasses.dataclass, #2111 by @aimestereo
  • Fix a regression where Enum fields would not propagate keyword arguments to the schema, #2109 by @bm424
  • Ignore __doc__ as private attribute when Config.underscore_attrs_are_private is set, #2090 by @PrettyWood

v1.7.2 (2020-11-01)

  • fix slow GenericModel concrete model creation, allow GenericModel concrete name reusing in module, #2078 by @Bobronium
  • keep the order of the fields when validate_assignment is set, #2073 by @PrettyWood
  • forward all the params of the stdlib dataclass when converted into pydantic dataclass, #2065 by @PrettyWood

v1.7.1 (2020-10-28)

Thank you to pydantic's sponsors: @timdrijvers, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @jorgecarleitao, @koxudaxi, @primer-api, @mkeen for their kind support.

  • fix annotation of validate_arguments when passing configuration as argument, #2055 by @layday
  • Fix mypy assignment error when using PrivateAttr, #2048 by @aphedges
  • fix underscore_attrs_are_private causing TypeError when overriding __init__, #2047 by @samuelcolvin
  • Fixed regression introduced in v1.7 involving exception handling in field validators when validate_assignment=True, #2044 by @johnsabath
  • fix: pydantic dataclass can inherit from stdlib dataclass and Config.arbitrary_types_allowed is supported, #2042 by @PrettyWood

v1.7 (2020-10-26)

Thank you to pydantic's sponsors: @timdrijvers, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @jorgecarleitao, @koxudaxi, @primer-api for their kind support.

Highlights

Changes

  • Breaking Change: remove __field_defaults__, add default_factory support with BaseModel.construct. Use .get_default() method on fields in __fields__ attribute instead, #1732 by @PrettyWood
  • Rearrange CI to run linting as a separate job, split install recipes for different tasks, #2020 by @samuelcolvin
  • Allows subclasses of generic models to make some, or all, of the superclass's type parameters concrete, while also defining new type parameters in the subclass, #2005 by @choogeboom
  • Call validator with the correct values parameter type in BaseModel.__setattr__, when validate_assignment = True in model config, #1999 by @me-ransh
  • Force fields.Undefined to be a singleton object, fixing inherited generic model schemas, #1981 by @daviskirk
  • Include tests in source distributions, #1976 by @sbraz
  • Add ability to use min_length/max_length constraints with secret types, #1974 by @uriyyo
  • Also check root_validators when validate_assignment is on, #1971 by @PrettyWood
  • Fix const validators not running when custom validators are present, #1957 by @hmvp
  • add deque to field types, #1935 by @wozniakty
  • add basic support for Python 3.9, #1832 by @PrettyWood
  • Fix typo in the anchor of exporting_models.md#modelcopy and incorrect description, #1821 by @KimMachineGun
  • Added ability for BaseSettings to read "secret files", #1820 by @mdgilene
  • add parse_raw_as utility function, #1812 by @PrettyWood
  • Support home directory relative paths for dotenv files (e.g. ~/.env), #1803 by @PrettyWood
  • Clarify documentation for parse_file to show that the argument should be a file path not a file-like object, #1794 by @mdavis-xyz
  • Fix false positive from mypy plugin when a class nested within a BaseModel is named Model, #1770 by @selimb
  • add basic support of Pattern type in schema generation, #1767 by @PrettyWood
  • Support custom title, description and default in schema of enums, #1748 by @PrettyWood
  • Properly represent Literal Enums when use_enum_values is True, #1747 by @noelevans
  • Allows timezone information to be added to strings to be formatted as time objects. Permitted formats are Z for UTC or an offset for absolute positive or negative time shifts. Or the timezone data can be omitted, #1744 by @noelevans
  • Add stub __init__ with Python 3.6 signature for ForwardRef, #1738 by @sirtelemak
  • Fix behaviour with forward refs and optional fields in nested models, #1736 by @PrettyWood
  • add Enum and IntEnum as valid types for fields, #1735 by @PrettyWood
  • Change default value of __module__ argument of create_model from None to 'pydantic.main'. Set reference of created concrete model to it's module to allow pickling (not applied to models created in functions), #1686 by @Bobronium
  • Add private attributes support, #1679 by @Bobronium
  • add config to @validate_arguments, #1663 by @samuelcolvin
  • Allow descendant Settings models to override env variable names for the fields defined in parent Settings models with env in their Config. Previously only env_prefix configuration option was applicable, #1561 by @ojomio
  • Support ref_template when creating schema $refs, #1479 by @kilo59
  • Add a __call__ stub to PyObject so that mypy will know that it is callable, #1352 by @brianmaissy
  • pydantic.dataclasses.dataclass decorator now supports built-in dataclasses.dataclass. It is hence possible to convert an existing dataclass easily to add pydantic validation. Moreover nested dataclasses are also supported, #744 by @PrettyWood

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 @Bobronium
  • 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 @Bobronium
  • Refactor ._iter() method, 10x speed boost for dict(model), #1017 by @Bobronium

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 @Bobronium
  • 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

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.10.9.tar.gz (346.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pydantic-1.10.9-py3-none-any.whl (157.8 kB view details)

Uploaded Python 3

pydantic-1.10.9-cp311-cp311-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pydantic-1.10.9-cp311-cp311-musllinux_1_1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

pydantic-1.10.9-cp311-cp311-musllinux_1_1_i686.whl (3.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

pydantic-1.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pydantic-1.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pydantic-1.10.9-cp311-cp311-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pydantic-1.10.9-cp311-cp311-macosx_10_9_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pydantic-1.10.9-cp310-cp310-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pydantic-1.10.9-cp310-cp310-musllinux_1_1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

pydantic-1.10.9-cp310-cp310-musllinux_1_1_i686.whl (3.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

pydantic-1.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pydantic-1.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pydantic-1.10.9-cp310-cp310-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pydantic-1.10.9-cp310-cp310-macosx_10_9_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pydantic-1.10.9-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

pydantic-1.10.9-cp39-cp39-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

pydantic-1.10.9-cp39-cp39-musllinux_1_1_i686.whl (3.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

pydantic-1.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pydantic-1.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pydantic-1.10.9-cp39-cp39-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pydantic-1.10.9-cp39-cp39-macosx_10_9_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pydantic-1.10.9-cp38-cp38-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.8Windows x86-64

pydantic-1.10.9-cp38-cp38-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

pydantic-1.10.9-cp38-cp38-musllinux_1_1_i686.whl (3.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

pydantic-1.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pydantic-1.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pydantic-1.10.9-cp38-cp38-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

pydantic-1.10.9-cp38-cp38-macosx_10_9_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pydantic-1.10.9-cp37-cp37m-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.7mWindows x86-64

pydantic-1.10.9-cp37-cp37m-musllinux_1_1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

pydantic-1.10.9-cp37-cp37m-musllinux_1_1_i686.whl (3.1 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

pydantic-1.10.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pydantic-1.10.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pydantic-1.10.9-cp37-cp37m-macosx_10_9_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pydantic-1.10.9.tar.gz
  • Upload date:
  • Size: 346.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pydantic-1.10.9.tar.gz
Algorithm Hash digest
SHA256 95c70da2cd3b6ddf3b9645ecaa8d98f3d80c606624b6d245558d202cd23ea3be
MD5 d8135717be5067f7acfdeb4905d318ab
BLAKE2b-256 ec0acf955f8bb3b9498d554522cfe7cb9b019ba9f8b86e2879009f604207b72c

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-py3-none-any.whl.

File metadata

  • Download URL: pydantic-1.10.9-py3-none-any.whl
  • Upload date:
  • Size: 157.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pydantic-1.10.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6cafde02f6699ce4ff643417d1a9223716ec25e228ddc3b436fe7e2d25a1f305
MD5 ffef5b492cdcaf010fa03b98eabf3337
BLAKE2b-256 ed8c278ece6217c6dc15ab588e2b68d3d9953b426648f70444eed93eb61f8d30

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pydantic-1.10.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pydantic-1.10.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7845b31959468bc5b78d7b95ec52fe5be32b55d0d09983a877cca6aedc51068f
MD5 b7263c4ec6870eaea0b3fd3e5d5f6545
BLAKE2b-256 257db15e5da706957af6a570a2155ad80db47a82f1fe343beb9903b38adbb6a3

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7847ca62e581e6088d9000f3c497267868ca2fa89432714e21a4fb33a04d52e8
MD5 ff339f7eac7d1f06efc1027d25f9e786
BLAKE2b-256 3ddce6c3abd1e486c32ace48c0a5f545865f54c934ce809192aaa56e10989ed6

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 4b466a23009ff5cdd7076eb56aca537c745ca491293cc38e72bf1e0e00de5b91
MD5 eab7258a2803dc64efaaabaa804ebabc
BLAKE2b-256 8cea1483d76e4048af279fe7f49f35ea0fce6ec34d6b0276c775618204121cd0

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07293ab08e7b4d3c9d7de4949a0ea571f11e4557d19ea24dd3ae0c524c0c334d
MD5 f811b21f655f356e29063b3e6a4ebe88
BLAKE2b-256 ce8092bdb68e1fda29be502adfd0b95c4cdef41f498a35125d0d540d4696c091

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7ee829b86ce984261d99ff2fd6e88f2230068d96c2a582f29583ed602ef3fc2c
MD5 7b7aec530f9ba8ca637fafc4bd503e2c
BLAKE2b-256 c082a14d25985fbfe7be8ba871db8d6a972c1bd9af8a904425b335ce37830b80

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e9aec8627a1a6823fc62fb96480abe3eb10168fd0d859ee3d3b395105ae19a7
MD5 cfe11d402bc355da119e38ca90250adb
BLAKE2b-256 7b546843930a0a0632e8431a3d2071e253e1bddd1ac41ea32ae40897497cd14f

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d111a21bbbfd85c17248130deac02bbd9b5e20b303338e0dbe0faa78330e37e0
MD5 b15598e96957a9b50884357496d0b7f0
BLAKE2b-256 2dba7d8c23a4c80bf33c3bffc66e98818087d1662eeaa44bdadb58bfbfcbd10f

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pydantic-1.10.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pydantic-1.10.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eec39224b2b2e861259d6f3c8b6290d4e0fbdce147adb797484a42278a1a486f
MD5 da43b6e2232e847d4536eea2430bba2a
BLAKE2b-256 66a885ce916a7be8f601782b5a4162ddfedafccbb7ab61b1b409507aab7f9913

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e1aa5c2410769ca28aa9a7841b80d9d9a1c5f223928ca8bec7e7c9a34d26b1d4
MD5 83f2ba762563b7081c39990ba80837ba
BLAKE2b-256 ca1a78c25abfc36fd22ae79042dc26692cfead3fc03eeb5dbaae50536f1bc9c1

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f0b7628fb8efe60fe66fd4adadd7ad2304014770cdc1f4934db41fe46cc8825f
MD5 f7522373961fe8f732eaf6d52489d138
BLAKE2b-256 5b31e773155df3b875f5c7af23a5a8db5f8b9f06526cc08bc20a02c07d24f263

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 939328fd539b8d0edf244327398a667b6b140afd3bf7e347cf9813c736211896
MD5 2ad5f033f6b859b350337ba948559ca7
BLAKE2b-256 1dacd9b98a37670d755f2488dba7e2b3a91e1f4123fe32c726827a03a24af7b1

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b48d3d634bca23b172f47f2335c617d3fcb4b3ba18481c96b7943a4c634f5c8d
MD5 7f0a19271168a133107bbbee3c2babf5
BLAKE2b-256 352ceadcfc255b5ba09113ba2cef4910355656116591947e8251ef03e14ac2b4

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c52eb595db83e189419bf337b59154bdcca642ee4b2a09e5d7797e41ace783f
MD5 3291df8f8c1d32a0082cc31a210eae61
BLAKE2b-256 6a884979f837c8ec013761610ea7c27f0fc99bcc7e06ece6c239fafff1b282f5

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e692dec4a40bfb40ca530e07805b1208c1de071a18d26af4a2a0d79015b352ca
MD5 bd6f62e7de14e3e724716aba4ab3d45a
BLAKE2b-256 1c092395aebb2363026f23599df9c79353111ba0921d9b5fa188fc63065d605f

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pydantic-1.10.9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pydantic-1.10.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e7c9900b43ac14110efa977be3da28931ffc74c27e96ee89fbcaaf0b0fe338e1
MD5 7b02e7a08a9246f4b425c9dc6365f4ca
BLAKE2b-256 268f8d93aae2517f702858b16d11bb3b740fa57cf00d2f986026ff852e1d6993

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9863b9420d99dfa9c064042304868e8ba08e89081428a1c471858aa2af6f57c4
MD5 5081bbb38fdbeb8bcf0c9f29e13392b9
BLAKE2b-256 46a28b29ba7ff9666ad96e23258d317fbf63f66c397801a274e352fc532ab901

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0a2aabdc73c2a5960e87c3ffebca6ccde88665616d1fd6d3db3178ef427b267a
MD5 624c4d5196c9bccfdfe8641a428a5cbc
BLAKE2b-256 2d8b00fa25d377e804bb78e2d9c0cf75363d16e92bb7b6359aec825175520b12

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83fcff3c7df7adff880622a98022626f4f6dbce6639a88a15a3ce0f96466cb60
MD5 012b9670438302e3d5fdf046986b2a07
BLAKE2b-256 02051c505fd7cc174ddecd5aa956057638ba6039b584af6fa9687f11a074fca7

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0da48717dc9495d3a8f215e0d012599db6b8092db02acac5e0d58a65248ec5bc
MD5 03629f6be27700524da28a6ad3e28281
BLAKE2b-256 453c23b1d0ca338ee91ad45057a4ef1130282bf155a3b45c9e82d2adf89ddceb

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e1d5290044f620f80cf1c969c542a5468f3656de47b41aa78100c5baa2b8276
MD5 91971a7f356b019436965301c7e3e306
BLAKE2b-256 8b7b41b331751b75cc215724c49646bef438fb23f4d1e3938e07fd5a10178b67

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 970b1bdc6243ef663ba5c7e36ac9ab1f2bfecb8ad297c9824b542d41a750b298
MD5 bd4308d2cac3c8a69199de331e2110bb
BLAKE2b-256 b838d956a7a25c962a0b231a33fc4323c31177920cd6f0cdea69e0225369dad0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pydantic-1.10.9-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pydantic-1.10.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 963671eda0b6ba6926d8fc759e3e10335e1dc1b71ff2a43ed2efd6996634dafb
MD5 f5951dd98c17ef02561f007b686beddb
BLAKE2b-256 a52adbc7a80b6192cc49efb27dc9c29965911ce7aef95c11466989ffcf0b0784

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fab81a92f42d6d525dd47ced310b0c3e10c416bbfae5d59523e63ea22f82b31e
MD5 6a4e6d92d6f2c943a1d9b2565754a2f7
BLAKE2b-256 bdd2703bfdc4a17f4c20d0d76fd447266a8e5e58208b4a75aaa2aa3534f9000b

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ad428e92ab68798d9326bb3e5515bc927444a3d71a93b4a2ca02a8a5d795c572
MD5 5b8d02f153da6be6a03c4c1bd3e93ba8
BLAKE2b-256 b5e95ffcdbe8ceb1ac23184b16bbd90fb5f20cdf1022e658d864c7782a32bc40

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73ef93e5e1d3c8e83f1ff2e7fdd026d9e063c7e089394869a6e2985696693766
MD5 fb757bcd4390879d3d2cf45098f3bf41
BLAKE2b-256 d52729f43b7148eb3d6e5fdd14935e88f03b6b501baddf88fb6913da7f3f7661

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 128d9453d92e6e81e881dd7e2484e08d8b164da5507f62d06ceecf84bf2e21d3
MD5 802ca3d7cf3af171efab10d06c39a016
BLAKE2b-256 ce4c56283ddccc9cf5f4fabad21b0fec0f28867225c0cedd9ef3432872bf9456

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f50e1764ce9353be67267e7fd0da08349397c7db17a562ad036aa7c8f4adfdb6
MD5 41d87c3c7b5b30eeac39e84c625503f9
BLAKE2b-256 0f2ee22c5765f342d8250edf706c6852c241d1c0696387464343026e47f92399

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydantic-1.10.9-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b9cd67fb763248cbe38f0593cd8611bfe4b8ad82acb3bdf2b0898c23415a1f82
MD5 2bc06af6290e944aa80108473d5b1bb9
BLAKE2b-256 63c3a79f780b1e52b2e836f489f09710451e110114be5eede5dcaa57535d7a7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pydantic-1.10.9-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for pydantic-1.10.9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5f8bbaf4013b9a50e8100333cc4e3fa2f81214033e05ac5aa44fa24a98670a29
MD5 04c88bf612883607c68d216b17c4bbef
BLAKE2b-256 c75ed2f760680276a015b7b9a3ccd66e4ab7924d3ee425fcf59daa949dc2ae79

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3283b574b01e8dbc982080d8287c968489d25329a463b29a90d4157de4f2baaf
MD5 bc7b35a2c081872cb38b79636221fa44
BLAKE2b-256 1b36d0699cae7a41eb741175321ec338095d9981d05661a543b1705b35fcf7fa

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 6257bb45ad78abacda13f15bde5886efd6bf549dd71085e64b8dcf9919c38b60
MD5 dc643fe6e191feb7e5fac9d5d0aee7d5
BLAKE2b-256 cf6b19bc450d7d51ed7e5eddfe2e09f10bd054b8e766526fbf1e6735d185039e

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67195274fd27780f15c4c372f4ba9a5c02dad6d50647b917b6a92bf00b3d301a
MD5 41402aef72cd4f2f5b89458be25e7605
BLAKE2b-256 0e7a6d5d0cd7155a9625a78860698b2efe992eb9539eeddbeca099e34b0b0bb5

See more details on using hashes here.

File details

Details for the file pydantic-1.10.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pydantic-1.10.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2196c06484da2b3fded1ab6dbe182bdabeb09f6318b7fdc412609ee2b564c49a
MD5 d4109c475838af2efd007f030c833037
BLAKE2b-256 0a535dbbfac34a8040d9af562287d7604d001170b88aa0df6789ce670aa77718

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydantic-1.10.9-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 517a681919bf880ce1dac7e5bc0c3af1e58ba118fd774da2ffcd93c5f96eaece
MD5 f1a22dd62e4ba7e14b5ea30a309db7ad
BLAKE2b-256 e1369d92178cba055627c891f3a57b660d2d4e6fe84419a520d16a677050b4e1

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

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