summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-03-15 08:22:43 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-03-15 08:22:43 +0000
commit8c2a7ccb50c44a7923334bb8b2b163741780475e (patch)
treebdd28f225008dacaa0f9f75670acd8985acb558f /dev-python
parent2989ed80f1438211579932b8d732b23d756308ff (diff)
downloadbaldeagleos-repo-8c2a7ccb50c44a7923334bb8b2b163741780475e.tar.gz
baldeagleos-repo-8c2a7ccb50c44a7923334bb8b2b163741780475e.tar.xz
baldeagleos-repo-8c2a7ccb50c44a7923334bb8b2b163741780475e.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.34.63.ebuild58
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.34.63.ebuild67
-rw-r--r--dev-python/coverage/Manifest1
-rw-r--r--dev-python/coverage/coverage-7.4.4.ebuild98
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.99.6.ebuild90
-rw-r--r--dev-python/jupyterlab/Manifest1
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.1.5.ebuild78
-rw-r--r--dev-python/markdown/Manifest1
-rw-r--r--dev-python/markdown/markdown-3.6.ebuild39
-rw-r--r--dev-python/notebook/Manifest1
-rw-r--r--dev-python/notebook/notebook-7.1.2.ebuild64
-rw-r--r--dev-python/pyelftools/Manifest1
-rw-r--r--dev-python/pyelftools/pyelftools-0.31.ebuild30
-rw-r--r--dev-python/pytesseract/pytesseract-0.3.12.ebuild4
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild2
-rw-r--r--dev-python/s3transfer/Manifest1
-rw-r--r--dev-python/s3transfer/s3transfer-0.10.1.ebuild43
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-22.5.0.ebuild121
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-8.7.0.ebuild81
-rw-r--r--dev-python/types-docutils/Manifest1
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.20240315.ebuild17
-rw-r--r--dev-python/zipp/Manifest1
-rw-r--r--dev-python/zipp/zipp-3.18.1.ebuild52
28 files changed, 854 insertions, 3 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index d73325be9499..2ae9a23c2de2 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -4,3 +4,4 @@ DIST boto3-1.34.59.gh.tar.gz 782060 BLAKE2B d46f20f101f36380a17cb5c1bd511adde1b9
DIST boto3-1.34.60.gh.tar.gz 782539 BLAKE2B d0fa63256b967b9a93139d4ee41e5892187cc54671b5a7c47b8e6900ac1b9ea7bae8d8b38a0f18432813a6085e2773b7c7b8686e9d5d7d13465b8547f0bb9e30 SHA512 f60ae6664ce19bdddb552d72c2f0699d8bd771e23f164e29f5c3c7869680528a6e9b8d678c7c0359dbe25c3e20077a7cf45efd01f207340dbe0ee6198e08a4c5
DIST boto3-1.34.61.gh.tar.gz 782749 BLAKE2B 058b8389a57c1e652789ddf9ce83f754ecd94e90f292f3d9ed70cc3456a547578591fa7d908838296186707074b874ac5898e5960022cfd3ecbac9e8cbefa8a0 SHA512 8b72e539def341676a928d346099b8076c21543606a0a02050aa792c95a898c0b00edeccc2c0eadf241071c78b859b4240b2e40e32c3a16dbbc4cbbfff89e9cd
DIST boto3-1.34.62.gh.tar.gz 783049 BLAKE2B ad4272a4dfc02305e734c007d3e24f2dff8fd6fee20025b5edf76797e8d691e81f827e4e1d5357669ca86f5dbf41c5c2e09be16ac391153c9a158c292a79089a SHA512 717e0e5d59efaa6d2443b30f6f51f5c00c5f573219f5b4018d0b9142db04559c5eaf1fd27bc9f8875b0c7892e71532a2b090bc5b552dfb4852d253377437403b
+DIST boto3-1.34.63.gh.tar.gz 783934 BLAKE2B aa74cf675df14b64360c3238c85ca04caa6cab9915ac092c19ca2649aca62d210d4f142b82ff33b39c87f5f1bc8d4db18332d7f7e2cde49b67c5c61d5d165fd0 SHA512 cbb629ab7760936584bb40a3cc417f6c5392715055d64fb9a08ac8cc45f3147f3536881a74984e94b405c234f102de613ec5bd6ccfd5fd483cae2f2e22ed0abc
diff --git a/dev-python/boto3/boto3-1.34.63.ebuild b/dev-python/boto3/boto3-1.34.63.ebuild
new file mode 100644
index 000000000000..c6201d2c5818
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.63.ebuild
@@ -0,0 +1,58 @@
+# 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_{8,9,10,11,12} )
+
+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 ~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.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${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 ce4ef57cdd7f..92e62cbbaf25 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -4,3 +4,4 @@ DIST botocore-1.34.59.gh.tar.gz 12764223 BLAKE2B 13347793764afb8ef51502149f490e5
DIST botocore-1.34.60.gh.tar.gz 12765697 BLAKE2B c9aadf76475fe4cdd81d3aff1fd577bc177cb6f4702e8f4acbce8a5d2010a6440e792ae2accf7af3cfafca146b22ce9b239d76a25c8f9715b34d44212e9e2c73 SHA512 4d44646840dfaab1d5d45705be74df73df1b76dc345ee189c4d8b82cbffc5076701a34771823b18c4c52c4a8a9acc8c7e186ad25b7a735de95944d9f439ef8b4
DIST botocore-1.34.61.gh.tar.gz 12767176 BLAKE2B dd8fdd5fd15b4da9b1b8550dff8d2d51ceba0a1720665d0a9abdfd9519450eb6eb428f5febc58494f06e8406605ce0c8fb1e61ea1c3a25630c2b36944decad7a SHA512 da3299d3231c5b16a12b6ebb1456baea5ed94e8f05de75457b3ce2c9cdf2071c045c32326fdd84d29ac1d15e6379c40611db3ba07037498f6c43e79ef0880fac
DIST botocore-1.34.62.gh.tar.gz 12768327 BLAKE2B 06e5fcf4fde0e17257864883c76d04e0b09ad932c6418b342d01a0631aa134a982b541b58ce2a5eb52802b0ea9432a0ea3f7761af346b172f84d48657b45e53e SHA512 daffa72c08c227f584b08d9d3400e7d6194d1adf6895e79dec9d33a6e4457469e4d89bb65e808e6783858cbdd0888ebfcf3352ebf6c757180a1a262389facb42
+DIST botocore-1.34.63.gh.tar.gz 12772160 BLAKE2B fe94240d00fa22ffc9b2e6ffc67ad30cf0f095e902ed41924357201cce8205801ea4e717b42dad09ad5703f35ecaba927b43e1ca6e1b6059d7c8ab868adf5734 SHA512 25186264a67ec52e800c8eeec5e0d4ebc14afca5ee4c05ae54fcf1aa7aaaf73be086c261f5781b5636b7ea2a99615b7ab106b991f125be2742e865ba79dffff8
diff --git a/dev-python/botocore/botocore-1.34.63.ebuild b/dev-python/botocore/botocore-1.34.63.ebuild
new file mode 100644
index 000000000000..857224b496b7
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.63.ebuild
@@ -0,0 +1,67 @@
+# 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_{8,9,10,11,12} )
+
+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 ~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/coverage/Manifest b/dev-python/coverage/Manifest
index b48ffed8258c..197095309c3a 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -1,2 +1,3 @@
DIST coverage-7.4.1.tar.gz 780560 BLAKE2B bd23208a3fe86a0476b964150ba5bf7db5e26af3844eb16a36c4aaf96a40056486a906f82016f8a5adb05cca8562adcfa11cb44fdef78587aa575b93d24d54eb SHA512 a5e6a40a9b83a9e3ab88c432305a89caa4a7575f17c35385782a59237cc0464d879222afd524879e3e36a09f185fc6249af6198cbc0a10a6c3e83a19de452e79
DIST coverage-7.4.3.tar.gz 783214 BLAKE2B d9c3bba00ffd85d3ed260613880b7c8214be11092d539c011894a9d0b9b57f462b20ca38622c6c8aafa575220e34e9c0affa512cffa372ea4d421b89296193b8 SHA512 10c64eddb5d95023cb9d5c480b898389a041ab8d354a7cb48f1ed39f9bc958cc4be21ee04be620e9c74d102fd81f215f6f949a3dd8817e39300a1de4d4913fa5
+DIST coverage-7.4.4.tar.gz 783727 BLAKE2B e7d7af92ddcb3d7b5857cc83d8e14bb16ea2bde720eba63b082d35358934047ef7285ac70a6cd8fcb4720a9ddea5c22cf4cb14404ac2800794c49650ff5a1dd4 SHA512 26d4715ce69556ca12d1b65db5f21807c08733810b4398750280184812ebfb698e7b424b9e30f55e7524323861a22d4581db0524e9e285ca858132359fd24d28
diff --git a/dev-python/coverage/coverage-7.4.4.ebuild b/dev-python/coverage/coverage-7.4.4.ebuild
new file mode 100644
index 000000000000..8f7e197a5950
--- /dev/null
+++ b/dev-python/coverage/coverage-7.4.4.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=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 4f32172afbe3..37c666b76703 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -6,3 +6,4 @@ DIST hypothesis-6.99.0.gh.tar.gz 9439501 BLAKE2B 9f46cffaede22381a019a4f7c0b1580
DIST hypothesis-6.99.2.gh.tar.gz 9439856 BLAKE2B 0e7b99ee43ae84b4536f687324c334d7846766ec3422712cc0e215ebed113a3ed270b2fee70322edd5931e6a57c04092566846846e8a2df8587a2d6bd7f33e34 SHA512 ad833e8e4e5a228d06723ba76e80b7e88b849b51b298c2c0b58e82e9409961a212f85530a8e3f06e9e09ca2ebcc8ebd2e1e4992e50a37ba9f692a398aef699fa
DIST hypothesis-6.99.4.gh.tar.gz 9440865 BLAKE2B aa7e37077f59e0aa46c83067d9bda8aa72a9d5129c843fe170799c8bf0debee8bb5ff9a757ee67f6b9a858d186a92b3de978c21209a107d3f5ed44905c2cf2db SHA512 bb1ac9d2881a3577a07cd396c01be5e96bfe45e2a0254a8dc2c51a86718fd225e04943a6e451a015378fe2f813621b2a7e9fd4b757d180bdae5cb3a6d7b7133b
DIST hypothesis-6.99.5.gh.tar.gz 9441876 BLAKE2B ab1cce09dda83a89e63aaf6a995816bc82a8d2126d138626159c2f6263536cb477f8c2cb521034f59557b16de2a16e2e0934da34e21246043ad4374882616a5c SHA512 00f72255a0db863c8beb73cbc2298170f600053f94198cd24c3bf276b580971328d9c1ea62b71a70e411005f4b99f5be20a6ef5f0b53f9e7c84042aa05e26fa6
+DIST hypothesis-6.99.6.gh.tar.gz 9445919 BLAKE2B ea518d35aa62eb23b6859965ee5acadb12e1e6eec1e5c04b98aef5fec6f4b4e97f3c98f7c16bd07cc1e74d41040a9eabb6091c24c7132cefc2f02a94d3fe9df4 SHA512 d78c9086a6e5de8b80ec544047d70436053934a3f2b822f8389881e3679b1b7c6a26f653723f97ecf4c462b91183c35f07ffa79e6126e03926507981a6893e19
diff --git a/dev-python/hypothesis/hypothesis-6.99.6.ebuild b/dev-python/hypothesis/hypothesis-6.99.6.ebuild
new file mode 100644
index 000000000000..1f7054962839
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.99.6.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=( python3_{8,9,10,11,12} 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/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index a913219054cf..a1ae76391b0a 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1,3 +1,4 @@
DIST jupyterlab-4.0.13.tar.gz 18354664 BLAKE2B 6c4df40c8ab5a97cf85025c752f48dc97b8d90e01e4343ba40cd7c25f1d48936040af9704a5a9b855aa8cfc9d43db15c0904c96daa73ec0f65c18b365cd2155b SHA512 89a6e7ca594905b08ce7c85299e3fe0a94cb8bb135258c992c3b6eab20f04b34b956e997a362088347c1488f5720e59f8c3d1366d9fbc5bd0dc7c1cc37ad2d43
DIST jupyterlab-4.1.2.tar.gz 21810592 BLAKE2B 5c5c828c0144260e1fbead1f2ea23cd6b458c2c86dc2202ed4e56fd566d85e14544fa7443d0676926e0619721bad5b8e85431bf02f7a61a3f0fceeafb0eafa66 SHA512 17ab1132421e494a3ce48edec3823576f0202b90e238a01f8500b86bbd7753a8b3e6376a9f2bdd5cf7b1f50708853d92886b486a4a0c620df179693f1566e3e2
DIST jupyterlab-4.1.4.tar.gz 21797461 BLAKE2B 1a2926f153e2c7343ec83d79bd6dbc666f9955cb4df93e8aa6f93c9af625dbad0e1b50c96181257df2969b4cd2e8abe979d6a1662c20b7c08d7730767f54d8f1 SHA512 14613f0a008ed37f79d52c149734171d1aa93b0eeedbe62c05dbb3d9d796c27cc754225ebae0ca0615d6bed527b8f641d30333cb092ed7134434124446f3512a
+DIST jupyterlab-4.1.5.tar.gz 21797132 BLAKE2B f3bb8d2292cfa60392b7e97b7852479767e831c4131e1980deaedbf03332d2fec2f01f3e7a6c0f830528e1d99a77f6092a83eb5303d955165946199aed885ffd SHA512 ddd43d5cf7f3ffe18e3baa846270a61a1c5d588901dcc70a32d30ade29273e9c6975640aa89bc9daf58b7fdfc1eeff2f10a9b3f5d174141cbb13a2622579c15e
diff --git a/dev-python/jupyterlab/jupyterlab-4.1.5.ebuild b/dev-python/jupyterlab/jupyterlab-4.1.5.ebuild
new file mode 100644
index 000000000000..bf6f338b6cac
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.1.5.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} 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[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/jinja-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.19[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ net-libs/nodejs
+"
+
+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/markdown/Manifest b/dev-python/markdown/Manifest
index 17944e166b4e..0218c2ae8e1d 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,2 +1,3 @@
DIST Markdown-3.5.1.tar.gz 348575 BLAKE2B 4400158e11e17c3ae5714928ccc5a964d76459a6ff7b5721f246e58bff31828f6eef5ef0928a82c0e5bd7776a6fc55457634870e79443893bd2a529560ca900d SHA512 72771300bded3a12b0f1addfcdb124c8e12d3b42672c62b92b7565a03d8ba108fe9d156a59c1783295059a11e6e2d312ec4f60de2bc6c0ee7b853c0a56e2e97c
DIST Markdown-3.5.2.tar.gz 349398 BLAKE2B 7bf9775883f4f24254d1939ffa49555682c11765a07790f6274ba120073ac512b8a319680edb80f9c4a20bf8c8b2e2deb58afd022a791cd6a03e1c95ba605e2b SHA512 a112620162cb0764848dbe766bd23df6b7220ec3db6eb60d5663757092300c5c6abb9af6a412280fc3f59e617263c3abf0ed4a969eebacd3e964228525165f24
+DIST Markdown-3.6.tar.gz 354715 BLAKE2B bd8cb489fb20c0d8416361c435113a6057ced5f4baceba8665e1afc70efcbd6a52153785a436c94ff9d68571d668b7898c6717851b10814d89e46e2b9daba3e7 SHA512 a523f75ea72fa71f4f0f1a59523bb1a6c5c7605ba5a0be4dc37aa5bd5c87e32563f5253404485c99c13caa27501c9003aea524154a7999a22e6497829492b997
diff --git a/dev-python/markdown/markdown-3.6.ebuild b/dev-python/markdown/markdown-3.6.ebuild
new file mode 100644
index 000000000000..2abb464e13b7
--- /dev/null
+++ b/dev-python/markdown/markdown-3.6.ebuild
@@ -0,0 +1,39 @@
+# 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=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="
+ https://python-markdown.github.io/
+ https://pypi.org/project/Markdown/
+ https://github.com/Python-Markdown/markdown/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc"
+
+BDEPEND="
+ test? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pytidylib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && dodoc -r docs/
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/notebook/Manifest b/dev-python/notebook/Manifest
index 47a5d7c6995c..f4603fe77270 100644
--- a/dev-python/notebook/Manifest
+++ b/dev-python/notebook/Manifest
@@ -1 +1,2 @@
DIST notebook-7.1.1.tar.gz 4896811 BLAKE2B 30f3f8b7a5fa0d1ed0ab03464b4139d0545d5bd8df451640ed07918dc2baf85b38fe4d9575133c088dc308774c074dc781a8bba6290663da34b2684b8a66f10c SHA512 ee0b9e41f60a02b826a8d2b387a5158ff49340893e9b211faccb56f024a817e046677d667711d2186da29bf472194b788c9ab8fb3900b002de0700fc3ae70597
+DIST notebook-7.1.2.tar.gz 4897634 BLAKE2B c505534f847e58ae40b942a2a4da5105ab60cc81de87d97dd685f63db93af453fcc091d9d488ce73be690e76f5a94497c2bfcc318afbf233440b231eeb8c02e5 SHA512 0319f96d656dab8dd581207b1b396252025618041f5c33c6c36fd66bcb10e3f678869705fcdaa667eea2d9778d969db56e366e6ea260122167903ce372aee3ea
diff --git a/dev-python/notebook/notebook-7.1.2.ebuild b/dev-python/notebook/notebook-7.1.2.ebuild
new file mode 100644
index 000000000000..8dbbf7369a10
--- /dev/null
+++ b/dev-python/notebook/notebook-7.1.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} 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.1.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-4.2[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.22.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}]
+ 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/pyelftools/Manifest b/dev-python/pyelftools/Manifest
index 659112f94104..f065a74577e0 100644
--- a/dev-python/pyelftools/Manifest
+++ b/dev-python/pyelftools/Manifest
@@ -1 +1,2 @@
DIST pyelftools-0.30.gh.tar.gz 14115024 BLAKE2B b7974bc1a51ff5ba6ced17aac44e3911ff8d892564a3bef07ae6a5fc261eb7d2eb02170678c4d0bafedaa9e393fa4ca6d2059c420436ea73aa4f6aa7b49a894e SHA512 5bd4c797f90307e351d541b8de8f76124c66e497b68b811f7012e1271c902beb6ab530a424b338777d12277d44f9b5f89f049e05d9fc2ec36a90b6fa16f1c1a4
+DIST pyelftools-0.31.gh.tar.gz 14204157 BLAKE2B 9e5a1e0a7b9292b30db7331e18c5c800f84eb087b58b266f3f23a7c9c5e7ea655f913788495e1df04e79c9f0a82789cad58ee2dcd8a0afb17e696d4c58679f33 SHA512 7f4ef37da7fda75125cb95ced2f3084848943592eff7deae7ae917508f1cd5281c96960ee3bbc6e503e71a4e2196622cd68cc67e3df1f4cd99b9b675f14fd58c
diff --git a/dev-python/pyelftools/pyelftools-0.31.ebuild b/dev-python/pyelftools/pyelftools-0.31.ebuild
new file mode 100644
index 000000000000..c587febc511f
--- /dev/null
+++ b/dev-python/pyelftools/pyelftools-0.31.ebuild
@@ -0,0 +1,30 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="pure-Python library for analyzing ELF files and DWARF debugging information"
+HOMEPAGE="
+ https://pypi.org/project/pyelftools/
+ https://github.com/eliben/pyelftools/
+"
+# PyPI tarball lacks some test files
+SRC_URI="
+ https://github.com/eliben/pyelftools/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ # readelf_tests often fails due to host `readelf` changing output format
+ "${EPYTHON}" test/run_all_unittests.py || die
+ "${EPYTHON}" test/run_examples_test.py || die
+}
diff --git a/dev-python/pytesseract/pytesseract-0.3.12.ebuild b/dev-python/pytesseract/pytesseract-0.3.12.ebuild
index 26dbf277bcee..8480d233d23b 100644
--- a/dev-python/pytesseract/pytesseract-0.3.12.ebuild
+++ b/dev-python/pytesseract/pytesseract-0.3.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="
dev-python/pillow[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild
index c67d62e186f2..3b529b38acf4 100644
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild
@@ -21,7 +21,7 @@ S=${WORKDIR}/${P//_/}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
diff --git a/dev-python/s3transfer/Manifest b/dev-python/s3transfer/Manifest
index 3ba75394abb1..baa2e6baf7de 100644
--- a/dev-python/s3transfer/Manifest
+++ b/dev-python/s3transfer/Manifest
@@ -1 +1,2 @@
DIST s3transfer-0.10.0.tar.gz 143407 BLAKE2B 88ca5b6f2f1271492e4a9f0ad525c971953982364acc80da8df9cb7876b96f20739bff30404b3f8229c9fb581bfa8a7aca939d32d2b64b4252a6b5f8f7322a8d SHA512 83c5f794770e4f3cfd2e54297a4fe228bed76d321b694380e918f39cbb7ebe5881b29499d7230a2af13e4c1c9bf2d67285116fc16cb9b6fa5f526ff1d25b607c
+DIST s3transfer-0.10.1.tar.gz 143308 BLAKE2B cab8c94ed4ea4277583a902a6a943157cdaf5f742842e1c1a24f7f90ccb6e07dce0c50aa66b500097ad17f06ff398c90c73dadb3959f8317dbf31573c5ff2a1f SHA512 f18a5f655b354cba1c745bba699b8abdeae406669b0dded249925e4189c1d849bc0966ddc415ca25562a7214fbf7979553a67b4d993d054bc5237e301414f0a1
diff --git a/dev-python/s3transfer/s3transfer-0.10.1.ebuild b/dev-python/s3transfer/s3transfer-0.10.1.ebuild
new file mode 100644
index 000000000000..6d5a25a7f4d9
--- /dev/null
+++ b/dev-python/s3transfer/s3transfer-0.10.1.ebuild
@@ -0,0 +1,43 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An Amazon S3 Transfer Manager"
+HOMEPAGE="
+ https://github.com/boto/s3transfer/
+ https://pypi.org/project/s3transfer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-1.33.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # 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_src_prepare
+}
+
+python_test() {
+ epytest tests/{unit,functional}
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index bcbef08a4f72..09faef69c32c 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -23,6 +23,7 @@ DIST sqlglot-22.2.1.tar.gz 17761904 BLAKE2B 67cfb6333f9f4d00ed7ac4cd1c3eedfd7f37
DIST sqlglot-22.3.0.tar.gz 12723662 BLAKE2B 301c2590d91c274e038d0fcce467cc6991af4a36300ae8ec9196f189d275195deb85bee11bc168ef6e979507618f73b96eb07c9f5de9d77ac06e0c291f6f2965 SHA512 21c2bb9b63b44fb6813253ac382512d45e5f6a109449b28c4ab468055217b8402fd0a2d9f39cfc09f37f7bcd7ea43828d5138a6012a5230254417d5ad1cbb32f
DIST sqlglot-22.3.1.tar.gz 12763515 BLAKE2B b4f3eba750ed44153d0032fa698b25580625cae4857ffac3fdc675304ae50cb89c576c32233982d80cae0b4cd3ad7b94e1eafd431bbaf3d5f2d1915446c49136 SHA512 511868ae992f037a0a844a940f3ccbd8b482fc6aad422bd060ab695d580504626248de8c71413c40745dedcb43020a56098d8fdadd83d649d78c33734a236a2a
DIST sqlglot-22.4.0.tar.gz 12770391 BLAKE2B c9695cd2241b5003ea3b3dee22ea53cc690f8444f168cbca627c9993792d68addccf8e86ad95c97bc553fb886f54b6a9932a890913cf2bb220403509cb243217 SHA512 6225722ab46aadbf01f1f24b5bd4fbeedbf97a6db6262365a08ea188d9cff1eecb380c4629a69065a0e2e5a1c397969d855b8bd3553527b6b36653ac60a8c66d
+DIST sqlglot-22.5.0.tar.gz 12813145 BLAKE2B d1a83bc743165e709805d07e1b6de6e8b6e40ee98d21d7a85933781515c05d87bbd5c7d6850cd929e66084d0b4db6be469bec49c1d143198dc91c33aaef51d30 SHA512 fd0575375ce1e7edcfa3d7ced8b3da9226de5afd8d6d26aac813882a691ff15649b10f97b047523a052b08201bb0f5079ee1c8b3c3858a0e5e30ce74f08b5367
DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
diff --git a/dev-python/sqlglot/sqlglot-22.5.0.ebuild b/dev-python/sqlglot/sqlglot-22.5.0.ebuild
new file mode 100644
index 000000000000..c040bab3734b
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-22.5.0.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2023-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=( python3_{8,9,10,11,12} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.150
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.33
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.11.2
+ syn@2.0.41
+ target-lexicon@0.12.12
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index ca11ff5475d0..da5c9b719e41 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,2 +1,3 @@
DIST stripe-8.4.0.tar.gz 1071302 BLAKE2B b7aa15e20baa6c0a2e939fda1ee45d3acab72ab771717ca15b0302793f4958257d0fe915c02d92d4be1d51eb6cc6be3bc28d4cda43dffb0ed1e2e958cfc29160 SHA512 b7ddb5a11c379492f5a7eafcc44197e026e3020420a83c294db6bbe2d73b39c4af38746817d0684e84f09232b12b45280d919090a331a9a0d03af4d02e59ef99
DIST stripe-8.6.0.tar.gz 1075310 BLAKE2B cf497317cce5f8525ccc8491ccfe8610f701abc175b9d24099790ab8a5ed7b8c67888960f96d579c7d623162d82e9f26beb09532f84eb7785c93acc3cb516825 SHA512 25fc7396ea0d5cc448a8c9c00f5dfac7ea5181a4c82d7f1b3d81d0e54b55876213ffddcb478391604f228ff5a7bbe6adcfdee0cdfce3ed385be8432c400053bf
+DIST stripe-8.7.0.tar.gz 1080685 BLAKE2B 0d91f852ad88cf09fb5230a421f9b9b5ade3e7617e95f6f0b5ff3bb14e307d272c1d8600a2673d63a408ca24501e71383fa18f527433e9fbc816f6a48fb9c576 SHA512 977c57a4bad1b572dbee566609f28a9b7e3bffea6516ac48b1f69c51a8ee8fb44d342ce886e2809f6c18b633c30f57e35c565817f2dd67d82c23048dc47d66e5
diff --git a/dev-python/stripe/stripe-8.7.0.ebuild b/dev-python/stripe/stripe-8.7.0.ebuild
new file mode 100644
index 000000000000..35d08aed2e19
--- /dev/null
+++ b/dev-python/stripe/stripe-8.7.0.ebuild
@@ -0,0 +1,81 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.183.0
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 8874968ebe14..877d5767aab2 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -2,3 +2,4 @@ DIST types-docutils-0.20.0.20240309.tar.gz 16064 BLAKE2B c6695b4f3badf21ea2feded
DIST types-docutils-0.20.0.20240310.tar.gz 16336 BLAKE2B 5ca982bae4ccea8f1e8cc56c404917c17543f65f9f13b5f61d4a40957a017c31bbb67530e209357868ab47c3344736aa5b172ac5b211eba0fa0360accb79e655 SHA512 2d54be1ea12e2354ee53c9bb2496da912ac917016e12499635abc9da11a6f4878ca63da0b50d1a9f77fa4bd731c345605ead71038abeb739d5f7258d95e0c794
DIST types-docutils-0.20.0.20240311.tar.gz 16388 BLAKE2B 4b22227a65fb1e3b86d27580292bc296b6a46d7ede27b509114de3db7666363c8b07780914c880d921aa85778e0eeae8b34fbd0e5593199623564d494c7f047d SHA512 55d406241540b7615e48647f4f7f85523952b9d5b6d9aeec7d0a2f6f0412936d2e52e535a6ba26c9f28cafa772abe26e37ccaf60f6168c1aa8313123a5fec9f8
DIST types-docutils-0.20.0.20240314.tar.gz 18376 BLAKE2B 2e4b83673aa0e1940c89f8089330b13fa04830bc5bae2dfd24f18233041ac95ee95af5136634489328e679661fcab09f32cf729ea582ffc355b071f2b7a0c214 SHA512 4e17174e37d04f0eed82594487965e5a1a2c2016179dc2960420aaf7c2d1338608822304530530df3e87146ac6a2d8461d5110be5e13f1748a642476df03e1be
+DIST types-docutils-0.20.0.20240315.tar.gz 18709 BLAKE2B 0d94d136a7ed1998fb66927aef6a0490d10520837296b70b2a9d96881c67ef4a52812a2dc36fdef6ab6a81acdc8c047548b27b6df7978b3ad3ba98e7a41abd8b SHA512 c8fb82449be436bfa5621775ec04a730c06ec424e53d250801a9a2a3fce8e8f526ac2ff3057e88e59f54489645858b63758a26ccd988dc0513f7463bfd33eb71
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.20240315.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.20240315.ebuild
new file mode 100644
index 000000000000..0d86c4835acd
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.20.0.20240315.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/zipp/Manifest b/dev-python/zipp/Manifest
index 01ad241f3ef3..ed313342d77e 100644
--- a/dev-python/zipp/Manifest
+++ b/dev-python/zipp/Manifest
@@ -1,2 +1,3 @@
DIST zipp-3.17.0.tar.gz 20367 BLAKE2B d1b21b7692e77a019769cd0ab93c850a409bc1eea22e2e6eb0ecaf0c14b5c42a11110b272ee73afb111675f15dfab32aceae6515c05fd4e0c4749352e4be3c90 SHA512 efd100add7e8face19a6163d07b5efbef6f896d1f3ed2dbdd443ed7e523428bd779d1f05dfe806d4d2bbe10c17c21136f2a0b6f0cbe6000dd8a6abb86dede725
DIST zipp-3.18.0.tar.gz 21258 BLAKE2B e1f2cb629117dbf8b30d9da7b2d7ec63c9f2dc15d7d0d70f7ac06c86c347fd2b825cf2f473bb66130c6cb0b4425c737e6b4f95034ef8d171f78b75e0ae28d1a3 SHA512 a347573ff33e1e1118fee13012c7df9f8aaf42606a3fcfcead3fb3e2bd7212de5c388c22bfd104b5a60b0d2515f13cb789dc64a0492496dd69b9807a23df0963
+DIST zipp-3.18.1.tar.gz 21220 BLAKE2B cd2afca05cb35b79bfe2b65396cccae3de15b3aaa2566643f1ce989a2747971a54fbf3baab3d273add51c51774b444c773ced951010a24a60e088103cd808d23 SHA512 27f2a5a098c773ea878b751e5c1d4e6bb89a367cd676f0b4508f3c372e78e1522de6eb46a17c8ac22a09cc6b041e393db40d14d918c7abe44cc2158f886a8045
diff --git a/dev-python/zipp/zipp-3.18.1.ebuild b/dev-python/zipp/zipp-3.18.1.ebuild
new file mode 100644
index 000000000000..5e6e238b8126
--- /dev/null
+++ b/dev-python/zipp/zipp-3.18.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE="
+ https://github.com/jaraco/zipp/
+ https://pypi.org/project/zipp/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+# big_o is only used in test_complexity, that we ignore
+BDEPEND="
+ test? (
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ dev-python/jaraco-itertools[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # performance tests are flaky by design
+ tests/test_complexity.py
+)
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "zipp"
+ version = "${PV}"
+ description = "Backport of pathlib-compatible object wrapper for zip files"
+ EOF
+}