summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-14 07:00:09 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-06-14 07:00:09 +0000
commitd202b30367f31fee4995f1398117441bd0f45895 (patch)
tree98a2e65d6bbe448ed19e860c7500e8d0af22748f /dev-python
parent064cdad414756299d111d997ac938f264b5aa927 (diff)
downloadbaldeagleos-repo-d202b30367f31fee4995f1398117441bd0f45895.tar.gz
baldeagleos-repo-d202b30367f31fee4995f1398117441bd0f45895.tar.xz
baldeagleos-repo-d202b30367f31fee4995f1398117441bd0f45895.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiodns/Manifest1
-rw-r--r--dev-python/aiodns/aiodns-3.5.0.ebuild35
-rw-r--r--dev-python/coverage/Manifest1
-rw-r--r--dev-python/coverage/coverage-7.9.1.ebuild109
-rw-r--r--dev-python/doc8/Manifest1
-rw-r--r--dev-python/doc8/doc8-2.0.0.ebuild37
-rw-r--r--dev-python/fonttools/Manifest1
-rw-r--r--dev-python/fonttools/fonttools-4.58.4.ebuild69
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.135.9.ebuild127
-rw-r--r--dev-python/libcst/Manifest2
-rw-r--r--dev-python/libcst/libcst-1.8.2.ebuild (renamed from dev-python/libcst/libcst-1.8.0.ebuild)53
-rw-r--r--dev-python/msgpack/Manifest1
-rw-r--r--dev-python/msgpack/msgpack-1.1.1.ebuild59
-rw-r--r--dev-python/pdm/Manifest1
-rw-r--r--dev-python/pdm/pdm-2.25.0.ebuild81
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.11.6.ebuild72
-rw-r--r--dev-python/pysol-cards/Manifest1
-rw-r--r--dev-python/pysol-cards/pysol-cards-0.24.0.ebuild25
-rw-r--r--dev-python/pytest-subtests/Manifest1
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.14.2.ebuild39
-rw-r--r--dev-python/pyzmq/Manifest1
-rw-r--r--dev-python/pyzmq/pyzmq-27.0.0.ebuild87
-rw-r--r--dev-python/sqlglot/Manifest2
-rw-r--r--dev-python/sqlglot/sqlglot-26.28.1.ebuild178
26 files changed, 950 insertions, 36 deletions
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest
index 0bb52d2ee3cd..46c32b652597 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -1 +1,2 @@
DIST aiodns-3.4.0.tar.gz 11433 BLAKE2B b829639ebe3f09b75da8a94bdfd4f8ca90c21710625e8dfb029747ca2fa2ffc37a7c2f1c948b36568b26547daf06881f254d7536909556e42c5394ee13202514 SHA512 0e9d703f13676e5dc057335dc0aa41e694da28ac727e6c5662f9888f225329cc14e4e01e2dfa9e56c72a755393cbc7e70e578cfb1675f71526dfaa0e26f35d69
+DIST aiodns-3.5.0.tar.gz 14380 BLAKE2B 7b34d94e7376a0f9ddc5f002bcde64ac15dd31bec97801a35e1b1040f687d5775b5497ba7b76417c45d5cfb35b670d0bce5421e9d6703c7bffe648ee91afaf13 SHA512 0d833cd26db549a06b8bd62835bcac008e24ea4f010065186ff3ca5629c08527eb2c29e6d3f307b8db5d809b264298d3669452a782c19d2454e0b2ce394c814c
diff --git a/dev-python/aiodns/aiodns-3.5.0.ebuild b/dev-python/aiodns/aiodns-3.5.0.ebuild
new file mode 100644
index 000000000000..4aa1296948ae
--- /dev/null
+++ b/dev-python/aiodns/aiodns-3.5.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple DNS resolver for asyncio"
+HOMEPAGE="
+ https://pypi.org/project/aiodns/
+ https://github.com/aio-libs/aiodns/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND=">=dev-python/pycares-4.9.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio --asyncio-mode=auto
+}
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 848beac8f378..c5ed869863f0 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -2,3 +2,4 @@ DIST coverage-7.8.0.tar.gz 811872 BLAKE2B e2054d58c31fb772b907220d2d8a768242208e
DIST coverage-7.8.1.tar.gz 812193 BLAKE2B 09a3cfb3844395e732985b32a36c11d8aac22b994d77097e3fe37690079ca909e2ae8b0f72ac6f179eb4cbd74aeacb44ddb488ca5186c472ae2280abb7ccf4bc SHA512 208585f522a4c720e31b45b5975ea2e91c30a19d91fa0df88e9f36cc16e173bdcb19b5bc7e15da31769a0b3dd693ca951e45faccc7782fa17e8fb27133bcba7d
DIST coverage-7.8.2.tar.gz 812759 BLAKE2B 2a60c71bcfd4103f1315fb8b12e9553cc789fd83f626f1e141a0333c5373f052f5b94503c00029c809d030d433a5880432f7e3344deea3c774b48f2fcd3f960d SHA512 e36ddf3eacbe0340433e83d6449c8b497647823fdfeba8d06d7d395e2f86a6c8976f86dc71600bb3b5b58662053e13d9cad7db524d6003f477c4fae3753de04c
DIST coverage-7.9.0.tar.gz 813385 BLAKE2B d489b9f4fc6f9014703831ece08b5df4e5890a71ec39beb203f70584b56b0f57d0cc6c5bdacf186165df36329cecf2e4e8d9a192babd843f890532b80e1d9742 SHA512 055a33f3cccf95e14478b98d1b40e9fe75ba2aad89e0e2f9080ff0277b05a18bf1683fe5d4ad7b1e8ed707af078adeebb2ba24a1c06cd4f77f7c3028effdee52
+DIST coverage-7.9.1.tar.gz 813650 BLAKE2B 42ea77277135a98d812c690aad744db427d6832ff01af68197015e4ff932c7ca88d2f804c0bceaca28b86087cb24245e5f57600444d064f1f008fc8b0a2353b5 SHA512 0bccbf802cdbd7d4df7c88cd7573466b024f7fb4cbf41fc5166a3e2dd70cd107caad01529971eb061cd571faadb342de057d0929f02b3b3e513666c052ecf591
diff --git a/dev-python/coverage/coverage-7.9.1.ebuild b/dev-python/coverage/coverage-7.9.1.ebuild
new file mode 100644
index 000000000000..34b649a6eb90
--- /dev/null
+++ b/dev-python/coverage/coverage-7.9.1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+}
+
+python_compile() {
+ if ! use native-extensions; then
+ local -x COVERAGE_DISABLE_EXTENSION=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ # mismatch of expected concurrency in error message
+ # TODO: report upstream?
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
+ # packaging tests, fragile to setuptools version
+ tests/test_setup.py
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3|pypy3.11)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/doc8/Manifest b/dev-python/doc8/Manifest
index 6b97b3d1efce..23d63ef9023c 100644
--- a/dev-python/doc8/Manifest
+++ b/dev-python/doc8/Manifest
@@ -1 +1,2 @@
DIST doc8-1.1.2.tar.gz 27030 BLAKE2B 76c02acb4165bc70a5f84a68c44a1560ca2fe7eae97efe12e93f48922439ca5141028be4be78f3edaff5e25757bf668e567b77ca2f46c0844a54b085da9e3e1e SHA512 77e6dd1abe99ae993138653093458672e8af281e9c195696b67e2ba1a2d0ef4f1b77dd9f24077f159d0b6d9dbb2c78b5b24fc1a6121e2a199fe72528e3926072
+DIST doc8-2.0.0.tar.gz 28436 BLAKE2B 59763e184a76c76c195b9e6db3618e524992ff30d63356930574284f5e1cf709c0d99efbf440ad0de7d672511e5cf95db0e3eb519e05ab3633bc2dda817ed7dd SHA512 f62ddc0fe41cb144eef9f6849fee4c770e8e98318d2bc6ee1d5e888fb2c3c3a3fdb867d0dabd2b1b952dcb0c8975debb2297d4dab38d1202d9d16f0e42a89826
diff --git a/dev-python/doc8/doc8-2.0.0.ebuild b/dev-python/doc8/doc8-2.0.0.ebuild
new file mode 100644
index 000000000000..4ddf7eb1c051
--- /dev/null
+++ b/dev-python/doc8/doc8-2.0.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Style checker for Sphinx (or other) RST documentation"
+HOMEPAGE="
+ https://pypi.org/project/doc8/
+ https://github.com/PyCQA/doc8/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/restructuredtext-lint-0.7[${PYTHON_USEDEP}]
+ dev-python/stevedore[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # unpin docutils
+ sed -i -e '/docutils/s:,<=[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 2f26d10793ca..2333680ca05f 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -3,3 +3,4 @@ DIST fonttools-4.57.0.gh.tar.gz 3932468 BLAKE2B 7bfcf6aa3b5cffbba7cdabe14a580dc4
DIST fonttools-4.58.0.gh.tar.gz 3955467 BLAKE2B 0094284f90685a4e8051c84374325413269ab0207f0ecc25d3129776a226de05a82adcbf1812cc3f18b8950b49f310f7a96295812a33c8e3fecd6aa48d768efb SHA512 8d32cffb2a83b0fb2eda89a8352b7e235595c8d159adb4075941da46c3715701c1d12d0f5e0fe663c587f5c888658ab1d7b2a54cb857355848627a1c25acd0ae
DIST fonttools-4.58.1.gh.tar.gz 3959551 BLAKE2B bb3a958a359654bee709efe8d21c6e7f13c62c730aa33fdcbe2866318fe91f14ee7e6b63951f17b5ff1faa3e2b96ee934bd7e5b063242d88980d649653a682ce SHA512 f5b810668dca7ffca943fc362616784d1aecbd8f036925b2f8acb2d80997c26cf8c8127814f31f1a62bcf062d83c4a8b76ee022a146d5c2b8693cd1750732545
DIST fonttools-4.58.2.gh.tar.gz 3964058 BLAKE2B 0e367e65cd19d109db11e81020814b3b07dd7fb82068fd162ad04a7a7ee64d641991908c946f09f853b6e797b09f87bafb8870ab84750cc3d3e525083946d5d5 SHA512 f78026457be3d75be89ec6788309fc5cab9d9987b5c438bffe7059a78b5d688b6fb9a94dca9636f4c28d44a60f36cdd24bbdf1d32197d63e79b99f3108ce32a5
+DIST fonttools-4.58.4.gh.tar.gz 3964173 BLAKE2B a4813bb4bb2929c0e3f95389fd2da5729b9b484f3c19c975b2392fa6d6a489d432c86f4ac3dc7bc58e75238b1ab87292e0dd99b1cadda143bf8df61d4770e10f SHA512 746eb64dee02e77321ca60752e1dd77ff0eb4411bf907968c5118de36618f4bc857d5782c289768fee8c43f9e410f225061736509f6a5c25a829a8ee30a0995b
diff --git a/dev-python/fonttools/fonttools-4.58.4.ebuild b/dev-python/fonttools/fonttools-4.58.4.ebuild
new file mode 100644
index 000000000000..aa9e5b17ce16
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.58.4.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="
+ https://github.com/fonttools/fonttools/
+ https://pypi.org/project/fonttools/
+"
+SRC_URI="
+ https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/munkres[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
+ [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky test
+ Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest \
+ -p rerunfailures --reruns=5 \
+ Tests fontTools || die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 3a96ed114d01..efb0df5f52a8 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -5,3 +5,4 @@ DIST hypothesis-6.135.1.gh.tar.gz 9569007 BLAKE2B ceebfcbc7ae66c73251a5196f304a1
DIST hypothesis-6.135.4.gh.tar.gz 9577155 BLAKE2B 8f282d9b24d33dd4ab5da9dd22253d107dd0784bac4ee705aad362c16e2179b1cb58409e080e2f12a8bd48b7083aa7127eb648b1304b3e0a346e7a213f287b7b SHA512 139b411ec80d6b59599939740c0ab8d03f31b937502facc77edde14cd276f0520c0c7172ec04fe4f7cdbd8e884e6ecd9ecdcff716fa4d6ea216229aed7b94840
DIST hypothesis-6.135.6.gh.tar.gz 9577482 BLAKE2B bb4fdd93f35b6ae7eaecb2751ec56829e23d16b8f599717dd153e16a7abc164137fa14dcf5cb337debf81b42e5696414e284b65e608f5f38519ddf4d152587a1 SHA512 dfdae067ecbe228dbc4c1ef69e5891a3fbd3c32565e168547c34a772174465751d8655d125f38b1f26da490230095fb69e5a5fa170e218a378b319e40cdbbc13
DIST hypothesis-6.135.7.gh.tar.gz 9577596 BLAKE2B 94b7485a567c66e957a7fc4d4c8a1ce4d522be55b13103ba1b89b7bd39c08a7747bf5eb1b0c41a28b1d83baa07c949dc12ab1572a7b72d95e564eba8e03b09ae SHA512 dfcd95d534b8ac4ccd82aece57621c78c3a07680ee7de5f6c716131b84d266e18c44a0cde45b104d149eb1e9faee36ba8b3b4cdcb2564d59883738039480f798
+DIST hypothesis-6.135.9.gh.tar.gz 9578130 BLAKE2B fc0619685edd2c06d77d95ee0bb7244f62b0b262621e399e3ff7a1ef13a36c80f6d60c8b333011e9387bf04095f40519b072f1b69407e5b0a83c46d2fd7acc40 SHA512 bc69855f5d68bfd68a4915d2085505d815159d5b0757104f7634cdd3db2a2e9c5a7e8c68826864aeb15aae5b16bdb99cbafdab3e443349c3edfa86c964110bce
diff --git a/dev-python/hypothesis/hypothesis-6.135.9.ebuild b/dev-python/hypothesis/hypothesis-6.135.9.ebuild
new file mode 100644
index 000000000000..25eb21e77d45
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.135.9.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -p rerunfailures --reruns=5 \
+ tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/libcst/Manifest b/dev-python/libcst/Manifest
index 71b1d451bf02..24505dc579ea 100644
--- a/dev-python/libcst/Manifest
+++ b/dev-python/libcst/Manifest
@@ -45,8 +45,8 @@ DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629d
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289
DIST libcst-1.7.0.tar.gz 776707 BLAKE2B c5499ce8de4ed41f71b43a577b6a92d3c197512e4c600728f4267ec456f45ca7184aada15c314b372b82f2cf1b70e0aa6e76e949383afa1e09166adda1bbecbf SHA512 edd10d2883c99d58e026aff5e5929deb8cf6d2e3422d702c0b492f0ea369e2701243321b9fbe7d7217eb2f457ac09c15e2577c2cc5446dee10dfee09d558efde
-DIST libcst-1.8.0.tar.gz 778687 BLAKE2B 76d75598b30c3950414f048374351fd08292916f3dc5dcacbc579787d4002a92c958b8008bc67d7f22980d5d0a223b6526c3877fd9818fccbc75d9ceeea61d1d SHA512 c3d9b6fb82345225e053864de41d6cf1eca11c00debbf2c87551f7b6836a9890d633520ddd867495397437ce13339fd116c4fc1622c84bdbd9855af1f53266ec
DIST libcst-1.8.1.tar.gz 779211 BLAKE2B fd202f0a4e2691924e167c7bb385c56fc29a4d82e3b8adc879509e5220d4c9df4df00813311044c419240cad7bb507e5022e756cc83a27a991b082609122b3eb SHA512 7c6314db0df34ba180953236c3770e7a98c897889f881b851b907dd5b8a59eca78c07d1cd97987df9ac0f446461dd46c8c0e52a5c66b86e280588a4eb6d1ab80
+DIST libcst-1.8.2.tar.gz 881534 BLAKE2B e68e0af99c3db0e1280529bce2dacccea5c01a5d19635d195c13c128c8f485d8e4ac621de34f51a25daaa342aee58c5d0af238affb674a30465deabceda654ed SHA512 dd501de64e13dcb6cbfa4ebe8c89513cf8b2d27fa97d34b02553c1462c3052bc65253cf55a1bce1124e87108bdc834f7e7f5bc1180217a678304efa1130e2a3e
DIST linux-raw-sys-0.4.10.crate 1407767 BLAKE2B 8bc633d99bc1ee1a6fdfa19501fd034a4475fa9ebe18a206e4254309d91aee7a91fc70faf9775efa5157a1b2fb7e5f827bde40a770b066643356113f2cf38b5d SHA512 107f61add087bff55869798d5c71bc6ac9ecb27a603d8f9071b856189de8b7b0a7f9243fa1433700f52a0c3020eff5604dbf6e0653109d0dd277b98ab45fae21
DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
diff --git a/dev-python/libcst/libcst-1.8.0.ebuild b/dev-python/libcst/libcst-1.8.2.ebuild
index 8ff6677c4b5e..5964cd1ff06b 100644
--- a/dev-python/libcst/libcst-1.8.0.ebuild
+++ b/dev-python/libcst/libcst-1.8.2.ebuild
@@ -13,42 +13,35 @@ CRATES="
annotate-snippets@0.11.5
anstyle@1.0.10
autocfg@1.1.0
- bitflags@2.4.0
bumpalo@3.12.0
cast@0.3.0
- cc@1.0.83
cfg-if@1.0.0
ciborium-io@0.2.0
ciborium-ll@0.2.0
ciborium@0.2.0
- clap@4.4.0
- clap_builder@4.4.0
- clap_lex@0.5.1
+ clap@4.5.38
+ clap_builder@4.5.38
+ clap_lex@0.7.4
criterion-plot@0.5.0
- criterion@0.5.1
+ criterion@0.6.0
crossbeam-deque@0.8.1
crossbeam-epoch@0.9.9
crossbeam-utils@0.8.10
difference@2.0.0
either@1.6.1
equivalent@1.0.1
- errno-dragonfly@0.1.2
- errno@0.3.2
glob@0.3.0
half@1.8.2
hashbrown@0.14.5
heck@0.5.0
- hermit-abi@0.3.2
indexmap@2.4.0
indoc@2.0.4
- is-terminal@0.4.9
itertools@0.10.5
itertools@0.13.0
+ itertools@0.14.0
itoa@1.0.2
- js-sys@0.3.58
- lazy_static@1.4.0
+ js-sys@0.3.77
libc@0.2.149
- linux-raw-sys@0.4.10
log@0.4.17
memchr@2.7.4
memoffset@0.6.5
@@ -60,9 +53,9 @@ CRATES="
peg-macros@0.8.5
peg-runtime@0.8.5
peg@0.8.5
- plotters-backend@0.3.2
- plotters-svg@0.3.1
- plotters@0.3.1
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
portable-atomic@1.4.3
proc-macro2@1.0.95
pyo3-build-config@0.25.0
@@ -76,7 +69,7 @@ CRATES="
regex-automata@0.4.9
regex-syntax@0.8.5
regex@1.11.1
- rustix@0.38.19
+ rustversion@1.0.21
ryu@1.0.10
same-file@1.0.6
scopeguard@1.1.0
@@ -84,7 +77,6 @@ CRATES="
serde_derive@1.0.208
serde_json@1.0.125
serde_spanned@0.6.7
- syn@1.0.109
syn@2.0.101
target-lexicon@0.13.2
target-triple@0.1.4
@@ -96,29 +88,20 @@ CRATES="
toml_datetime@0.6.8
toml_edit@0.22.20
trybuild@1.0.105
- unicode-ident@1.0.1
+ unicode-ident@1.0.18
unicode-width@0.2.0
unindent@0.2.3
walkdir@2.3.2
- wasm-bindgen-backend@0.2.81
- wasm-bindgen-macro-support@0.2.81
- wasm-bindgen-macro@0.2.81
- wasm-bindgen-shared@0.2.81
- wasm-bindgen@0.2.81
- web-sys@0.3.58
+ wasm-bindgen-backend@0.2.100
+ wasm-bindgen-macro-support@0.2.100
+ wasm-bindgen-macro@0.2.100
+ wasm-bindgen-shared@0.2.100
+ wasm-bindgen@0.2.100
+ web-sys@0.3.77
winapi-i686-pc-windows-gnu@0.4.0
winapi-util@0.1.5
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
- windows-sys@0.48.0
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
winnow@0.6.18
"
@@ -135,7 +118,7 @@ SRC_URI+="
LICENSE="MIT Apache-2.0 PSF-2"
# Dependent crate licenses
-LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT"
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
SLOT="0"
KEYWORDS="~amd64 ~riscv"
diff --git a/dev-python/msgpack/Manifest b/dev-python/msgpack/Manifest
index 553e551ceea3..9e64b005fb36 100644
--- a/dev-python/msgpack/Manifest
+++ b/dev-python/msgpack/Manifest
@@ -1,2 +1,3 @@
DIST msgpack-1.1.0.tar.gz 167260 BLAKE2B fd6497ce248fabae481de41cb27bccf001e75425564f16caff9f5dceb52d82949481589a92635f4c25178f03002daf604073fc2bb07c8133e81a8ee2f1ccb7c4 SHA512 2af3a6ae9a68a0261bf1cbb5ca6925004b421241c445d17023976fe38738049458937a578828cdf3c1f2fd19dfbbcceb21762957bfd459d6862adb110cad3faa
+DIST msgpack-1.1.1.tar.gz 173555 BLAKE2B 972ea4174b8b7c91c529c2db55483441fc1fd6c2964b145b73784f877f8699cd26829fd0d77574fb52af50ed3f8a0ac1b815cb67b24f751079ca2a430cec0b45 SHA512 dbd1055dd4b22b43193d381e7e15ff6e8dbb49f04d111bef84555429accc2bd1609359f72604bf0c1859d0b5f2e275d16773a0f8efd50ccebb5984c8b9e84309
DIST msgpack-1.1.1rc1.tar.gz 172690 BLAKE2B cb64398a412efb0567a69c62bbc3c9e268b1aea8718c6c690e894a238a7a0cdd7bc3b6c78329140a8073a0aad74fa5f16c7dcb5673a806fe1fec483bc2e1f6ed SHA512 5916bb4af272c2eb9169569ae75b6108b4567094db3645dd0d3d5d554d1e3cb71fa6c3c1ca6facbf2dfb3b0ca9b08cf21721cf2c5b6ed0d9b8f08db25df1c91a
diff --git a/dev-python/msgpack/msgpack-1.1.1.ebuild b/dev-python/msgpack/msgpack-1.1.1.ebuild
new file mode 100644
index 000000000000..23971cfae761
--- /dev/null
+++ b/dev-python/msgpack/msgpack-1.1.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="MessagePack (de)serializer for Python"
+HOMEPAGE="
+ https://msgpack.org/
+ https://github.com/msgpack/msgpack-python/
+ https://pypi.org/project/msgpack/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+# extension code is relying on CPython implementation details
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Remove pre-generated cython files
+ rm msgpack/_cmsgpack.c || die
+
+ # native-extensions are always disabled on PyPy
+ # https://github.com/msgpack/msgpack-python/blob/main/setup.py#L76
+ if ! use native-extensions; then
+ export MSGPACK_PUREPYTHON=1
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ if [[ ${EPYTHON} == python* && ! -f msgpack/_cmsgpack.c ]] &&
+ use native-extensions
+ then
+ cython -v msgpack/_cmsgpack.pyx || die
+ fi
+}
+
+python_test() {
+ rm -rf msgpack || die
+ epytest
+}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index e0be67dd15dc..fb881cf06e17 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1,2 +1,3 @@
DIST pdm-2.24.1.tar.gz 2655876 BLAKE2B 557a1a8dac5fe2770a46f9f9baf17ee334795c88f17347924b5450dd681ac90da8c13f184020ee1d200d3d41bc91a6dadde98c210f3a7707c2ee8c83418b917c SHA512 5e41ffeeb8ebf431c840b156caa72e86c22313589f31430258c5002508cb9956f2bbf723c168697721bedb79af7d90bed54a00d53ad1a226f613324830a32146
DIST pdm-2.24.2.tar.gz 2657737 BLAKE2B 8652b489d25f7b0bb3b60bf49ed136985b96aa2b7ac4fcbbe6e958e3dfe835dbc56684dd1a1a398bf103d91145dbccc377fb88e1d50ed045aebcf551917e092a SHA512 46c26f2384cefe73e361ee442b60dede14ecb14bd04844578f9b9fbda919f016026269d08776da70fb0f7bce41c061ba3b0874ef81c4d0eaf70a7e270c1cbcf2
+DIST pdm-2.25.0.tar.gz 2662202 BLAKE2B d42f3344904f87f83d6e24fb7a46d27a2981da7c68acc099cb5759f14f03f0191622dfe4c5abe5408340868d889dcdec632597019b858c99e9dfdf952dd29673 SHA512 6b57f7d3ce69fa6b7de1e6b93f7defecd181b6f445a2075999faa9a45be87f79a54bbcb03e415ec2c6448eb3abde411c2a1de0ca163e45a5accbac105d21415c
diff --git a/dev-python/pdm/pdm-2.25.0.ebuild b/dev-python/pdm/pdm-2.25.0.ebuild
new file mode 100644
index 000000000000..8e5f6e7bb25b
--- /dev/null
+++ b/dev-python/pdm/pdm-2.25.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.5[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/blinker[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ >=dev-python/hishel-0.0.32[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-1.0.6[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/id-1.5.0[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2025.06.06[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.1[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.17.5[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/pytest-httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/uv
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin deps
+ sed -i -e 's:,<[0-9.a]*::' pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ # unhappy about extra packages being installed?
+ # (also fails randomly in venv)
+ tests/cli/test_build.py::test_build_with_no_isolation
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock -p pytest_httpx -p pytest_httpserver
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index c0dde1e83be7..c6741bfbc269 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1,3 +1,4 @@
DIST pydantic-2.10.6.tar.gz 761681 BLAKE2B 1ddb057cd40f50d09dc870aae937bc4d5d41529601c26b84bbd5223d75adca43e14e779ef40ef88dbeab3dc66ae960b662a3244ffa38bf8718d6f9d50b966aed SHA512 69c5cdfb9047875497cf2ac0107f0aaa8d1d91a354d514277e913cc13081e1a76f72a154b50339c95240c82d2a262f4b8dcf71c1e5762449bd344054dba449ce
DIST pydantic-2.11.4.tar.gz 786540 BLAKE2B cb040a3707cfcbb4864096cad4d990fb9d4302c0ffe4db3d9d4f3e98a78785099920c32d6ad0d62dfda5883bdb1d398e10e45320ff732f39ff6e1404c3443cbf SHA512 f77d0ecc432d222d07b2ed0ff30fcb1f569b3f9ed067db9fc921db5de650d12babf02b36a369d7cb436c99053cfea3d96a8cc02e1b1880575085db1296446655
DIST pydantic-2.11.5.tar.gz 787102 BLAKE2B 929b28c70774b9e456cb35a37c8d28fc3728bc9ba7b29554ad295c55f1834a5e5dd6534a0e1cd7ac30ab8fedcf074908f35d1940fc8ed13597c749a1c319cdbe SHA512 6ff5b0953d383518cadfab4cc1d84395e100c76e70da8c7d861b89eee308dca29021393e24dabe0f278b09886cc64015b354a42a35ba5873287830f7533160f1
+DIST pydantic-2.11.6.tar.gz 787868 BLAKE2B afba6c6c031086a95f07e7bd0a8932b5da632e4e3065536b7e81854a6253877575dc3624ff87b4ceaab119cd3ac70b4868b1acfff65f35c902864310e9de699e SHA512 5e6e2cd212411929da063ec3fce473cf8f77f20763ba19747a458ab8520b1d68223bc5415e0b2355a1fb0c5c0cdb50b2d054af97c4b54bce79e98079eecbb32c
diff --git a/dev-python/pydantic/pydantic-2.11.6.ebuild b/dev-python/pydantic/pydantic-2.11.6.ebuild
new file mode 100644
index 000000000000..6dc86b4a464f
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.11.6.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+# py3.14: https://github.com/pydantic/pydantic/issues/11613
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.33.2[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.0[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/faker-18.13.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # -Werror, sigh
+ tests/test_types_typeddict.py::test_readonly_qualifier_warning
+ )
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pysol-cards/Manifest b/dev-python/pysol-cards/Manifest
index ee5a8137ab69..c03872c0c53b 100644
--- a/dev-python/pysol-cards/Manifest
+++ b/dev-python/pysol-cards/Manifest
@@ -1 +1,2 @@
DIST pysol_cards-0.22.0.tar.gz 18704 BLAKE2B e504ff49003e5c3c4ca0176d7497edc1e4e8f6ca5f3ca79e589fad71ac3cd8ce728206f92fed8a76054c2ebc37236a27450489554ca359b08dd0c41033bace26 SHA512 13c24c5b957c6d31a8058d48f8f7adb6c3cc2bc0a416fcb82f2608cef054e7a87260faa32706ab15f735136bf2937bb2c53ae4c2858e240ccaac6984f1486942
+DIST pysol_cards-0.24.0.tar.gz 20541 BLAKE2B 896f1f41dd135adce02649a07ed937f9ee2287224d1ec3c10eca2c28856483c7081144af24bdfee82207e0ec695f763cd375e85b82f15181b64ff00beaaa5010 SHA512 a03c8ad39838f4808c1a68f869969ba54f7f09dc3166e397adb9d134e51d7e7382e3a1d8074ca480544deb8746f59e32b00b846172e35127b7c227d3ede14e01
diff --git a/dev-python/pysol-cards/pysol-cards-0.24.0.ebuild b/dev-python/pysol-cards/pysol-cards-0.24.0.ebuild
new file mode 100644
index 000000000000..a44cc44ab396
--- /dev/null
+++ b/dev-python/pysol-cards/pysol-cards-0.24.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Deal PySol FreeCell cards"
+HOMEPAGE="
+ https://github.com/shlomif/pysol_cards/
+ https://pypi.org/project/pysol-cards/
+"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s tests
+}
diff --git a/dev-python/pytest-subtests/Manifest b/dev-python/pytest-subtests/Manifest
index a92ef63397c1..3181f6456594 100644
--- a/dev-python/pytest-subtests/Manifest
+++ b/dev-python/pytest-subtests/Manifest
@@ -1 +1,2 @@
DIST pytest_subtests-0.14.1.tar.gz 17632 BLAKE2B 5a9013e1126ce921b1cc5932e2e743827f382f2566fb573c75bc040e806dd64e196a1c49ad1e4eabf13925ed82e68749e6d842f0d03098ab6bce4857134c581e SHA512 f79afa0747334ad885e4e592b2b4ff1381d00fb282ab24c785afe681120e2a9670dbcd7627bd9041cd24922a96146d8be30f0e221b4a6ee8bef8aa7b52038544
+DIST pytest_subtests-0.14.2.tar.gz 18083 BLAKE2B f647716e3c8cba94cc28edc14e26c904da65a4a466870f2db0aa835018e03b0c6ff6965e3b8cfb60b50a0bceaac8b031c33abafdb194dfda657bb2d27e211fc9 SHA512 f534cb010ec232bdbe8c1ada93809a2a91e6c91058cd3538a71f6b265563ab332bf13c32af09b67cc9efd45222acbfb75df6a79dec0d6a18bea2fa564ba15625
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.14.2.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.14.2.ebuild
new file mode 100644
index 000000000000..b3d9d1d03711
--- /dev/null
+++ b/dev-python/pytest-subtests/pytest-subtests-0.14.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest subTest() support and subtests fixture"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-subtests/
+ https://pypi.org/project/pytest-subtests/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.4[${PYTHON_USEDEP}]
+"
+# pytest-xdist is used to test compatibility
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_subtests.plugin
+ epytest
+}
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index a4dc52007e35..c3f20969c12b 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,2 @@
DIST pyzmq-26.4.0.gh.tar.gz 279710 BLAKE2B 45d798d8abeed1ebcaa39c1a53f4669a84e1fbd6b6e3df1444d60e6615e684557f5106c1b540447946977bf88c900f765b9ffda9c790bbfb08a45b072ef74183 SHA512 8a90e81ac3e6819ca559bd7b9a5261967f8082da257a79288c7fada32611b72d96a03ad53177894446ee5559a8a763b1a1c97b98e236d120f678d8fa0623f42c
+DIST pyzmq-27.0.0.gh.tar.gz 281941 BLAKE2B ced2cd9c90db1bb3021c3216f5102131e7d60800f3e3db64ea6f646d5972f84c84161f2b62f779fc0ce57b07c430b889654176b1bdfa8634171289933631b894 SHA512 91a91cae21643018d57f9c239719be5a4a644422c12b09860aa8f124d8fc81a60e07581481dc29eef6523e5aac37e253aacc057b5cc9c9ce6c5937256044f1e3
diff --git a/dev-python/pyzmq/pyzmq-27.0.0.ebuild b/dev-python/pyzmq/pyzmq-27.0.0.ebuild
new file mode 100644
index 000000000000..654fe46a0dee
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-27.0.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+src_configure() {
+ DISTUTILS_ARGS=(
+ -DZMQ_DRAFT_API="$(usex drafts)"
+ -DPYZMQ_NO_BUNDLE=ON
+ # unnecessarily adds /usr/lib* to rpath
+ -DPYZMQ_LIBZMQ_RPATH=OFF
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # often crashes zmq?
+ tests/test_log.py::TestPubLog
+ )
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf zmq || die
+ # avoid large to reduce memory consumption
+ epytest -p asyncio -p rerunfailures tests -m "not large"
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index c797e9640892..9f7ea089a5ae 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -2,3 +2,5 @@ DIST sqlglot-26.26.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df
DIST sqlglot-26.26.0.tar.gz 5325725 BLAKE2B 76d9228de4adf49f22fd2f07287f42fbfa2874629aae0d8daf061aa1e7eeb96448435754ed21d9a843c2cda7396fb9a68db6dd58b09029af0eb1150006af9f4c SHA512 f0b2c53ce5a4e365fdb6debda7e0356d87cd1b4ecca9c2af2d7b9834f682cb6c2fb353e72f855b3a9c5c3bbf9bab52d8f314926c8a3ad5a4fce47b8b23bfb824
DIST sqlglot-26.28.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
DIST sqlglot-26.28.0.tar.gz 5330028 BLAKE2B 45e1ed1ae073941ceb505b23addefe506c4969606d2ca544274b886fe21a7ebe5b28224fdcd27349a5ad3f8418dff38e43b2b14be8e7b04151baa9d89cea8b2c SHA512 0964cfbac97c6032b0d3cb761ab181908e4dee11c82d7b614a5544c4c90ea290d516b5cc7ccb270fb5285021a6850beab2a41a92fc7e9d5e5eaa53b9f8dbcdae
+DIST sqlglot-26.28.1-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
+DIST sqlglot-26.28.1.tar.gz 5331324 BLAKE2B fe791705cfa2a6aafa6f5ba796c8c347a4a071bf4adb5081a0cae2519156e082c86a6c9b386704046334b74609a99f7efccf26c07e6333d7d0587ab87ed794b9 SHA512 1940d7f0a3646c5328af52652cf08e1f5ca9dfd150d8336f5e3bec3d7b19b73e73134d89b6caeecb02be03334dada6079f535d9f32e781e7e8d2282a38760c75
diff --git a/dev-python/sqlglot/sqlglot-26.28.1.ebuild b/dev-python/sqlglot/sqlglot-26.28.1.ebuild
new file mode 100644
index 000000000000..84a615136142
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-26.28.1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bumpalo@3.16.0
+ cast@0.3.0
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.23
+ clap_builder@4.5.23
+ clap_lex@0.7.4
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ crunchy@0.2.2
+ either@1.13.0
+ half@2.4.1
+ heck@0.5.0
+ hermit-abi@0.4.0
+ indoc@2.0.4
+ is-terminal@0.4.13
+ itertools@0.10.5
+ itoa@1.0.14
+ js-sys@0.3.76
+ libc@0.2.169
+ log@0.4.22
+ memchr@2.7.4
+ memoffset@0.9.0
+ num-traits@0.2.19
+ once_cell@1.19.0
+ oorandom@11.1.4
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.25.0
+ pyo3-ffi@0.25.0
+ pyo3-macros-backend@0.25.0
+ pyo3-macros@0.25.0
+ pyo3@0.25.0
+ quote@1.0.37
+ rayon-core@1.12.1
+ rayon@1.10.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustc-hash@2.1.0
+ ryu@1.0.18
+ same-file@1.0.6
+ serde@1.0.216
+ serde_derive@1.0.216
+ serde_json@1.0.133
+ syn@2.0.87
+ target-lexicon@0.13.2
+ tinytemplate@1.2.1
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen@0.2.99
+ web-sys@0.3.76
+ winapi-util@0.1.9
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${PV}/${P}-crates.tar.xz
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ local DISTUTILS_UPSTREAM_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # timing, sigh
+ # https://github.com/tobymao/sqlglot/issues/3961
+ tests/test_generator.py::TestGenerator::test_generate_nested_binary
+ )
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}