python-pydantic-core
Port variant v12
Summary Core module for pydantic (3.12)
BROKEN
Package version 2.20.1
Homepage https://github.com/pydantic/pydantic-core
Keywords python, rust
Maintainer Python Automaton
License Not yet specified
Other variants v11
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 10 JUL 2024, 22:10:39 UTC
Port created 04 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)
PY311 OFF Build using Python 3.11 PY312 ON Build using Python 3.12
Package Dependencies by Type
Build (only) python-maturin:single:v12
python-pip:single:v12
python-typing-extensions:single:v12
rust:single:standard
python312:dev:standard
autoselect-python:single:standard
Build and Runtime python312:primary:standard
Runtime (only) ravensys-gcc:libs:standard (single subpackage)
Download groups
main mirror://PYPI/p/pydantic-core
cr01 mirror://CRATES/ahash:0.8.11
cr02 mirror://CRATES/aho-corasick:1.1.3
cr03 mirror://CRATES/autocfg:1.3.0
cr04 mirror://CRATES/base64:0.21.7
cr05 mirror://CRATES/bitvec:1.0.1
cr06 mirror://CRATES/cc:1.0.101
cr07 mirror://CRATES/cfg-if:1.0.0
cr08 mirror://CRATES/enum_dispatch:0.3.13
cr09 mirror://CRATES/equivalent:1.0.1
cr10 mirror://CRATES/form_urlencoded:1.2.1
cr11 mirror://CRATES/funty:2.0.0
cr12 mirror://CRATES/getrandom:0.2.15
cr13 mirror://CRATES/hashbrown:0.14.5
cr14 mirror://CRATES/heck:0.5.0
cr15 mirror://CRATES/idna:0.5.0
cr16 mirror://CRATES/indexmap:2.2.6
cr17 mirror://CRATES/indoc:2.0.5
cr18 mirror://CRATES/itoa:1.0.11
cr19 mirror://CRATES/jiter:0.5.0
cr20 mirror://CRATES/lexical-parse-float:0.8.5
cr21 mirror://CRATES/lexical-parse-integer:0.8.6
cr22 mirror://CRATES/lexical-util:0.8.5
cr23 mirror://CRATES/libc:0.2.155
cr24 mirror://CRATES/memchr:2.7.4
cr25 mirror://CRATES/memoffset:0.9.1
cr26 mirror://CRATES/num-bigint:0.4.6
cr27 mirror://CRATES/num-integer:0.1.46
cr28 mirror://CRATES/num-traits:0.2.19
cr29 mirror://CRATES/once_cell:1.19.0
cr30 mirror://CRATES/percent-encoding:2.3.1
cr31 mirror://CRATES/portable-atomic:1.6.0
cr32 mirror://CRATES/proc-macro2:1.0.86
cr33 mirror://CRATES/pyo3:0.22.0
cr34 mirror://CRATES/pyo3-build-config:0.22.0
cr35 mirror://CRATES/pyo3-ffi:0.22.0
cr36 mirror://CRATES/pyo3-macros:0.22.0
cr37 mirror://CRATES/pyo3-macros-backend:0.22.0
cr38 mirror://CRATES/python3-dll-a:0.2.10
cr39 mirror://CRATES/quote:1.0.36
cr40 mirror://CRATES/radium:0.7.0
cr41 mirror://CRATES/regex:1.10.5
cr42 mirror://CRATES/regex-automata:0.4.7
cr43 mirror://CRATES/regex-syntax:0.8.4
cr44 mirror://CRATES/rustversion:1.0.17
cr45 mirror://CRATES/ryu:1.0.18
cr46 mirror://CRATES/serde:1.0.203
cr47 mirror://CRATES/serde_derive:1.0.203
cr48 mirror://CRATES/serde_json:1.0.118
cr49 mirror://CRATES/smallvec:1.13.2
cr50 mirror://CRATES/speedate:0.14.4
cr51 mirror://CRATES/static_assertions:1.1.0
cr52 mirror://CRATES/strum:0.26.3
cr53 mirror://CRATES/strum_macros:0.26.4
cr54 mirror://CRATES/syn:2.0.68
cr55 mirror://CRATES/tap:1.0.1
cr56 mirror://CRATES/target-lexicon:0.12.14
cr57 mirror://CRATES/tinyvec:1.6.1
cr58 mirror://CRATES/tinyvec_macros:0.1.1
cr59 mirror://CRATES/unicode-bidi:0.3.15
cr60 mirror://CRATES/unicode-ident:1.0.12
cr61 mirror://CRATES/unicode-normalization:0.1.23
cr62 mirror://CRATES/unindent:0.2.3
cr63 mirror://CRATES/url:2.5.2
cr64 mirror://CRATES/uuid:1.9.1
cr65 mirror://CRATES/version_check:0.9.4
cr66 mirror://CRATES/wasi:0.11.0+wasi-snapshot-preview1
cr67 mirror://CRATES/wyz:0.5.1
cr68 mirror://CRATES/zerocopy:0.7.34
cr69 mirror://CRATES/zerocopy-derive:0.7.34
Distribution File Information
26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4 388371 rust/crates/pydantic_core-2.20.1.tar.gz e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011 43607 rust/crates/ahash-0.8.11.tar.gz 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 183311 rust/crates/aho-corasick-1.1.3.tar.gz 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 16524 rust/crates/autocfg-1.3.0.tar.gz 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567 82576 rust/crates/base64-0.21.7.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 aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd 29876 rust/crates/enum_dispatch-0.3.13.tar.gz 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 6615 rust/crates/equivalent-1.0.1.tar.gz e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 8969 rust/crates/form_urlencoded-1.2.1.tar.gz e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c 13160 rust/crates/funty-2.0.0.tar.gz c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7 37163 rust/crates/getrandom-0.2.15.tar.gz e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 141498 rust/crates/hashbrown-0.14.5.tar.gz 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea 11517 rust/crates/heck-0.5.0.tar.gz 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 271940 rust/crates/idna-0.5.0.tar.gz 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26 82420 rust/crates/indexmap-2.2.6.tar.gz b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5 14396 rust/crates/indoc-2.0.5.tar.gz 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b 10563 rust/crates/itoa-1.0.11.tar.gz 02e23549143ef50eddffd46ba8cd0229b0a4500aef7518cf2eb0f41c9a09d22b 141152 rust/crates/jiter-0.5.0.tar.gz 683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f 180161 rust/crates/lexical-parse-float-0.8.5.tar.gz 6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9 33647 rust/crates/lexical-parse-integer-0.8.6.tar.gz 5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc 85152 rust/crates/lexical-util-0.8.5.tar.gz 97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c 743539 rust/crates/libc-0.2.155.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 1962a33ed2a201c637fc14a4e0fd4e06e6edfdeee6a5fede0dab55507ad74cf7 535742 rust/crates/pyo3-0.22.0.tar.gz ab7164b2202753bd33afc7f90a10355a719aa973d1f94502c50d06f3488bc420 31205 rust/crates/pyo3-build-config-0.22.0.tar.gz c6424906ca49013c0829c5c1ed405e20e2da2dc78b82d198564880a704e6a7b7 67420 rust/crates/pyo3-ffi-0.22.0.tar.gz 82b2f19e153122d64afd8ce7aaa72f06a00f52e34e1d1e74b6d71baea396460a 7889 rust/crates/pyo3-macros-0.22.0.tar.gz dd698c04cac17cf0fe63d47790ab311b8b25542f5cb976b65c374035c50f1eef 64837 rust/crates/pyo3-macros-backend-0.22.0.tar.gz bd0b78171a90d808b319acfad166c4790d9e9759bbc14ac8273fe133673dd41b 74573 rust/crates/python3-dll-a-0.2.10.tar.gz 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7 28507 rust/crates/quote-1.0.36.tar.gz dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 10906 rust/crates/radium-0.7.0.tar.gz b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f 253805 rust/crates/regex-1.10.5.tar.gz 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df 617582 rust/crates/regex-automata-0.4.7.tar.gz 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b 347577 rust/crates/regex-syntax-0.8.4.tar.gz 955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6 17621 rust/crates/rustversion-1.0.17.tar.gz f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f 47713 rust/crates/ryu-1.0.18.tar.gz 7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094 77935 rust/crates/serde-1.0.203.tar.gz 500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba 55867 rust/crates/serde_derive-1.0.203.tar.gz d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4 146962 rust/crates/serde_json-1.0.118.tar.gz 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 35216 rust/crates/smallvec-1.13.2.tar.gz 08a20480dbd4c693f0b0f3210f2cee5bfa21a176c1fa4df0e65cc0474e7fa557 33077 rust/crates/speedate-0.14.4.tar.gz a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f 18480 rust/crates/static_assertions-1.1.0.tar.gz 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06 7237 rust/crates/strum-0.26.3.tar.gz 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be 27531 rust/crates/strum_macros-0.26.4.tar.gz 901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9 265035 rust/crates/syn-2.0.68.tar.gz 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 11316 rust/crates/tap-1.0.1.tar.gz e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f 25508 rust/crates/target-lexicon-0.12.14.tar.gz c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82 46657 rust/crates/tinyvec-1.6.1.tar.gz 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 5865 rust/crates/tinyvec_macros-0.1.1.tar.gz 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75 56811 rust/crates/unicode-bidi-0.3.15.tar.gz 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b 42168 rust/crates/unicode-ident-1.0.12.tar.gz a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5 122649 rust/crates/unicode-normalization-0.1.23.tar.gz c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce 7306 rust/crates/unindent-0.2.3.tar.gz 22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c 79704 rust/crates/url-2.5.2.tar.gz 5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439 47492 rust/crates/uuid-1.9.1.tar.gz 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f 14895 rust/crates/version_check-0.9.4.tar.gz 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 28131 rust/crates/wasi-0.11.0+wasi-snapshot-preview1.tar.gz 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed 18790 rust/crates/wyz-0.5.1.tar.gz ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087 151177 rust/crates/zerocopy-0.7.34.tar.gz 15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b 37907 rust/crates/zerocopy-derive-0.7.34.tar.gz
Ports that require python-pydantic-core:v12
python-pydantic:v12 Data validation using Python type hints (3.12)