python-pydantic-core
Port variant v11
Summary Core module for pydantic (3.11)
Package version 2.18.2
Homepage https://github.com/pydantic/pydantic-core
Keywords python, rust
Maintainer Python Automaton
License Not yet specified
Other variants v12
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 27 APR 2024, 16:34:15 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 ON Build using Python 3.11 PY312 OFF Build using Python 3.12
Package Dependencies by Type
Build (only) python-maturin:single:v11
python-pip:single:v11
python-typing-extensions:single:v11
rust:single:standard
autoselect-python:single:standard
Build and Runtime python311:single:standard
Runtime (only) ravensys-gcc:libs:standard (single subpackage)
Download groups
main mirror://PYPI/p/pydantic-core
cr01 mirror://CRATES/ahash:0.8.10
cr02 mirror://CRATES/aho-corasick:1.0.2
cr03 mirror://CRATES/autocfg:1.1.0
cr04 mirror://CRATES/base64:0.21.7
cr05 mirror://CRATES/bitflags:1.3.2
cr06 mirror://CRATES/cc:1.0.79
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/getrandom:0.2.10
cr12 mirror://CRATES/hashbrown:0.14.3
cr13 mirror://CRATES/heck:0.4.1
cr14 mirror://CRATES/idna:0.5.0
cr15 mirror://CRATES/indexmap:2.2.2
cr16 mirror://CRATES/indoc:2.0.4
cr17 mirror://CRATES/itoa:1.0.8
cr18 mirror://CRATES/jiter:0.2.1
cr19 mirror://CRATES/lexical-parse-float:0.8.5
cr20 mirror://CRATES/lexical-parse-integer:0.8.6
cr21 mirror://CRATES/lexical-util:0.8.5
cr22 mirror://CRATES/libc:0.2.147
cr23 mirror://CRATES/lock_api:0.4.10
cr24 mirror://CRATES/memchr:2.6.3
cr25 mirror://CRATES/memoffset:0.9.0
cr26 mirror://CRATES/num-bigint:0.4.4
cr27 mirror://CRATES/num-integer:0.1.45
cr28 mirror://CRATES/num-traits:0.2.16
cr29 mirror://CRATES/once_cell:1.18.0
cr30 mirror://CRATES/parking_lot:0.12.1
cr31 mirror://CRATES/parking_lot_core:0.9.8
cr32 mirror://CRATES/percent-encoding:2.3.1
cr33 mirror://CRATES/portable-atomic:1.6.0
cr34 mirror://CRATES/proc-macro2:1.0.76
cr35 mirror://CRATES/pyo3:0.21.1
cr36 mirror://CRATES/pyo3-build-config:0.21.1
cr37 mirror://CRATES/pyo3-ffi:0.21.1
cr38 mirror://CRATES/pyo3-macros:0.21.1
cr39 mirror://CRATES/pyo3-macros-backend:0.21.1
cr40 mirror://CRATES/python3-dll-a:0.2.9
cr41 mirror://CRATES/quote:1.0.35
cr42 mirror://CRATES/redox_syscall:0.3.5
cr43 mirror://CRATES/regex:1.10.3
cr44 mirror://CRATES/regex-automata:0.4.5
cr45 mirror://CRATES/regex-syntax:0.8.2
cr46 mirror://CRATES/rustversion:1.0.13
cr47 mirror://CRATES/ryu:1.0.14
cr48 mirror://CRATES/scopeguard:1.1.0
cr49 mirror://CRATES/serde:1.0.197
cr50 mirror://CRATES/serde_derive:1.0.197
cr51 mirror://CRATES/serde_json:1.0.114
cr52 mirror://CRATES/smallvec:1.13.2
cr53 mirror://CRATES/speedate:0.14.0
cr54 mirror://CRATES/static_assertions:1.1.0
cr55 mirror://CRATES/strum:0.25.0
cr56 mirror://CRATES/strum_macros:0.25.3
cr57 mirror://CRATES/strum_macros:0.26.1
cr58 mirror://CRATES/syn:2.0.48
cr59 mirror://CRATES/target-lexicon:0.12.9
cr60 mirror://CRATES/tinyvec:1.6.0
cr61 mirror://CRATES/tinyvec_macros:0.1.1
cr62 mirror://CRATES/unicode-bidi:0.3.13
cr63 mirror://CRATES/unicode-ident:1.0.10
cr64 mirror://CRATES/unicode-normalization:0.1.22
cr65 mirror://CRATES/unindent:0.2.3
cr66 mirror://CRATES/url:2.5.0
cr67 mirror://CRATES/uuid:1.7.0
cr68 mirror://CRATES/version_check:0.9.4
cr69 mirror://CRATES/wasi:0.11.0+wasi-snapshot-preview1
cr70 mirror://CRATES/windows-targets:0.48.1
cr71 mirror://CRATES/windows_aarch64_gnullvm:0.48.0
cr72 mirror://CRATES/windows_aarch64_msvc:0.48.0
cr73 mirror://CRATES/windows_i686_gnu:0.48.0
cr74 mirror://CRATES/windows_i686_msvc:0.48.0
cr75 mirror://CRATES/windows_x86_64_gnu:0.48.0
cr76 mirror://CRATES/windows_x86_64_gnullvm:0.48.0
cr77 mirror://CRATES/windows_x86_64_msvc:0.48.0
cr78 mirror://CRATES/zerocopy:0.7.32
cr79 mirror://CRATES/zerocopy-derive:0.7.32
Distribution File Information
2e29d20810dfc3043ee13ac7d9e25105799817683348823f305ab3f349b9386e 383446 rust/crates/pydantic_core-2.18.2.tar.gz 8b79b82693f705137f8fb9b37871d99e4f9a7df12b917eed79c3d3954830a60b 43555 rust/crates/ahash-0.8.10.tar.gz 43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41 167694 rust/crates/aho-corasick-1.0.2.tar.gz d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa 13272 rust/crates/autocfg-1.1.0.tar.gz 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567 82576 rust/crates/base64-0.21.7.tar.gz bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a 23021 rust/crates/bitflags-1.3.2.tar.gz 50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f 62624 rust/crates/cc-1.0.79.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 be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427 34955 rust/crates/getrandom-0.2.10.tar.gz 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604 141425 rust/crates/hashbrown-0.14.3.tar.gz 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8 11567 rust/crates/heck-0.4.1.tar.gz 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 271940 rust/crates/idna-0.5.0.tar.gz 824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520 76160 rust/crates/indexmap-2.2.2.tar.gz 1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8 14311 rust/crates/indoc-2.0.4.tar.gz 62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a 10465 rust/crates/itoa-1.0.8.tar.gz 8e1177860adcf80c1ae7d7c1d41561f008c7530664caebbfa5ddd8a7f7316b98 139173 rust/crates/jiter-0.2.1.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 b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3 686772 rust/crates/libc-0.2.147.tar.gz c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16 26713 rust/crates/lock_api-0.4.10.tar.gz 8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c 94377 rust/crates/memchr-2.6.3.tar.gz 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c 9033 rust/crates/memoffset-0.9.0.tar.gz 608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0 99369 rust/crates/num-bigint-0.4.4.tar.gz 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9 22529 rust/crates/num-integer-0.1.45.tar.gz f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2 50130 rust/crates/num-traits-0.2.16.tar.gz dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d 32969 rust/crates/once_cell-1.18.0.tar.gz 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f 40967 rust/crates/parking_lot-0.12.1.tar.gz 93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447 32383 rust/crates/parking_lot_core-0.9.8.tar.gz e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e 10235 rust/crates/percent-encoding-2.3.1.tar.gz 7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0 140689 rust/crates/portable-atomic-1.6.0.tar.gz 95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c 45660 rust/crates/proc-macro2-1.0.76.tar.gz a7a8b1990bd018761768d5e608a13df8bd1ac5f678456e0f301bb93e5f3ea16b 503776 rust/crates/pyo3-0.21.1.tar.gz 650dca34d463b6cdbdb02b1d71bfd6eb6b6816afc708faebb3bac1380ff4aef7 30540 rust/crates/pyo3-build-config-0.21.1.tar.gz 09a7da8fc04a8a2084909b59f29e1b8474decac98b951d77b80b26dc45f046ad 66163 rust/crates/pyo3-ffi-0.21.1.tar.gz 4b8a199fce11ebb28e3569387228836ea98110e43a804a530a9fd83ade36d513 7921 rust/crates/pyo3-macros-0.21.1.tar.gz 93fbbfd7eb553d10036513cb122b888dcd362a945a00b06c165f2ab480d4cc3b 57986 rust/crates/pyo3-macros-backend-0.21.1.tar.gz d5f07cd4412be8fa09a721d40007c483981bbe072cd6a21f2e83e04ec8f8343f 66092 rust/crates/python3-dll-a-0.2.9.tar.gz 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef 28136 rust/crates/quote-1.0.35.tar.gz 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29 23404 rust/crates/redox_syscall-0.3.5.tar.gz b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15 253101 rust/crates/regex-1.10.3.tar.gz 5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd 617406 rust/crates/regex-automata-0.4.5.tar.gz c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f 347228 rust/crates/regex-syntax-0.8.2.tar.gz dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f 17267 rust/crates/rustversion-1.0.13.tar.gz fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9 46861 rust/crates/ryu-1.0.14.tar.gz d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd 11470 rust/crates/scopeguard-1.1.0.tar.gz 3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2 77087 rust/crates/serde-1.0.197.tar.gz 7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b 55771 rust/crates/serde_derive-1.0.197.tar.gz c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0 146986 rust/crates/serde_json-1.0.114.tar.gz 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 35216 rust/crates/smallvec-1.13.2.tar.gz c323c4e6fece5a5a1a2a7f726d243144cce9fbcfe3ce4d9f3c6ede726a2bc780 31499 rust/crates/speedate-0.14.0.tar.gz a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f 18480 rust/crates/static_assertions-1.1.0.tar.gz 290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125 5539 rust/crates/strum-0.25.0.tar.gz 23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0 22570 rust/crates/strum_macros-0.25.3.tar.gz 7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18 25326 rust/crates/strum_macros-0.26.1.tar.gz 0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f 250566 rust/crates/syn-2.0.48.tar.gz df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0 24532 rust/crates/target-lexicon-0.12.9.tar.gz 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50 45991 rust/crates/tinyvec-1.6.0.tar.gz 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 5865 rust/crates/tinyvec_macros-0.1.1.tar.gz 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460 44477 rust/crates/unicode-bidi-0.3.13.tar.gz 22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73 42039 rust/crates/unicode-ident-1.0.10.tar.gz 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921 122604 rust/crates/unicode-normalization-0.1.22.tar.gz c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce 7306 rust/crates/unindent-0.2.3.tar.gz 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633 78605 rust/crates/url-2.5.0.tar.gz f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a 42627 rust/crates/uuid-1.7.0.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 05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f 6902 rust/crates/windows-targets-0.48.1.tar.gz 91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc 366543 rust/crates/windows_aarch64_gnullvm-0.48.0.tar.gz b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3 671479 rust/crates/windows_aarch64_msvc-0.48.0.tar.gz 622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241 741490 rust/crates/windows_i686_gnu-0.48.0.tar.gz 4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00 730056 rust/crates/windows_i686_msvc-0.48.0.tar.gz ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1 703595 rust/crates/windows_x86_64_gnu-0.48.0.tar.gz 7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953 366536 rust/crates/windows_x86_64_gnullvm-0.48.0.tar.gz 1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a 671422 rust/crates/windows_x86_64_msvc-0.48.0.tar.gz 74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be 151096 rust/crates/zerocopy-0.7.32.tar.gz 9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6 37623 rust/crates/zerocopy-derive-0.7.32.tar.gz
Ports that require python-pydantic-core:v11
python-pydantic:v11 Data validation using Python type hints (3.11)