git: a8cef7f5cb4d - main - devel/py-pydantic-core: Add py-pydantic-core 0.28.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 07 May 2023 16:12:55 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a8cef7f5cb4dcafb974e2beab4e72b185d0909e0

commit a8cef7f5cb4dcafb974e2beab4e72b185d0909e0
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-05-07 16:03:07 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-05-07 16:03:07 +0000

    devel/py-pydantic-core: Add py-pydantic-core 0.28.0
    
    pydantic-core provides the core functionality for pydantic. The package is
    currently a work in progress and subject to significant change. There is, as
    yet, no integration with pydantic, so schemas can only be defined via
    dictionaries.
---
 devel/Makefile                                    |   1 +
 devel/py-pydantic-core/Makefile                   |  32 +++++
 devel/py-pydantic-core/Makefile.crates            |  66 +++++++++++
 devel/py-pydantic-core/distinfo                   | 135 ++++++++++++++++++++++
 devel/py-pydantic-core/files/patch-pyproject.toml |   9 ++
 devel/py-pydantic-core/pkg-descr                  |   4 +
 6 files changed, 247 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 04d56cf6aee3..680eaa718168 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5187,6 +5187,7 @@
     SUBDIR += py-pycomplete
     SUBDIR += py-pycparser
     SUBDIR += py-pydantic
+    SUBDIR += py-pydantic-core
     SUBDIR += py-pydash
     SUBDIR += py-pydecor
     SUBDIR += py-pydenticon
diff --git a/devel/py-pydantic-core/Makefile b/devel/py-pydantic-core/Makefile
new file mode 100644
index 000000000000..74d565958a5a
--- /dev/null
+++ b/devel/py-pydantic-core/Makefile
@@ -0,0 +1,32 @@
+PORTNAME=	pydantic-core
+PORTVERSION=	0.28.0
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTFILES=	pydantic_core-${PORTVERSION}${EXTRACT_SUFX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Core functionality for pydantic
+WWW=		https://github.com/pydantic/pydantic-core
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}maturin>=0.13<0.15:devel/py-maturin@${PY_FLAVOR}
+
+USES=		cargo python:3.7+
+USE_PYTHON=	autoplist concurrent pep517
+
+BINARY_ALIAS=	python3=${PYTHON_CMD}
+CARGO_BUILD=	no
+CARGO_INSTALL=	no
+WRKSRC=		${WRKDIR}/pydantic_core-${PORTVERSION}
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 31100
+BUILD_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/devel/py-pydantic-core/Makefile.crates b/devel/py-pydantic-core/Makefile.crates
new file mode 100644
index 000000000000..f75a268beec2
--- /dev/null
+++ b/devel/py-pydantic-core/Makefile.crates
@@ -0,0 +1,66 @@
+CARGO_CRATES=	ahash-0.8.3 \
+		aho-corasick-0.7.20 \
+		autocfg-1.1.0 \
+		base64-0.13.1 \
+		bitflags-1.3.2 \
+		cc-1.0.79 \
+		cfg-if-1.0.0 \
+		enum_dispatch-0.3.11 \
+		form_urlencoded-1.1.0 \
+		getrandom-0.2.8 \
+		hashbrown-0.12.3 \
+		heck-0.4.1 \
+		idna-0.3.0 \
+		indexmap-1.9.3 \
+		indoc-1.0.9 \
+		itoa-1.0.6 \
+		libc-0.2.140 \
+		libmimalloc-sys-0.1.30 \
+		lock_api-0.4.9 \
+		memchr-2.5.0 \
+		memoffset-0.8.0 \
+		mimalloc-0.1.34 \
+		once_cell-1.17.1 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.7 \
+		percent-encoding-2.2.0 \
+		proc-macro2-1.0.56 \
+		pyo3-0.18.2 \
+		pyo3-build-config-0.18.2 \
+		pyo3-ffi-0.18.2 \
+		pyo3-macros-0.18.2 \
+		pyo3-macros-backend-0.18.2 \
+		python3-dll-a-0.2.6 \
+		quote-1.0.26 \
+		redox_syscall-0.2.16 \
+		regex-1.7.3 \
+		regex-syntax-0.6.29 \
+		rustversion-1.0.12 \
+		ryu-1.0.13 \
+		scopeguard-1.1.0 \
+		serde-1.0.159 \
+		serde_json-1.0.95 \
+		smallvec-1.10.0 \
+		speedate-0.7.0 \
+		strum-0.24.1 \
+		strum_macros-0.24.3 \
+		syn-1.0.109 \
+		target-lexicon-0.12.6 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		unicode-bidi-0.3.13 \
+		unicode-ident-1.0.8 \
+		unicode-normalization-0.1.22 \
+		unindent-0.1.11 \
+		url-2.3.1 \
+		version_check-0.9.4 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		windows-sys-0.45.0 \
+		windows-targets-0.42.2 \
+		windows_aarch64_gnullvm-0.42.2 \
+		windows_aarch64_msvc-0.42.2 \
+		windows_i686_gnu-0.42.2 \
+		windows_i686_msvc-0.42.2 \
+		windows_x86_64_gnu-0.42.2 \
+		windows_x86_64_gnullvm-0.42.2 \
+		windows_x86_64_msvc-0.42.2
diff --git a/devel/py-pydantic-core/distinfo b/devel/py-pydantic-core/distinfo
new file mode 100644
index 000000000000..39d4df71b995
--- /dev/null
+++ b/devel/py-pydantic-core/distinfo
@@ -0,0 +1,135 @@
+TIMESTAMP = 1683227575
+SHA256 (pydantic_core-0.28.0.tar.gz) = ebe31dd5f1151b5ba3924b374fd6f89db21e165f50ecf70201307f08c35a24bd
+SIZE (pydantic_core-0.28.0.tar.gz) = 285373
+SHA256 (rust/crates/ahash-0.8.3.crate) = 2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f
+SIZE (rust/crates/ahash-0.8.3.crate) = 42416
+SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
+SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/cc-1.0.79.crate) = 50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f
+SIZE (rust/crates/cc-1.0.79.crate) = 62624
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/enum_dispatch-0.3.11.crate) = 11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2
+SIZE (rust/crates/enum_dispatch-0.3.11.crate) = 22247
+SHA256 (rust/crates/form_urlencoded-1.1.0.crate) = a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8
+SIZE (rust/crates/form_urlencoded-1.1.0.crate) = 8734
+SHA256 (rust/crates/getrandom-0.2.8.crate) = c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31
+SIZE (rust/crates/getrandom-0.2.8.crate) = 30553
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+SHA256 (rust/crates/indoc-1.0.9.crate) = bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306
+SIZE (rust/crates/indoc-1.0.9.crate) = 13475
+SHA256 (rust/crates/itoa-1.0.6.crate) = 453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6
+SIZE (rust/crates/itoa-1.0.6.crate) = 10410
+SHA256 (rust/crates/libc-0.2.140.crate) = 99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c
+SIZE (rust/crates/libc-0.2.140.crate) = 669153
+SHA256 (rust/crates/libmimalloc-sys-0.1.30.crate) = dd8c7cbf8b89019683667e347572e6d55a7df7ea36b0c4ce69961b0cde67b174
+SIZE (rust/crates/libmimalloc-sys-0.1.30.crate) = 1146717
+SHA256 (rust/crates/lock_api-0.4.9.crate) = 435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df
+SIZE (rust/crates/lock_api-0.4.9.crate) = 25685
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/memoffset-0.8.0.crate) = d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1
+SIZE (rust/crates/memoffset-0.8.0.crate) = 8912
+SHA256 (rust/crates/mimalloc-0.1.34.crate) = 9dcb174b18635f7561a0c6c9fc2ce57218ac7523cf72c50af80e2d79ab8f3ba1
+SIZE (rust/crates/mimalloc-0.1.34.crate) = 5012
+SHA256 (rust/crates/once_cell-1.17.1.crate) = b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3
+SIZE (rust/crates/once_cell-1.17.1.crate) = 32856
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.7.crate) = 9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521
+SIZE (rust/crates/parking_lot_core-0.9.7.crate) = 32412
+SHA256 (rust/crates/percent-encoding-2.2.0.crate) = 478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e
+SIZE (rust/crates/percent-encoding-2.2.0.crate) = 10075
+SHA256 (rust/crates/proc-macro2-1.0.56.crate) = 2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435
+SIZE (rust/crates/proc-macro2-1.0.56.crate) = 44454
+SHA256 (rust/crates/pyo3-0.18.2.crate) = cfb848f80438f926a9ebddf0a539ed6065434fd7aae03a89312a9821f81b8501
+SIZE (rust/crates/pyo3-0.18.2.crate) = 418755
+SHA256 (rust/crates/pyo3-build-config-0.18.2.crate) = 98a42e7f42e917ce6664c832d5eee481ad514c98250c49e0b03b20593e2c7ed0
+SIZE (rust/crates/pyo3-build-config-0.18.2.crate) = 29138
+SHA256 (rust/crates/pyo3-ffi-0.18.2.crate) = a0707f0ab26826fe4ccd59b69106e9df5e12d097457c7b8f9c0fd1d2743eec4d
+SIZE (rust/crates/pyo3-ffi-0.18.2.crate) = 62903
+SHA256 (rust/crates/pyo3-macros-0.18.2.crate) = 978d18e61465ecd389e1f235ff5a467146dc4e3c3968b90d274fe73a5dd4a438
+SIZE (rust/crates/pyo3-macros-0.18.2.crate) = 7173
+SHA256 (rust/crates/pyo3-macros-backend-0.18.2.crate) = 8e0e1128f85ce3fca66e435e08aa2089a2689c1c48ce97803e13f63124058462
+SIZE (rust/crates/pyo3-macros-backend-0.18.2.crate) = 48722
+SHA256 (rust/crates/python3-dll-a-0.2.6.crate) = a915bd72824962bf190bbd3e8a044cccb695d1409f73ff5493712eda5136c7a8
+SIZE (rust/crates/python3-dll-a-0.2.6.crate) = 56866
+SHA256 (rust/crates/quote-1.0.26.crate) = 4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc
+SIZE (rust/crates/quote-1.0.26.crate) = 28397
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/regex-1.7.3.crate) = 8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d
+SIZE (rust/crates/regex-1.7.3.crate) = 239886
+SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1
+SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
+SHA256 (rust/crates/rustversion-1.0.12.crate) = 4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06
+SIZE (rust/crates/rustversion-1.0.12.crate) = 17278
+SHA256 (rust/crates/ryu-1.0.13.crate) = f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041
+SIZE (rust/crates/ryu-1.0.13.crate) = 46823
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/serde-1.0.159.crate) = 3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065
+SIZE (rust/crates/serde-1.0.159.crate) = 77014
+SHA256 (rust/crates/serde_json-1.0.95.crate) = d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744
+SIZE (rust/crates/serde_json-1.0.95.crate) = 144618
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/speedate-0.7.0.crate) = 9ddae0c66b5fc0cceffae4ef2f7ad9f9f7636d3d0d3599ba849db08eb1a313b9
+SIZE (rust/crates/speedate-0.7.0.crate) = 26111
+SHA256 (rust/crates/strum-0.24.1.crate) = 063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f
+SIZE (rust/crates/strum-0.24.1.crate) = 5636
+SHA256 (rust/crates/strum_macros-0.24.3.crate) = 1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59
+SIZE (rust/crates/strum_macros-0.24.3.crate) = 20696
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/target-lexicon-0.12.6.crate) = 8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5
+SIZE (rust/crates/target-lexicon-0.12.6.crate) = 24357
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460
+SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477
+SHA256 (rust/crates/unicode-ident-1.0.8.crate) = e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4
+SIZE (rust/crates/unicode-ident-1.0.8.crate) = 41962
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unindent-0.1.11.crate) = e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c
+SIZE (rust/crates/unindent-0.1.11.crate) = 7700
+SHA256 (rust/crates/url-2.3.1.crate) = 0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643
+SIZE (rust/crates/url-2.3.1.crate) = 72777
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0
+SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659
+SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
+SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43
+SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981
+SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f
+SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236
+SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060
+SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36
+SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0
+SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936
diff --git a/devel/py-pydantic-core/files/patch-pyproject.toml b/devel/py-pydantic-core/files/patch-pyproject.toml
new file mode 100644
index 000000000000..1802e5323dc3
--- /dev/null
+++ b/devel/py-pydantic-core/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig	2023-04-18 07:57:46 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ['maturin>=0.14.16,<0.15', 'typing_extensions']
++requires = ['maturin>=0.13,<0.15']
+ build-backend = 'maturin'
+ 
+ [project]
diff --git a/devel/py-pydantic-core/pkg-descr b/devel/py-pydantic-core/pkg-descr
new file mode 100644
index 000000000000..1e293dab7543
--- /dev/null
+++ b/devel/py-pydantic-core/pkg-descr
@@ -0,0 +1,4 @@
+pydantic-core provides the core functionality for pydantic. The package is
+currently a work in progress and subject to significant change. There is, as
+yet, no integration with pydantic, so schemas can only be defined via
+dictionaries.