summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-07 07:54:08 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-07 07:54:08 +0000
commit64fd37fe392cfc87edb8c374da73ef1ad3b176f3 (patch)
tree6804044a2556f14df5bab15f50e0cad022d9e0f4 /dev-python
parent1cac02e9d606a290b8620320118b320a0050cde9 (diff)
downloadbaldeagleos-repo-64fd37fe392cfc87edb8c374da73ef1ad3b176f3.tar.gz
baldeagleos-repo-64fd37fe392cfc87edb8c374da73ef1ad3b176f3.tar.xz
baldeagleos-repo-64fd37fe392cfc87edb8c374da73ef1ad3b176f3.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/bitarray/Manifest1
-rw-r--r--dev-python/bitarray/bitarray-3.4.0.ebuild24
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.38.10.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.38.10.ebuild67
-rw-r--r--dev-python/fakeredis/Manifest1
-rw-r--r--dev-python/fakeredis/fakeredis-2.29.0.ebuild92
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.131.12.ebuild116
-rw-r--r--dev-python/jupyterlab/Manifest1
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.4.2.ebuild81
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/nbclassic/Manifest1
-rw-r--r--dev-python/nbclassic/nbclassic-1.3.1.ebuild92
-rw-r--r--dev-python/nltk/Manifest7
-rw-r--r--dev-python/nltk/files/python-3.12.patch282
-rw-r--r--dev-python/nltk/metadata.xml11
-rw-r--r--dev-python/nltk/nltk-3.8.1.ebuild49
-rw-r--r--dev-python/nltk/nltk-3.9.1.ebuild33
-rw-r--r--dev-python/notebook/Manifest1
-rw-r--r--dev-python/notebook/notebook-7.4.2.ebuild66
-rw-r--r--dev-python/orderly-set/Manifest1
-rw-r--r--dev-python/orderly-set/orderly-set-5.4.1.ebuild29
-rw-r--r--dev-python/oslotest/Manifest1
-rw-r--r--dev-python/oslotest/oslotest-5.0.1.ebuild35
-rw-r--r--dev-python/pudb/Manifest1
-rw-r--r--dev-python/pudb/pudb-2025.1.ebuild40
-rw-r--r--dev-python/urwid/Manifest1
-rw-r--r--dev-python/urwid/urwid-3.0.0.ebuild40
33 files changed, 781 insertions, 379 deletions
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index 0b40ba98c86a..3a0446b53d1d 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1,2 +1,3 @@
DIST bitarray-3.3.1.tar.gz 139152 BLAKE2B 30ea76a65480a8849e727aee74e70222eaedb70046eff3fd74687e74bdfa0aeb32a0034b2feffbc5f13246e38794dfd4db0ffa3b3437a309e3b5a92755e98f76 SHA512 099095b89b1b7a600d191d1ec6c0ffc79867d5d35b08cbc92ddbe96f1032ca86d30a16fb3f23ca71919c1924b147ada71365550bd518b71c8a030dd0ae636028
DIST bitarray-3.3.2.tar.gz 138926 BLAKE2B 35f068220f661bdb0fe2405d770e65bd39d78ae8ca0081aa5ccf58fb3666dec01e39c044901fdd5b3b65aab987768bd683033cd8aaf9d2f7728a8c43493e2101 SHA512 876c16e0a13db40e46ea643bfe82d85bcf33ad7154fb2d0d3c0065507758bdaa556b078e666fb7565402dbd168d591edef3577fa142bca1e53cc60d2aefc5ca0
+DIST bitarray-3.4.0.tar.gz 141279 BLAKE2B 55b0b2183a35679b32b6e5cd4f614cb242d64126e7f8ce42e47c24f36cfd077fee13942dc06372accbbb4aa0f649c541124e46cea874ecb55468cb74beeb8314 SHA512 d53fa1000a17a800def08758ba38562a4a86100a58151955179803e0e0bcaea8797fb971614b4ffd4b14d1aadeb21004492bd03ed1f94a3f0dd8f64e593fd0f1
diff --git a/dev-python/bitarray/bitarray-3.4.0.ebuild b/dev-python/bitarray/bitarray-3.4.0.ebuild
new file mode 100644
index 000000000000..aea47d8e463c
--- /dev/null
+++ b/dev-python/bitarray/bitarray-3.4.0.ebuild
@@ -0,0 +1,24 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient arrays of booleans -- C extension"
+HOMEPAGE="
+ https://github.com/ilanschnell/bitarray/
+ https://pypi.org/project/bitarray/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 2659b76b01a0..a76002434ab7 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,4 +1,5 @@
DIST boto3-1.37.37.gh.tar.gz 930327 BLAKE2B 93ed4e903189a9620f13e71fe64557ebcfa5c696688b4a21fc4de0f9d21f51fd3b9c9dafa4a5dc91fc88165c14207b17b3f121e9eebdf1c1ab7e55472573d2ec SHA512 e19700633ccf6be76ab1baa0811c24d36aba7e0b8f1933fc10d1dc67d73ec0cd66a4c45ace1f2bdf815c3b35ffafaff2ce7ce9a4678e7f57984039f96d0f9fa0
+DIST boto3-1.38.10.gh.tar.gz 937983 BLAKE2B 3e82c1f7e1de9ff61a0db1124d265a03d48abe8ed251a7981e378a3108e500593fbc31ee18e5533f94254e386558ce93b0ddc706d74ce457cfa22c34e496d4cf SHA512 635fb20ecead040d9a81e4738a9464210c9c31018c6bebc66f6f5893b68e924c12eb48cdcce55ce49faaf1d3a3ac9f7c07cfc56aee9b26713893d1dc5e43dc06
DIST boto3-1.38.3.gh.tar.gz 934010 BLAKE2B f5008a63aec620385e06c15e97ea37335bba190e5a29920c14389ae0dfc0e09a70ce70f8b50c0d25feda3defd9e855739305d19df7759688c156f53fc698b533 SHA512 8f300e38c7912f5df00431c1b70494521ac49500512b4aba7dc18f6bf0e570508d6a00fe8a98eb3c8607af39744a67e3b47d69507dbaf25d44dd02085f24bf95
DIST boto3-1.38.8.gh.tar.gz 937130 BLAKE2B 4158573a032957c33f62c6406937a45956f4ccf972be4a223e16a327b0b476402a1e7bf7d9b6a5b83005fc324f6c0062ed73008972cabed9247790225c4d4e5a SHA512 3c3854ed132ad4c81cd868848a370cdc73101ac3c578f8ae70bc53c9a98b1d85dcd364258027adef976b3c6d220aa45f865928c055c9320d3a268e0e29d5af63
DIST boto3-1.38.9.gh.tar.gz 937730 BLAKE2B 6b1a68095601d9b32be0679171a73b204897a7f632c1825ee203d27b46c625b196739b9c6ed8f19e84e0f0d2ba3a777539d9474cbaaa526fd499655e62ce9def SHA512 37960c90bb8de6328dc08cabb98a71e0dbb9303137410a1e44efdd650d6d0009398a4c4fb75ab53f8c8dfa7f566925c03de10012092967e661157f6bdc12e583
diff --git a/dev-python/boto3/boto3-1.38.10.ebuild b/dev-python/boto3/boto3-1.38.10.ebuild
new file mode 100644
index 000000000000..b862f479d876
--- /dev/null
+++ b/dev-python/boto3/boto3-1.38.10.ebuild
@@ -0,0 +1,53 @@
+# 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
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.12.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 276b05bb9c3c..1fede8d7e83a 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,4 +1,5 @@
DIST botocore-1.37.37.gh.tar.gz 14563135 BLAKE2B 290689f13333ab7ebdbac0bccf6568035776482dbab62c542a41ce6bf93b9d5e01400526c50534fb068798dc5626408c039f8746f091fe881cb70629c6ccd6e4 SHA512 3e020f6f264ef19a71f812733536812abe92e5998f3c19766782e01cdd235a17648b330bdb64289ea8b87a520625e0c7ece9436e014ade111d66bc4181f5bec9
+DIST botocore-1.38.10.gh.tar.gz 14616622 BLAKE2B adf54a0e015d3a8b17ac986f8f05b49552ab3966694bf2fe90fbf9a0e4da134f4028469133d5c9b9717c2bd9bb874e0212373482341c1fee7a837d15614cd3ca SHA512 bc3ff2e73cd123017bf3be6793cbb902fafce244cd2469c33f093120317acff75f19c37c5f11427882bfc1be228f2f1a1334024e6c6683e46a57793f77a3bf0b
DIST botocore-1.38.3.gh.tar.gz 14578552 BLAKE2B 4766db1ba2651ebe65c79f8a37c91cf95875a20c0cc51c1886cd394b90d50109738daa79b398e0c4b80031cfab69e1338dfaafbc0ae796fffa3348f6b13fc1ce SHA512 ad69e119d5bbc98a0c14c1c927badeecc1f57d31305e6a07af41d4d4bf6755f5abc150e36321f71b9495221ad93052d84a1dc964fb9ef6fdd791d4c37e75a01a
DIST botocore-1.38.8.gh.tar.gz 14606167 BLAKE2B cb92f6014349f5188d62ddeb043e7532c50c7edc984cabae918825cdace981694c37ba656afcbbb64e65e275da4980d5f256a945bbcc63f9609272b08690c3d5 SHA512 bc9096051fde740a908ef0912a0c205595e7df653a349c167f616a788423578ba6b3aed6fe6213f528faa32b1c946abf0ac66dd81afdc05d41d12a4af4f7e818
DIST botocore-1.38.9.gh.tar.gz 14612563 BLAKE2B 10a0e43846393c06c808e306cde1398ea9374712d07b71d16270cd3238d3063f66ff532fab465acb5a87065002b7ca7394d0c77a25c83b9f8b8ecad7823042a2 SHA512 748c373a1be84a123968444316de7ab6f34b548d7619183d23ae07d0b0aeeeebc8ba1d25bb5517f0491144f7578fa9a7e9fbca066f6aa0da7b2d7439138bb8fd
diff --git a/dev-python/botocore/botocore-1.38.10.ebuild b/dev-python/botocore/botocore-1.38.10.ebuild
new file mode 100644
index 000000000000..df85ee0d220c
--- /dev/null
+++ b/dev-python/botocore/botocore-1.38.10.ebuild
@@ -0,0 +1,67 @@
+# 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
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index 67f874763436..71e79c4867ec 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1 +1,2 @@
DIST fakeredis-2.28.1.tar.gz 161179 BLAKE2B 6d3699153209c04ad0befceea95a0dbbaf44a97c33aab94424dd4c1904d2813760f1d9efdc41ecc43e3b686b07e19c319918623c7aaa385cb777b6b861969492 SHA512 b48ada482c48965ed6547960e6f806d448200ea88ef2c3ff56463acd13ac9a2223465a1d5e6e8d136cafe9d84e1e4ebcd5d5d9ae34dcc44c4a05e87005b34b8e
+DIST fakeredis-2.29.0.tar.gz 162915 BLAKE2B d2851fefb9fd80d0038bb237d261dbc125035782c1bfcd8d91345a4a2a38423c4972b0803484459baeb09cfd0acaf34559e31fc772cb6e36432068c63027a29a SHA512 721e0f508c6b18413dfeaa5caa1ad12f3b9a63d89f7a535a7dc70f1b69f745f08f26782d73bf681eab578e99504cd14d08b8d639dc6b88b4ae0db5151f3e7b3a
diff --git a/dev-python/fakeredis/fakeredis-2.29.0.ebuild b/dev-python/fakeredis/fakeredis-2.29.0.ebuild
new file mode 100644
index 000000000000..1fc5be9bba43
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.29.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.3[${PYTHON_USEDEP}]
+ <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # also lupa
+ test/test_aioredis2.py::test_failed_script_error
+ # TODO
+ "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
+ "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
+ test/test_mixins/test_set_commands.py::test_smismember_wrong_type
+ # new redis-server?
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
+ # json ext
+ test/test_json/test_json.py
+ test/test_json/test_json_arr_commands.py
+ # tdigest ext?
+ 'test/test_mixins/test_server_commands.py::test_command[FakeStrictRedis]'
+ # hexpire ext?
+ 'test/test_mixins/test_acl_commands.py::test_acl_cat[StrictRedis]'
+ )
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis
+ )
+ local args=(
+ # tests requiring lupa (lua support)
+ -k 'not test_eval and not test_lua and not test_script'
+ )
+ # Note: this package is not xdist-friendly
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_mock "${args[@]}"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6390
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 2f6345360214..65c239c50a32 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,2 +1,3 @@
DIST hypothesis-6.130.13.gh.tar.gz 9544282 BLAKE2B 9a74af5cab1562b5eb2fc00fe1ea67471171ac1ecf71ef01e51082b6e3469c7a9b1de7e56119a4517b8f6c45be5efbc5461dcd258ab80c246e07df7c58dbf9c2 SHA512 25dbde677bf8b2e727999c39083f6746c9431e22326034c50ed723b51a3d7678a62dce648fcfd16802808f2034ad7cb74fe0b98fe50519b505a5b05412afa17a
+DIST hypothesis-6.131.12.gh.tar.gz 9551332 BLAKE2B f09f08a67209f4e72b845069f1d99978e53a83f5001a05a54e07b0a8c81f8fa1dfc55b3cd3da8c989efcf7cdf0171816df02c6e54123965a96aa0a0716e872f5 SHA512 01031fd37fadc6f38b0a34224d10d3b57eab109bd0fd77e1d00873b1f9ed08c234664061b22de64f8908ea8aa1909b891fb1035b4016724cd209db8255748722
DIST hypothesis-6.131.9.gh.tar.gz 9549949 BLAKE2B 8fb5c9b9ad2c3940671d1128980b431fd43e63e35561c53f4cb172e12313019349a9ec3f3d7ecc5c8701e1aef471a1242861a94a37767e61629a42a5bf525ed0 SHA512 345baa03d68ef615fc926d93344e4f5e6f7899f104d489ebcf127426a7b2bdf6b6ac1b19ae153b297102c3a2980fa1627ce8a900a851965b213f0bd30ff4e54c
diff --git a/dev-python/hypothesis/hypothesis-6.131.12.ebuild b/dev-python/hypothesis/hypothesis-6.131.12.ebuild
new file mode 100644
index 000000000000..377138685f65
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.131.12.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..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}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ 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
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;&
+ python3.1[23]*)
+ EPYTEST_DESELECT+=(
+ # TODO
+ 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]'
+ )
+ ;;
+ 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/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index c61d68575541..8ed797c10764 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1,2 +1,3 @@
DIST jupyterlab-4.3.6.tar.gz 21827019 BLAKE2B e2d57309d13034625482b13c13bfef707b8c14f35087233edbf8267d2b7047b3614971fee03d31310c74324bfcb90c13b6bf9169b38a6d46b78088e95b5d30b1 SHA512 bec63f3ba4d93c056b5f1c5bef6dee63832075e26d52fd30c42b6ba67283d8eceb29ab54f3fcbba49f5bdb17f2bb1ba083c73d6209e29bc5d9ec5b24282808bd
DIST jupyterlab-4.3.7.tar.gz 21827544 BLAKE2B 6aa1886b3fa9e67c8e4978e90cf5b0e84466de15ad5dfa90c07913e1141b5c24b755f9374b34b9b9bcbd6f712f3d58b72d259e969c91263859ff7e16358a296b SHA512 57301337c8ebfc22b6ad8c09468b2f2642785967f20b74060e5ee50b0a3e1eb778f92d8179535dde5564c56b34102d096c4eee05f3fd3c6f6edbcf830f2765ed
+DIST jupyterlab-4.4.2.tar.gz 23030818 BLAKE2B 627a755b89541de1cf0b69b76bf01dee940bfe1edc0585e875a34d594044749c633e70dd044e8d0e69dc196a7e247021098210a25e0c535193008631e885a396 SHA512 4883ea8217fb4938233631310abeec38d1e0d074cce3997ee1b604c156ac408820238409a50de6abc85d7351c3e52369d8f625b5095cc690937ff310262b33a8
diff --git a/dev-python/jupyterlab/jupyterlab-4.4.2.ebuild b/dev-python/jupyterlab/jupyterlab-4.4.2.ebuild
new file mode 100644
index 000000000000..cf7bd4255367
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.4.2.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi xdg
+
+DESCRIPTION="JupyterLab computational environment"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab/
+ https://pypi.org/project/jupyterlab/
+"
+
+LICENSE="BSD MIT GPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/async-lru-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.28.0[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.5.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-41.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ net-libs/nodejs[npm]
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.5.3[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-cache[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # These tests call npm and want internet
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_uninstall_core_extension
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned_folder
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom_minimal_core_config
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_check
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_clear
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_build
+)
+
+EPYTEST_IGNORE=(
+ jupyterlab/tests/test_announcements.py
+)
+
+distutils_enable_tests pytest
+# TODO: package sphinx_copybutton
+#distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/myst-parser
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index d12ab8aeaca8..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
new file mode 100644
index 000000000000..637368d2f237
--- /dev/null
+++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
@@ -0,0 +1,13 @@
+Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
+
+--- a/setup.py
++++ b/setup.py
+@@ -18,7 +18,7 @@ setup(
+ author_email='michal.danilak@gmail.com',
+ url='https://github.com/Mimino666/langdetect',
+ keywords='language detection library',
+- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
+ include_package_data=True,
+ install_requires=['six'],
+ license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 56733bbffc48..99577c43fc3e 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,4 +19,6 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
+
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..c0f74ac187e2 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/nbclassic/Manifest b/dev-python/nbclassic/Manifest
index e77f3f96bb7a..755bc05e79d5 100644
--- a/dev-python/nbclassic/Manifest
+++ b/dev-python/nbclassic/Manifest
@@ -1,2 +1,3 @@
DIST nbclassic-1.2.0.tar.gz 20204389 BLAKE2B 37d2614b48e28d187b7f22aeab71bb5b1d8dbc0349654bbd8323a76bb6cd789ed6bd3d0c04764e6e9757d37df1131dde3fe3927d1933de6b9e2db2d4651e00b9 SHA512 416345cb773392b4d2b03a914ed3511bf75a7ea8dad02360a0623233af56f38a9853647ad1b62f0f7e397e6b3715bd66bc5e52e4736fe5b30884136fab0b459c
DIST nbclassic-1.3.0.tar.gz 81486814 BLAKE2B 829660842360748b3c2a166d9281bfb66cdd5a7ad5e4215deab7ad8ff98a08fd87de066babd89ef80738eab32db22d32dc62c68d1ba1be42cde33f6cd15bbd57 SHA512 01d63aaab04f060341fd489dac1d0b7b2897e878b44b3f896a73ebf5a31f4122a518a6c91ee61562926c755e5b803e1864593dfe518259b4fc2f43eb5c372225
+DIST nbclassic-1.3.1.tar.gz 81488343 BLAKE2B c10a1feb4a6987c163f8e8356fd80fe6be9e4958950e748e0bfd8ed1772237b909cbea623f01c052389f8721d6a2b7e710a907e91fe5c67b14197bf1a4f1b8c5 SHA512 9c9b45d15c68587e2147f50615b814106505f68a3255539769a78826c63abb85bd9e4b89ee663be609c210e904e9fd34a18a27687526753f9c06a726b6446f0e
diff --git a/dev-python/nbclassic/nbclassic-1.3.1.ebuild b/dev-python/nbclassic/nbclassic-1.3.1.ebuild
new file mode 100644
index 000000000000..709320f91a03
--- /dev/null
+++ b/dev-python/nbclassic/nbclassic-1.3.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+DISTUTILS_USE_PEP517=hatchling
+
+inherit distutils-r1 pypi xdg-utils
+
+DESCRIPTION="Jupyter Notebook as a Jupyter Server Extension"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/nbclassic/
+ https://pypi.org/project/nbclassic/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython-genutils[${PYTHON_USEDEP}]
+ >=dev-python/nest-asyncio-1.5[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nbval[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ virtual/pandoc
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/pydata-sphinx-theme \
+ dev-python/nbsphinx \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/myst-parser \
+ dev-python/ipython-genutils
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # Confuses hatchling sometimes, resulting in partial install.
+ # https://github.com/jupyter/nbclassic/issues/336
+ rm .gitignore || die
+
+ # Let's save some space at build-time, we're not using them anyway.
+ rm -r node_modules || die
+
+ # Dead symlinks that trip up hatchling sometimes, depending
+ # on the phase of the moon.
+ rm nbclassic/static/components/jquery-typeahead/node_modules/.bin/lz-string || die
+ # Symlink to itself.
+ rm nbclassic/static/components/moment/meteor/moment.js || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ # Notebook interferes with our tests, pretend it does not exist
+ echo "raise ImportError" > notebook.py || die
+
+ epytest -p pytest_tornasync.plugin
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # move /usr/etc stuff to /etc
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/dev-python/nltk/Manifest b/dev-python/nltk/Manifest
index 6a83b3ff24fa..4329ee5b7d5f 100644
--- a/dev-python/nltk/Manifest
+++ b/dev-python/nltk/Manifest
@@ -1,6 +1 @@
-AUX python-3.12.patch 8925 BLAKE2B a9ad62b0b8d37b8707c6fa880af98ce6ee8e3f02a1d6cf42456a6d1dc2398f7cbf8721eb9e580594531c963dc10232f2e259939ed4dd78b5f6b9d778e2c2c7f7 SHA512 b32631b7d0b805496188b30e4ea8bcb3bd6cccee98b2f3cf5ccffcd8467c6e333654d23ab71b78ca1030aff54ac2e2137efff076bf86bd991bfd0a3077a6543f
-DIST nltk-3.8.1.gh.tar.gz 2867926 BLAKE2B 54de1d3ae7cfe0b71ac0f5a62ed3e81e489fa4d322cd32eb4aa4ef60617eb96767a0f3a92c7e5a16e71836cb0d3a1076ae3598b6bcf0af5925c95e1a0ccf70f8 SHA512 5b13eff5d8e628173f5321c293d896919d369bcd586861a7e09bf6fdca2b09f2580902da98ec647bcf9cdc2b33a87c830dda3793de20c31c8bc38c86df8f7930
-DIST nltk-3.9.1.gh.tar.gz 2874006 BLAKE2B 4ad375dafb32f16aa23128f1585f51f8f2c864edb40ea64e3fe291944a41de52fa5e37add1de86434de054bc2ff9ffa48c56a6d6793533f4c0ca6e798829be14 SHA512 7e384a23fa3839c29d38c083d6288d15ff04eb071c4bca3ec1bfb3b9cfcac8d2388041a950d6c71684ee29b791318312df99e29ae258eb5e602ccf2ad1407840
-EBUILD nltk-3.8.1.ebuild 1394 BLAKE2B bf5cdfbd9eb5c1b415de3039f5af1be36c34e8a3c0245efc908c941028b34119d59486dc0c8649771e386808d0c10ab1ab52d1bc651fd8157cd9b9fcc77bfb8e SHA512 3f4c996aab04efd784d948199a7b96bc58372e453216ae290a7c2f903f67f6518cd39162f55900fb1e047badab3d3d6a1fd53c330901f8ccb3acbd0a7023bd78
-EBUILD nltk-3.9.1.ebuild 1223 BLAKE2B f2f1ce13a1f015c4674bd41355c3c00e5f769e1521d8cbb36650bb81e0e799d9c2ee5c53465d101b332a81ad36eeb5061e7e9abd2103b3769978febfd9717445 SHA512 729bc346694c07deed10f6bea8755ec8a5ce255e4045b8ec2fe6140de65c77be2a0cf5a6535608975d853d12c2aa11b8272b9a2989f8961deb8640251fbf5bce
-MISC metadata.xml 445 BLAKE2B 4bfcde721368b9c9354799863a7a78d2c04eb789672f52b5449bda3ef567448fa1b434dda9d150aa0ff360477c576ea2fd0bebce40bf80bb843393e245f85278 SHA512 89bb6d0ca2e268e3540cf36e91b57e834eb31f078a91bb7ed7218a17c1a9b63809ae77916822eabf6a3a86286d00ae4a311b33c52e40d9d2e61b6d242f4cef78
+DIST nltk-3.9.1.tar.gz 2904691 BLAKE2B c4178eea863feb32642a7f1c290e465244655223c1b18437b832ebd315e01f797d393ab925e641ae9a53a785f0a7fe2bf1dca504a50fb8f66fbafe2a6a1b1c8b SHA512 dad570b3a6728f22b55438a159b56009676f4fbdfc293673eaae0b0ed55dd2db91c32f59b3f89ff6d38101b3c3af9ea81f3519b578c83c17c1a9f3f716bc3ff4
diff --git a/dev-python/nltk/files/python-3.12.patch b/dev-python/nltk/files/python-3.12.patch
deleted file mode 100644
index c55d2852751c..000000000000
--- a/dev-python/nltk/files/python-3.12.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-commit 544bf807bf506927872b7b837c6e1514e80419ab
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 19:40:54 2023 +0100
-
- fix(bleu): add Fraction with 3.12 support
-
-diff --git a/nltk/test/unit/translate/test_bleu.py b/nltk/test/unit/translate/test_bleu.py
-index 990b76406..b472d785f 100644
---- a/nltk/test/unit/translate/test_bleu.py
-+++ b/nltk/test/unit/translate/test_bleu.py
-@@ -2,7 +2,6 @@
- Tests for BLEU translation evaluation metric
- """
-
--import io
- import unittest
-
- import numpy as np
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index da445bc3e..9647202e6 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -7,16 +7,40 @@
- # For license information, see LICENSE.TXT
-
- """BLEU score implementation."""
-+from __future__ import annotations
-
- import math
- import sys
- import warnings
- from collections import Counter
--from fractions import Fraction
-+from dataclasses import dataclass
-
- from nltk.util import ngrams
-
-
-+@dataclass
-+class Fraction:
-+ """
-+ This class is used to represent a fraction with both the numerator and denominator saved for later retrieval.
-+ Python 3.12 removed _normalize=False from the standard lib Fraction constructor.
-+ """
-+
-+ numerator: int | float
-+ denominator: int = 1
-+
-+ def __float__(self):
-+ return self.numerator / self.denominator
-+
-+ def __lt__(self, other):
-+ return float(self) < float(other)
-+
-+ def __eq__(self, other):
-+ return self.numerator == other.numerator and self.denominator == other.denominator
-+
-+ def __gt__(self, other):
-+ return float(self) > float(other)
-+
-+
- def sentence_bleu(
- references,
- hypothesis,
-@@ -222,7 +246,7 @@ def corpus_bleu(
-
- # Collects the various precision values for the different ngram orders.
- p_n = [
-- Fraction(p_numerators[i], p_denominators[i], _normalize=False)
-+ Fraction(p_numerators[i], p_denominators[i])
- for i in range(1, max_weight_length + 1)
- ]
-
-@@ -365,7 +389,7 @@ def modified_precision(references, hypothesis, n):
- # Usually this happens when the ngram order is > len(reference).
- denominator = max(1, sum(counts.values()))
-
-- return Fraction(numerator, denominator, _normalize=False)
-+ return Fraction(numerator, denominator)
-
-
- def closest_ref_length(references, hyp_len):
-@@ -577,7 +601,7 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1, _normalize=False)
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1)
- if i != 0
- else p_n[0]
- for i in range(len(p_n))
-
-commit eab59d7ceac5dc64e34ca04ee0143fa8998af204
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 19:46:47 2023 +0100
-
- style: fix pre-commit style checks
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index 9647202e6..aab519521 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -35,7 +35,9 @@ class Fraction:
- return float(self) < float(other)
-
- def __eq__(self, other):
-- return self.numerator == other.numerator and self.denominator == other.denominator
-+ return (
-+ self.numerator == other.numerator and self.denominator == other.denominator
-+ )
-
- def __gt__(self, other):
- return float(self) > float(other)
-@@ -601,10 +603,7 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1)
-- if i != 0
-- else p_n[0]
-- for i in range(len(p_n))
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] for i in range(len(p_n))
- ]
-
- def method3(self, p_n, *args, **kwargs):
-
-commit 8f06fa4b1da4a390d53010e56bc6ab5d5cb32a3a
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 19:48:06 2023 +0100
-
- style: fix pre-commit style checks
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index aab519521..f32743ecc 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -603,7 +603,8 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0] for i in range(len(p_n))
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0]
-+ for i in range(len(p_n))
- ]
-
- def method3(self, p_n, *args, **kwargs):
-
-commit b72a4bdbaf99a2bdb6a99454a1eb8804051bf644
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 21:49:32 2023 +0100
-
- fix: Fraction
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index f32743ecc..72f5b548d 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -42,6 +42,14 @@ class Fraction:
- def __gt__(self, other):
- return float(self) > float(other)
-
-+ def __add__(self, other):
-+ if isinstance(other, int):
-+ other = Fraction(other, 1)
-+ return Fraction(
-+ self.numerator * other.denominator + other.numerator * self.denominator,
-+ self.denominator * other.denominator,
-+ )
-+
-
- def sentence_bleu(
- references,
-
-commit 86fa0832f0f4b366f96867f59ae05d744d68b513
-Author: Konstantin Chernyshev <k4black@ya.ru>
-Date: Thu Nov 16 23:26:42 2023 +0100
-
- fix: use Fraction override
-
-diff --git a/nltk/translate/bleu_score.py b/nltk/translate/bleu_score.py
-index 72f5b548d..ddb54dba8 100644
---- a/nltk/translate/bleu_score.py
-+++ b/nltk/translate/bleu_score.py
-@@ -7,48 +7,39 @@
- # For license information, see LICENSE.TXT
-
- """BLEU score implementation."""
--from __future__ import annotations
--
- import math
- import sys
- import warnings
- from collections import Counter
--from dataclasses import dataclass
-+from fractions import Fraction as _Fraction
-
- from nltk.util import ngrams
-
-
--@dataclass
--class Fraction:
-- """
-- This class is used to represent a fraction with both the numerator and denominator saved for later retrieval.
-- Python 3.12 removed _normalize=False from the standard lib Fraction constructor.
-- """
--
-- numerator: int | float
-- denominator: int = 1
--
-- def __float__(self):
-- return self.numerator / self.denominator
--
-- def __lt__(self, other):
-- return float(self) < float(other)
-+class Fraction(_Fraction):
-+ """Fraction with _normalize=False support for 3.12"""
-
-- def __eq__(self, other):
-- return (
-- self.numerator == other.numerator and self.denominator == other.denominator
-- )
-+ def __new__(cls, numerator=0, denominator=None, _normalize=False):
-+ if sys.version_info >= (3, 12):
-+ self = super().__new__(cls, numerator, denominator)
-+ else:
-+ self = super().__new__(cls, numerator, denominator, _normalize=_normalize)
-+ self._normalize = _normalize
-+ self._original_numerator = numerator
-+ self._original_denominator = denominator
-+ return self
-
-- def __gt__(self, other):
-- return float(self) > float(other)
-+ @property
-+ def numerator(self):
-+ if self._normalize:
-+ return self._numerator
-+ return self._original_numerator
-
-- def __add__(self, other):
-- if isinstance(other, int):
-- other = Fraction(other, 1)
-- return Fraction(
-- self.numerator * other.denominator + other.numerator * self.denominator,
-- self.denominator * other.denominator,
-- )
-+ @property
-+ def denominator(self):
-+ if self._normalize:
-+ return self._denominator
-+ return self._original_denominator
-
-
- def sentence_bleu(
-@@ -256,7 +247,7 @@ def corpus_bleu(
-
- # Collects the various precision values for the different ngram orders.
- p_n = [
-- Fraction(p_numerators[i], p_denominators[i])
-+ Fraction(p_numerators[i], p_denominators[i], _normalize=False)
- for i in range(1, max_weight_length + 1)
- ]
-
-@@ -399,7 +390,7 @@ def modified_precision(references, hypothesis, n):
- # Usually this happens when the ngram order is > len(reference).
- denominator = max(1, sum(counts.values()))
-
-- return Fraction(numerator, denominator)
-+ return Fraction(numerator, denominator, _normalize=False)
-
-
- def closest_ref_length(references, hyp_len):
-@@ -611,7 +602,8 @@ class SmoothingFunction:
- In COLING 2004.
- """
- return [
-- Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1) if i != 0 else p_n[0]
-+ Fraction(p_n[i].numerator + 1, p_n[i].denominator + 1, _normalize=False)
-+ if i != 0 else p_n[0]
- for i in range(len(p_n))
- ]
-
diff --git a/dev-python/nltk/metadata.xml b/dev-python/nltk/metadata.xml
index 0317a43d0f5a..3fab47b124fa 100644
--- a/dev-python/nltk/metadata.xml
+++ b/dev-python/nltk/metadata.xml
@@ -2,10 +2,13 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
- <origin>slonko-overlay</origin>
- <stabilize-allarches/>
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/nltk/nltk-3.8.1.ebuild b/dev-python/nltk/nltk-3.8.1.ebuild
deleted file mode 100644
index 064a8ccee2aa..000000000000
--- a/dev-python/nltk/nltk-3.8.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 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} )
-PYTHON_REQ_USE="sqlite,tk?,xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Natural Language Toolkit"
-HOMEPAGE="https://www.nltk.org/ https://github.com/nltk/nltk/"
-SRC_URI="https://github.com/nltk/nltk/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="tk"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/joblib[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- >=dev-python/nltk-data-20211221
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/twython[${PYTHON_USEDEP}]
- dev-python/scikit-learn[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )"
-PDEPEND="dev-python/nltk-data"
-
-PATCHES=( "${FILESDIR}/python-3.12.patch" )
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- nltk/test/unit/test_downloader.py::test_downloader_using_existing_parent_download_dir
- nltk/test/unit/test_downloader.py::test_downloader_using_non_existing_parent_download_dir
-)
diff --git a/dev-python/nltk/nltk-3.9.1.ebuild b/dev-python/nltk/nltk-3.9.1.ebuild
index ed46f1794bd1..815d42344ed6 100644
--- a/dev-python/nltk/nltk-3.9.1.ebuild
+++ b/dev-python/nltk/nltk-3.9.1.ebuild
@@ -1,22 +1,19 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 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} )
-PYTHON_REQ_USE="sqlite,tk?,xml(+)"
-inherit distutils-r1
+inherit distutils-r1 pypi
-DESCRIPTION="Natural Language Toolkit"
-HOMEPAGE="https://www.nltk.org/ https://github.com/nltk/nltk/"
-SRC_URI="https://github.com/nltk/nltk/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+DESCRIPTION="Python package for natural language processing."
+HOMEPAGE="https://pypi.org/project/nltk/"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="tk"
+KEYWORDS="~amd64"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
@@ -24,23 +21,3 @@ RDEPEND="
dev-python/regex[${PYTHON_USEDEP}]
dev-python/tqdm[${PYTHON_USEDEP}]
"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- >=dev-python/nltk-data-20211221
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/twython[${PYTHON_USEDEP}]
- dev-python/scikit-learn[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- )"
-PDEPEND=">=dev-python/nltk-data-20250310"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Network required
- nltk/test/unit/test_downloader.py
-)
diff --git a/dev-python/notebook/Manifest b/dev-python/notebook/Manifest
index 7da2177e29d7..0d90e0f9b97d 100644
--- a/dev-python/notebook/Manifest
+++ b/dev-python/notebook/Manifest
@@ -1 +1,2 @@
DIST notebook-7.3.3.tar.gz 12758099 BLAKE2B e5e988a166b5124f95cc050a4d9402778108c084325024c8ed3829780665d7149a06cccd4ab80d33e572b0b98d9088751d2a9313f10a940e8d82b5eb14db25f3 SHA512 e0f476c5a91edba48dc43b25417946983c46d5b4beaac6531ebf7af02bc4a9f2bae09b7d7524d7ad6e33c262769c1dc40c36f4593cfc70b8c98f41f40a75f8a2
+DIST notebook-7.4.2.tar.gz 13881273 BLAKE2B 3debd1d9d3bb1f7f5ca20ab8dc0af43fe6c137db3a58a3bdbf371b09e4bb9aa69c13f17f6662e87e6eb79dd2f60c975f2fe139e6f990a53f67c9ace3cf15b692 SHA512 286b6f93398f34c4dcb4beb92bfb27be0045084294677c1be9fb0a7c8bd454a000851b26df22f97adf7c0719cb55d2dd10fa7c33decbb268da6e745a7e468c2d
diff --git a/dev-python/notebook/notebook-7.4.2.ebuild b/dev-python/notebook/notebook-7.4.2.ebuild
new file mode 100644
index 000000000000..4842fc4863e4
--- /dev/null
+++ b/dev-python/notebook/notebook-7.4.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi xdg-utils
+
+DESCRIPTION="Jupyter Interactive Notebook"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/notebook/
+ https://pypi.org/project/notebook/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-4.4[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-4.5[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ <dev-python/notebook-shim-0.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-4.4[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-4.5[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/nbval[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/dev-python/orderly-set/Manifest b/dev-python/orderly-set/Manifest
index 3556d1988287..5a6b03239911 100644
--- a/dev-python/orderly-set/Manifest
+++ b/dev-python/orderly-set/Manifest
@@ -1 +1,2 @@
DIST orderly_set-5.4.0.tar.gz 20934 BLAKE2B 49259d0e18db9988d080dd464381086ee4c6fe351a66de43cbf1dde26e2e64b289d363df784bfeca8eb0bc1569f400e0ba72672f86e640cff6830e569c2dac03 SHA512 2de050ffd87919540952a54df8b0f28f1e1ed6b503c4e99b3737119287bf5d10e06d5c4d6a6efae953dd95c16429f277c01fdc08e9a1c4aa75a8939128d7bc50
+DIST orderly_set-5.4.1.tar.gz 20943 BLAKE2B 4828cca61ca512de5cb4818515bc3c9eaab24a1e4df5187c4c3deee145cf0bef1123c719276e369bd4a6faaed7a309559a991515a741ed97929139ef3a5e5fb1 SHA512 3806247f3893dcb7a532e95ba8ccca85b3d478e393868de126fefff83514725449c9ecffebc781815e70c0e94ee641dad1d10a1d13e548b28035d5b6c24de4e7
diff --git a/dev-python/orderly-set/orderly-set-5.4.1.ebuild b/dev-python/orderly-set/orderly-set-5.4.1.ebuild
new file mode 100644
index 000000000000..2124383bce7a
--- /dev/null
+++ b/dev-python/orderly-set/orderly-set-5.4.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2024-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="A package containing multiple implementations of Ordered Set"
+HOMEPAGE="
+ https://github.com/seperman/orderly-set/
+ https://pypi.org/project/orderly-set/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditional mypy dep for a test that is not even run
+ # https://github.com/seperman/orderly-set/pull/5
+ sed -i -e '/mypy\.api/d' tests/*.py || die
+}
diff --git a/dev-python/oslotest/Manifest b/dev-python/oslotest/Manifest
index 5a7cf8397eb9..08e0611ccc7e 100644
--- a/dev-python/oslotest/Manifest
+++ b/dev-python/oslotest/Manifest
@@ -1 +1,2 @@
DIST oslotest-5.0.0.tar.gz 37730 BLAKE2B 87f051841153ba860bfce1b4b7f69f2bf501020f51fbeffa11c4311b741e298ec95cd0beeb73b43fb5e0529765bf46b9f95bb609bca7e541bcccad3fd985104e SHA512 8b3e5a626734b8937d13555c66fbffbfbc5e0da418ab06865fc516151ae4df5d8477df5e343e913e3073b640e39b80ba32bb6015cab0c432770e8d19160d7107
+DIST oslotest-5.0.1.tar.gz 37507 BLAKE2B 5674a209718db844c93447870890ad1cca60423e82f1db82b058a34ee90429cc9397ca1fbfbfa601a826db98fc3df522f36ec35fe4c1839cf66df667ea76e473 SHA512 08e11bc945a6e032a4262d566fa7903d0507b286c26257e63863558c32690be78d684942e90130fdabdfcfebca1ec0c3d491de310c7b05ac025cc9572cb5c7cc
diff --git a/dev-python/oslotest/oslotest-5.0.1.ebuild b/dev-python/oslotest/oslotest-5.0.1.ebuild
new file mode 100644
index 000000000000..f76c28b5bca7
--- /dev/null
+++ b/dev-python/oslotest/oslotest-5.0.1.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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo test framework"
+HOMEPAGE="
+ https://opendev.org/openstack/oslotest/
+ https://github.com/openstack/oslotest/
+ https://pypi.org/project/oslotest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -i -e '/subunit/d' requirements.txt || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pudb/Manifest b/dev-python/pudb/Manifest
index 81aad729085d..ac6f4c65a42f 100644
--- a/dev-python/pudb/Manifest
+++ b/dev-python/pudb/Manifest
@@ -1 +1,2 @@
DIST pudb-2024.1.3.tar.gz 219443 BLAKE2B edfc2b8799cefc8f81eaac37e07a90b42870b6a3a6ddcc0e7aee785ea6f720fa0db0dc7b9dda6508a9a9e9718812bdf1d6729a12c2d6974f2531022dea2dd153 SHA512 da3702a1debeeae7b48012e1241be9d85f3e12714e7d37771863d8d26dabb9615c75bff9a0285647327852d9814eb3ddbc15fcb736d8f4a3f6030d71a12fd258
+DIST pudb-2025.1.tar.gz 220623 BLAKE2B 241fcb3bf0dbf6ae3719672a8b3eb29f0ff3bee0da83b721810aa4e084728c1ed4844195d0694e8526f1f819a0ab814fe7f4318014ace03a673f9125679648bb SHA512 205502e6c5ecd4428c44f7bc1742bbad95ce675a1127f527b562b2a5f49c50102db3365abdf324a4d74a490a70a1ab1af8b8b48f865eb15b222831b4975ad8cb
diff --git a/dev-python/pudb/pudb-2025.1.ebuild b/dev-python/pudb/pudb-2025.1.ebuild
new file mode 100644
index 000000000000..4fb95e61646f
--- /dev/null
+++ b/dev-python/pudb/pudb-2025.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="
+ https://documen.tician.de/pudb/
+ https://github.com/inducer/pudb/
+ https://pypi.org/project/pudb/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/jedi-0.18[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.4[${PYTHON_USEDEP}]
+ >=dev-python/urwid-2.4[${PYTHON_USEDEP}]
+ dev-python/urwid-readline[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature_header "Install the following packages for additional functionality:"
+ optfeature "Auto-complete support" dev-python/jedi
+}
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index 16125d020e28..a951496153bf 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1 +1,2 @@
DIST urwid-2.6.16.tar.gz 848179 BLAKE2B 870790c4beb59297ca7952d27304caa3b907e3f8bf8974334d4ab59386b7705b5cb75a39494e8e984a4af6e0ad76f36a767179126059fc6983d94496d990bb00 SHA512 c5caee309bcba9f22d4f3a78bc837c263345762ece5a315ba02ed1cb15ff2502065b20de288495f103b673be4dbee7cac11c535b3edb42edfb04c8ca40a831f3
+DIST urwid-3.0.0.tar.gz 855371 BLAKE2B cf412af16c575ceab7157d00141c89bb6579e01b388c54398a4a543426e40fea5e57a8e6548ff2e0969858c69069e33724b7803a00638068c56766101292298d SHA512 a3a5f86d3fae6c6b74c6b826aef78220ce57deed32601298ff47cb47742eebd64c16e28c9ee24b6bdc414c9e518d535dbe64ef813a5ab039c1083a7d3172b351
diff --git a/dev-python/urwid/urwid-3.0.0.ebuild b/dev-python/urwid/urwid-3.0.0.ebuild
new file mode 100644
index 000000000000..51860517ec52
--- /dev/null
+++ b/dev-python/urwid/urwid-3.0.0.ebuild
@@ -0,0 +1,40 @@
+# 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} )
+PYTHON_REQ_USE="ncurses"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Curses-based user interface library for Python"
+HOMEPAGE="
+ https://urwid.org/
+ https://pypi.org/project/urwid/
+ https://github.com/urwid/urwid/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}