pydantic

Data validation using Python type hints

https://github.com/pydantic/pydantic

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    10 of 627 committers (1.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

hints json-schema parsing pydantic python python310 python311 python312 python313 python39 validation

Keywords from Contributors

test-data-generator test-data fake fake-data faker faker-generator fuzzing property-based-testing cryptocurrencies data-mining
Last synced: 4 months ago · JSON representation ·

Repository

Data validation using Python type hints

Basic Info
  • Host: GitHub
  • Owner: pydantic
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://docs.pydantic.dev
  • Size: 253 MB
Statistics
  • Stars: 24,975
  • Watchers: 132
  • Forks: 2,220
  • Open Issues: 505
  • Releases: 177
Topics
hints json-schema parsing pydantic python python310 python311 python312 python313 python39 validation
Created over 8 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing Funding License Citation

README.md

Pydantic Validation

CI Coverage pypi CondaForge downloads versions license Pydantic v2 llms.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 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

```python from datetime import datetime from typing import Optional from pydantic import BaseModel

class User(BaseModel): id: int name: str = 'John Doe' signup_ts: Optional[datetime] = None friends: list[int] = []

externaldata = {'id': '123', 'signupts': '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.

Owner

  • Name: Pydantic
  • Login: pydantic
  • Kind: organization
  • Email: hello@pydantic.dev
  • Location: United Kingdom

Pydantic, Pydantic Logfire and PydanticAI

Citation (CITATION.cff)

cff-version: 1.2.0
title: Pydantic Validation
message: 'If you use this software, please cite it as below.'
type: software
authors:
  - family-names: Colvin
    given-names: Samuel
  - family-names: Jolibois
    given-names: Eric
  - family-names: Ramezani
    given-names: Hasan
  - family-names: Garcia Badaracco
    given-names: Adrian
  - family-names: Dorsey
    given-names: Terrence
  - family-names: Montague
    given-names: David
  - family-names: Matveenko
    given-names: Serge
  - family-names: Trylesinski
    given-names: Marcelo
  - family-names: Runkle
    given-names: Sydney
  - family-names: Hewitt
    given-names: David
  - family-names: Hall
    given-names: Alex
  - family-names: Plot
    given-names: Victorien
repository-code: 'https://github.com/pydantic/pydantic'
url: 'https://docs.pydantic.dev/latest/'
abstract: >-
  Pydantic Validation is the most widely used data validation library
  for Python.

  Fast and extensible, Pydantic Validation plays nicely with your
  linters/IDE/brain. Define how data should be in pure,
  canonical Python 3.9+; validate it with Pydantic Validation.
keywords:
  - python
  - validation
  - parsing
  - json-schema
  - hints
  - typing
license: MIT
version: v2.12.0a1+dev
date-released: 2025-07-26

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 3,627
  • Total Committers: 627
  • Avg Commits per committer: 5.785
  • Development Distribution Score (DDS): 0.82
Past Year
  • Commits: 570
  • Committers: 96
  • Avg Commits per committer: 5.938
  • Development Distribution Score (DDS): 0.518
Top Committers
Name Email Commits
Samuel Colvin s@m****m 652
Sydney Runkle 5****e 355
Victorien 6****s 327
David Montague 3****u 301
Adrian Garcia Badaracco 1****b 198
Hasan Ramezani h****7@g****m 171
dependabot[bot] 4****] 129
Eric Jolibois e****s@g****m 120
Marcelo Trylesinski m****e@g****m 102
dependabot-preview[bot] 2****] 75
Terrence Dorsey t****d@m****m 71
Serge Matveenko l****g@p****v 46
pyup.io bot g****t@p****o 46
David Hewitt 1****t 43
Sebastián Ramírez t****o@g****m 25
Nikita Grishko g****n@p****m 19
Alex Hall a****i@g****m 18
Koudai Aono k****i@g****m 17
Saurabh Misra m****1@g****m 16
github-actions[bot] 4****] 16
Arseny Boykov 3****t 15
Yurii Karabas 1****o@g****m 15
kc0506 8****6 12
Yasser Tahiri y****9@g****m 12
Vitaly R. Samigullin v****s@p****g 12
Stephen Brown II S****2@g****m 10
MrMrRobat a****6@g****m 9
Neev Cohen 7****n 8
layday 3****y 7
Talley Lambert t****t@g****m 7
and 597 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 2,940
  • Total pull requests: 2,811
  • Average time to close issues: 3 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 1,950
  • Total pull request authors: 375
  • Average comments per issue: 3.36
  • Average comments per pull request: 3.3
  • Merged pull requests: 2,041
  • Bot issues: 8
  • Bot pull requests: 67
Past Year
  • Issues: 890
  • Pull requests: 1,234
  • Average time to close issues: 6 days
  • Average time to close pull requests: 4 days
  • Issue authors: 647
  • Pull request authors: 144
  • Average comments per issue: 1.39
  • Average comments per pull request: 3.37
  • Merged pull requests: 848
  • Bot issues: 8
  • Bot pull requests: 27
Top Authors
Issue Authors
  • sydney-runkle (90)
  • Viicos (65)
  • samuelcolvin (61)
  • dmontagu (29)
  • KotlinIsland (23)
  • chbndrhnns (17)
  • jamesbraza (16)
  • DetachHead (14)
  • caniko (12)
  • hb2638 (12)
  • kc0506 (11)
  • commonism (11)
  • adriangb (10)
  • davidhewitt (10)
  • MarcBresson (10)
Pull Request Authors
  • sydney-runkle (722)
  • Viicos (649)
  • dmontagu (113)
  • hramezani (78)
  • samuelcolvin (67)
  • adriangb (60)
  • davidhewitt (42)
  • misrasaurabh1 (40)
  • dependabot[bot] (36)
  • kc0506 (34)
  • github-actions[bot] (31)
  • Kludex (28)
  • alexmojaki (24)
  • karta9821 (23)
  • lig (20)
Top Labels
Issue Labels
bug V2 (1,484) pending (1,018) feature request (585) bug V1 (309) question (176) unconfirmed (175) help wanted (132) documentation (126) good first issue (74) awaiting author response (55) duplicate (41) Feedback Wanted (32) v2-reviewed (31) mypy (24) meta (23) Change (22) change (21) v3 (16) non-breaking-change (14) performance (13) type checking (13) hypothesis (12) topic-types support (11) urls (11) topic-generics (9) topic-mypy plugin (9) Meta (8) Schema (8) relnotes-fix (8) V3 (8)
Pull Request Labels
relnotes-fix (1,091) ready for review (645) relnotes-ignore (543) documentation (272) awaiting author revision (197) relnotes-feature (155) relnotes-packaging (120) relnotes-change (109) relnotes-performance (84) third-party-tests (75) backport-2.11 (63) dependencies (36) github_actions (34) backport-2.10 (18) needs-blogpost-entry (13) deferred (11) awaiting author response (7) refactor (7) type checking (6) mypy (5) bug V1 (2) feature request (2) bug V2 (2) pending (2) feedback wanted (1) meta (1) change (1)

Packages

  • Total packages: 13
  • Total downloads:
    • pypi 411,805,272 last-month
  • Total docker downloads: 4,571,113,360
  • Total dependent packages: 10,065
    (may contain duplicates)
  • Total dependent repositories: 49,675
    (may contain duplicates)
  • Total versions: 380
  • Total maintainers: 6
  • Total advisories: 2
pypi.org: pydantic

Data validation using Python type hints

  • Versions: 180
  • Dependent Packages: 9,821
  • Dependent Repositories: 49,355
  • Downloads: 411,804,790 Last month
  • Docker Downloads: 4,571,113,360
Rankings
Dependent packages count: 0.0%
Downloads: 0.0%
Docker downloads count: 0.0%
Dependent repos count: 0.0%
Stargazers count: 0.3%
Average: 0.3%
Forks count: 1.4%
Funding
  • https://github.com/sponsors/samuelcolvin
Last synced: 4 months ago
alpine-edge: py3-pydantic

Data parsing and validation using Python type hints

  • Versions: 14
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 1.2%
Forks count: 1.5%
Average: 1.5%
Dependent packages count: 3.4%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: pydantic

Data validation and settings management using python type hinting. See documentation <https://docs.pydantic.dev> for more details.

  • Versions: 43
  • Dependent Packages: 210
  • Dependent Repositories: 160
Rankings
Dependent packages count: 0.3%
Stargazers count: 2.1%
Average: 2.3%
Dependent repos count: 2.7%
Forks count: 4.1%
Last synced: 4 months ago
alpine-edge: py3-pydantic-pyc

Precompiled Python bytecode for py3-pydantic

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 1.1%
Forks count: 1.5%
Average: 4.0%
Dependent packages count: 13.4%
Maintainers (1)
Last synced: 4 months ago
proxy.golang.org: github.com/pydantic/pydantic
  • Versions: 109
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 0.5%
Forks count: 0.6%
Average: 5.4%
Dependent packages count: 9.6%
Dependent repos count: 10.8%
Last synced: 4 months ago
anaconda.org: pydantic

Data validation and settings management using python type hinting. See documentation doc_url for more details.

  • Versions: 18
  • Dependent Packages: 32
  • Dependent Repositories: 160
Rankings
Dependent packages count: 1.5%
Stargazers count: 6.4%
Average: 8.4%
Forks count: 9.9%
Dependent repos count: 15.7%
Last synced: 4 months ago
pypi.org: pydantic1

Data validation and settings management using python type hints

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 431 Last month
Rankings
Dependent packages count: 9.9%
Average: 32.7%
Dependent repos count: 55.5%
Maintainers (1)
Last synced: 10 months ago
pypi.org: omie-client

Omie Client Python SDK

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 27 Last month
Rankings
Dependent packages count: 10.7%
Average: 35.6%
Dependent repos count: 60.5%
Maintainers (1)
Last synced: about 1 year ago
pypi.org: pydantic-slim

This is a placeholder in case we want to use this package name in future.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 24 Last month
Rankings
Dependent packages count: 9.6%
Average: 36.6%
Dependent repos count: 63.5%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.22: py3-pydantic

Data parsing and validation using Python type hints

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.22: py3-pydantic-pyc

Precompiled Python bytecode for py3-pydantic

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.21: py3-pydantic

Data parsing and validation using Python type hints

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago
alpine-v3.21: py3-pydantic-pyc

Precompiled Python bytecode for py3-pydantic

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/cherry-pick.yml actions
  • actions/checkout v3 composite
  • carloscastrojumo/github-cherry-pick-action v1.0.9 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • pdm-project/setup-pdm v3 composite
  • pre-commit/action v3.0.0 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • re-actors/alls-green release/v1 composite
  • samuelcolvin/check-python-version v4.1 composite
.github/workflows/dependencies-check.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • samuelcolvin/list-python-dependencies main composite
.github/workflows/docs-update.yml actions
  • actions/checkout v3 composite
  • pdm-project/setup-pdm v3 composite
  • pre-commit/action v3.0.0 composite
  • samuelcolvin/check-python-version v4.1 composite
.github/workflows/integration.yml actions
  • actions/checkout v3 composite
.github/workflows/relnotes.yml actions
  • actions/checkout v4 composite
.github/workflows/upload-previews.yml actions
  • actions/setup-python v4 composite
  • dawidd6/action-download-artifact v2 composite
pyproject.toml pypi
  • annotated-types >=0.4.0
  • pydantic-core ==2.9.0
  • typing-extensions >=4.6.1
tests/pyright/pyproject.toml pypi
tests/plugin/pyproject.toml pypi
.github/actions/people/action.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
.github/workflows/codspeed.yml actions
  • CodSpeedHQ/action v2 composite
  • actions/checkout v4 composite
  • pdm-project/setup-pdm v3 composite
.github/workflows/update-pydantic-people.yml actions
  • ./.github/actions/people * composite
  • actions/checkout v4 composite