summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-25 05:24:31 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-25 05:24:31 +0100
commit4eda0fe5576868e6c7f97b51aa1c279ff8cd320c (patch)
treec0397a47938edbcb6e46e34fe4f0defa3e4db920 /dev-python
parentb914cf9afa036a8ab23e8cb4cf7df1acd4a1bd44 (diff)
gentoo auto-resync : 25:09:2023 - 05:24:31
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin267631 -> 267653 bytes
-rw-r--r--dev-python/elasticsearch/Manifest2
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.10.0.ebuild66
-rw-r--r--dev-python/hypothesis/Manifest2
-rw-r--r--dev-python/hypothesis/hypothesis-6.87.0.ebuild91
-rw-r--r--dev-python/pygit2/Manifest2
-rw-r--r--dev-python/pygit2/pygit2-1.13.1.ebuild45
-rw-r--r--dev-python/pypdf/Manifest2
-rw-r--r--dev-python/pypdf/pypdf-3.16.2.ebuild56
-rw-r--r--dev-python/python-utils/Manifest2
-rw-r--r--dev-python/python-utils/python-utils-3.8.0.ebuild42
-rw-r--r--dev-python/rapidfuzz/Manifest2
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.3.1.ebuild50
-rw-r--r--dev-python/xlsxwriter/Manifest2
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.1.5.ebuild28
15 files changed, 392 insertions, 0 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 403438807326..a694e5746ece 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest
index 5deddddb6a03..4262f3ee67af 100644
--- a/dev-python/elasticsearch/Manifest
+++ b/dev-python/elasticsearch/Manifest
@@ -1,5 +1,7 @@
+DIST elasticsearch-py-8.10.0.gh.tar.gz 896444 BLAKE2B 7cadd9d23e31b42ba309345f228193a856ceac0c6b64786ae84668ff361f750d0413609b753b6faa113835eddb6b212b79bee0ee6e25025f2829b92b9109701d SHA512 2e72b726447f4fe139a7b1bb1a95e0eca613f53bb0c6d758b646203676835b56fedff418feca386d1300f8eb6ac2f14a5a99d7d7716bad286641ab43c9abcbc4
DIST elasticsearch-py-8.8.2.gh.tar.gz 527409 BLAKE2B e7768150e22995b4ae4a5b0898a252c46e90b224e8c4132a7035d726db9367facfe2cd006c0d319454c61c075d180776f567e45791d731bf1fc1d40a78d284a2 SHA512 5e5610425fe3727b817fbeafb411fa3e455a1f08c4992774c95c93c5b0d01880198d39febb18baee7a1da85bd126d9679fb6a2aac4602df8ec49cfff0b5bd3be
DIST elasticsearch-py-8.9.0.gh.tar.gz 881506 BLAKE2B 7e6813ff5d5f5f90e67f479258506736a07fac45529f3e957a10cec8251a923afaf3ce4a88f34be8c1dccc4d2df95f87e2b97e05c296bf530f169bd6756b0779 SHA512 b8054edd2bb7577601b2dfe423ff5b191d59abcc1e8aaba86af18be3215548b2d540bb398b5ad83955da99c35995c4ba2755c9da3823fab1fffb0e7a01633f32
+EBUILD elasticsearch-8.10.0.ebuild 2206 BLAKE2B f34332fb092a9be94fae6a4a6ec7b68318d6ad77e96a60dc7c3da21a0b4ea0935b255bd0d8402719258dc0e70b65f6637d88f596c080ae6c9e932c870bf99af0 SHA512 b559d768355aaadfacd727d94a9a54db754bb812b67c19d3be51d9ef1d511b6100d6954ced2fcd476cb1ec1b6572118e529d147b41a66b7b703b4a9b419c192c
EBUILD elasticsearch-8.8.2.ebuild 2205 BLAKE2B cbebf02651af9ca85fd0acc64648b53d661e8f94b2995e8e4cc4395532035bb16fbc81667ad540b0a9d98745e29bc288e5a9ae8e2dc3b46d0f804bbdbb3f5f92 SHA512 a43dd76d27daa3613c34f662f3bacefad90c29a0fbde651e2ab0e2a643d78bc25628f180a65a3a07a99053e356b81ab85f9234bb98df9c92588fe9318c78b191
EBUILD elasticsearch-8.9.0.ebuild 2206 BLAKE2B f34332fb092a9be94fae6a4a6ec7b68318d6ad77e96a60dc7c3da21a0b4ea0935b255bd0d8402719258dc0e70b65f6637d88f596c080ae6c9e932c870bf99af0 SHA512 b559d768355aaadfacd727d94a9a54db754bb812b67c19d3be51d9ef1d511b6100d6954ced2fcd476cb1ec1b6572118e529d147b41a66b7b703b4a9b419c192c
MISC metadata.xml 563 BLAKE2B 55aa4f1e346ef660c4c8c5bf53518685e68fea80787d4a4175405e67c2b6e9c31d14fd48577c48c82ed59651c32110d4dbbd907ce29b599ca3bddddd1b5e808a SHA512 142657aca39d615755acb7cd6bdaa920935640ce1e3f00a241bb2a41ce2745fd73e341b80edf3fd830e9c9796285df1d69e62b868252602b6ff9e1ff6a2be599
diff --git a/dev-python/elasticsearch/elasticsearch-8.10.0.ebuild b/dev-python/elasticsearch/elasticsearch-8.10.0.ebuild
new file mode 100644
index 000000000000..9aa78c8ea55f
--- /dev/null
+++ b/dev-python/elasticsearch/elasticsearch-8.10.0.ebuild
@@ -0,0 +1,66 @@
+# 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_{10..11} )
+inherit distutils-r1
+
+MY_P="elasticsearch-py-${PV}"
+
+DESCRIPTION="Official Elasticsearch client library for Python"
+HOMEPAGE="
+ https://ela.st/es-python
+ https://github.com/elastic/elasticsearch-py
+ https://pypi.org/project/elasticsearch/
+"
+SRC_URI="https://github.com/elastic/elasticsearch-py/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}] <dev-python/aiohttp-4[${PYTHON_USEDEP}]
+ >=dev-python/elastic-transport-8[${PYTHON_USEDEP}] <dev-python/elastic-transport-9[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4[${PYTHON_USEDEP}] <dev-python/requests-3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ dev-python/unasync[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # REST api tests are a black hole for effort. It downloads the tests so its an ever moving target
+ # It also requires effort to blacklist tests for apis which are license restricted.
+ "test_elasticsearch/test_server/test_rest_api_spec.py"
+ # Counting deprecation warnings from python is bound to fail even if all are fixed in this package
+ # Not worth it
+ "test_elasticsearch/test_client/test_deprecated_options.py"
+ # Running daemon for tests is finicky and upstream CI fails at it as well
+ "test_elasticsearch/test_server/"
+ "test_elasticsearch/test_async/test_server/"
+)
+
+distutils_enable_sphinx docs/sphinx dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_prepare() {
+ # Replace added pytest options with setting asyncio_mode to auto.
+ # Test suite hasnt set asyncio parameters so its needed here.
+ sed -i '/[tool:pytest]/,/^$/ { s/addopts.*/asyncio_mode = auto/ }' setup.cfg || die
+
+ default
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 8f92da2e4d66..51840b36ab0f 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -3,9 +3,11 @@ DIST hypothesis-6.84.3.gh.tar.gz 9386113 BLAKE2B 9d990b1634e7cd12f933f3a53b4231f
DIST hypothesis-6.85.1.gh.tar.gz 9387516 BLAKE2B 362dc9adff39e0229307ed4d8c63a2c78a2653d5b880a7748218bccb3a4f6e36c6a0e38d51aa72a5acfb8e66f9d1418dbf8d039b855a6596515257d815566cc8 SHA512 4916575f60b9472d58a02a776fdf7794ea83e9e59b414a05f5ed06aff31ed91719485ceddec8233125425393444f0487ab2a6adae7c9cd6d3448460c20d3c556
DIST hypothesis-6.86.1.gh.tar.gz 9388105 BLAKE2B 92a645c1e2f0d40bb96271b9539f415d5bdf8a57c50d658a8d041802cc3adc49708c420127bf0ae0daca1480c975766b5c4b1d4a07b18c020a608ea577e1894f SHA512 133adced2ef15f64aca404384ac372d36dec4a28b8b768631b09de6698fb718bd27c062546f0fe8b428510c51014ff124d4469e1b904aedc2fdd84183cee48bf
DIST hypothesis-6.86.2.gh.tar.gz 9388171 BLAKE2B 7f6ba341c96e9ad2c6a05c777cd94d5437b24a66f571e690701501ce13bce7a448afdad0964f6ba0c34d3a4e1f52cbbc0f23709e4a15750c0f13b81d25ae2810 SHA512 6d858e9722014ae136a13bf93f1f4bd55b7eef7ae9f25dbb90abe1e5dab4422aa2987ed01f852d74ba8332af2cfc99b7f938f9a934604fea74e51f5dd4d52f9c
+DIST hypothesis-6.87.0.gh.tar.gz 9388325 BLAKE2B 5774e125a212a3ec4b64e9575db727c6338f931a2b065dce4f8c2bf9e7fa7026c4ed1dc11b4030af7f012064fbeae7240086eda2b0862b41d2ee37ae8540c03a SHA512 2f11d3bfff9c6f6322e368b40987d5379d0aeb619c5017a746ac935e43f50381d4ad8e180765cfddf5196a4f0f69f89df48cc9069e9d3f79446e5d396c673a3b
EBUILD hypothesis-6.83.1.ebuild 2511 BLAKE2B 9389f6ffe637dd247a8d88adb96369e26bb1f4cac65da682bb9e3ad9098fa6d7c9012f795b4adedd27090f42429df472d14babfd5dfaaa2cc24d85249a57c269 SHA512 197e8fa7170492329b6d6a5924672009edaddd9c626b2bc0c5c54263f77634331a7ed51f8c566471c8ccceafcb16be10951582cd05a00aac0786d6e194e9a0cd
EBUILD hypothesis-6.84.3.ebuild 2519 BLAKE2B 4a6da12f06a6172d03a6404f2869e1c71a39d97961d93c8b1af4369597d00b773b16f7fc40a8bd80c4b2525c490d67b708046894feb86403563859cc20c45974 SHA512 aacb5ee7464fc4bef490f9f4bdb558ac38310bfa226c1a49a9b82a854cf814d68b5154386130c68fc396d74650d2533d51487e17ebaef049b283417f5c677cb8
EBUILD hypothesis-6.85.1.ebuild 2519 BLAKE2B 4a6da12f06a6172d03a6404f2869e1c71a39d97961d93c8b1af4369597d00b773b16f7fc40a8bd80c4b2525c490d67b708046894feb86403563859cc20c45974 SHA512 aacb5ee7464fc4bef490f9f4bdb558ac38310bfa226c1a49a9b82a854cf814d68b5154386130c68fc396d74650d2533d51487e17ebaef049b283417f5c677cb8
EBUILD hypothesis-6.86.1.ebuild 2519 BLAKE2B 4a6da12f06a6172d03a6404f2869e1c71a39d97961d93c8b1af4369597d00b773b16f7fc40a8bd80c4b2525c490d67b708046894feb86403563859cc20c45974 SHA512 aacb5ee7464fc4bef490f9f4bdb558ac38310bfa226c1a49a9b82a854cf814d68b5154386130c68fc396d74650d2533d51487e17ebaef049b283417f5c677cb8
EBUILD hypothesis-6.86.2.ebuild 2519 BLAKE2B 4a6da12f06a6172d03a6404f2869e1c71a39d97961d93c8b1af4369597d00b773b16f7fc40a8bd80c4b2525c490d67b708046894feb86403563859cc20c45974 SHA512 aacb5ee7464fc4bef490f9f4bdb558ac38310bfa226c1a49a9b82a854cf814d68b5154386130c68fc396d74650d2533d51487e17ebaef049b283417f5c677cb8
+EBUILD hypothesis-6.87.0.ebuild 2519 BLAKE2B 4a6da12f06a6172d03a6404f2869e1c71a39d97961d93c8b1af4369597d00b773b16f7fc40a8bd80c4b2525c490d67b708046894feb86403563859cc20c45974 SHA512 aacb5ee7464fc4bef490f9f4bdb558ac38310bfa226c1a49a9b82a854cf814d68b5154386130c68fc396d74650d2533d51487e17ebaef049b283417f5c677cb8
MISC metadata.xml 492 BLAKE2B c9e9bbd59af55d1f47e5b7a86933c02b47f832122d03eaca56bd3ec9476cf260d91d4fd2da5068845d4525b7cc9f702b515e8d6a0dffa7923f5898cfd44e12a1 SHA512 166b33d6ac887f52d54fb9d556102038c00650a597d2de1c3aad3f8b5e136e9b6b7db31f05f3379435e4c5f943156d5839d78fc95461af411037a3162ea6705e
diff --git a/dev-python/hypothesis/hypothesis-6.87.0.ebuild b/dev-python/hypothesis/hypothesis-6.87.0.ebuild
new file mode 100644
index 000000000000..0d6df2a9e475
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.87.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 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-19.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/mock[${PYTHON_USEDEP}]
+ 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,pytest_forked,_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/pygit2/Manifest b/dev-python/pygit2/Manifest
index 486b5142b202..0fdfa3157bd3 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1,3 +1,5 @@
DIST pygit2-1.12.2.tar.gz 738453 BLAKE2B 805472147021296b28f0d47f97e5b42355e2f8eb418cc48134a8c2a0c606e04bdf6ee9ddd5586949652b36d921631aaa16fb739d8491db01196c7ecb26f2ea13 SHA512 adf82f385b0cb8e239113171e7e4d75d4902828b18a04f2624c6931f7d11648ae0503d615ef5d89ddc477b94c5ac48354be223e2bde7d4c111a957e114b6a28d
+DIST pygit2-1.13.1.tar.gz 739041 BLAKE2B 37997247edcc8b4268ea8e0347be4673ccd1e12e0cf1c1be37849560f91335c39998d7c42b0fc9ca40c9b5cbf315154ee13a5e9453d266ebce1a6f6ebb80fed6 SHA512 632d60c1d0602b264504b0e99458c93f0f3699b5ebff34b70ea9381a4472fd938db426c04b6ec0b8b3e5c85aaede440ed28dda232b55954813fce099df6d94e8
EBUILD pygit2-1.12.2.ebuild 803 BLAKE2B 54bd019e1b82989d76af9d80f2507a7585474b0f183ba4d7009fce5994c2080fc832a815fb320e2294a60db7a504f4cabcaa01a6c8231e53b2f9dafb3f13f3c6 SHA512 38c6fdd592466f2e409e1cc0360404158d490571085cb34b75c986912c655c3efc370d8237d3a745f16aaeb527268c6f77ed5b99155da44937c5da947c3cf9e7
+EBUILD pygit2-1.13.1.ebuild 805 BLAKE2B 190173995d77b00612de3f596956821544380219dad3ea1a4cbff2c344c2ade05152cb80793f1a4f7a0363610ffc6b77a739e4a2e867242c5688ba729a41a67a SHA512 98c2e292ee0ff38810b3abf0bdfa3e7040085d838556d81da23acee84e03f4f4cad35fccc1644edd236b3cf8d33107e9728d42f13039bd804d608eaa48af3bee
MISC metadata.xml 490 BLAKE2B a53da88b5fe40a56d831bb5589d03d247ca1d1d843bde9a1fe6999563a42c076a9f6462b6947ae217086e5edde35a4788f4552636871891f9820534a6f0bade6 SHA512 57cb7356bbb0a22fce2d7ecd8ab346ef5c8155d0941d6a15bf2e98364e755d6e5e5d6aacf24017b4b827b983032e4d46f2363483ac66d6e3882c8be12e60fb39
diff --git a/dev-python/pygit2/pygit2-1.13.1.ebuild b/dev-python/pygit2/pygit2-1.13.1.ebuild
new file mode 100644
index 000000000000..28fd10216da0
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.13.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 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_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+DEPEND="
+ =dev-libs/libgit2-1.7*:=
+"
+BDEPEND="
+ >=dev-python/cffi-1.9.1:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 52cd6860d956..e9879ef65bab 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -5,6 +5,7 @@ DIST pypdf-3.15.4.gh.tar.gz 7929672 BLAKE2B da8bbbe6f1df51be63d116789eb4626ab59e
DIST pypdf-3.15.5.gh.tar.gz 7930893 BLAKE2B acdd6254c45e11631faccc4fd6029525d7cec52f7cf222d48f95a9bb736a83bdb9dfc6bf2830f55d0f881eb23ca0641c06fa97165c64789f7b152998febfe017 SHA512 173cfbfbbd5f2f08ebd03aa36750904d5a7ac328c27da1b38bda7b34586bf86eab391b3c1e9a6dd5f2e754d1871303afe151a80a3bb5d4ab867b6a019ecef054
DIST pypdf-3.16.0.gh.tar.gz 7936276 BLAKE2B 9b20c57f3bd5ccce0bd5bf71c7e084117a37450ddd7e126b03d58920bfb5896151a3a42253a96cd2e316696a19fab4c1c1743988ba85585867dff45ae98c254a SHA512 23dbb67b1a4455326133f1621e763752994baba55cd85191bcb61691bfd43f2e29f7ee11eb5d65415897e7f7af3367d1dc830a0d0e2f6ff0e3103ccb3b60d0c7
DIST pypdf-3.16.1.gh.tar.gz 7948024 BLAKE2B f35399af13418c4136d7f20763e875f5572759db0da25cada1bb076645db651a77c1e6cf244087cc2d3d6c9b786dfdbf887aa46ed8b48f9d0103618e60b0e8ad SHA512 d81b15c097c2eaa41ec421bc9fda47bd05f3cd3726834baff7024201c0a0f70d8cc5df5aae8471fe361be765b7874b4a93779eb3fdb1c266f8bdb4f1f3835ebd
+DIST pypdf-3.16.2.gh.tar.gz 7968803 BLAKE2B 7bca0cf5baefb79d9c3a76445fd5cf77478a2f076f5c3e6c891d9f107cbb2ee08535388ae1ba84b0aeaf63ebebfe54966603cbeb7a5a2c0b0327e7506893d893 SHA512 01dfdcf5038820dd0d922e57cfa3eae472a406eca4d24a46596028aa23d0bb88a805204faa3576e3ed4e49ba552619002b2be305498b31e9b96afa19a2575f7d
DIST pypdf-sample-files-935652968f76a41b4fa51afd05498e7dd7314c5e.gh.tar.gz 11187445 BLAKE2B e9332009a49249fdaa8b6c29258b11dfcf3627a5550ea7402cf0288bb4b0537136b039e6f4aefb03574076d1fc0af6100effc0d36510f035d9e63836ad52c4d7 SHA512 8d525aa323e5b45f71130459faa9686ec4ae04bc594895a64f1a5b6d027f866c48aca78602ad526000a11b547cc77068d1ac5e733d3e3a99df0e257c02fbb9e7
DIST pypdf-sample-files-b60ca63512466d1bafc587a2b223961b23a8e48a.gh.tar.gz 11199764 BLAKE2B e68bfb587c26a7a0ba9bb687e2b44d607cf890454dc2e5380db4037cb9a0be571e72b178d5ac86a0556f09fc344fc6ea76ee87bf9c6dee63799853acaba714b0 SHA512 20ff1d623a67fd0b08e1dfefc47d29ed28b5c62f1e0ef5a32699876e265541d97c10067ec954a387ba4952319d6903fb3d4db97e686200f9142329db06a11a7b
EBUILD pypdf-3.15.1.ebuild 1209 BLAKE2B 47f9252a0f11ea387f3224731964f0048586a0d8cf7a3cbbbbe48deb003d696d003e21c49426b91dd1a3b986ee0dcbae024a721718a3aa5153e2c23ecc9a71a6 SHA512 d49aa95a85075163fd7ac00713007a2c31c2ffe3d3fac4e43c681b6c29dc4a174ae8e0b1e3a2ddcd92d7afdcdec8cbab0a7b645607790179ffa46ae5e9ee49e0
@@ -14,4 +15,5 @@ EBUILD pypdf-3.15.4.ebuild 1211 BLAKE2B d79a894ae3fe363caa1812922a8fc1c1d2282b62
EBUILD pypdf-3.15.5.ebuild 1211 BLAKE2B d79a894ae3fe363caa1812922a8fc1c1d2282b62f5b3e383ba156c92209d5836eb9eb3bb524f5d16f57d98864af9e94feeac0443bdacaf856104c158672468fd SHA512 14feab4e5c42d1fc977c9fc7ca9cd9488d3c08f21b775ae7b4ec9127d85fc641eaf99614409cb6550fda1012200c3bd9ca5cef2702f025aa3af65acc63b236ed
EBUILD pypdf-3.16.0.ebuild 1211 BLAKE2B d79a894ae3fe363caa1812922a8fc1c1d2282b62f5b3e383ba156c92209d5836eb9eb3bb524f5d16f57d98864af9e94feeac0443bdacaf856104c158672468fd SHA512 14feab4e5c42d1fc977c9fc7ca9cd9488d3c08f21b775ae7b4ec9127d85fc641eaf99614409cb6550fda1012200c3bd9ca5cef2702f025aa3af65acc63b236ed
EBUILD pypdf-3.16.1.ebuild 1211 BLAKE2B db8b41a610ffb616bd3433857cf9519e3844858c79d82d22de4052fc7ce43881f7fffd64d75aed79f2f7f0f655edb467af11d90e414c34f262bfa12629a9ccd0 SHA512 35268c20147aa9fc5426cadae2f54b4c3f4d1d7ebd630af8523da8b68005319ef4a4b9b12a850185482835badc56a1a19a791d56d8ed63687bd04f081e46a8a2
+EBUILD pypdf-3.16.2.ebuild 1211 BLAKE2B db8b41a610ffb616bd3433857cf9519e3844858c79d82d22de4052fc7ce43881f7fffd64d75aed79f2f7f0f655edb467af11d90e414c34f262bfa12629a9ccd0 SHA512 35268c20147aa9fc5426cadae2f54b4c3f4d1d7ebd630af8523da8b68005319ef4a4b9b12a850185482835badc56a1a19a791d56d8ed63687bd04f081e46a8a2
MISC metadata.xml 373 BLAKE2B a829b7048eb3a95caeb1be83b6172603df6a031d40995294f2687bf3c3cb70e66fafb9ba8339d9979fc85f5936b9552963a8fcd072a20661fa78f3aa3c4b89c0 SHA512 775ac2de487f11fba1ea8d283b42b9ef56e42cd95ea11f50a06b099420e69c0567f65c506b14891ac641da90ea05ca70da4f8a3e4a028cf41bdbc823021dccfe
diff --git a/dev-python/pypdf/pypdf-3.16.2.ebuild b/dev-python/pypdf/pypdf-3.16.2.ebuild
new file mode 100644
index 000000000000..870063ae2143
--- /dev/null
+++ b/dev-python/pypdf/pypdf-3.16.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=b60ca63512466d1bafc587a2b223961b23a8e48a
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ # TODO: requires fpdf
+ tests/test_page.py::test_compression
+)
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/python-utils/Manifest b/dev-python/python-utils/Manifest
index 178a42b3ae3d..b98a7b286d17 100644
--- a/dev-python/python-utils/Manifest
+++ b/dev-python/python-utils/Manifest
@@ -1,3 +1,5 @@
DIST python-utils-3.7.0.tar.gz 29654 BLAKE2B ff306a2ee3e84585081f504ad50f117294698c75dd4d5015db6cf9326796d69aaf63365ac5bbedb3af4d41e4f18b7a05437860bf41cdb870e43f1ba75e92628c SHA512 df3b33dbf213c7099a5a17166ac1e01e9044bf6bb364de96a4b182831ff3216fe37edb7f94cb66f8d2fcab42cea404a9c4f27142890ae0e7510363815f47ad41
+DIST python-utils-3.8.0.tar.gz 30397 BLAKE2B 05fb02505b233bfc6e8128a59e076b6fd81ee90bf5eda5ccf6f5476cf2f1796381fe392e8bce6d2a074aae1408c7ab267f5aff746349215765542497c9ca3d4b SHA512 0fcb1358eb1659d500a10fd6a9e6339b2d006f50d1656e4fd20a65c993e194d30fe204434d94f53872364cd67c6dbf68c0ed30cb1063571a6b143f1145e71bff
EBUILD python-utils-3.7.0.ebuild 796 BLAKE2B 549f5e60deb9aecd27631760aef92f7557bca7d6bc993df4d31c376b34f2b42aab53687cb74de54678495727b27e02240d2a30d207be17218529eccec4a2681b SHA512 6316b3829329aa10cb10811930b64f7e3b447ea67593964a4e83a02f42e176a9481762ef051686f97a480d74ce74f559759714bbf4517d100b784140c6d251ea
+EBUILD python-utils-3.8.0.ebuild 797 BLAKE2B 996f0ec85918e36871ed7ac55d4ee2cbe4503373933fa1f43979cd9f10695615d5dc2fd7d5be424c93f113ce582f070901a299ba42d76f474c4b6203974051f4 SHA512 1bb7be4642ecd961b3eece5c03358482bd5cc0eb533c2110d79cd85199a65f78449e776cce79df83a89719cdf005929ac44fe3978560545ebb41d7779e94d01b
MISC metadata.xml 398 BLAKE2B 40018dd39311868fe5b37b6e03d6f6115427b84ca4cf4643b227dec910a193b547384c6cac4a97ed0f06a81c453c12ae57612e279e44a8a671b7f36a3ebc3128 SHA512 aaed2dfc1a9802d6d6d2d28d13fd478e0cee7c422992cde7994c4408690baba6c9e99ed77a55b0d3c5d966bb18cbc76c579b50f9d388a84ae204137b33c81a92
diff --git a/dev-python/python-utils/python-utils-3.8.0.ebuild b/dev-python/python-utils/python-utils-3.8.0.ebuild
new file mode 100644
index 000000000000..79f64316b1e5
--- /dev/null
+++ b/dev-python/python-utils/python-utils-3.8.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 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..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of small Python functions & classes"
+HOMEPAGE="
+ https://github.com/WoLpH/python-utils/
+ https://pypi.org/project/python-utils/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ docs
+ _python_utils_tests/test_logger.py
+ python_utils/loguru.py
+)
+
+python_prepare_all() {
+ sed -i -e '/--cov/d' -e '/--mypy/d' pytest.ini || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index ea372daf2edd..d3be8b205d9f 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -2,8 +2,10 @@ DIST rapidfuzz-3.1.1.tar.gz 1279245 BLAKE2B bd3fa008a29fa9d7c2af8708d498e1b6f449
DIST rapidfuzz-3.1.2.tar.gz 1280133 BLAKE2B 5f1d3175bc5ded1900f31c73d0e9fdfd6035533abf3cc9a12be3ba41edd424cb816505d4f82ff2bb4f0a825c53259c3cf1af33cd6b6234680ab93fb5232c91a4 SHA512 462b7b029027a2677ff927285cf614a6b2a6690af622f093633eec1390f0399b70f4240461db493aa9b30a2043f91b44fbbfa8e4bfb65af953516168c2b31409
DIST rapidfuzz-3.2.0.tar.gz 1472554 BLAKE2B 7946f6139aec1ca9ccc623750bd09601e04171f3030bb7cfeac5cedf9ec1a639c444e9fd3394efde199e447a6834dce46be20dfb8be33232a324e4dea23b9cf1 SHA512 0ea0ecc62e2493519a302edd090521ed7efeae35e73812aeadaca2e2369362b57b1a095a09296edfa8db07b6bf58de4451dc71e96e6c215ebbe96dc1f8e7e995
DIST rapidfuzz-3.3.0.tar.gz 1507179 BLAKE2B 59f45a3a2551d4ccc1e3c077abbd2ce2e569be51dd72b0378a2744557d65588d9a98c53048471fe8f1b4600f3b997e26477d65bac983954ae9d8331aea4dc5c3 SHA512 ee3a362f7c9bf4c54cff93a8c3d830541f07ed67628469b1406261fca086bd15eb4a418ece56fa3e4f25e0c6b859080d19582f5eea90547541a39d35ec70ea19
+DIST rapidfuzz-3.3.1.tar.gz 1507246 BLAKE2B 66964d155d682704266a32ce6632d91db4c0fdcf82722c6d58e7c305b0c4a341890b3c57d9936cc0f019b4aa5658279fc6d2f8885c17096ed8cb1721e2c633d3 SHA512 13f32818bdf1e71a30610c252afa1685ad64b858bff5b4309b5dfeca5f281096fc9fcd0683ed543bca0cee00db96df1c4fb6e0b76408c3694b508a9735d6cffc
EBUILD rapidfuzz-3.1.1.ebuild 1142 BLAKE2B 3b40fe069a5fafbdca34c9280be10b59d8cfadcb74aecb74dff5ed4a8746342a65bdd9b186746a17edfca492e824037d291694ce61c359621a3e9dbf3cabd02b SHA512 30cb62c353237f9e9c03bab362195fbb24f01cbf9bff6e0d3ed1765bdd2402f5f324de7c62fd5117b06eb0a87b194ee476df6a2da1ad778521218e785dfbbcd8
EBUILD rapidfuzz-3.1.2.ebuild 1212 BLAKE2B 34efa40553e76336f3cd31ed176d9f1ded6c137ced880e63fb3c1644068d6129a5ef11908357be8510f4dbdddcb781aad8a8b184787e5dc6f134309bca68cf41 SHA512 76c49ee7537e3f25d1a252712058919b3311805bf2039aa5876a6cde6b17bd0b4a386062d722c18661272a097d5c14f50eaffce0e2d67a5a6e6c580be086e941
EBUILD rapidfuzz-3.2.0.ebuild 1225 BLAKE2B 0c1d62dde943fbce8322234df770b2befdd184bf3e8bfd50eea7a105255a53ff577bf61689264fe46584af3f7a21f942c33f2c1c706fd9dac688dddd41a82b0a SHA512 f3ae71a9f9d360345ca050527a9d4bc6ad78177c64cc5cbb30cb4130cbc04d6d24cc2a7d146762cdb9b52df1389b09856cd37e434920e93e0c253c3d8e3fcca7
EBUILD rapidfuzz-3.3.0.ebuild 1225 BLAKE2B 0c1d62dde943fbce8322234df770b2befdd184bf3e8bfd50eea7a105255a53ff577bf61689264fe46584af3f7a21f942c33f2c1c706fd9dac688dddd41a82b0a SHA512 f3ae71a9f9d360345ca050527a9d4bc6ad78177c64cc5cbb30cb4130cbc04d6d24cc2a7d146762cdb9b52df1389b09856cd37e434920e93e0c253c3d8e3fcca7
+EBUILD rapidfuzz-3.3.1.ebuild 1225 BLAKE2B 0c1d62dde943fbce8322234df770b2befdd184bf3e8bfd50eea7a105255a53ff577bf61689264fe46584af3f7a21f942c33f2c1c706fd9dac688dddd41a82b0a SHA512 f3ae71a9f9d360345ca050527a9d4bc6ad78177c64cc5cbb30cb4130cbc04d6d24cc2a7d146762cdb9b52df1389b09856cd37e434920e93e0c253c3d8e3fcca7
MISC metadata.xml 374 BLAKE2B e6ee89a9850276b8c22c9bc851ebea2cde2ea696d122d70c6465e09a9371c59f81d1976b3253e8ee90afae5e3e30e993481b402058bac0c58ec01f71a0b7c3b4 SHA512 9a39c4bcf8e8de0a6d6a356a9aeb415f8f49667caf5716eee50bf251f1fd53bb076e817fac0b15bf64e65c1b9625c78810da61a5d96b273a20b2669a18084d6e
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.3.1.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.3.1.ebuild
new file mode 100644
index 000000000000..a357559c6f5f
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.3.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# custom wrapper over setuptools
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/maxbachmann/RapidFuzz/
+ https://pypi.org/project/rapidfuzz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/rapidfuzz-cpp-2.0.0
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+ # remove bundled libraries
+ rm -r extern || die
+
+ distutils-r1_src_prepare
+
+ # TODO: re-cythonnize when we can reliably dep on Cython >= 3
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
diff --git a/dev-python/xlsxwriter/Manifest b/dev-python/xlsxwriter/Manifest
index 36ac687ad7e1..3bc355d2b881 100644
--- a/dev-python/xlsxwriter/Manifest
+++ b/dev-python/xlsxwriter/Manifest
@@ -1,7 +1,9 @@
DIST XlsxWriter-RELEASE_3.1.2.gh.tar.gz 36697835 BLAKE2B 055d0ac2e70ce5f86167f630044136f984bf19b494cb2ea5d7b98ce2098942e4c89eb0c3c3a8eeb48b1a4dcff30b71d45c2f2528634ed2f652d27f358d4778f7 SHA512 05f70721e6c55d54acdc143681ec581d3bf16c5d07725790bc648c169507e3cd9bd600ac4fcb4ff03fa449a6efc469d0745b92fcdb89afbf27ee1e2998c09613
DIST XlsxWriter-RELEASE_3.1.3.gh.tar.gz 37317330 BLAKE2B 08dd76cfb7bcb336d0fa64276d11d0cee90809169cf0597739a262b970cc82741ac56beb681e78e7f3d88bec65f4a5c4b7a368ea800aab8bcfc4814e5b679638 SHA512 673b51d7d25fae462fb0b40fbb131ffd32237ee0078d235cbe1bb2fb4cee67bf72955aa555e3f5950bee9be7d256dad9ddadba2df4f50dc774cf1fda7503f43c
DIST XlsxWriter-RELEASE_3.1.4.gh.tar.gz 37324495 BLAKE2B ebedb84e46eb73e750b9442969c397bb9c77af807c1bd78fe956bf304ae942cb8575f8f410631c7ae542f9e16c1d5c76385ba232fec109bc5ccf59fd1843b2c3 SHA512 2faa7a9fc03a620c3a1f9230685b2bd09c5b282fb783d36a28de225b1d5e64663db32cd5da1a16ffe3cb4bc886f77b79eb7f13ce460c18f6e88667b9979e504e
+DIST XlsxWriter-RELEASE_3.1.5.gh.tar.gz 37348174 BLAKE2B ae86c45f63dabe7678a476fcc7aae60de36a0b4b1a422b83ecfb6143ab0b1563ee274ea715aca7147e1fa184a3311c9f7c92c3b7d3c01bf934d5772c635862e3 SHA512 c2da3a2dc52e7f9b887e71828452484edabd99e882a3cbeed9969e04fef538cac2b48042900e9ac4bf8e41ed21178aa498b3ebecd018d2bdd31cad29b81c040b
EBUILD xlsxwriter-3.1.2.ebuild 686 BLAKE2B 52fa33088302e9839c34ca28f8d538dbc558014e41631b7034021195ddb88d1a9ce638976cbfd2151bc80cfa4e047a9f0393f3811c9241010412c2f5d1f3dacc SHA512 8e354be247dbb23e8575d0294ff5c55291fee6ebbdf0263a9b5fc1f20c624032cacc2b428db458b792200ea5d96e17839d7c20f9d82924dbdbdfe723aac9329e
EBUILD xlsxwriter-3.1.3.ebuild 692 BLAKE2B 7f9b0f52f78f33779786237a3545ed4e5aeeee39c7dac130ef35a3712e836335ccbbaa4ed4026c2193f0113576d90abc2b5f39bf5dc214020af90ae379d4f9a6 SHA512 435f5cc3459a2d86fddbc1f5cd47e9309e8d4b7775ae3fe12670a22b45f013b2da8cb0be038397a50846c4ac5c13276add71498d8a0a6368566acdf406769c79
EBUILD xlsxwriter-3.1.4.ebuild 692 BLAKE2B 1c78130c87cb708f3f865f2e324107a6194a8dfd90905c2fcd42775f98723af61b7b4879cbb84b854b749fed2421c50da4579e2032a302cb6e753e6992d4a0b0 SHA512 e015ce171733e7eb7ca7b86c2a1631b53288d77e4770821f2be6d0f5a2cbe54073229d9b03cb7ed3ca65023e92ba5b661c2affa700396347a368f69f4b2a9867
+EBUILD xlsxwriter-3.1.5.ebuild 692 BLAKE2B 1c78130c87cb708f3f865f2e324107a6194a8dfd90905c2fcd42775f98723af61b7b4879cbb84b854b749fed2421c50da4579e2032a302cb6e753e6992d4a0b0 SHA512 e015ce171733e7eb7ca7b86c2a1631b53288d77e4770821f2be6d0f5a2cbe54073229d9b03cb7ed3ca65023e92ba5b661c2affa700396347a368f69f4b2a9867
MISC metadata.xml 411 BLAKE2B e41e1e6dddecef73fff1c0bd74d51b023694ea6eb162022679a2939819f5c3339b1e76d00e25f761c46f66d323a5ad7085ed86fb13fbe3f53526c75004a68e93 SHA512 63242ff274e1dde596e50f9360e1247084b7bae05cd42d60605700c49e33b53849529578cf532415b899bd2ccd04066f99e97c6e80d53c13f71522a041579976
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.1.5.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.1.5.ebuild
new file mode 100644
index 000000000000..ef0440386377
--- /dev/null
+++ b/dev-python/xlsxwriter/xlsxwriter-3.1.5.ebuild
@@ -0,0 +1,28 @@
+# 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_{10..12} pypy3 )
+
+inherit distutils-r1
+
+TAG=RELEASE_${PV}
+MY_P=XlsxWriter-${TAG}
+DESCRIPTION="Python module for creating Excel XLSX files"
+HOMEPAGE="
+ https://github.com/jmcnamara/XlsxWriter/
+ https://pypi.org/project/XlsxWriter/
+"
+SRC_URI="
+ https://github.com/jmcnamara/XlsxWriter/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest