Movatterモバイル変換


[0]ホーム

URL:


Skip to main content
PyPI

pydantic 2.12.5

pip install pydantic

Latest version

Released:

Data validation using Python type hints

Verified details

These details have beenverified by PyPI
Project links
Owner
GitHub Statistics
Maintainers
Avatar for davidhewitt from gravatar.comdavidhewittAvatar for dmontagu from gravatar.comdmontaguAvatar for samuelcolvin from gravatar.comsamuelcolvin

Project description

Pydantic Validation

CICoveragepypiCondaForgedownloadsversionslicensePydantic v2llms.txt

Data validation 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.9+; validate it with Pydantic.

Pydantic Logfire :fire:

We've recently launched Pydantic Logfire to help you monitor your applications.Learn more

Pydantic V1.10 vs. V2

Pydantic V2 is a ground-up rewrite that offers many new features, performance improvements, and some breaking changes compared to Pydantic V1.

If you're using Pydantic V1 you may want to look at thepydantic V1.10 Documentation or,1.10.X-fixes git branch. Pydantic V2 also ships with the latest version of Pydantic V1 built in so that you can incrementally upgrade your code base and projects:from pydantic import v1 as pydantic_v1.

Help

Seedocumentation for more details.

Installation

Install usingpip install -U pydantic orconda install pydantic -c conda-forge.For more installation options to make Pydantic even faster,see theInstall section in the documentation.

A Simple Example

fromdatetimeimportdatetimefromtypingimportOptionalfrompydanticimportBaseModelclassUser(BaseModel):id:intname:str='John Doe'signup_ts:Optional[datetime]=Nonefriends: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 acontribution to Pydantic, seeContributing to Pydantic.

Reporting a Security Vulnerability

See oursecurity policy.

Changelog

v2.12.5 (2025-11-26)

GitHub release

This is the fifth 2.12 patch release, addressing an issue with theMISSING sentinel and providing several documentation improvements.

The next 2.13 minor release will be published in a couple weeks, and will include a newpolymorphic serialization feature addressingthe remaining unexpected changes to theserialize as any behavior.

  • Fix pickle error when usingmodel_construct() on a model withMISSING as a default value by@ornariece in#12522.
  • Several updates to the documentation by@Viicos.

v2.12.4 (2025-11-05)

GitHub release

This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in thebuild() methodof theAnyUrl and Dsn types.

This patch release also fixes an issue with the serialization of IP address types, whenserialize_as_any is used. The next patch releasewill try to address the remaining issues withserialize as any behavior by introducing a newpolymorphic serialization feature, thatshould be used in most cases in place ofserialize as any.

  • Fix issue with forward references in parentTypedDict classes by@Viicos in#12427.

    This issue is only relevant on Python 3.14 and greater.

  • Exclude fields withexclude_if from JSON Schema required fields by@Viicos in#12430

  • Revert URL percent-encoding of credentials in thebuild() methodof theAnyUrl and Dsn types by@davidhewitt inpydantic-core#1833.

    This was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will includean opt-in option to percent-encode components of the URL.

  • Add type inference for IP address types by@davidhewitt inpydantic-core#1868.

    The 2.12 changes to theserialize_as_any behavior made it so that IP address types could not properly serialize to JSON.

  • Avoid getting default values from defaultdict by@davidhewitt inpydantic-core#1853.

    This fixes a subtle regression in the validation behavior of thecollections.defaultdicttype.

  • Fix issue with field serializers on nested typed dictionaries by@davidhewitt inpydantic-core#1879.

  • Add morepydantic-core builds for the three-threaded version of Python 3.14 by@davidhewitt inpydantic-core#1864.

v2.12.3 (2025-10-17)

GitHub release

What's Changed

This is the third 2.12 patch release, fixing issues related to theFieldInfo class, and reverting a change to the supportedafter model validator function signatures.

  • Raise a warning when an invalid after model validator function signature is raised by@Viicos in#12414.Starting in 2.12.0, using class methods forafter model validators raised an error, but the error wasn't raised concistently. We decidedto emit a deprecation warning instead.
  • AddFieldInfo.asdict() method, improve documentation aroundFieldInfo by@Viicos in#12411.This also add back support for mutations onFieldInfo classes, that are reused asAnnotated metadata.However, note that this is stillnot a supported pattern. Instead, please refer to theadded example in the documentation.

Theblog post section on changes was also updated to document the changes related toserialize_as_any.

v2.12.2 (2025-10-14)

GitHub release

What's Changed

Fixes

  • Release a newpydantic-core version, as a corrupted CPython 3.10manylinux2014_aarch64 wheel got uploaded (pydantic-core#1843).
  • Fix issue with recursive generic models with a parent model class by@Viicos in#12398

v2.12.1 (2025-10-13)

GitHub release

What's Changed

This is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.

Fixes

New Contributors

v2.12.0 (2025-10-07)

GitHub release

What's Changed

This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support.Several minor changes (considered non-breaking changes according to ourversioning policy)are also included in this release. Make sure to look into them before upgrading.

Note that Pydantic V1 is not compatible with Python 3.14 and greater.

Changes (see the alpha and beta releases for additional changes since 2.11):

Packaging

New Features

Fixes

  • Do not try to infer name from lambda definitions in pipelines API by@Viicos in#12289
  • Use proper namespace for functions inTypeAdapter by@Viicos in#12324
  • UseAny for context type annotation inTypeAdapter by@inducer in#12279
  • ExposeFieldInfo inpydantic.fields.__all__ by@Viicos in#12339
  • Respectvalidation_alias in@validate_call by@Viicos in#12340
  • UseAny as context annotation in plugin API by@Viicos in#12341
  • Use properstacklevel in warnings when possible by@Viicos in#12342

New Contributors

v2.12.0b1 (2025-10-03)

GitHub release

This is the first beta release of the upcoming 2.12 release.

What's Changed

Packaging

New Features

Changes

  • Raise error if an incompatiblepydantic-core version is installed by@Viicos in#12196
  • Remove runtime warning for experimental features by@Viicos in#12265
  • Warn if registering virtual subclasses on Pydantic models by@Viicos in#11669

Fixes

  • Fix__getattr__() behavior on Pydantic models when a property raised anAttributeError and extra values are present by@raspuchin in#12106
  • Add test to prevent regression with Pydantic models used as annotated metadata by@Viicos in#12133
  • Allow to use property setters on Pydantic dataclasses withvalidate_assignment set by@Viicos in#12173
  • Fix mypy v2 plugin for upcoming mypy release by@cdce8p in#12209
  • Respect custom title in functions JSON Schema by@Viicos in#11892
  • FixImportString JSON serialization for objects with aname attribute by@chr1sj0nes in#12219
  • Do not error on fields overridden by methods in the mypy plugin by@Viicos in#12290

New Contributors

v2.12.0a1 (2025-07-26)

GitHub release

This is the first alpha release of the upcoming 2.12 release, which adds initial support for Python 3.14.

What's Changed

New Features

Changes

  • Allow config and bases to be specified together increate_model() by@Viicos in#11714
  • Move some field logic out of theGenerateSchema class by@Viicos in#11733
  • Always make use ofinspect.getsourcelines() for docstring extraction on Python 3.13 and greater by@Viicos in#11829
  • Only support the latest Mypy version by@Viicos in#11832
  • Do not implicitly convert after model validators to class methods by@Viicos in#11957
  • RefactorFieldInfo creation implementation by@Viicos in#11898
  • MakeSecret covariant by@bluenote10 in#12008
  • Emit warning when field-specific metadata is used in invalid contexts by@Viicos in#12028

Fixes

  • Properly fetch plain serializer function when serializing default value in JSON Schema by@Viicos in#11721
  • Remove generics cache workaround by@Viicos in#11755
  • Remove coercion of decimal constraints by@Viicos in#11772
  • Fix crash when expanding root type in the mypy plugin by@Viicos in#11735
  • Only mark model as complete once all fields are complete by@DouweM in#11759
  • Do not providefield_name in validator core schemas by@DouweM in#11761
  • Fix issue with recursive generic models by@Viicos in#11775
  • Fix qualified name comparison of private attributes during namespace inspection by@karta9821 in#11803
  • Make sure Pydantic dataclasses with slots andvalidate_assignment can be unpickled by@Viicos in#11769
  • Traversefunction-before schemas during schema gathering by@Viicos in#11801
  • Fix check for stdlib dataclasses by@Viicos in#11822
  • Check ifFieldInfo is complete after applying type variable map by@Viicos in#11855
  • Do not delete mock validator/serializer inmodel_rebuild() by@Viicos in#11890
  • Rebuild dataclass fields before schema generation by@Viicos in#11949
  • Always store the original field assignment onFieldInfo by@Viicos in#11946
  • Do not use deprecated methods as default field values by@Viicos in#11914
  • Allow callable discriminator to be applied on PEP 695 type aliases by@Viicos in#11941
  • Suppress core schema generation warning when usingSkipValidation by@ygsh0816 in#12002
  • Do not emit typechecking error for invalidField() default withvalidate_default set toTrue by@Viicos in#11988
  • Refactor logic to support Pydantic'sField() function in dataclasses by@Viicos in#12051

Packaging

New Contributors

v2.11.7 (2025-06-14)

GitHub release

What's Changed

Fixes

  • CopyFieldInfo instance if necessary duringFieldInfo build by@Viicos in#11898

v2.11.6 (2025-06-13)

GitHub release

What's Changed

Fixes

  • Rebuild dataclass fields before schema generation by@Viicos in#11949
  • Always store the original field assignment onFieldInfo by@Viicos in#11946

v2.11.5 (2025-05-22)

GitHub release

What's Changed

Fixes

  • Check ifFieldInfo is complete after applying type variable map by@Viicos in#11855
  • Do not delete mock validator/serializer inmodel_rebuild() by@Viicos in#11890
  • Do not duplicate metadata on model rebuild by@Viicos in#11902

v2.11.4 (2025-04-29)

GitHub release

What's Changed

Packaging

Changes

  • Allow config and bases to be specified together increate_model() by@Viicos in#11714.This change was backported as it was previously possible (although not meant to be supported)to providemodel_config as a field, which would make it possible to provide both configurationand bases.

Fixes

v2.11.3 (2025-04-08)

GitHub release

What's Changed

Packaging

Fixes

  • Preserve field description when rebuilding model fields by@Viicos in#11698

v2.11.2 (2025-04-03)

GitHub release

What's Changed

Fixes

  • Bumppydantic-core to v2.33.1 by@Viicos in#11678
  • Make sure__pydantic_private__ exists before setting private attributes by@Viicos in#11666
  • Do not overrideFieldInfo._complete when using field from parent class by@Viicos in#11668
  • Provide the available definitions when applying discriminated unions by@Viicos in#11670
  • Do not expand root type in the mypy plugin for variables by@Viicos in#11676
  • Mention the attribute name in model fields deprecation message by@Viicos in#11674
  • Properly validate parameterized mappings by@Viicos in#11658

v2.11.1 (2025-03-28)

GitHub release

What's Changed

Fixes

  • Do not override'definitions-ref' schemas containing serialization schemas or metadata by@Viicos in#11644

v2.11.0 (2025-03-27)

GitHub release

What's Changed

Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).See theblog post for more details.

Packaging

New Features

  • Addencoded_string() method to the URL types by@YassinNouh21 in#11580
  • Add support fordefer_build with@validate_call decorator by@Viicos in#11584
  • Allow@with_config decorator to be used with keyword arguments by@Viicos in#11608
  • Simplify customization of default value inclusion in JSON Schema generation by@Viicos in#11634
  • Addgenerate_arguments_schema() function by@Viicos in#11572

Fixes

  • Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by@Viicos in#11571
  • Fix runtime error when computing model string representation involving cached properties and self-referenced models by@Viicos in#11579
  • Preserve other steps when using the ellipsis in the pipeline API by@Viicos in#11626
  • Fix deferred discriminator application logic by@Viicos in#11591

New Contributors

v2.11.0b2 (2025-03-17)

GitHub release

What's Changed

Packaging

New Features

Fixes

  • FixNotRequired qualifier not taken into account in stringified annotation by@Viicos in#11559

New Contributors

v2.11.0b1 (2025-03-06)

GitHub release

What's Changed

Packaging

New Features

Changes

Performance

Fixes

New Contributors

v2.11.0a2 (2025-02-10)

GitHub release

What's Changed

Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).This is another early alpha release, meant to collect early feedback from users having issues with core schema builds.

Packaging

Performance

Fixes

  • Use the correct JSON Schema mode when handling function schemas by@Viicos in#11367
  • Fix JSON Schema reference logic withexamples keys by@Viicos in#11366
  • Improve exception message when encountering recursion errors during type evaluation by@Viicos in#11356
  • Always includeadditionalProperties: True for arbitrary dictionary schemas by@austinyu in#11392
  • Exposefallback parameter in serialization methods by@Viicos in#11398
  • Fix path serialization behavior by@sydney-runkle in#11416

New Contributors

v2.11.0a1 (2025-01-30)

GitHub release

What's Changed

Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).This is an early alpha release, meant to collect early feedback from users having issues with core schema builds.

Packaging

New Features

  • Support unsubstituted type variables with both a default and a bound or constraints by@FyZzyss in#10789
  • Add adefault_factory_takes_validated_data property toFieldInfo by@Viicos in#11034
  • Raise a better error when a generic alias is used insidetype[] by@Viicos in#11088
  • Properly support PEP 695 generics syntax by@Viicos in#11189
  • Properly support type variable defaults by@Viicos in#11332

Changes

Performance

Fixes

  • Add validation tests for_internal/_validators.py by@tkasuz in#10763
  • ImproveTypeAdapter instance repr by@sydney-runkle in#10872
  • Revert "ci: use locally built pydantic-core with debug symbols by@sydney-runkle in#10942
  • Re-enable all FastAPI tests by@tamird in#10948
  • Fix typo in HISTORY.md. by@felixxm in#11077
  • Infer final fields with a default value as class variables in the mypy plugin by@Viicos in#11121
  • Recursively unpackLiteral values if using PEP 695 type aliases by@Viicos in#11114
  • Override__subclasscheck__ onModelMetaclass to avoid memory leak and performance issues by@Viicos in#11116
  • Remove unused_extract_get_pydantic_json_schema() parameter by@Viicos in#11155
  • Add FastAPI and SQLModel to third-party tests by@sydney-runkle in#11044
  • Fix conditional expressions syntax for third-party tests by@Viicos in#11162
  • Move FastAPI tests to third-party workflow by@Viicos in#11164
  • Improve discriminated union error message for invalid union variants by@Viicos in#11161
  • Unpack PEP 695 type aliases if using theAnnotated form by@Viicos in#11109
  • Includeopenapi-python-client check in issue creation for third-party failures, usemain branch by@sydney-runkle in#11182
  • Add pandera third-party tests by@Viicos in#11193
  • Add ODMantic third-party tests by@sydney-runkle in#11197
  • Add missing stacklevel indeprecated_instance_property warning by@Viicos in#11200
  • CopyWithJsonSchema schema to avoid sharing mutated data by@thejcannon in#11014
  • Do not cache parametrized models when in the process of parametrizing another model by@Viicos in#10704
  • Re-enable Beanie third-party tests by@Viicos in#11214
  • Add discriminated union related metadata entries to theCoreMetadata definition by@Viicos in#11216
  • Consolidate schema definitions logic in the_Definitions class by@Viicos in#11208
  • Support initializing root model fields with values of theroot type in the mypy plugin by@Viicos in#11212
  • Fix various issues with dataclasses anduse_attribute_docstrings by@Viicos in#11246
  • Only compute normalized decimal places if necessary indecimal_places_validator by@misrasaurabh1 in#11281
  • Fix two misplaced sentences in validation errors documentation by@ananiavito in#11302
  • Fix mkdocstrings inventory example in documentation by@pawamoy in#11311
  • Add support forvalidation_alias in the mypy plugin by@Viicos in#11295
  • Do not transform model serializer functions as class methods in the mypy plugin by@Viicos in#11298
  • SimplifyGenerateJsonSchema.literal_schema() implementation by@misrasaurabh1 in#11321
  • Add additional allowed schemes forClickHouseDsn by@Maze21127 in#11319
  • Coerce decimal constraints toDecimal instances by@Viicos in#11350
  • FixValueError on year zero by@davidhewitt inpydantic-core#1583

New Contributors

v2.10.6 (2025-01-23)

GitHub release

What's Changed

Fixes

v2.10.5 (2025-01-08)

GitHub release

What's Changed

Fixes

v2.10.4 (2024-12-18)

GitHub release

What's Changed

Packaging

Fixes

  • Fix for comparison ofAnyUrl objects by@alexprabhat99 in#11082
  • Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by@Viicos in#11093
  • Include JSON Schema input core schema in function schemas by@Viicos in#11085
  • Addlen to_BaseUrl to avoid TypeError by@Kharianne in#11111
  • Make sure the type reference is removed from the seen references by@Viicos in#11143

New Contributors

v2.10.3 (2024-12-03)

GitHub release

What's Changed

Fixes

  • Set fields whendefer_build is set on Pydantic dataclasses by@Viicos in#10984
  • Do not resolve the JSON Schema reference fordict core schema keys by@Viicos in#10989
  • Use the globals of the function when evaluating the return type forPlainSerializer andWrapSerializer functions by@Viicos in#11008
  • Fix host required enforcement for urls to be compatible with v2.9 behavior by@sydney-runkle in#11027
  • Add adefault_factory_takes_validated_data property toFieldInfo by@Viicos in#11034
  • Fix url json schema inserialization mode by@sydney-runkle in#11035

v2.10.2 (2024-11-25)

GitHub release

What's Changed

Fixes

v2.10.1 (2024-11-21)

GitHub release

What's Changed

Packaging

Fixes

New Contributors

v2.10.0 (2024-11-20)

The code released in v2.10.0 is practically identical to that of v2.10.0b2.

GitHub release

See thev2.10 release blog post for the highlights!

What's Changed

Packaging

New Features

Changes

Performance

  • Schema cleaning: skip unnecessary copies during schema walking by@Viicos in#10286
  • Refactor namespace logic for annotations evaluation by@Viicos in#10530
  • Improve email regexp on edge cases by@AlekseyLobanov in#10601
  • CoreMetadata refactor with an emphasis on documentation, schema build time performance, and reducing complexity by@sydney-runkle in#10675

Fixes

New Contributors

v2.10.0b2 (2024-11-13)

Pre-release, seethe GitHub release for details.

v2.10.0b1 (2024-11-06)

Pre-release, seethe GitHub release for details.

... seehere for earlier changes.

Project details

Verified details

These details have beenverified by PyPI
Project links
Owner
GitHub Statistics
Maintainers
Avatar for davidhewitt from gravatar.comdavidhewittAvatar for dmontagu from gravatar.comdmontaguAvatar for samuelcolvin from gravatar.comsamuelcolvin

Release historyRelease notifications |RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more aboutinstalling packages.

Source Distribution

pydantic-2.12.5.tar.gz (821.6 kBview details)

UploadedSource

Built Distribution

Filter files by name, interpreter, ABI, and platform.

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

Copy a direct link to the current filters

pydantic-2.12.5-py3-none-any.whl (463.6 kBview details)

UploadedPython 3

File details

Details for the filepydantic-2.12.5.tar.gz.

File metadata

  • Download URL:pydantic-2.12.5.tar.gz
  • Upload date:
  • Size: 821.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pydantic-2.12.5.tar.gz
AlgorithmHash digest
SHA2564d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49
MD5beb5176b58bf266a874ab4d085cdb766
BLAKE2b-256694436f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928

See more details on using hashes here.

Provenance

The following attestation bundles were made forpydantic-2.12.5.tar.gz:

Publisher:ci.yml on pydantic/pydantic

Attestations:Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the filepydantic-2.12.5-py3-none-any.whl.

File metadata

  • Download URL:pydantic-2.12.5-py3-none-any.whl
  • Upload date:
  • Size: 463.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pydantic-2.12.5-py3-none-any.whl
AlgorithmHash digest
SHA256e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d
MD50857f9b85480a4883a7ce20c8b07a025
BLAKE2b-2565a87b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a

See more details on using hashes here.

Provenance

The following attestation bundles were made forpydantic-2.12.5-py3-none-any.whl:

Publisher:ci.yml on pydantic/pydantic

Attestations:Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security SponsorDatadog MonitoringDepot Continuous IntegrationFastly CDNGoogle Download AnalyticsPingdom MonitoringSentry Error loggingStatusPage Status page

[8]ページ先頭

©2009-2025 Movatter.jp