python-pydantic-core
Port variant v12
Summary Core module for pydantic (3.12)
Package version 2.35.2
Homepage https://github.com/pydantic/pydantic-core
Keywords python, rust
Maintainer Python Automaton
License Not yet specified
Other variants v13
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 27 JUN 2025, 13:11:27 UTC
Port created 05 MAR 2024, 06:30:48 UTC
Subpackage Descriptions
single # pydantic-core [CI] [Coverage] [pypi] [versions] [license] This package provides the core functionality for [pydantic] validation and serialization. Pydantic-core is currently around 17x faster than pydantic V1. See [`tests/benchmarks/`] for details. ## Example of direct usage _NOTE: You should not need to use pydantic-core directly; instead, use pydantic, which in turn uses pydantic-core._ ```py from pydantic_core import SchemaValidator, ValidationError v = SchemaValidator( { 'type': 'typed-dict', 'fields': { 'name': { 'type': 'typed-dict-field', 'schema': { 'type': 'str', }, }, 'age': { 'type': 'typed-dict-field', 'schema': { 'type': 'int', 'ge': 18, }, }, 'is_developer': { 'type': 'typed-dict-field', 'schema': { 'type': 'default', 'schema': {'type': 'bool'}, 'default': True, }, }, }, } ) r1 = v.validate_python({'name': 'Samuel', 'age': 35}) assert r1 == {'name': 'Samuel', 'age': 35, 'is_developer': True} # pydantic-core can also validate JSON directly r2 = v.validate_json('{"name": "Samuel", "age": 35}') assert r1 == r2 try: v.validate_python({'name': 'Samuel', 'age': 11}) except ValidationError as e: print(e) """ 1 validation error for model age Input should be greater than or equal to 18 [type=greater_than_equal, context={ge: 18}, input_value=11, input_type=int] """ ``` ## Getting Started You'll need rust stable [installed], or rust nightly if you want to generate accurate coverage. With rust and python 3.8+ installed, compiling pydantic-core should be possible with roughly the following: ```bash # clone this repo or your fork git clone git@github.com:pydantic/pydantic-core.git cd pydantic-core # create a new virtual env python3 -m venv env source env/bin/activate # install dependencies and install pydantic-core make install ``` That should be it, the example shown above should now run. You might find it useful to look at [`python/pydantic_core/_pydantic_core.pyi`] and [`python/pydantic_core/core_schema.py`] for more information on the python API, beyond that, [`tests/`] provide a large number of examples of usage. If you want to contribute to pydantic-core, you'll want to use some other make commands:
Configuration Switches (platform-specific settings discarded)
PY312 ON Build using Python 3.12 PY313 OFF Build using Python 3.13
Package Dependencies by Type
Build (only) python-maturin:single:v12
python-typing-extensions:single:v12
rust:single:std
python312:dev:std
python-pip:single:v12
python-setuptools:single:v12
python-wheel:single:v12
python-build:single:v12
python-installer:single:v12
autoselect-python:single:std
Build and Runtime python312:primary:std
Runtime (only) ravensys-gcc:libs:std (single subpackage)
Download groups
main mirror://PYPI/p/pydantic-core
cr01 mirror://CRATES/ahash:0.8.12
cr02 mirror://CRATES/aho-corasick:1.1.3
cr03 mirror://CRATES/autocfg:1.3.0
cr04 mirror://CRATES/base64:0.22.1
cr05 mirror://CRATES/bitflags:2.9.1
cr06 mirror://CRATES/bitvec:1.0.1
cr07 mirror://CRATES/cc:1.0.101
cr08 mirror://CRATES/cfg-if:1.0.0
cr09 mirror://CRATES/displaydoc:0.2.5
cr10 mirror://CRATES/enum_dispatch:0.3.13
cr11 mirror://CRATES/form_urlencoded:1.2.1
cr12 mirror://CRATES/funty:2.0.0
cr13 mirror://CRATES/getrandom:0.3.3
cr14 mirror://CRATES/heck:0.5.0
cr15 mirror://CRATES/hex:0.4.3
cr16 mirror://CRATES/icu_collections:1.5.0
cr17 mirror://CRATES/icu_locid:1.5.0
cr18 mirror://CRATES/icu_locid_transform:1.5.0
cr19 mirror://CRATES/icu_locid_transform_data:1.5.0
cr20 mirror://CRATES/icu_normalizer:1.5.0
cr21 mirror://CRATES/icu_normalizer_data:1.5.0
cr22 mirror://CRATES/icu_properties:1.5.1
cr23 mirror://CRATES/icu_properties_data:1.5.0
cr24 mirror://CRATES/icu_provider:1.5.0
cr25 mirror://CRATES/icu_provider_macros:1.5.0
cr26 mirror://CRATES/idna:1.0.3
cr27 mirror://CRATES/idna_adapter:1.2.0
cr28 mirror://CRATES/indoc:2.0.5
cr29 mirror://CRATES/itoa:1.0.11
cr30 mirror://CRATES/jiter:0.10.0
cr31 mirror://CRATES/lexical-parse-float:1.0.5
cr32 mirror://CRATES/lexical-parse-integer:1.0.5
cr33 mirror://CRATES/lexical-util:1.0.6
cr34 mirror://CRATES/libc:0.2.155
cr35 mirror://CRATES/litemap:0.7.3
cr36 mirror://CRATES/memchr:2.7.4
cr37 mirror://CRATES/memoffset:0.9.1
cr38 mirror://CRATES/num-bigint:0.4.6
cr39 mirror://CRATES/num-integer:0.1.46
cr40 mirror://CRATES/num-traits:0.2.19
cr41 mirror://CRATES/once_cell:1.19.0
cr42 mirror://CRATES/percent-encoding:2.3.1
cr43 mirror://CRATES/portable-atomic:1.6.0
cr44 mirror://CRATES/proc-macro2:1.0.86
cr45 mirror://CRATES/pyo3:0.25.0
cr46 mirror://CRATES/pyo3-build-config:0.25.0
cr47 mirror://CRATES/pyo3-ffi:0.25.0
cr48 mirror://CRATES/pyo3-macros:0.25.0
cr49 mirror://CRATES/pyo3-macros-backend:0.25.0
cr50 mirror://CRATES/python3-dll-a:0.2.14
cr51 mirror://CRATES/quote:1.0.36
cr52 mirror://CRATES/r-efi:5.2.0
cr53 mirror://CRATES/radium:0.7.0
cr54 mirror://CRATES/regex:1.11.1
cr55 mirror://CRATES/regex-automata:0.4.8
cr56 mirror://CRATES/regex-syntax:0.8.5
cr57 mirror://CRATES/rustversion:1.0.17
cr58 mirror://CRATES/ryu:1.0.18
cr59 mirror://CRATES/serde:1.0.219
cr60 mirror://CRATES/serde_derive:1.0.219
cr61 mirror://CRATES/serde_json:1.0.140
cr62 mirror://CRATES/smallvec:1.15.0
cr63 mirror://CRATES/speedate:0.16.0
cr64 mirror://CRATES/stable_deref_trait:1.2.0
cr65 mirror://CRATES/static_assertions:1.1.0
cr66 mirror://CRATES/strum:0.27.1
cr67 mirror://CRATES/strum_macros:0.27.1
cr68 mirror://CRATES/syn:2.0.82
cr69 mirror://CRATES/synstructure:0.13.1
cr70 mirror://CRATES/tap:1.0.1
cr71 mirror://CRATES/target-lexicon:0.13.2
cr72 mirror://CRATES/tinystr:0.7.6
cr73 mirror://CRATES/unicode-ident:1.0.12
cr74 mirror://CRATES/unindent:0.2.3
cr75 mirror://CRATES/url:2.5.4
cr76 mirror://CRATES/utf16_iter:1.0.5
cr77 mirror://CRATES/utf8_iter:1.0.4
cr78 mirror://CRATES/uuid:1.16.0
cr79 mirror://CRATES/version_check:0.9.5
cr80 mirror://CRATES/wasi:0.14.2+wasi-0.2.4
cr81 mirror://CRATES/wit-bindgen-rt:0.39.0
cr82 mirror://CRATES/write16:1.0.0
cr83 mirror://CRATES/writeable:0.5.5
cr84 mirror://CRATES/wyz:0.5.1
cr85 mirror://CRATES/yoke:0.7.4
cr86 mirror://CRATES/yoke-derive:0.7.4
cr87 mirror://CRATES/zerocopy:0.8.25
cr88 mirror://CRATES/zerocopy-derive:0.8.25
cr89 mirror://CRATES/zerofrom:0.1.4
cr90 mirror://CRATES/zerofrom-derive:0.1.4
cr91 mirror://CRATES/zerovec:0.10.4
cr92 mirror://CRATES/zerovec-derive:0.10.3
Distribution File Information
e010b13ff0d6375ee83f7478fbda42e1fbf55f1b2feef76b673c40861ffd31e6 437878 rust/crates/pydantic_core-2.35.2.tar.gz 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75 43413 rust/crates/ahash-0.8.12.tar.gz 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 183311 rust/crates/aho-corasick-1.1.3.tar.gz 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 16524 rust/crates/autocfg-1.3.0.tar.gz 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 81597 rust/crates/base64-0.22.1.tar.gz 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967 47913 rust/crates/bitflags-2.9.1.tar.gz 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c 224375 rust/crates/bitvec-1.0.1.tar.gz ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d 79446 rust/crates/cc-1.0.101.tar.gz baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd 7934 rust/crates/cfg-if-1.0.0.tar.gz 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0 24219 rust/crates/displaydoc-0.2.5.tar.gz aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd 29876 rust/crates/enum_dispatch-0.3.13.tar.gz e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 8969 rust/crates/form_urlencoded-1.2.1.tar.gz e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c 13160 rust/crates/funty-2.0.0.tar.gz 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4 49493 rust/crates/getrandom-0.3.3.tar.gz 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea 11517 rust/crates/heck-0.5.0.tar.gz 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70 13299 rust/crates/hex-0.4.3.tar.gz db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526 82762 rust/crates/icu_collections-1.5.0.tar.gz 13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637 55131 rust/crates/icu_locid-1.5.0.tar.gz 01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e 29094 rust/crates/icu_locid_transform-1.5.0.tar.gz fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e 44727 rust/crates/icu_locid_transform_data-1.5.0.tar.gz 19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f 53113 rust/crates/icu_normalizer-1.5.0.tar.gz f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516 50561 rust/crates/icu_normalizer_data-1.5.0.tar.gz 93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5 64479 rust/crates/icu_properties-1.5.1.tar.gz 67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569 227993 rust/crates/icu_properties_data-1.5.0.tar.gz 6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9 52722 rust/crates/icu_provider-1.5.0.tar.gz 1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6 6436 rust/crates/icu_provider_macros-1.5.0.tar.gz 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e 142515 rust/crates/idna-1.0.3.tar.gz daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71 8206 rust/crates/idna_adapter-1.2.0.tar.gz b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5 14396 rust/crates/indoc-2.0.5.tar.gz 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b 10563 rust/crates/itoa-1.0.11.tar.gz 1bcfb1e43bda3ba59889499ff494c5f5b6b10864b74aa0bd4593ce4d16838aa6 150054 rust/crates/jiter-0.10.0.tar.gz de6f9cb01fb0b08060209a057c048fcbab8717b4c1ecd2eac66ebfe39a65b0f2 186731 rust/crates/lexical-parse-float-1.0.5.tar.gz 72207aae22fc0a121ba7b6d479e42cbfea549af1479c3f3a4f12c70dd66df12e 36912 rust/crates/lexical-parse-integer-1.0.5.tar.gz 5a82e24bf537fd24c177ffbbdc6ebcc8d54732c35b50a3f28cc3f4e4c949a0b3 106117 rust/crates/lexical-util-1.0.6.tar.gz 97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c 743539 rust/crates/libc-0.2.155.tar.gz 643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704 28728 rust/crates/litemap-0.7.3.tar.gz 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 96670 rust/crates/memchr-2.7.4.tar.gz 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a 9032 rust/crates/memoffset-0.9.1.tar.gz a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9 102801 rust/crates/num-bigint-0.4.6.tar.gz 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f 22331 rust/crates/num-integer-0.1.46.tar.gz 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 51631 rust/crates/num-traits-0.2.19.tar.gz 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 33046 rust/crates/once_cell-1.19.0.tar.gz e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e 10235 rust/crates/percent-encoding-2.3.1.tar.gz 7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0 140689 rust/crates/portable-atomic-1.6.0.tar.gz 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 48958 rust/crates/proc-macro2-1.0.86.tar.gz f239d656363bcee73afef85277f1b281e8ac6212a1d42aa90e55b90ed43c47a4 1120850 rust/crates/pyo3-0.25.0.tar.gz 755ea671a1c34044fa165247aaf6f419ca39caa6003aee791a0df2713d8f1b6d 34122 rust/crates/pyo3-build-config-0.25.0.tar.gz fc95a2e67091e44791d4ea300ff744be5293f394f1bafd9f78c080814d35956e 77991 rust/crates/pyo3-ffi-0.25.0.tar.gz a179641d1b93920829a62f15e87c0ed791b6c8db2271ba0fd7c2686090510214 8876 rust/crates/pyo3-macros-0.25.0.tar.gz 9dff85ebcaab8c441b0e3f7ae40a6963ecea8a9f5e74f647e33fcf5ec9a1e89e 75089 rust/crates/pyo3-macros-backend-0.25.0.tar.gz d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8 103489 rust/crates/python3-dll-a-0.2.14.tar.gz 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7 28507 rust/crates/quote-1.0.36.tar.gz 74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5 64764 rust/crates/r-efi-5.2.0.tar.gz dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 10906 rust/crates/radium-0.7.0.tar.gz b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191 254170 rust/crates/regex-1.11.1.tar.gz 368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3 617784 rust/crates/regex-automata-0.4.8.tar.gz 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c 357541 rust/crates/regex-syntax-0.8.5.tar.gz 955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6 17621 rust/crates/rustversion-1.0.17.tar.gz f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f 47713 rust/crates/ryu-1.0.18.tar.gz 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6 78983 rust/crates/serde-1.0.219.tar.gz 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00 57798 rust/crates/serde_derive-1.0.219.tar.gz 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373 154852 rust/crates/serde_json-1.0.140.tar.gz 8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9 38113 rust/crates/smallvec-1.15.0.tar.gz bc823f2eb39713ef0d286058af264ce0d8ddcf62b8a78a0aec02cd0105576d87 39704 rust/crates/speedate-0.16.0.tar.gz a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3 8054 rust/crates/stable_deref_trait-1.2.0.tar.gz a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f 18480 rust/crates/static_assertions-1.1.0.tar.gz f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32 7467 rust/crates/strum-0.27.1.tar.gz c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8 29670 rust/crates/strum_macros-0.27.1.tar.gz 83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021 272300 rust/crates/syn-2.0.82.tar.gz c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971 18327 rust/crates/synstructure-0.13.1.tar.gz 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 11316 rust/crates/tap-1.0.1.tar.gz e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a 27923 rust/crates/target-lexicon-0.13.2.tar.gz 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f 16971 rust/crates/tinystr-0.7.6.tar.gz 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b 42168 rust/crates/unicode-ident-1.0.12.tar.gz c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce 7306 rust/crates/unindent-0.2.3.tar.gz 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60 81097 rust/crates/url-2.5.4.tar.gz c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246 9736 rust/crates/utf16_iter-1.0.5.tar.gz b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be 10437 rust/crates/utf8_iter-1.0.4.tar.gz 458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9 58549 rust/crates/uuid-1.16.0.tar.gz 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a 15554 rust/crates/version_check-0.9.5.tar.gz 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3 140921 rust/crates/wasi-0.14.2+wasi-0.2.4.tar.gz 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1 12241 rust/crates/wit-bindgen-rt-0.39.0.tar.gz d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936 7218 rust/crates/write16-1.0.0.tar.gz 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51 22354 rust/crates/writeable-0.5.5.tar.gz 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed 18790 rust/crates/wyz-0.5.1.tar.gz 6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5 27781 rust/crates/yoke-0.7.4.tar.gz 28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95 7470 rust/crates/yoke-derive-0.7.4.tar.gz a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb 252714 rust/crates/zerocopy-0.8.25.tar.gz 28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef 87671 rust/crates/zerocopy-derive-0.8.25.tar.gz 91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55 5044 rust/crates/zerofrom-0.1.4.tar.gz 0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5 8232 rust/crates/zerofrom-derive-0.1.4.tar.gz aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079 126398 rust/crates/zerovec-0.10.4.tar.gz 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6 19438 rust/crates/zerovec-derive-0.10.3.tar.gz
Ports that require python-pydantic-core:v12
python-pydantic:v12 Data validation using Python type hints (3.12)