New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pydantic

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pydantic

Data validation using Python type hints

  • 2.10.5
  • Source
  • PyPI
  • Socket score

Maintainers
2

Pydantic

CI Coverage pypi CondaForge downloads versions license Pydantic v2

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.8+; 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 the pydantic 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

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: str = '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.

Changelog

v2.10.6 (2025-01-23)

GitHub release

What's Changed

Fixes
  • Fix JSON Schema reference collection with 'examples' keys by @Viicos in #11325
  • Fix url python serialization by @sydney-runkle in #11331

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 of AnyUrl 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
  • Add len 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 when defer_build is set on Pydantic dataclasses by @Viicos in #10984
  • Do not resolve the JSON Schema reference for dict core schema keys by @Viicos in #10989
  • Use the globals of the function when evaluating the return type for PlainSerializer and WrapSerializer functions by @Viicos in #11008
  • Fix host required enforcement for urls to be compatible with v2.9 behavior by @sydney-runkle in #11027
  • Add a default_factory_takes_validated_data property to FieldInfo by @Viicos in #11034
  • Fix url json schema in serialization mode by @sydney-runkle in #11035

v2.10.2 (2024-11-25)

GitHub release

What's Changed

Fixes
  • Only evaluate FieldInfo annotations if required during schema building by @Viicos in #10769
  • Do not evaluate annotations for private fields by @Viicos in #10962
  • Support serialization as any for Secret types and Url types by @sydney-runkle in #10947
  • Fix type hint of Field.default to be compatible with Python 3.8 and 3.9 by @Viicos in #10972
  • Add hashing support for URL types by @sydney-runkle in #10975
  • Hide BaseModel.__replace__ definition from type checkers by @Viicos in 10979

v2.10.1 (2024-11-21)

GitHub release

What's Changed

Packaging
Fixes

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 the v2.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, see the GitHub release for details.

v2.10.0b1 (2024-11-06)

Pre-release, see the GitHub release for details.

... see here for earlier changes.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc