summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin269465 -> 269441 bytes
-rw-r--r--dev-python/fonttools/Manifest2
-rw-r--r--dev-python/fonttools/fonttools-4.47.2.ebuild98
-rw-r--r--dev-python/google-auth/Manifest2
-rw-r--r--dev-python/google-auth/google-auth-2.26.2.ebuild60
-rw-r--r--dev-python/hypothesis/Manifest2
-rw-r--r--dev-python/hypothesis/hypothesis-6.92.8.ebuild90
-rw-r--r--dev-python/jupyter-server/Manifest2
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.12.4.ebuild76
-rw-r--r--dev-python/nbconvert/Manifest2
-rw-r--r--dev-python/nbconvert/nbconvert-7.14.1.ebuild74
-rw-r--r--dev-python/sphinx-celery/Manifest2
-rw-r--r--dev-python/sphinx-celery/sphinx-celery-2.1.0.ebuild24
-rw-r--r--dev-python/unidecode/Manifest2
-rw-r--r--dev-python/unidecode/unidecode-1.3.8.ebuild20
15 files changed, 456 insertions, 0 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index a1e53b6352c6..7906a6913521 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 3890460f5f7d..a173c5c3b46c 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,5 +1,7 @@
DIST fonttools-4.46.0.gh.tar.gz 3796675 BLAKE2B 5e8affb809cc2a66208636557c2bcfac58abbbd2cbb921923686153138ef011db1f00edafdf2b998c9d26924ceb6b3038b65d593892a379b7c72fdaf8df10304 SHA512 67e805f11b47d9bebd9a538aa775c109c81b6ab85b66cd479b7c8c0c222420cb5a5e30d993c04bd9b091ba457b3fb3673ff217ecf61feb40e189c60fa6d6c6d8
DIST fonttools-4.47.0.gh.tar.gz 3810582 BLAKE2B a7821bca4507ba5638db537ba141bf7d1e2d5d23522f55766db0bc384ae366071e0848276285cff4056ffda513d94622f9b1154a43c2d8b341728790813b8124 SHA512 4a9a39b53248814dc2fcf648af5d7c8c79124a547d259571addb97c1e7181df7f20767baf5d2bb90f6c30790dd05c93c6bfac3281cedb91c73c45ad49039ee9b
+DIST fonttools-4.47.2.gh.tar.gz 3813471 BLAKE2B 7c478395e1c0cad52a29bc504bac235c4e198284a7f1f4b32e9db0704d3eeb56ea69d563a862239396fd1e67f47f168ae2f42676fe5ba3f9e1c356de8c5039f2 SHA512 03b6411c72ce38eeaa6401440d9612a37cd2ff6a686d7c6dbe7328a876f9e4369c06edea184ea72c1002b26b956d0196c241e40fe28b0ccf42f616ce9a700a07
EBUILD fonttools-4.46.0.ebuild 2377 BLAKE2B dca7fa4a6a1a2f75300f9af419487977c92de3013d811dcd534d9963e863059c804f6c554524ca80d0d09170f983b20a0542b2c3e7891b268a1df5a950f6b06e SHA512 4cb791a612a375f9e048415852a2d50b1849da7f5f474629ce47429dc1f3834a271e3db99a34b8f33c3566baa7a5fad0547b5259253120ed7c63405727fc0871
EBUILD fonttools-4.47.0.ebuild 2467 BLAKE2B c36e6b6044694cabe34aec32d610f7c57e0a11d549829cad6cd8ce53fe8ed13a86bad73e801630993dbc78dfcebb9e28eaa21041b6f80c2d8c55ff4fd3a2cb35 SHA512 6085ffa4fefd2f9c3bd2471bb970b4c604cf66bff9761d86f780014e1ba9ddd734ca75bbf4239fe5887bb7b8853457d8b9f055ec746e26d10479f78c824a89af
+EBUILD fonttools-4.47.2.ebuild 2472 BLAKE2B c83e1dd9f98c2e7bc4e487c74d0cf1e5764dcaf41f447ac6b1f6b5b587bb8816a7ae0cb286248b09eec08ddac9369810210714c69813d4f836e4f175e86c5b65 SHA512 87a73844eb5f3e40fbc4f97d825b637e2916640cc7c526bff033f7b95b4a22826d287c0e2d3f3edd72f5a2cba4cf63220fc868fc651907349b35e7e63d473007
MISC metadata.xml 372 BLAKE2B 950ec78bf127250847c6513c22a5108b251afdb000d361068edf9d00d64a5baf6925ba4058bb889724febb28d92abc044c29af5936a48d8e8951b12314b64357 SHA512 03e76e28959bab83fe41c3ee4b55692ced9b1360e73e38a6e8f6e5c06fd1185dcbe0214aea2edff18d248abf252c1877d0d2c2b78b8e088e606c09c34e93e7ac
diff --git a/dev-python/fonttools/fonttools-4.47.2.ebuild b/dev-python/fonttools/fonttools-4.47.2.ebuild
new file mode 100644
index 000000000000..12d8605257bc
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.47.2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+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 ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+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/pytest-rerunfailures[${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # When dev-python/pytest-shutil is installed, we get weird import errors.
+ # This is due to incomplete nesting in the Tests/ tree:
+ #
+ # Tests/feaLib/__init__.py
+ # Tests/ufoLib/__init__.py
+ # Tests/svgLib/path/__init__.py
+ # Tests/otlLib/__init__.py
+ # Tests/varLib/__init__.py
+ #
+ # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
+ touch Tests/svgLib/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+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
+ )
+
+ if [[ ${EPYTHON} == pypy3 ]] &&
+ has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
+ {
+ has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ }
+ then
+ EPYTEST_DESELECT+=(
+ # affected by a bug in PyPy/pyxattr
+ # https://github.com/iustin/pyxattr/issues/41
+ Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
+ )
+ fi
+
+ 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/google-auth/Manifest b/dev-python/google-auth/Manifest
index 693021260d23..72e86661ad66 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,5 +1,7 @@
DIST google-auth-2.25.2.tar.gz 235648 BLAKE2B 527dada4cff9139ef2b90874aafe085e7b92f4edecfa3dfb6cf26a40e8470f68451fdc88bf5a9ce92144b7448ee4a32a011069b62d6ee02d0885db1ceb319f22 SHA512 2f03dbe6664cfd7086da82154a8fbea6cb97f3f05992faa0fc11399248d645eafa0b63e4f45e248ff73de693c15050f3dfa7060b0f46c8b22919619d5ebb82e2
DIST google-auth-2.26.1.tar.gz 238839 BLAKE2B 91f866d35a9a3c0faaa8305e0b4d28ce87c8c5cf7b1549d4b8cea6cda96efeda4909846fd50545774c8bb128a1b7b1b74bc79ffd9bd78c4ddf138d75829bedd8 SHA512 08593547cc447e10bc1a033f154f1f4e7a248250899ef2ea49aa818a2705d0df3aa01c4dc84b6f4eb1f51e08187c634d229c396d0f2615a987e7fcc2dec9010b
+DIST google-auth-2.26.2.tar.gz 238968 BLAKE2B 58b8410130c68fbf24a40d57eae28107432e46a1676c1e32684c05cc1b1077dd5133a5891d89eedc9c9e4acacf9148deca5e650ad3860e6f23096f4dc0457aa3 SHA512 4a4ed658d0911f97e46f7ae2d59e5409facf639c6faeee506869b64d14a448fa7b83b4121bf1a48b515882e1fdececc7dbdd96562bb6b5cce7c7bfc86abe806a
EBUILD google-auth-2.25.2.ebuild 1477 BLAKE2B 9a156c2e5af7b16648efe235670c5b24df704194647c63b288bd8a6784316357148c9bbc5c9dba4d0bce746218bb70695bcd4f469df5d7b28bd8deb8930de45a SHA512 d3d91b3213fb3183f6993b520ffeaf931d069449126c20b3870493e3d0330bf7f1e8dfa47f34b69035234095bc257e7b297aa3328cdfe4b6eb87e94d0ec7b903
EBUILD google-auth-2.26.1.ebuild 1480 BLAKE2B 035c1a5387414332c6c3d6fe7db43b7facb3d4f49f48937d507cbe7ce23f8c18ee0e45f50a425ef6ed2fb25a3f733e03a42635481e0d3ffeedb02e60019c9905 SHA512 1c6be188aa259780fd15599cffcc4e2a24e85f2cc8759af033f9def8009ab5308c9d2bd730004c936a4c636650f592d88b34f8b177101ae1062e005c7422e1d0
+EBUILD google-auth-2.26.2.ebuild 1480 BLAKE2B 035c1a5387414332c6c3d6fe7db43b7facb3d4f49f48937d507cbe7ce23f8c18ee0e45f50a425ef6ed2fb25a3f733e03a42635481e0d3ffeedb02e60019c9905 SHA512 1c6be188aa259780fd15599cffcc4e2a24e85f2cc8759af033f9def8009ab5308c9d2bd730004c936a4c636650f592d88b34f8b177101ae1062e005c7422e1d0
MISC metadata.xml 521 BLAKE2B 784282f6a173e7746a408556d77e1277f65a41eae545b6b26054c1e506642e683c1c7d91798f3b7b690bc4f9d2f642a51c1395593177eebf1770d2a0c0ba589e SHA512 c2624ebca3dc42961e61531db4724b2b354a722f71cd7f2c194680fee50125d2251f4b94cc7e31b008a2792e74b0f55f407a1230d3f59572df9cf32ee49d2fb7
diff --git a/dev-python/google-auth/google-auth-2.26.2.ebuild b/dev-python/google-auth/google-auth-2.26.2.ebuild
new file mode 100644
index 000000000000..edb9a92d286a
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.26.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/grpcio[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 53276222160a..d1259ab4aa58 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -2,8 +2,10 @@ DIST hypothesis-6.92.0.gh.tar.gz 9407699 BLAKE2B 7943aa958e135a954d4534b8992557a
DIST hypothesis-6.92.2.gh.tar.gz 9408586 BLAKE2B f6d873d16a337ceb5d78bc80622a08fb6856b5fdbd0c0c228bca13d340375b882416bf6ad4cfd08bb9959807ce1ac482ef5b4202792713c76a30dfff78fd4d4b SHA512 51bfd0b5d520fe84b4e682772888320d61bc4c52c6b4dda609f758336cc151bcf00714635e19230cdd1695209b6adf05cee349a82003e443dc5f52a7f105feb5
DIST hypothesis-6.92.6.gh.tar.gz 9410707 BLAKE2B 337369c5044682b3404ba0492cdab838db53e2c081e668e41facb6c8b6aaf38cf55f20a64150f1249360b64f90f34b42002becca6d7a33245a0ac55dd0e34e27 SHA512 86822dea75326343946aaf036aa8b0aee7287bdfbe501cf5c532e9377957bb6ba7f63595b1aae383bb007099e3ca33bd1f3d2ed6d7d8722ceb86b9146502a07e
DIST hypothesis-6.92.7.gh.tar.gz 9412316 BLAKE2B eae3a5d46dde5d69ab5fea429178eebeed06bec4ff25744324a3ed75e9433ac9652eb467a3a0a32fbbbe9924913f25ac87b375d1cf27c82fa5b024bdcbcdb791 SHA512 5fd04e49d76ec42dea4575666ed19ee249ef8cdcdca81d8c652b79fa879d51cfecd1851245c9b950627227d42c7520f7396816d2a8cc66991e1abc955a2c6cbd
+DIST hypothesis-6.92.8.gh.tar.gz 9412899 BLAKE2B 48bd1218f20260b983df4c75def1ad30a48d368975e5cf64bcc0eeb5148bd8cd2afe9b9b912304f13be791ca35f99bade225bcd7e600687a8249060b8b1767bf SHA512 ce5b97360dc45f4cbc26a7c68b1b7200e9906821200207479be80ab0c4bab5f5c363d1e914bc163eda096e575560146cdeb5f129b0ffd1545455df427c00cac2
EBUILD hypothesis-6.92.0.ebuild 2461 BLAKE2B fa15e027fc0501aa061b5a9c35a4c54279552f8b16ff0a74835528d13cdf50258f673fcff6f53e8b49cdcf9d11eb54780e6c48acb3318e8729b3e76b776ae422 SHA512 a1c518afe1d9ec2aeee8e84ef370e320696d05b2bf87daa164327c86f8154d4dd7d4b5964451d64f4de24519541986c2e2e54a240a63a9dc188e5e9f35ce9264
EBUILD hypothesis-6.92.2.ebuild 2469 BLAKE2B 79c1aad30d28529c6c63f3279f7d86bee6a9a327c5ed447597b15456dee3f8de8af7bba45a376616e3460602ffb349206019731de6c44f3248fe568a1457a2dc SHA512 e4f204ef4113ffb64222031ccd954b450ddae44fd049c633e51082d030785f53928447c47ae7a167b3bc091f263caab90054e40cffe01d070a7b98060b973324
EBUILD hypothesis-6.92.6.ebuild 2469 BLAKE2B c411ef0dbd4cb160b7695cd5e9428835163379752bab7b2f4668b7cadff8fb0773ff46540a66c521f15f65cdb4f1f51a832e06adce48491e492a0c4f0dd13499 SHA512 d7031fa1c8a7fe3914019a39976473dbe629b215b40647c262ba8c75a33b668176e5fb3262f01267f81b42b951b641ea561c4f1c2d21f61e4a0f05c5dbfd520c
EBUILD hypothesis-6.92.7.ebuild 2469 BLAKE2B c411ef0dbd4cb160b7695cd5e9428835163379752bab7b2f4668b7cadff8fb0773ff46540a66c521f15f65cdb4f1f51a832e06adce48491e492a0c4f0dd13499 SHA512 d7031fa1c8a7fe3914019a39976473dbe629b215b40647c262ba8c75a33b668176e5fb3262f01267f81b42b951b641ea561c4f1c2d21f61e4a0f05c5dbfd520c
+EBUILD hypothesis-6.92.8.ebuild 2469 BLAKE2B c411ef0dbd4cb160b7695cd5e9428835163379752bab7b2f4668b7cadff8fb0773ff46540a66c521f15f65cdb4f1f51a832e06adce48491e492a0c4f0dd13499 SHA512 d7031fa1c8a7fe3914019a39976473dbe629b215b40647c262ba8c75a33b668176e5fb3262f01267f81b42b951b641ea561c4f1c2d21f61e4a0f05c5dbfd520c
MISC metadata.xml 492 BLAKE2B c9e9bbd59af55d1f47e5b7a86933c02b47f832122d03eaca56bd3ec9476cf260d91d4fd2da5068845d4525b7cc9f702b515e8d6a0dffa7923f5898cfd44e12a1 SHA512 166b33d6ac887f52d54fb9d556102038c00650a597d2de1c3aad3f8b5e136e9b6b7db31f05f3379435e4c5f943156d5839d78fc95461af411037a3162ea6705e
diff --git a/dev-python/hypothesis/hypothesis-6.92.8.ebuild b/dev-python/hypothesis/hypothesis-6.92.8.ebuild
new file mode 100644
index 000000000000..f7f366381e4f
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.92.8.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing 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 ~ia64 ~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-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.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
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= -n "$(makeopts_jobs)" --dist=worksteal \
+ tests/cover tests/pytest tests/quality
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ rm -r "${ED}/usr/bin" "${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/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
index e7b6cfbfd0d5..908eb9b3c10e 100644
--- a/dev-python/jupyter-server/Manifest
+++ b/dev-python/jupyter-server/Manifest
@@ -2,9 +2,11 @@ AUX jupyter-server-2.0.1-skip-npm.patch 698 BLAKE2B f037094e4ba041f112e6b2b08693
DIST jupyter_server-2.12.1.tar.gz 713271 BLAKE2B 4f65b1ed51dfa69921455a46a2a1e4971a7608367f23a00f2360dfcea19383aae7ffb8e7d2774ae150b2b49b91b0ad2605f69d08163f7d841f086c91dbc1df51 SHA512 33db313bdd70673a28df1f66c8f6635f3abb00d4e939370f9026f698ce8144c5d2689aab849395d9eefbe141c0b3a5b6bf1a113b9ccb2327983ff83ea813b8f5
DIST jupyter_server-2.12.2.tar.gz 713700 BLAKE2B 37739ff282a40a1d49c8abe99987497a90803fe48205451ab1ccf731f4e694bbe70157d1444de34ff4f0bc1280a021e3b857c9968615e59964336d8fca8d973d SHA512 c43052bff91d245b942c0eec5cf435b1b2266f5a304844c2fe3bcf1dcef80cc91178b2789cc0634cafeab8cb67083a232bd1f433acb69cffd2c3026a56a264f1
DIST jupyter_server-2.12.3.tar.gz 713798 BLAKE2B f0bab746557247b20ea9b34c72b43d101dfacc4ab7799e76732a63b5d6088d2d523a52dbfc7324aeb7105de6804ceccd3d4c32f0dfadd8ba5ac18b60eabf9c3c SHA512 8c30cc86b6fcc8eb91174be55b0dee7733b8f446b2c5ccf17f3369f628cf059b33e534fe3b943e8697894ef90124c52973fd010bb005c65064c525699e8c1c43
+DIST jupyter_server-2.12.4.tar.gz 713846 BLAKE2B f802474367b70663576c1fff87818db8559ce602ae5793aed3f85e720e0a5542d6cae2369726616d3e5a8233aa154b327432050ff99127c499608e36ed69bd07 SHA512 25c6d79342b4905c75465c0ce4a1e44b8fbdb1ff2d4f665739fac02e0bad31b5b0912d006f0cf530dded25bd93a816dc4e340d91bf2f2c0b846d0960a5d4a3ce
DIST jupyter_server-2.9.1.tar.gz 709013 BLAKE2B dee0de771bb8488cccaecb49e2b4a2003f2530243013cafa7f170384380423a7c190504baabf458c59ffece28c4f60662c0530f55535dae25699be269f159743 SHA512 148c3eaa4b6ca1147961c1188e0016a634e5adae350e762903bdde000acde7ab62507e71dbe1278c2b9358ce2cf1c28c17ea8b184f3d4a2d59277910b5b44965
EBUILD jupyter-server-2.12.1.ebuild 2330 BLAKE2B a05dea72d9ed2cd2d25a018dbd2b6c1acbb00fe0872430a7ae68484821de889b187e4813f8431807728fc9f5e89cf33e6e63b026067e1a4138bf44903343d7f9 SHA512 df5f250706b077d17e79cc2705389ffee674e23a26eb62c8029d2d1764cb2ff6530f7200457a682d304caaa739a9e374867e09f6b6b47737ba002064f4bb45b9
EBUILD jupyter-server-2.12.2.ebuild 2336 BLAKE2B 6ed26551adb95e644f1aaf936597667068b25d52e23d608f38b2f105d16d2341af20815219207f8a7abac740131dc211c80f60b4ec15881ee70bf8bb157e4e13 SHA512 50939cccfe5e4d4c50b18f3102544d14f00c646cc4677458134901e75e75c6aa75d71c0a21b15c9465ef03d154712119abe7d8c4f43b5130f6b27dcaa73c6a31
EBUILD jupyter-server-2.12.3.ebuild 2373 BLAKE2B 12cde81637a32b3f6aa087553aba50a4b4393e3340b436b491c6153b80756232ef26b0e82109baa822e555a2643833a66257d0687afc2adc4851229e88d9e767 SHA512 46492b7531710359d118be1be70bbdf0af56a034c5318c20b2b4bd2f5b48702301e943ab3e64ab77cbb0fbbe5fd662e792c8189263cfaad4480cd521a802f9f8
+EBUILD jupyter-server-2.12.4.ebuild 2373 BLAKE2B 12cde81637a32b3f6aa087553aba50a4b4393e3340b436b491c6153b80756232ef26b0e82109baa822e555a2643833a66257d0687afc2adc4851229e88d9e767 SHA512 46492b7531710359d118be1be70bbdf0af56a034c5318c20b2b4bd2f5b48702301e943ab3e64ab77cbb0fbbe5fd662e792c8189263cfaad4480cd521a802f9f8
EBUILD jupyter-server-2.9.1.ebuild 2317 BLAKE2B f3d17d7ced1e9f225cb9f7314b5cd0d277e057491bde4ac3fd9cc12d62de327f34ba1d5f1bffddec92ff3bd9177753aface88c3a65a9a5483b9a033bc293b440 SHA512 27493c867819f34f97bc18f357d7d09938eb01f084ce3b009fecd8634315d4a4d3301454eb6dd0d63354dc2904539ee9a064af82759aabafd52eac4625db1d6a
MISC metadata.xml 544 BLAKE2B ec5a0aea1d2ad6ce0e59972d2ef4ce62c03877d464dfdc34bcb94a7d01304c63761c6bc30ed973bba1f4100e25f70541bed4eea858deb44f359d0e373ae1ade0 SHA512 ffe7deb7349ce99890b902a225b73913185bfa860237dea8c1a508a6a5e84bbb74ca7a5c43253c9986f97fb3fd1e9f2bb63ca60f73953fcc851359df8adb5fbd
diff --git a/dev-python/jupyter-server/jupyter-server-2.12.4.ebuild b/dev-python/jupyter-server/jupyter-server-2.12.4.ebuild
new file mode 100644
index 000000000000..47b4d4c54c22
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.12.4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core services, APIs, and REST endpoints to Jupyter web applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server/
+ https://pypi.org/project/jupyter-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/anyio-3.1.0[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.4[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ dev-python/jupyter-server-terminals[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-events-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-6.4.4[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.3.0[${PYTHON_USEDEP}]
+ dev-python/overrides[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/prometheus-client[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/send2trash-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.6.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+
+"
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/flaky[${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}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # This fails if your terminal is zsh (and maybe other non-bash as well?)
+ tests/test_terminal.py
+ # Fails because above is ignored
+ tests/auth/test_authorizer.py
+ # Fails with additional extensions installed
+ tests/extension/test_app.py::test_stop_extension
+ )
+
+ # FIXME: tests seem to be affected by previously installed version
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest \
+ -p pytest_tornasync.plugin \
+ -p jupyter_server.pytest_plugin \
+ -p pytest_console_scripts \
+ -p pytest_timeout \
+ -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index b18e45893b27..c95ce3f65a05 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,5 +1,7 @@
DIST nbconvert-7.13.1.tar.gz 851593 BLAKE2B aa9895257710b2e759c25f91723a69cdd1a4c27e7910c423ed8818497ae78d6a5896dc23333bc312a51d022d3de51a3afc0aecfc03e5ae9814dcea508b79e928 SHA512 33fd1bd41ea4b321875ac6a698b1bfd61e69ded672ee0e7ba4d1dd0a5bff7150f56f18f68212dd4a9e997c9642d83c237354fa8a5a62be492d8a292440cbc2d4
DIST nbconvert-7.14.0.tar.gz 851778 BLAKE2B dcad57a56b1d7070188eb864668e1a12f26fb45ad88b0c566b26bc262bef250559bc4e011280c792d82c614330f38816f5f8fc9c3035d5d218aff8c312b78df6 SHA512 140c335c1ad5fa8419f273d102e2f39179edadff96caaba78f3b87118ee7690dee2978981d972ddd06ed3a67182f7d24467f8d0ad44760d1f0d74a2f5dd7ac35
+DIST nbconvert-7.14.1.tar.gz 852119 BLAKE2B 22248b507220e7fc71fca95a2d43646c9365adc89ec89c2f840705937f2715a070c2d509301cf9252fd0489e2041f0c6f1df38c928ed5e449a3674a2f1639873 SHA512 91e29460f746ad6a9db898e27de755c469ba0011d21737f2149d8475c9dcc4442178802b79f890424666d81108a416c1727eaf3de7db13370713ec9cd9b77262
EBUILD nbconvert-7.13.1.ebuild 2392 BLAKE2B d50661b4074266d6dac01a5e26b7a32a995e00ad54157ca45ed0d6c225e176de4f9d01dce2edb51268f43f3f805c7998d5f951b83f0dc8754031577350659e49 SHA512 4c19ebb4e286c242800da3a3780bd6dca8e832d030d441f4bd76e49ae13ae068e204c5c0c80fa93ffdd51a2ca19b4d51ef5c1bbbc05128e4dd9ab8f2ce8dcf5c
EBUILD nbconvert-7.14.0.ebuild 2400 BLAKE2B 0fe5ee3cba06a2ebbbafa71b033c5cd64a14f18b8830644a4982eaa9def676b2d29511db3a91c6ed4d4d2879fc9fdb9925fc721510ea1aa92eaf0c781bb7305f SHA512 69d42b858bef1beefc62e7eab3a599e104d851a006fc3214fd381c734e2e56b1cfc8f5945ac03c4f4431c051a284eceecb59912282fe77d2496b0b61a8791d08
+EBUILD nbconvert-7.14.1.ebuild 2155 BLAKE2B edb577b81b84f063690f5c8243a558c5964acc154f056883c9c70320c99f61fef3c3ca97c1373acac0129ce0bf1dd639538b179cc97416b71df57551935f03e6 SHA512 1158f3b3cfe7f77dc939abb399cf36e79fbf99623ff333ec541f6ac3371247ccacc5a0a9c3ff1f6dd1cab4a529395a61e9ffe190e7d56610d1cd408378e60585
MISC metadata.xml 527 BLAKE2B a915103b3eaf57236f4257c98354a1e3733771369ac825fa8bbc4f79f0d1a23272dc86e744513620fbee37792e813a15dbb955e633a7c57597c3c38657ed05d3 SHA512 b60a311ce52915dbc12addd4a882670ac96ff8b3be2aa651eaac3d0963d6e73a72eaafd53f90fb685599504857e6bcd0568071962d7696c2605462b77260ad6a
diff --git a/dev-python/nbconvert/nbconvert-7.14.1.ebuild b/dev-python/nbconvert/nbconvert-7.14.1.ebuild
new file mode 100644
index 000000000000..0e4d228d0bea
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.14.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7.5[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # crazy qtweb* stuff, perhaps permissions
+ tests/exporters/test_qtpdf.py::TestQtPDFExporter::test_export
+ tests/exporters/test_qtpng.py::TestQtPNGExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/pandoc; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/sphinx-celery/Manifest b/dev-python/sphinx-celery/Manifest
index 3d088b132173..8a8af9958dee 100644
--- a/dev-python/sphinx-celery/Manifest
+++ b/dev-python/sphinx-celery/Manifest
@@ -1,4 +1,6 @@
AUX sphinx-celery-2.0.0-extlinks.patch 1022 BLAKE2B 72afdaf8be3832bc4d4d20ece22065696340d715e208810dd315586b87d5a23fcaaabf63f9e056afedb86976bc874b414722998edf96a9bafbc4fc22e84a3c9d SHA512 07431b7763df6616783f0fe1d9ed560341a6f3c3c848264251d798ed4f26d5b92a3bf6a92bd8c377a1093e582e15a886b13ffa3314554696519ae93226aa380c
DIST sphinx_celery-2.0.0.tar.gz 16203 BLAKE2B 439a9cd20e09071491338016ba83514e37c7cdfa34966e93e3c6062ed94cdaa0750351a0de9fc7b27be1b7e557b5625be73f01f1de59d15f36335e9d46d35cae SHA512 1beca69fe9b56d04cd3c42aa9244d50a364a860e9cf53f94897c0f690b8465f4e2a7b10ed6d310d3fa706d86f5882a338cd982a3ac7cec36586269756e9128a5
+DIST sphinx_celery-2.1.0.tar.gz 16612 BLAKE2B 8fc50186f589e00b26b7550f28ee4b4e863b58ccde682a53a70e90d53d4cd31777f6363a8d2dc58000db86bff0cdb957b74234d15d68c189cb9371c6e4b06cd0 SHA512 63abdf8de1f30550172f15c41eb51c1f200b83eaacda1b6c209138d9a4057fa6c0f711904fe11611ea08d18e957b3966038a0b6b4ca4d5d7cdbbaeab9bab601a
EBUILD sphinx-celery-2.0.0-r4.ebuild 591 BLAKE2B 47536da25c21a807990d92efbc3eef6a136dba38e4717fb19a653a27eb8d727c988110fbf76a1baa18d407e35eb84f0a6d591d707a5a55a5642301d84f3a01db SHA512 eeb2d568dd88349589e3e2ffbe0a29326bd847e628ef77004f5d6caabae8bec99496afd9687080e987f87a9d478cd7bd28b6bcbf7ecee1341821886211bfb38e
+EBUILD sphinx-celery-2.1.0.ebuild 498 BLAKE2B 4e09392ee793a6733dd3cd30b22a9a4e4c0d480246e1700e2cb74a1a87996b9bd3015e381ab315b147f0de3feb367a2b468e87109fa9ca94fbd9841dcd0dac74 SHA512 a0664fa49da2991c35acb53790be4318057ed03c0fde777475753accc9859f8391d418614ed1ec81dd196766e73185e3fcecc74767098b4a5a8209a12b65d534
MISC metadata.xml 355 BLAKE2B 12bfcfd706cacbfbd3c28692b0e50f45b8d62306682e1207123d2bdcb490197b3f0e3e142d0d57778a0eb9caa868f0d88e1b7b30b17e22cdeaa7a8265bef4eb8 SHA512 b6a7a301eb8f6984a60e707fd8ca5c5a88cb286e24b6dc98baea473670bad8d3e898384b140bc22711ea80a514e6bd0d256ce6e7a814a175c36f6755713a0e44
diff --git a/dev-python/sphinx-celery/sphinx-celery-2.1.0.ebuild b/dev-python/sphinx-celery/sphinx-celery-2.1.0.ebuild
new file mode 100644
index 000000000000..c1cf8b5e4213
--- /dev/null
+++ b/dev-python/sphinx-celery/sphinx-celery-2.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Celery Sphinx Theme and Utilities"
+HOMEPAGE="
+ https://github.com/celery/sphinx_celery/
+ https://pypi.org/project/sphinx-celery/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-2.0.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/unidecode/Manifest b/dev-python/unidecode/Manifest
index bf30dec34b69..fba1c1f26860 100644
--- a/dev-python/unidecode/Manifest
+++ b/dev-python/unidecode/Manifest
@@ -1,3 +1,5 @@
DIST Unidecode-1.3.7.tar.gz 192647 BLAKE2B bb32b816b9bd3cd8e29c84297a5ff81d60c2865c4b1e7039435e9819c5cd46057f3853d3eaf128ab13444105f81c5451533eac3a38d6181157bc8a30c86234bf SHA512 b4f7c8b40e1c2d05aab4e53b54fd657a3db35ea5feba0f95551ba2ccfd7e5b0da034aec6de11c5e43f23c3a9609f5cbe8e458fe18539ffdf7ef79e039e1b390e
+DIST Unidecode-1.3.8.tar.gz 192701 BLAKE2B 622b61b89d83070101626775187a666b830399bc86c67367b0793b6626667dc8f4655372c7bc8b61f2433ac927ec7572e5beb104407784dd2f8e20ced9ecf981 SHA512 0c93647b05b3ce041ba0091705630a4d75dfc249b3aa57b1d8bd26d26f1a067af1d0103a0f57ee2ea07224797ce204562e08df92d0fe60e250a16614bf146ece
EBUILD unidecode-1.3.7.ebuild 493 BLAKE2B 266b0b401491f984adcc1f8073835a068d8552263b7c7ff8ae06d911b86819ea40b5e0a6fb018ee9d54da08c7fe8f3682a02abf98118eaafc3d5102cd286dd9c SHA512 688fae318948bfd990692b43a2621a17d10f2def6a29f0620f50476ff83cf50e134a4b46c4f795222138839ba41458142e81da7ed9526292e3ef4a7d4fa8ce61
+EBUILD unidecode-1.3.8.ebuild 500 BLAKE2B 407d2f663f371968482ae3711f5f8a2a82b8f0647a1117cf3caaad608d537e4793e423fb4d0b6279b37209774d3209fcdc58cb949daeda7f40465b1daa330c41 SHA512 264a571972b6316d92b5d07724f8e07954b42ab8405480d67e1feec9f07393b11a314bf9e4727a10b4120e631879b13d386d2c4e5272dc1ea0598a1205aedb59
MISC metadata.xml 457 BLAKE2B 43e1b676ecfc82f845bfc1b3dd2409756ca419086ccb693b39f73e2598b5de9a463fecb3dbda76d7e375b23a6ba06589231d6184a92872bd4f3c16080bef6353 SHA512 7cded888473c7a7829aaba7d63d5a54bc22f5e9829733d961d520a7d3f0ff57ee00e16c42811a6b63c0d02f9e3f93a1d0f539c8c79242038bcdfd594ab7d07c6
diff --git a/dev-python/unidecode/unidecode-1.3.8.ebuild b/dev-python/unidecode/unidecode-1.3.8.ebuild
new file mode 100644
index 000000000000..658a3b8a24ba
--- /dev/null
+++ b/dev-python/unidecode/unidecode-1.3.8.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Module providing ASCII transliterations of Unicode text"
+HOMEPAGE="https://pypi.org/project/Unidecode/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+distutils_enable_tests unittest