summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-05-16 13:28:11 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-05-16 13:28:11 +0000
commite57ff46413c1333f51a460fd1856946a87f82db3 (patch)
tree41f4a92adf7fb9a4b79738df46e91084ec3977a9 /dev-python
parent8848db7c4268fae91865777fa11f48006b5a7eda (diff)
downloadbaldeagleos-repo-e57ff46413c1333f51a460fd1856946a87f82db3.tar.gz
baldeagleos-repo-e57ff46413c1333f51a460fd1856946a87f82db3.tar.xz
baldeagleos-repo-e57ff46413c1333f51a460fd1856946a87f82db3.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/alembic/Manifest1
-rw-r--r--dev-python/alembic/alembic-1.11.0.ebuild35
-rw-r--r--dev-python/ansible-compat/Manifest1
-rw-r--r--dev-python/ansible-compat/ansible-compat-4.0.4.ebuild52
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.26.134.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.29.134.ebuild72
-rw-r--r--dev-python/dask/Manifest1
-rw-r--r--dev-python/dask/dask-2023.3.2.ebuild71
-rw-r--r--dev-python/dask/dask-2023.4.0.ebuild2
-rw-r--r--dev-python/dtreeviz/dtreeviz-2.2.1.ebuild33
-rw-r--r--dev-python/ensurepip-pip/Manifest4
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild27
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-23.0.1.ebuild24
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-23.1.1.ebuild24
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-23.1.2.ebuild2
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-23.1.ebuild24
-rw-r--r--dev-python/feedgenerator/Manifest1
-rw-r--r--dev-python/feedgenerator/feedgenerator-2.0.0.ebuild25
-rw-r--r--dev-python/feedgenerator/feedgenerator-2.1.0.ebuild2
-rw-r--r--dev-python/icalendar/Manifest1
-rw-r--r--dev-python/icalendar/icalendar-5.0.4.ebuild42
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.23.1.ebuild77
-rw-r--r--dev-python/loky/Manifest1
-rw-r--r--dev-python/loky/loky-3.3.0.ebuild46
-rw-r--r--dev-python/munch/Manifest1
-rw-r--r--dev-python/munch/munch-3.0.0.ebuild31
-rw-r--r--dev-python/pdm-pep517/Manifest1
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.1.3.ebuild63
-rw-r--r--dev-python/pymdown-extensions/Manifest1
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.0.ebuild59
-rw-r--r--dev-python/pyte/pyte-0.8.1.ebuild2
-rw-r--r--dev-python/pytest-subtests/Manifest1
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild40
-rw-r--r--dev-python/python-telegram-bot/Manifest1
-rw-r--r--dev-python/python-telegram-bot/files/python-telegram-bot-20.3-no-internet-tests.patch704
-rw-r--r--dev-python/python-telegram-bot/python-telegram-bot-20.3.ebuild57
-rw-r--r--dev-python/scikit-build/Manifest1
-rw-r--r--dev-python/scikit-build/scikit-build-0.17.5.ebuild58
-rw-r--r--dev-python/sentry-sdk/Manifest1
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.23.0.ebuild114
-rw-r--r--dev-python/sh/Manifest1
-rw-r--r--dev-python/sh/sh-2.0.4.ebuild21
-rw-r--r--dev-python/sphinx-gallery/Manifest1
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.12.2.ebuild52
-rw-r--r--dev-python/stevedore/Manifest1
-rw-r--r--dev-python/stevedore/stevedore-5.1.0.ebuild45
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-2.0.6.ebuild54
-rw-r--r--dev-python/tavern/tavern-2.0.7.ebuild2
-rw-r--r--dev-python/tornado/Manifest1
-rw-r--r--dev-python/tornado/tornado-6.3.2.ebuild60
-rw-r--r--dev-python/tzlocal/Manifest1
-rw-r--r--dev-python/tzlocal/tzlocal-5.0.1.ebuild37
56 files changed, 1578 insertions, 471 deletions
diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
index 7c0d5a6666be..ea406378864d 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1 +1,2 @@
DIST alembic-1.10.4.tar.gz 1152769 BLAKE2B f940dec295f362cdb63bdb0326c5438734189518188e9de01d2aa164b3d51ac6d00ca960bae9fc539ac19b2c82982e907fa705efd02d30cd08d5a9f8d0ab2ae3 SHA512 bf49aff7d04fbbc966df351451dacd921c3b292313c1077d6b02a2679aeeef086313cd11ede8880c056950f8359bd9ab6e3f5219ae859e48d0298aeb8ea9e398
+DIST alembic-1.11.0.tar.gz 1172377 BLAKE2B ec29af312516a6d2cf9168994efbfa89e2bc3d11294573138f5e145c51587f1ab5dd07f9da95ae7d8885de2618159b5566dbfbdec9c64495cc086d0d157c9105 SHA512 d3d38887835a632e3129e8fde1449f91c60ffba575b7e0c568303ac4e1fd6ddeecf8c93540b65fd827ce2c08e377820278ed8ce1a80df69968145fc16267e266
diff --git a/dev-python/alembic/alembic-1.11.0.ebuild b/dev-python/alembic/alembic-1.11.0.ebuild
new file mode 100644
index 000000000000..15a1a21d58a0
--- /dev/null
+++ b/dev-python/alembic/alembic-1.11.0.ebuild
@@ -0,0 +1,35 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="
+ https://github.com/sqlalchemy/alembic/
+ https://pypi.org/project/alembic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/python-editor-0.3[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index be5d0b0dc67b..00a8554ba071 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -3,3 +3,4 @@ DIST ansible-compat-3.0.2.tar.gz 63328 BLAKE2B d09ae255e08531b26f8cac7082a3ad0cc
DIST ansible-compat-4.0.0.tar.gz 62675 BLAKE2B 9c384a25729c2c1f72e806b4df6172e183cd8f62c91047b5862a581227554e980b00e58be99b9d4192f4d85d7ce53f1bc16d136762c9b71100f1aa3fdafa8cab SHA512 78559c0323ec190acf5e736a51b27349528eaeacd7fafbe953bbb9f03029985c514042ba9102117714ac5c558f50ac6e596da48c2fe491a092bd5d92c612fbb5
DIST ansible-compat-4.0.1.tar.gz 63728 BLAKE2B 51b6956059394e1e29d416113f6a924032cc6435780265c2595f1b0776477727c865c74afa25fc2527777a5d8ea74aead086293934cdc099966b875a96c5789f SHA512 a2edc46a472e6f99cd0231e453742780c5ae8713768bfda4218ae3d6979c38779ba8c5ec491813550a6b3242ef04e5de2c916c9538fcf5b018e7500fdf18bc4d
DIST ansible-compat-4.0.2.tar.gz 63771 BLAKE2B bcf66825c52de63172f7d36b696e136cc203201743e482d1aa78033664de49120a1304c6397e28dc56205fbe1b5f382f86852bc735cd879151df1db3ebaa1c1b SHA512 6332e12dc123bea6307a5306bb44357507e8c60f5699e8a09a39f9cfe44c649cfd8150b3a4687b47bc62bd95a7bdc4801cac01e10870df451f23ac2e278414e5
+DIST ansible-compat-4.0.4.tar.gz 65116 BLAKE2B 3f96e052cb9ba0352884fe1cfeacf9a1e5a7bbee715d08c054df49112966751067eb08f32b0598a8559e200fa9c3a619b58b854699342b6185bd9579bc75cbf2 SHA512 b13bc3d7a29b2caebfddb7a2311bfb8ad94062019238ed5a8a22fe9de1c00d25426694755cdbf289094db7fdfd88248fcf3e17e9aef9601046ef33c25d6894e6
diff --git a/dev-python/ansible-compat/ansible-compat-4.0.4.ebuild b/dev-python/ansible-compat/ansible-compat-4.0.4.ebuild
new file mode 100644
index 000000000000..bbea175e5664
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-4.0.4.ebuild
@@ -0,0 +1,52 @@
+# 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..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.12[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.6.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-plus[${PYTHON_USEDEP}]
+ )
+"
+
+# All these tests attempt to connect to galaxy.ansible.com
+EPYTEST_DESELECT=(
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 38e5e023ce1f..3838c5160854 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -6,3 +6,4 @@ DIST boto3-1.26.130.gh.tar.gz 646289 BLAKE2B a93c3806253f1af6cfa385531fc7b9efbae
DIST boto3-1.26.131.gh.tar.gz 646652 BLAKE2B c28edab15296d5b12aa8d423cba491f0665c8c3b87187cc7e75c75b16533b7cc10789833559cb39852257cac0d22d08f901d7459ddd53e2642f7ee8a42d73d64 SHA512 d7b9a215a895c79c3d8f63c4657d9c9ddf733219a36e7b204edd2602695d92826ba0ce4192fe50037dec672395aaceda3b115bad4d48c3437a1e20f52beaaa3d
DIST boto3-1.26.132.gh.tar.gz 646952 BLAKE2B 1b819f0fefacd3c55cd877549709e62dde9c5320e5d999e9a50f47bcbd3ea25f4ac20e2f54b220def84cdd7d51fb369d37c6646468a1459164fee49c86985f9d SHA512 5cdbb31617f7bd67967d6e36eaa19d8b84233adbfe83b9dfb5a5a682970dc2646bea2173305e1a3bfa29fc1d845454ac9f686444d540162f6ec0437f2e8507ec
DIST boto3-1.26.133.gh.tar.gz 648114 BLAKE2B 97c71216d92baffb9e07f9c112590a1fc7828dc90b66364c9f344cb5f95aa927c80c56426c679e9bff8b3fa82d203d527d529cb337e786b471c1df120a9fb186 SHA512 66270dc31b85860320e5dbffc77d2f51e1d4e6d413624269171e3824020ead0cee842cea0e292748127c0584ced74f835cd46554240bd522787e77ad939dc69e
+DIST boto3-1.26.134.gh.tar.gz 649039 BLAKE2B ac6c136c363fd14c373acdd5f1af2bb46b77fae74a5f633f87748ebebeeff8cbfcb3ed62874b255d9dea0824d565149dc0b9cf02f6a596e5b2278b77a479a4bc SHA512 195ae53f705bbc3cb801b4b8425071a796fdf6dabaf8f68d0fc4ec9e216cdbf5def719cc5a7f537f8a075bd5bd8a5d1aca35422d359b471c35dc58af04a63407
diff --git a/dev-python/boto3/boto3-1.26.134.ebuild b/dev-python/boto3/boto3-1.26.134.ebuild
new file mode 100644
index 000000000000..2a4a7643203e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.26.134.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 multiprocessing
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+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() {
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index d8dbb9851b61..c02c4c6a5c14 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -6,3 +6,4 @@ DIST botocore-1.29.130.gh.tar.gz 11473884 BLAKE2B 13d50cd41f690cf1e45324ca311da6
DIST botocore-1.29.131.gh.tar.gz 11477200 BLAKE2B b82be25b352f8d8192e698e06ed7bb5ed56632a355930fef0d3e75eff3cba4ef3b165ad9d9b98a6d2a862fb0ac73b656494e2c33772a8527ee67fc0321ad7ed3 SHA512 b2ebdd6b1abb71a611120413a65b35f27e5962085cb35dc166b7eb04540622e39ef16d2f09f304a41c3692080f4bb8a6593cc60208b7d3f39d01e827a4795067
DIST botocore-1.29.132.gh.tar.gz 11478315 BLAKE2B 79b6a073cfe33b537f459c1380e7dc4fbbd8ab3c65996973e844986e142da51422ac9010127d876dd74214b091f66196fb7b6300deef242fcc401fae834b4350 SHA512 57abc6023f176c34bd38a11c09af790b6c8a8921021c6d29121ff25d6122c106a356f78cd5b4d67e991e07b092326bf119e438ad3ea3978d67abe09412138b57
DIST botocore-1.29.133.gh.tar.gz 11484789 BLAKE2B ce1acc51ffada796e594090e7b4d73029df362459a562116ad9dabc56b926f7beec5644e5ce7d175e8901eac28420b57b758be266aa61582cac7e4b91b794e05 SHA512 62631be4f9bf07803e193a8a7ff3b04a806d6dc7668317765b853bba1f1c66cf49c8345f7640f829622c3c8ce96c775bf00bbfa943ff175a6c9a479a888e85db
+DIST botocore-1.29.134.gh.tar.gz 11487191 BLAKE2B a50ff2681ebd56a55138b29be3177dd814ec4b37e4dbeb2144013c9b812de0db0593cc011347024d2c441d4d513180f0b98b26f89a17747b2a4a06a2c71dd9b4 SHA512 4358d3a4baf1f255f1d0d42fa331bad29d8e8d700156789723837bc60fc290d145a763ddfdadf6d78ee216de68332bed5b3b158858807718fbff35b853387c91
diff --git a/dev-python/botocore/botocore-1.29.134.ebuild b/dev-python/botocore/botocore-1.29.134.ebuild
new file mode 100644
index 000000000000..491b6bbc21f2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.29.134.ebuild
@@ -0,0 +1,72 @@
+# 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 multiprocessing
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+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
+ # fails on unrelated warnings
+ tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
+ tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
+ # TODO
+ tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/dask/Manifest b/dev-python/dask/Manifest
index 7ec655a7f204..62a576edcae1 100644
--- a/dev-python/dask/Manifest
+++ b/dev-python/dask/Manifest
@@ -1,4 +1,3 @@
-DIST dask-2023.3.2.gh.tar.gz 8525841 BLAKE2B 660f3687320c0d56abe437bf7edea2f40fe624a3f48761238b00756f61358d73d47a570399ed70f6f1f2188cb03b04fc10e5c9683e2a49c6b73a21c35173e1dc SHA512 ef1a961a50e69a32aea14630e9d19fc92646e9f520fa265937bb923aeba5932397840b2971bfb9a47125672ac2bd9b0b6a017b650708a183b3bf6c0c345e2af2
DIST dask-2023.4.0.gh.tar.gz 8511473 BLAKE2B 3b6a4e07e0ddc1a40b9494089250e80254b16002c18b091911aa007e1e455f146a192e5f8f9c49b5cf73bc60d942429e1d5ff399516f2b81120ae8f4d79b1dbb SHA512 40071fc3f5597312af28a5c545ebb14d2e2aa3d1a3a0a5d81d335fce3a7a8e7036c900a1caa43f84f76335c469b1bf138f662588f0d015943c4a4bf931c20349
DIST dask-2023.4.1.gh.tar.gz 8514681 BLAKE2B 5bdf8e81692f16b16f3c38ac45e309f73bf85b51aa3c2d9edaae36dc1d43b96a91a8f79e5219ea2a380d26f75c0954dec507b5913b74fdfabe691b340656c75f SHA512 e640ec2bb532dd2723db1c51a023b62aba1198a393beea8eec359f47388a2a42e7a0fe20d06f393ba0538b86fe2f6e0d29eb00eada9cf4ca22acc45b80062dc9
DIST dask-2023.5.0.gh.tar.gz 8515830 BLAKE2B b703407b238057be5238dce1987b280e6e5a38389091b6c9bd08ee06a042309e69fa20d2f511b35a7c74982fc91115507da3c125c74df16ebfbee97fc1782a77 SHA512 12381da648753e675920c29f2071b962319fa7a653b0f75cf9f5e6cd1319d8c2f9d2cac74de1097b5f162886a46499b90787f16bb22526f5bf6c1e6449f1629a
diff --git a/dev-python/dask/dask-2023.3.2.ebuild b/dev-python/dask/dask-2023.3.2.ebuild
deleted file mode 100644
index 7ddc06075f6a..000000000000
--- a/dev-python/dask/dask-2023.3.2.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Task scheduling and blocked algorithms for parallel processing"
-HOMEPAGE="
- https://www.dask.org/
- https://github.com/dask/dask/
- https://pypi.org/project/dask/
-"
-SRC_URI="
- https://github.com/dask/dask/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/partd-1.2.0[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # more tests relying on -Werror
- "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
- dask/array/tests/test_random.py::test_RandomState_only_funcs
- # TODO
- dask/array/tests/test_reductions.py::test_mean_func_does_not_warn
- dask/tests/test_config.py::test__get_paths
- dask/array/tests/test_linalg.py::test_solve_assume_a
- "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>0-float-5-1-True]"
- "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>1-float-5-1-True]"
- # require sqlalchemy<2.0
- dask/dataframe/io/tests/test_sql.py
-)
-
-src_prepare() {
- # fails with sqlalchemy-2.0, even though we don't use it x_x
- sed -i -e '/RemovedIn20Warning/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest -p no:flaky -m "not network"
-}
diff --git a/dev-python/dask/dask-2023.4.0.ebuild b/dev-python/dask/dask-2023.4.0.ebuild
index e6a446e10f3b..879f641914c9 100644
--- a/dev-python/dask/dask-2023.4.0.ebuild
+++ b/dev-python/dask/dask-2023.4.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/click-7.0[${PYTHON_USEDEP}]
diff --git a/dev-python/dtreeviz/dtreeviz-2.2.1.ebuild b/dev-python/dtreeviz/dtreeviz-2.2.1.ebuild
index 6461b7b70662..db84ee81281d 100644
--- a/dev-python/dtreeviz/dtreeviz-2.2.1.ebuild
+++ b/dev-python/dtreeviz/dtreeviz-2.2.1.ebuild
@@ -16,6 +16,8 @@ SRC_URI="https://github.com/parrt/dtreeviz/archive/refs/tags/${PV}.tar.gz -> ${P
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+# IUSE="test xgboost pyspark lightgbm"
+IUSE="test"
RDEPEND="
>=dev-python/graphviz-0.9
@@ -24,9 +26,34 @@ RDEPEND="
sci-libs/scikit-learn
dev-python/matplotlib
dev-python/colour
- dev-python/pytest
"
+# xgboost: available at the science overlay: https://github.com/gentoo/sci - Tested
+# pyspark: available at the spark overlay: https://github.com/6-6-6/spark-overlay - Not tested
+# lightgbm: available at the pypi-sci overlay: https://github.com/jiegec/gentoo-pypi-sci - Not tested
-src_install() {
- distutils-r1_src_install
+DEPEND="test? ( dev-python/pytest )"
+
+TEST_DIR="testing/testlib/models"
+
+python_prepare_all() {
+ # FIXME
+ #if ! use xgboost; then
+ rm $TEST_DIR/test_decision_trees_xgb_classifier.py || die
+ rm $TEST_DIR/test_decision_tree_xgb_regressor.py || die
+ #fi
+
+ # if ! use pyspark; then
+ rm $TEST_DIR/test_decision_tree_spark_classifier.py || die
+ # fi
+
+ # if ! use lightgbm; then
+ rm $TEST_DIR/test_decision_tree_lightgbm_classifier.py || die
+ # fi
+
+ #TODO: tensorflow_decision_forests ebuild
+ rm $TEST_DIR/test_decision_tree_tensorflow_classifier.py || die
+
+ distutils-r1_python_prepare_all
}
+
+distutils_enable_tests pytest
diff --git a/dev-python/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest
index 74db7a68596e..568ff7432163 100644
--- a/dev-python/ensurepip-pip/Manifest
+++ b/dev-python/ensurepip-pip/Manifest
@@ -1,5 +1 @@
-DIST pip-22.3.1-py3-none-any.whl 2051534 BLAKE2B b15f5eac6b3d8d12b382aabfb7fc920bea564be7f9133050d7cb0b4627a92c1de19676dced6bcb79971701898bb1606f3ea1b44349ab35527de90936c0057c71 SHA512 f09c2a48e85108514c20fdc58466b9be6a9b7f234241ccd46e23249f690bd1ec03fa5e60c9df80f4cf31a9be64d7d59b2fa786c1d7779e284fec42b04bffc257
-DIST pip-23.0.1-py3-none-any.whl 2055563 BLAKE2B 1b7a2f007c44a0e3aa6c9ecbc3b4b55c3f88c6504fef0d55d2a23fa369393d481dd6e28eb8898aa0015a9744d2faa3ef985e720456d1011c08b0889416e6b51d SHA512 6bad5536c30a0b2d5905318a1592948929fbac9baf3bcf2e7faeaf90f445f82bc2b656d0a89070d8a6a9395761f4793c83187bd640c64b2656a112b5be41f73d
-DIST pip-23.1-py3-none-any.whl 2064542 BLAKE2B 32357e85a6c827dc423d91b8d7201d20a0ce610213de8b3b352336203224646137a487779789f7b91e50da8965ca2dca96f88e805ed507c329b28d58c83925a5 SHA512 a15bae4a0c1548cfdf1b886157018b31c723aeefe68794cccf83b16e51d4b1874f885e33117172cb36b42613ec03d4aa82cc4318f042e2b7dcd4e39293e91a94
-DIST pip-23.1.1-py3-none-any.whl 2064386 BLAKE2B 22c30379689760ef57d4fb4a0cd0d5653d7fe02fbfa6ae475fc43b20f820e9042a6c28dd943e611f053a1e9179bc1adfca84c8a915f1582994abbc42a965f2eb SHA512 c52fbbaf2d7f1ee8b9aab07d0540c79543caf6a814e41748d6219167957d4e797e7f8a4901a694c2205681981638684bad6a71cb6b156a4599fcdc9e653468de
DIST pip-23.1.2-py3-none-any.whl 2064688 BLAKE2B 85c19cc80a59404867e7212c442e60ed6735da35d544bd23ee4cf5a1bffad4c0fab1f34a652417a181cbcb4afc9baf94682b0ec6e1fd9457eb77bc971d29e459 SHA512 a5a8feab25f01a96c2d8c4e15a001cb38c4a0a9d88563da6653239f3966324fdbe86ae0c5172cbdb1d03b863b37a37358b80e8bb9c8112bd7809fd16fb2ec776
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild
deleted file mode 100644
index 0136aec1062a..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-22.3.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PN=${PN#ensurepip-}
-WHL=${MY_PN}-${PV}-py3-none-any.whl
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="
- https://files.pythonhosted.org/packages/py3/${MY_PN::1}/${MY_PN}/${WHL}
-"
-S=${DISTDIR}
-
-LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${WHL}"
-}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-23.0.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-23.0.1.ebuild
deleted file mode 100644
index 8f5f387c30ae..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-23.0.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-23.1.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-23.1.1.ebuild
deleted file mode 100644
index 8a4b916f03bd..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-23.1.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-23.1.2.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-23.1.2.ebuild
index 84b14bc28c9f..8f5f387c30ae 100644
--- a/dev-python/ensurepip-pip/ensurepip-pip-23.1.2.ebuild
+++ b/dev-python/ensurepip-pip/ensurepip-pip-23.1.2.ebuild
@@ -12,7 +12,7 @@ S=${DISTDIR}
LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RDEPEND="
!<dev-python/ensurepip-wheels-100
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-23.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-23.1.ebuild
deleted file mode 100644
index 84b14bc28c9f..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-23.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/feedgenerator/Manifest b/dev-python/feedgenerator/Manifest
index bd09180dd4ca..b760d456a806 100644
--- a/dev-python/feedgenerator/Manifest
+++ b/dev-python/feedgenerator/Manifest
@@ -1,2 +1 @@
-DIST feedgenerator-2.0.0.tar.gz 23093 BLAKE2B 9f8a597028303f86eaebc0e8e34454dda135a5d62000c4ff6b30fc5baf872b924c3bbf9a76d07817742255305d9a681a25693838992170068e4cd6af540840fb SHA512 1f53077e4c757059947a487a1aa7ca8cf28545bc86f1bf3c8fbe515615f83ac4c48de5c22dd020f28c21ec6549d7f9971513f3de450bad7d4efbe0a0e444b0fe
DIST feedgenerator-2.1.0.tar.gz 20682 BLAKE2B cf78ab6c8f84d82f260a315cdaac2780e563668179f13e087f760f6ba3acc11767d1d639f78b2ead9cec333ff04509b73a9e55ff0184c740cbf2090aad9f3987 SHA512 b8b41f5b256130166c8dba34dd950782f9acb506e3e37a2fe13b5e1f9d33f7d39b7f862e446f4f6f2f480973617feb70303f78a4fb6741f110166e61b92f0075
diff --git a/dev-python/feedgenerator/feedgenerator-2.0.0.ebuild b/dev-python/feedgenerator/feedgenerator-2.0.0.ebuild
deleted file mode 100644
index b45be9fba51e..000000000000
--- a/dev-python/feedgenerator/feedgenerator-2.0.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Standalone version of django.utils.feedgenerator"
-HOMEPAGE="https://pypi.org/project/feedgenerator/"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-RDEPEND="
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild b/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
index 40ca61935057..1c4cd1d5828f 100644
--- a/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
+++ b/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
RDEPEND="
dev-python/pytz[${PYTHON_USEDEP}]
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index 560b8122031d..c7ab30fd42c9 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1,2 +1 @@
-DIST icalendar-5.0.4.tar.gz 102093 BLAKE2B 5bb618f8abfa8c96cdf45b0fd85f97ecfbe99361fb2eda08fe6ba43da1d01642e116218bc01353a745f6dc401278887d5ffc616fcf666691360174459c896362 SHA512 5b9b1b770c903bec4d8e5a4dc20b82d8e35eb86e6421d62abad640e65db20ccc71757a939e9ccb051653962ab5725e80dbc024703de158fee2cb0d608b8b5732
DIST icalendar-5.0.5.tar.gz 103204 BLAKE2B 20887b535f595ab222f3aca8ac396a71b53975816663693f89277a03be41885780d0b15269cd5955e00eeda0867db46781ea2300f542bca1a18687d50e025989 SHA512 1c1e6c94e2caa07686bc12389c3a5b823478f1652695bc167af95c26f92bbd3d60fb4e540d74eb90db289c647bfd6e1c82e83ee8f89bc87b80100d8b6fe5dd90
diff --git a/dev-python/icalendar/icalendar-5.0.4.ebuild b/dev-python/icalendar/icalendar-5.0.4.ebuild
deleted file mode 100644
index 1076e201d750..000000000000
--- a/dev-python/icalendar/icalendar-5.0.4.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
-HOMEPAGE="
- https://github.com/collective/icalendar/
- https://pypi.org/project/icalendar/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
- ' 3.8)
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # reset conf.py to not read version from an installed instance
- sed -e "s:pkg_resources.get_distribution('icalendar').version:'${PV}':" \
- -i docs/conf.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 1f0c823794ca..65804e292881 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,2 +1,3 @@
DIST ipykernel-6.22.0.tar.gz 151303 BLAKE2B c3567066375099d388c65b43b5b8c8059a823f4185855b6131fd90f42624a71c08d839a3c59c41cf83bb51ec07d0c0487d7bbee573eafa7e7d049dbeff8e59a8 SHA512 e109a2b771ffa40e05416bd925f26a4492c65a44a1acd8100e65ae3e779da9a0eef7222566e79cdcbed4b0fc3224fbd0722728d3fe953b16ab1a14090d0205c2
DIST ipykernel-6.23.0.tar.gz 151969 BLAKE2B c41aac053b27a2e3618831f8d6458b21877b4510062019576fe98f921b9485fe180f2bced09c0a8ddd930af5a386a09d4d13a2ffbb78e58d71bb7a7cea1c91c1 SHA512 d852742bd858639d150864d343da23ee915c2034b8fbad7875755ea580be80b5faf553c16af65c50001f214979cd4a80c89fe08e4db7198754b554de0101a1d1
+DIST ipykernel-6.23.1.tar.gz 153370 BLAKE2B 654998d46851bcc55d3c0c9c6134f3fcf8c81c2552d5af6dcdbd791e1ac98ed223a59aafc9b7b4260345f8730d243d3c82d4e19e03935a368a0a0154de547cb0 SHA512 8f3921789c837f7c046eed4ffdaade2273b6491cfd97b9a192a256966a66d58c1ad93cbfa69a5e933e052fa35c2c7a4671a652ee9f2bb2cca5a156c79df0f14f
diff --git a/dev-python/ipykernel/ipykernel-6.23.1.ebuild b/dev-python/ipykernel/ipykernel-6.23.1.ebuild
new file mode 100644
index 000000000000..3ae331be622c
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.23.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/debugpy-1.6.5[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ dev-python/nest_asyncio[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-20[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ ipykernel/tests/test_debugger.py::test_attach_debug
+ ipykernel/tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ ipykernel/tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ ipykernel/tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ ipykernel/tests/test_debugger.py::test_set_breakpoints
+ ipykernel/tests/test_debugger.py::test_stop_on_breakpoint
+ ipykernel/tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ ipykernel/tests/test_eventloop.py::test_tk_loop
+ )
+
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/loky/Manifest b/dev-python/loky/Manifest
index 589fef5e643e..e16c19066bf3 100644
--- a/dev-python/loky/Manifest
+++ b/dev-python/loky/Manifest
@@ -1,2 +1 @@
-DIST loky-3.3.0.gh.tar.gz 141130 BLAKE2B 35560dca81cf41e03b24c8be6e70952c19b88fc9794cb13d7c910ac67ec4554555233026a215c6f147dc1354ad11bc14117b4eb6455ba758b79ea6650dc01f62 SHA512 120f771c75fe8691a198c93a91bf683af3d32c1bcaf2fa3e9c439d16546bff9feb6ce203667bd6c4e06ac326500b7bd117948e4deea6f53b04682af1f8d65734
DIST loky-3.4.0.gh.tar.gz 143864 BLAKE2B bebfa2c934e4645c5cd1a4c62792bccd9b5a4ef3c9a104809b57f35ba3318596717bf82714c1b7583675bdc504dc0a2054a88009d964a900176d353a54add52c SHA512 d8113f6f6c173c208b90c29bc4a296d7844f7010cfcabbd8d55106b8e93f256b2debb86aa993a33c41f40fcdd4f00c1e1e010dbe4a184b138da357652315657c
diff --git a/dev-python/loky/loky-3.3.0.ebuild b/dev-python/loky/loky-3.3.0.ebuild
deleted file mode 100644
index 70155b839495..000000000000
--- a/dev-python/loky/loky-3.3.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Robust and reusable Executor for joblib"
-HOMEPAGE="https://github.com/joblib/loky"
-SRC_URI="
- https://github.com/joblib/loky/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- EPYTEST_DESELECT=(
- # docker, seriously?
- tests/test_loky_module.py::test_cpu_count_cfs_limit
- # hangs, and even pytest-timeout does not help
- tests/test_reusable_executor.py::TestExecutorDeadLock::test_deadlock_kill
- tests/test_reusable_executor.py::TestResizeExecutor::test_reusable_executor_resize
- )
-
- # high memory test needs a lot of memory + is broken on 32-bit platforms
- epytest --skip-high-memory
-}
diff --git a/dev-python/munch/Manifest b/dev-python/munch/Manifest
index 6ef9db8a6a4c..aff424eeb1bd 100644
--- a/dev-python/munch/Manifest
+++ b/dev-python/munch/Manifest
@@ -1 +1,2 @@
DIST munch-2.5.0.tar.gz 17015 BLAKE2B 17af271ae082a6e5f91781ba48a440f11cbe85ecb81d47ee2bc51910307080e3ba6c95e99e7475534400b2915a86d8f853bc65d419c3d3b7138bf021e66de25c SHA512 7eca31111f40782a19b49535322bc56d723022d52b0842c4beff512f32fa415a6c75851eb84950358cb6a11693095cafe56364028e48385b11135de414edca21
+DIST munch-3.0.0.tar.gz 19276 BLAKE2B df7b8ee8ff807c2a1ca61974d70379623411db2229d176b890949aa3318f7b2ec1e108a340e55445751c46da24deb0f749d66fb69f9e10e92a04a01c766a73c6 SHA512 d08ac1b19badf0fb17f2dc81e53ab7492e49da225d8fa890fa9227df9d4e2bce395c7d7a8000f635529c1fb2a7eccd4eef10370b76e95b960955985b38003baf
diff --git a/dev-python/munch/munch-3.0.0.ebuild b/dev-python/munch/munch-3.0.0.ebuild
new file mode 100644
index 000000000000..08bad13fd387
--- /dev/null
+++ b/dev-python/munch/munch-3.0.0.ebuild
@@ -0,0 +1,31 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A dot-accessible dictionary (a la JavaScript objects)"
+HOMEPAGE="
+ https://github.com/Infinidat/munch/
+ https://pypi.org/project/munch/
+"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+SLOT="0"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pdm-pep517/Manifest b/dev-python/pdm-pep517/Manifest
index a89ab665b339..a9c93b8c8910 100644
--- a/dev-python/pdm-pep517/Manifest
+++ b/dev-python/pdm-pep517/Manifest
@@ -1,2 +1 @@
-DIST pdm-pep517-1.1.3.gh.tar.gz 232038 BLAKE2B 8d7e4cbd439c8cd5fd541043da93fcee4737d47c27ce049743c0944bff66b4784b00e3650e088e1ddfabcdfd4398e5fe90f3029a8353d91cc4b11ec8625d44eb SHA512 ed29b2c5a2030ceb103eb9df3d399efa316c02fb97b2000d770591c9f1abe0adeabf1cbdb9b5863dc82a1adfb67dd6385c362963145779fbf63dd39e0ff533f0
DIST pdm-pep517-1.1.4.gh.tar.gz 232583 BLAKE2B 0f718e5b0a854505ca22b15cbe0bf3eeb9e028062e1bbd8a5fa6ca79e605ced7ec45e9429747c18fa2b96872487b2a5b3007567e2875d2121ed52c5027e1a4d4 SHA512 b3359ed0f0746e879b3cad8fdedcf49a36f179d68a530a80e5c985d26f89e9e3ab92a56a128dd69603e52fff5070ebe8ec2dc0f6ec07c8eb14da27e5a3b3b4a8
diff --git a/dev-python/pdm-pep517/pdm-pep517-1.1.3.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.1.3.ebuild
deleted file mode 100644
index 07316b4c9205..000000000000
--- a/dev-python/pdm-pep517/pdm-pep517-1.1.3.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-
-inherit distutils-r1
-
-# upstream has renamed the repo but the legacy branch is still published
-# as pdm-pep517, sigh
-MY_P=pdm-backend-${PV}
-DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
-HOMEPAGE="
- https://pypi.org/project/pdm-pep517/
- https://github.com/pdm-project/pdm-backend/
-"
-SRC_URI="
- https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/cerberus-1.3.4[${PYTHON_USEDEP}]
- dev-python/license-expression[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/tomli-2[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-# setuptools are used to build C extensions
-RDEPEND+="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- rm -r pdm/pep517/_vendor || die
- find -name '*.py' -exec sed \
- -e 's:from pdm\.pep517\._vendor\.:from :' \
- -e 's:from pdm\.pep517\._vendor ::' \
- -i {} + || die
- distutils-r1_src_prepare
-}
-
-src_test() {
- git config --global user.email "test@example.com" || die
- git config --global user.name "Test User" || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index f1fc2ed44dbc..728b3af27142 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1 +1,2 @@
+DIST pymdown-extensions-10.0.gh.tar.gz 1062913 BLAKE2B a7f0da6ce416ece64ecf4340e9c0c0330858cc972924b7d646abfb2080b10814f81bf4f5ad42895e523edfb1bdb61e805cb66507780fdad04dad7ffa6e266c66 SHA512 660e903705fe379e6ed2c67ede21eea8a4d0e14731e036b556eaccc6a3ab76dce71e29d1581fbd822794d66382970fbc95ece9c2cd2f5854018a81a65e06239a
DIST pymdown-extensions-9.11.gh.tar.gz 1062074 BLAKE2B d695fa946c264f7ce2da7731fd5ce5388152a2179830108a6b43f769144246c33118084b4b2fe1e45b4255e26dc91871be699043008f67d2f04c5e5396f9ad12 SHA512 7745f0da83e3ecab9ac16947662c7a4da31e9ed62c6c519457083e0e8075f386a10146f18edc59cb17dee383335bb303c109da2ab08501118a53ee7315b1095f
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.0.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.0.ebuild
new file mode 100644
index 000000000000..31418053ff8b
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..11} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-git-revision-date-localized-plugin
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-material
+ dev-python/pymdown-lexers
+ dev-python/pyspelling
+"
+DOCS_INITIALIZE_GIT=1
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Extensions for Python Markdown"
+HOMEPAGE="
+ https://github.com/facelessuser/pymdown-extensions/
+ https://pypi.org/project/pymdown-extensions/
+"
+SRC_URI="
+ https://github.com/facelessuser/pymdown-extensions/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile_all() {
+ default
+ # We need to do this manually instead of relying on docs_compile
+ # https://bytemeta.vip/repo/facelessuser/pymdown-extensions/issues/1446
+ # https://bugs.gentoo.org/859637
+ if use doc; then
+ python -m mkdocs build || die "Failed to make docs"
+ # Colliding files found by ecompress:
+ rm site/sitemap.xml.gz || die
+ HTML_DOCS=( "site/." )
+ fi
+}
diff --git a/dev-python/pyte/pyte-0.8.1.ebuild b/dev-python/pyte/pyte-0.8.1.ebuild
index 027c2618e898..f9c06dfe1c60 100644
--- a/dev-python/pyte/pyte-0.8.1.ebuild
+++ b/dev-python/pyte/pyte-0.8.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="
SLOT="0"
LICENSE="LGPL-3"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/wcwidth[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-subtests/Manifest b/dev-python/pytest-subtests/Manifest
index 04b35ff49606..9d1f9c475b11 100644
--- a/dev-python/pytest-subtests/Manifest
+++ b/dev-python/pytest-subtests/Manifest
@@ -1 +1,2 @@
DIST pytest-subtests-0.10.0.gh.tar.gz 10253 BLAKE2B dba434dfc3f27293d5576ad408665917394ff54d41aef5604f40d787c4d7d9c6fc42b99ca10a8d46707fc8ce0eb5aab8e27bb32b464f5c9350f6bda6b12df031 SHA512 2fc3f8316db879d64d4dd4ad53df7dbda30b69df9291608eb6235aa27e9e6b3ec4174023f9ffa016811eb8955f0ebd673ead7b7319d927d18d7c016e0c7ef573
+DIST pytest-subtests-0.11.0.tar.gz 12763 BLAKE2B b1e1373d197798a9c27ed65569a681e9ea8dd36014cf6ea57a1d44ed888dca21bd8c5afffeb7f590a501d83d1bc0a8e1fe06b13832173e6937b722163614f21e SHA512 cab486252148e457e234e0dadacefa5ff38cf67df48d9c8bd61aa546a4a1e712b70dca0a270dffceede6be0f8a6324e8c21beaa4d1528b39f12bba72e077ef1d
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild
new file mode 100644
index 000000000000..a431422ae1f5
--- /dev/null
+++ b/dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest subTest() support and subtests fixture"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-subtests/
+ https://pypi.org/project/pytest-subtests/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+# pytest-xdist is used to test compatibility
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail,pytest_forked,pytest_subtests
+ epytest
+}
diff --git a/dev-python/python-telegram-bot/Manifest b/dev-python/python-telegram-bot/Manifest
index aac25999699d..84e959ca9d8c 100644
--- a/dev-python/python-telegram-bot/Manifest
+++ b/dev-python/python-telegram-bot/Manifest
@@ -1,2 +1,3 @@
DIST python-telegram-bot-13.14.tar.gz 2282098 BLAKE2B 549c87737585f3b2b4bae9f9430fcf8dbaf4f9048013f623b5ef910534a0c70792e36eedffa707b4ff68d6de53c69d4befe64618fc8944c35c3efe680294c4a9 SHA512 859d9852feaaf147b608c1ef4e5f388c345f7efcd699a828d690b110fb499cb9391a51bafe8e0b533d106dccf038a4c845fa13c0dab12bb7792dffe5d059af27
DIST python-telegram-bot-20.2.tar.gz 1940084 BLAKE2B a575f7ea616e29c32f3773adc66153ddbe4563420697d5eb2dcb1ad7df72d5ea348b0900552d65a91fdfe9c4d65c4fc1d43e9e5e7bb18d5943ae0d329878a6a0 SHA512 1d25a7c0c8b97c3292af364f1c9f94289de340d19587f2d43817f36bd89c3862fe6c1cf58b68dcdfa5aca6a94acb8da99bb49a9f4ad76e3a61b3b59810dae6e5
+DIST python-telegram-bot-20.3.tar.gz 1957466 BLAKE2B 47e68846bb6c092648aa2bcd53289f7ac78d7335a8f84fd6a1c6440ee8b38c150f2e2df56f537e0de9e01af3c98a49fd0a8d8771c15ebd9be1658b0ee17a355b SHA512 6594eb991a14acdd247505b904ca2bd5022ef8abe4b45b57218508fa53de765a6a9e05c78997723a8385b45a0950e87dc102264ed3338eed9d569d1eb596e1f9
diff --git a/dev-python/python-telegram-bot/files/python-telegram-bot-20.3-no-internet-tests.patch b/dev-python/python-telegram-bot/files/python-telegram-bot-20.3-no-internet-tests.patch
new file mode 100644
index 000000000000..1c7d71c756ca
--- /dev/null
+++ b/dev-python/python-telegram-bot/files/python-telegram-bot-20.3-no-internet-tests.patch
@@ -0,0 +1,704 @@
+--- a/tests/_files/test_animation.py
++++ b/tests/_files/test_animation.py
+@@ -69,11 +69,13 @@ class TestAnimationBase:
+
+
+ class TestAnimationWithoutRequest(TestAnimationBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, animation):
+ for attr in animation.__slots__:
+ assert getattr(animation, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(animation)) == len(set(mro_slots(animation))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_creation(self, animation):
+ assert isinstance(animation, Animation)
+ assert isinstance(animation.file_id, str)
+@@ -81,6 +83,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
+ assert animation.file_id
+ assert animation.file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, animation):
+ assert animation.mime_type == self.mime_type
+ assert animation.file_name.startswith("game.gif") == self.file_name.startswith("game.gif")
+@@ -98,6 +101,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
+ assert animation.thumb is animation.thumbnail
+ check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_de_json(self, bot, animation):
+ json_dict = {
+ "file_id": self.animation_file_id,
+@@ -118,6 +122,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
+ assert animation.mime_type == self.mime_type
+ assert animation.file_size == self.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, animation):
+ animation_dict = animation.to_dict()
+
+@@ -187,6 +192,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
+ finally:
+ bot._local_mode = False
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_animation(self, monkeypatch, bot, chat_id, animation):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.json_parameters["animation"] == animation.file_id
+@@ -195,6 +201,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
+ assert await bot.send_animation(animation=animation, chat_id=chat_id)
+
+ @pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_animation_thumb_deprecation_warning(
+ self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, animation
+ ):
+@@ -216,6 +223,7 @@ class TestAnimationWithoutRequest(TestAnimationBase):
+ with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
+ await bot.send_animation(chat_id, file, thumbnail=file, thumb=different_file)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, animation):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == animation.file_id
+--- a/tests/_files/test_audio.py
++++ b/tests/_files/test_audio.py
+@@ -70,11 +70,13 @@ class TestAudioBase:
+
+
+ class TestAudioWithoutRequest(TestAudioBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, audio):
+ for attr in audio.__slots__:
+ assert getattr(audio, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(audio)) == len(set(mro_slots(audio))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_creation(self, audio):
+ # Make sure file has been uploaded.
+ assert isinstance(audio, Audio)
+@@ -83,6 +85,7 @@ class TestAudioWithoutRequest(TestAudioBase):
+ assert audio.file_id
+ assert audio.file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, audio):
+ assert audio.duration == self.duration
+ assert audio.performer is None
+@@ -98,6 +101,7 @@ class TestAudioWithoutRequest(TestAudioBase):
+ assert audio.thumb is audio.thumbnail
+ check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_de_json(self, bot, audio):
+ json_dict = {
+ "file_id": self.audio_file_id,
+@@ -123,6 +127,7 @@ class TestAudioWithoutRequest(TestAudioBase):
+ assert json_audio.file_size == self.file_size
+ assert json_audio.thumbnail == audio.thumbnail
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, audio):
+ audio_dict = audio.to_dict()
+
+@@ -134,6 +139,7 @@ class TestAudioWithoutRequest(TestAudioBase):
+ assert audio_dict["file_size"] == audio.file_size
+ assert audio_dict["file_name"] == audio.file_name
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, audio):
+ a = Audio(audio.file_id, audio.file_unique_id, audio.duration)
+ b = Audio("", audio.file_unique_id, audio.duration)
+@@ -154,6 +160,7 @@ class TestAudioWithoutRequest(TestAudioBase):
+ assert a != e
+ assert hash(a) != hash(e)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_audio(self, monkeypatch, bot, chat_id, audio):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.json_parameters["audio"] == audio.file_id
+@@ -162,6 +169,7 @@ class TestAudioWithoutRequest(TestAudioBase):
+ assert await bot.send_audio(audio=audio, chat_id=chat_id)
+
+ @pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_audio_thumb_deprecation_warning(
+ self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, audio
+ ):
+@@ -214,6 +222,7 @@ class TestAudioWithoutRequest(TestAudioBase):
+ with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
+ await bot.send_audio(chat_id, file, thumbnail=file, thumb=different_file)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, audio):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == audio.file_id
+--- a/tests/_files/test_chatphoto.py
++++ b/tests/_files/test_chatphoto.py
+@@ -61,11 +61,13 @@ class TestChatPhotoBase:
+
+
+ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, chat_photo):
+ for attr in chat_photo.__slots__:
+ assert getattr(chat_photo, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(chat_photo)) == len(set(mro_slots(chat_photo))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_de_json(self, bot, chat_photo):
+ json_dict = {
+ "small_file_id": self.chatphoto_small_file_id,
+@@ -80,6 +82,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
+ assert chat_photo.small_file_unique_id == self.chatphoto_small_file_unique_id
+ assert chat_photo.big_file_unique_id == self.chatphoto_big_file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_to_dict(self, chat_photo):
+ chat_photo_dict = chat_photo.to_dict()
+
+@@ -121,6 +124,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
+ assert a != e
+ assert hash(a) != hash(e)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_chat_photo(self, monkeypatch, bot, super_group_id, chat_photo):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.parameters["photo"] == chat_photo.to_dict()
+@@ -129,6 +133,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
+ message = await bot.set_chat_photo(photo=chat_photo, chat_id=super_group_id)
+ assert message
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_small_file_instance_method(self, monkeypatch, chat_photo):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == chat_photo.small_file_id
+@@ -142,6 +147,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase):
+ monkeypatch.setattr(chat_photo.get_bot(), "get_file", make_assertion)
+ assert await chat_photo.get_small_file()
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_big_file_instance_method(self, monkeypatch, chat_photo):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == chat_photo.big_file_id
+--- a/tests/_files/test_document.py
++++ b/tests/_files/test_document.py
+@@ -65,11 +65,13 @@ class TestDocumentBase:
+
+
+ class TestDocumentWithoutRequest(TestDocumentBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, document):
+ for attr in document.__slots__:
+ assert getattr(document, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(document)) == len(set(mro_slots(document))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_creation(self, document):
+ assert isinstance(document, Document)
+ assert isinstance(document.file_id, str)
+@@ -77,6 +79,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
+ assert document.file_id
+ assert document.file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, document):
+ assert document.file_size == self.file_size
+ assert document.mime_type == self.mime_type
+@@ -90,6 +93,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
+ assert document.thumb is document.thumbnail
+ check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_de_json(self, bot, document):
+ json_dict = {
+ "file_id": self.document_file_id,
+@@ -109,6 +113,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
+ assert test_document.mime_type == self.mime_type
+ assert test_document.file_size == self.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, document):
+ document_dict = document.to_dict()
+
+@@ -119,6 +124,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
+ assert document_dict["mime_type"] == document.mime_type
+ assert document_dict["file_size"] == document.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, document):
+ a = Document(document.file_id, document.file_unique_id)
+ b = Document("", document.file_unique_id)
+@@ -140,6 +146,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
+ await bot.send_document(chat_id=chat_id)
+
+ @pytest.mark.parametrize("disable_content_type_detection", [True, False, None])
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_document(
+ self, monkeypatch, bot, chat_id, document, disable_content_type_detection
+ ):
+@@ -161,6 +168,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
+ assert message
+
+ @pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_document_thumb_deprecation_warning(
+ self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, document
+ ):
+@@ -208,6 +216,7 @@ class TestDocumentWithoutRequest(TestDocumentBase):
+ with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
+ await bot.send_document(chat_id, file, thumbnail=file, thumb=different_file)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, document):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == document.file_id
+--- a/tests/_files/test_inputmedia.py
++++ b/tests/_files/test_inputmedia.py
+@@ -186,6 +186,7 @@ class TestInputMediaVideoWithoutRequest(TestInputMediaVideoBase):
+ assert input_media_video_dict["supports_streaming"] == input_media_video.supports_streaming
+ assert input_media_video_dict["has_spoiler"] == input_media_video.has_spoiler
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_with_video(self, video): # noqa: F811
+ # fixture found in test_video
+ input_media_video = InputMediaVideo(video, caption="test 3")
+@@ -258,6 +259,7 @@ class TestInputMediaPhotoWithoutRequest(TestInputMediaPhotoBase):
+ ]
+ assert input_media_photo_dict["has_spoiler"] == input_media_photo.has_spoiler
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_with_photo(self, photo): # noqa: F811
+ # fixture found in test_photo
+ input_media_photo = InputMediaPhoto(photo, caption="test 2")
+@@ -329,6 +331,7 @@ class TestInputMediaAnimationWithoutRequest(TestInputMediaAnimationBase):
+ assert input_media_animation_dict["duration"] == input_media_animation.duration
+ assert input_media_animation_dict["has_spoiler"] == input_media_animation.has_spoiler
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_with_animation(self, animation): # noqa: F811
+ # fixture found in test_animation
+ input_media_animation = InputMediaAnimation(animation, caption="test 2")
+@@ -411,6 +414,7 @@ class TestInputMediaAudioWithoutRequest(TestInputMediaAudioBase):
+ ce.to_dict() for ce in input_media_audio.caption_entities
+ ]
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_with_audio(self, audio): # noqa: F811
+ # fixture found in test_audio
+ input_media_audio = InputMediaAudio(audio, caption="test 3")
+@@ -496,6 +500,7 @@ class TestInputMediaDocumentWithoutRequest(TestInputMediaDocumentBase):
+ == input_media_document.disable_content_type_detection
+ )
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_with_document(self, document): # noqa: F811
+ # fixture found in test_document
+ input_media_document = InputMediaDocument(document, caption="test 3")
+@@ -559,6 +564,7 @@ def media_group_no_caption_only_parse_mode(photo, thumb): # noqa: F811
+
+
+ class TestSendMediaGroupWithoutRequest:
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_media_group_throws_error_with_group_caption_and_individual_captions(
+ self,
+ bot,
+--- a/tests/_files/test_photo.py
++++ b/tests/_files/test_photo.py
+@@ -74,11 +74,13 @@ class TestPhotoBase:
+
+
+ class TestPhotoWithoutRequest(TestPhotoBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, photo):
+ for attr in photo.__slots__:
+ assert getattr(photo, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(photo)) == len(set(mro_slots(photo))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_creation(self, thumb, photo):
+ # Make sure file has been uploaded.
+ assert isinstance(photo, PhotoSize)
+@@ -93,6 +95,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
+ assert thumb.file_id
+ assert thumb.file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, photo, thumb):
+ assert photo.width == self.width
+ assert photo.height == self.height
+@@ -101,6 +104,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
+ assert thumb.height == 90
+ assert thumb.file_size == 1477
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_de_json(self, bot, photo):
+ json_dict = {
+ "file_id": photo.file_id,
+@@ -118,6 +122,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
+ assert json_photo.height == self.height
+ assert json_photo.file_size == self.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, photo):
+ photo_dict = photo.to_dict()
+
+@@ -128,6 +133,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
+ assert photo_dict["height"] == photo.height
+ assert photo_dict["file_size"] == photo.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, photo):
+ a = PhotoSize(photo.file_id, photo.file_unique_id, self.width, self.height)
+ b = PhotoSize("", photo.file_unique_id, self.width, self.height)
+@@ -189,6 +195,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
+ finally:
+ bot._local_mode = False
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_photosize(self, monkeypatch, bot, chat_id, photo):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.json_parameters["photo"] == photo.file_id
+@@ -196,6 +203,7 @@ class TestPhotoWithoutRequest(TestPhotoBase):
+ monkeypatch.setattr(bot.request, "post", make_assertion)
+ assert await bot.send_photo(photo=photo, chat_id=chat_id)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, photo):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == photo.file_id
+--- a/tests/_files/test_sticker.py
++++ b/tests/_files/test_sticker.py
+@@ -117,11 +117,13 @@ class TestStickerBase:
+
+
+ class TestStickerWithoutRequest(TestStickerBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, sticker):
+ for attr in sticker.__slots__:
+ assert getattr(sticker, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(sticker)) == len(set(mro_slots(sticker))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_creation(self, sticker):
+ # Make sure file has been uploaded.
+ assert isinstance(sticker, Sticker)
+@@ -136,6 +138,7 @@ class TestStickerWithoutRequest(TestStickerBase):
+ assert sticker.thumbnail.file_unique_id
+ assert isinstance(sticker.needs_repainting, bool)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, sticker):
+ assert sticker.width == self.width
+ assert sticker.height == self.height
+@@ -164,6 +167,7 @@ class TestStickerWithoutRequest(TestStickerBase):
+ assert sticker.thumb is sticker.thumbnail
+ check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, sticker):
+ sticker_dict = sticker.to_dict()
+
+@@ -179,6 +183,7 @@ class TestStickerWithoutRequest(TestStickerBase):
+ assert sticker_dict["type"] == sticker.type
+ assert sticker_dict["needs_repainting"] == sticker.needs_repainting
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_de_json(self, bot, sticker):
+ json_dict = {
+ "file_id": self.sticker_file_id,
+@@ -212,6 +217,7 @@ class TestStickerWithoutRequest(TestStickerBase):
+ assert json_sticker.custom_emoji_id == self.custom_emoji_id
+ assert json_sticker.needs_repainting == self.needs_repainting
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, sticker):
+ a = Sticker(
+ sticker.file_id,
+@@ -274,6 +280,7 @@ class TestStickerWithoutRequest(TestStickerBase):
+ with pytest.raises(TypeError):
+ await bot.send_sticker(chat_id)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_sticker(self, monkeypatch, bot, chat_id, sticker):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.json_parameters["sticker"] == sticker.file_id
+@@ -565,6 +572,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase):
+ assert sticker_set.thumb is sticker_set.thumbnail
+ check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_de_json(self, bot, sticker):
+ name = f"test_by_{bot.username}"
+ json_dict = {
+@@ -588,6 +596,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase):
+ assert sticker_set.sticker_type == self.sticker_type
+ assert sticker_set.api_kwargs == {"contains_masks": self.contains_masks}
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_sticker_set_to_dict(self, sticker_set):
+ sticker_set_dict = sticker_set.to_dict()
+
+@@ -960,6 +969,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase):
+ assert recwarn[0].filename == __file__, "incorrect stacklevel!"
+ recwarn.clear()
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, sticker):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == sticker.file_id
+--- a/tests/_files/test_video.py
++++ b/tests/_files/test_video.py
+@@ -69,11 +69,13 @@ class TestVideoBase:
+
+
+ class TestVideoWithoutRequest(TestVideoBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, video):
+ for attr in video.__slots__:
+ assert getattr(video, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(video)) == len(set(mro_slots(video))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_creation(self, video):
+ # Make sure file has been uploaded.
+ assert isinstance(video, Video)
+@@ -88,6 +90,7 @@ class TestVideoWithoutRequest(TestVideoBase):
+ assert video.thumbnail.file_id
+ assert video.thumbnail.file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, video):
+ assert video.width == self.width
+ assert video.height == self.height
+@@ -130,6 +133,7 @@ class TestVideoWithoutRequest(TestVideoBase):
+ assert json_video.file_size == self.file_size
+ assert json_video.file_name == self.file_name
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, video):
+ video_dict = video.to_dict()
+
+@@ -143,6 +147,7 @@ class TestVideoWithoutRequest(TestVideoBase):
+ assert video_dict["file_size"] == video.file_size
+ assert video_dict["file_name"] == video.file_name
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, video):
+ a = Video(video.file_id, video.file_unique_id, self.width, self.height, self.duration)
+ b = Video("", video.file_unique_id, self.width, self.height, self.duration)
+@@ -167,6 +172,7 @@ class TestVideoWithoutRequest(TestVideoBase):
+ with pytest.raises(TypeError):
+ await bot.send_video(chat_id=chat_id)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_video(self, monkeypatch, bot, chat_id, video):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.json_parameters["video"] == video.file_id
+@@ -175,6 +181,7 @@ class TestVideoWithoutRequest(TestVideoBase):
+ assert await bot.send_video(chat_id, video=video)
+
+ @pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_video_thumb_deprecation_warning(
+ self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, video
+ ):
+@@ -228,6 +235,7 @@ class TestVideoWithoutRequest(TestVideoBase):
+ with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
+ await bot.send_video(chat_id, file, thumbnail=file, thumb=different_file)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, video):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == video.file_id
+--- a/tests/_files/test_videonote.py
++++ b/tests/_files/test_videonote.py
+@@ -63,11 +63,13 @@ class TestVideoNoteBase:
+
+
+ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, video_note):
+ for attr in video_note.__slots__:
+ assert getattr(video_note, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(video_note)) == len(set(mro_slots(video_note))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_creation(self, video_note):
+ # Make sure file has been uploaded.
+ assert isinstance(video_note, VideoNote)
+@@ -82,6 +84,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
+ assert video_note.thumbnail.file_id
+ assert video_note.thumbnail.file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, video_note):
+ assert video_note.length == self.length
+ assert video_note.duration == self.duration
+@@ -111,6 +114,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
+ assert json_video_note.duration == self.duration
+ assert json_video_note.file_size == self.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, video_note):
+ video_note_dict = video_note.to_dict()
+
+@@ -121,6 +125,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
+ assert video_note_dict["duration"] == video_note.duration
+ assert video_note_dict["file_size"] == video_note.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, video_note):
+ a = VideoNote(video_note.file_id, video_note.file_unique_id, self.length, self.duration)
+ b = VideoNote("", video_note.file_unique_id, self.length, self.duration)
+@@ -145,6 +150,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
+ with pytest.raises(TypeError):
+ await bot.send_video_note(chat_id=chat_id)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_video_note(self, monkeypatch, bot, chat_id, video_note):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.json_parameters["video_note"] == video_note.file_id
+@@ -153,6 +159,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
+ assert await bot.send_video_note(chat_id, video_note=video_note)
+
+ @pytest.mark.parametrize("bot_class", ["Bot", "ExtBot"])
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_video_note_thumb_deprecation_warning(
+ self, recwarn, monkeypatch, bot_class, bot, raw_bot, chat_id, video_note
+ ):
+@@ -210,6 +217,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase):
+ with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"):
+ await bot.send_video_note(chat_id, file, thumbnail=file, thumb=different_file)
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, video_note):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == video_note.file_id
+--- a/tests/_files/test_voice.py
++++ b/tests/_files/test_voice.py
+@@ -58,11 +58,13 @@ class TestVoiceBase:
+
+
+ class TestVoiceWithoutRequest(TestVoiceBase):
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_slot_behaviour(self, voice):
+ for attr in voice.__slots__:
+ assert getattr(voice, attr, "err") != "err", f"got extra slot '{attr}'"
+ assert len(mro_slots(voice)) == len(set(mro_slots(voice))), "duplicate slot"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_creation(self, voice):
+ # Make sure file has been uploaded.
+ assert isinstance(voice, Voice)
+@@ -71,6 +73,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
+ assert voice.file_id
+ assert voice.file_unique_id
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_expected_values(self, voice):
+ assert voice.duration == self.duration
+ assert voice.mime_type == self.mime_type
+@@ -93,6 +96,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
+ assert json_voice.mime_type == self.mime_type
+ assert json_voice.file_size == self.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_to_dict(self, voice):
+ voice_dict = voice.to_dict()
+
+@@ -103,6 +107,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
+ assert voice_dict["mime_type"] == voice.mime_type
+ assert voice_dict["file_size"] == voice.file_size
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, voice):
+ a = Voice(voice.file_id, voice.file_unique_id, self.duration)
+ b = Voice("", voice.file_unique_id, self.duration)
+@@ -135,6 +140,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
+
+ assert await bot.send_voice(chat_id, voice_file, filename="custom_filename")
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_send_with_voice(self, monkeypatch, bot, chat_id, voice):
+ async def make_assertion(url, request_data: RequestData, *args, **kwargs):
+ return request_data.json_parameters["voice"] == voice.file_id
+@@ -164,6 +170,7 @@ class TestVoiceWithoutRequest(TestVoiceBase):
+ finally:
+ bot._local_mode = False
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_file_instance_method(self, monkeypatch, voice):
+ async def make_assertion(*_, **kwargs):
+ return kwargs["file_id"] == voice.file_id
+--- a/tests/request/test_request.py
++++ b/tests/request/test_request.py
+@@ -418,6 +418,7 @@ class TestHTTPXRequestWithoutRequest:
+ assert self.test_flag["init"] == 1
+ assert self.test_flag["shutdown"] == 1
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_multiple_init_cycles(self):
+ # nothing really to assert - this should just not fail
+ httpx_request = HTTPXRequest()
+@@ -430,6 +431,7 @@ class TestHTTPXRequestWithoutRequest:
+ with pytest.raises(ValueError, match="`http_version` must be either"):
+ HTTPXRequest(http_version="1.0")
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_http_1_response(self):
+ httpx_request = HTTPXRequest(http_version="1.1")
+ async with httpx_request:
+--- a/tests/test_bot.py
++++ b/tests/test_bot.py
+@@ -305,6 +305,7 @@ class TestBotWithoutRequest:
+
+ assert self.test_flag == "stop"
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_equality(self):
+ async with make_bot(token=FALLBACKS[0]["token"]) as a, make_bot(
+ token=FALLBACKS[0]["token"]
+@@ -346,6 +347,7 @@ class TestBotWithoutRequest:
+ finally:
+ await bot.shutdown()
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_get_me_and_properties(self, bot):
+ get_me_bot = await ExtBot(bot.token).get_me()
+
+@@ -383,6 +385,7 @@ class TestBotWithoutRequest:
+ @pytest.mark.parametrize(
+ ("cls", "logger_name"), [(Bot, "telegram.Bot"), (ExtBot, "telegram.ext.ExtBot")]
+ )
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_log_decorator(self, bot: PytestExtBot, cls, logger_name, caplog):
+ # Second argument makes sure that we ignore logs from e.g. httpx
+ with caplog.at_level(logging.DEBUG, logger="telegram"):
+@@ -1418,6 +1421,7 @@ class TestBotWithoutRequest:
+
+ @pytest.mark.parametrize("json_keyboard", [True, False])
+ @pytest.mark.parametrize("caption", ["<b>Test</b>", "", None])
++ @pytest.mark.skip(reason="Requires internet connection")
+ async def test_copy_message(
+ self, monkeypatch, bot, chat_id, media_message, json_keyboard, caption
+ ):
+--- a/tests/test_forum.py
++++ b/tests/test_forum.py
+@@ -73,6 +73,7 @@ async def real_topic(bot, emoji_id, forum_group_id):
+ assert result is True, "Topic was not deleted"
+
+
++@pytest.mark.skip(reason="Requires internet connection")
+ class TestForumTopicWithoutRequest:
+ def test_slot_behaviour(self, forum_topic_object):
+ inst = forum_topic_object
+@@ -336,6 +337,7 @@ class TestForumTopicCreatedWithoutRequest:
+ assert action_dict["name"] == TEST_TOPIC_NAME
+ assert action_dict["icon_color"] == TEST_TOPIC_ICON_COLOR
+
++ @pytest.mark.skip(reason="Requires internet connection")
+ def test_equality(self, emoji_id):
+ a = ForumTopicCreated(name=TEST_TOPIC_NAME, icon_color=TEST_TOPIC_ICON_COLOR)
+ b = ForumTopicCreated(
diff --git a/dev-python/python-telegram-bot/python-telegram-bot-20.3.ebuild b/dev-python/python-telegram-bot/python-telegram-bot-20.3.ebuild
new file mode 100644
index 000000000000..5668dc455b66
--- /dev/null
+++ b/dev-python/python-telegram-bot/python-telegram-bot-20.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 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 optfeature
+
+DESCRIPTION="Python wrapper of telegram bots API"
+HOMEPAGE="https://docs.python-telegram-bot.org https://github.com/python-telegram-bot/python-telegram-bot"
+SRC_URI="https://github.com/python-telegram-bot/python-telegram-bot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/cachetools-5.3.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-39.0.1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-no-internet-tests.patch"
+)
+
+S="${WORKDIR}/${PN}-${PV}"
+
+distutils_enable_tests pytest
+
+# Run only the tests that don't require a connection
+python_test() {
+ epytest -m no_req
+}
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature_header "Optional package dependencies:"
+ optfeature "using telegram.ext.JobQueue" dev-python/APScheduler
+}
diff --git a/dev-python/scikit-build/Manifest b/dev-python/scikit-build/Manifest
index 88cbf020caaf..ccc6ec51a639 100644
--- a/dev-python/scikit-build/Manifest
+++ b/dev-python/scikit-build/Manifest
@@ -7,3 +7,4 @@ DIST scikit_build-0.17.1.tar.gz 267911 BLAKE2B 365e7e4bcc902a00464b157feaee4efcd
DIST scikit_build-0.17.2.tar.gz 268269 BLAKE2B 9ca0f860b8bdab235ae9e59ce5ca8b82320b8a2e806e787f9acdfd58ac0dd6c6e28e0a71e7c0177bf87022ecd2d73bd3783b5eaaa899f273d5b65399ef03e77e SHA512 a6ff41958e336679a0996c63627ee1486c81f36fa0ace3418137421626ab068b4eca29e470cf1cc92c82c5cb3ebe45ec710fe7d098e349deb6f1d3735ed6338c
DIST scikit_build-0.17.3.tar.gz 268932 BLAKE2B 887751f64cc703a9d6125e87da01d327ef34416ad0ad5170d7f01dcc64318d1d2cd36fc2c302bb8c93f72964d5e2efd1d1bd67c3dc001e60ed88fb952c34ae41 SHA512 adb3df364551b8671f0d60c3a68825e420e6ba57e715f7da583f601dd82a228d68b326ccb457f07b26ebfb9272ea04a2cdfa2cd82d4d04ed9682ec08ee2e0584
DIST scikit_build-0.17.4.tar.gz 269511 BLAKE2B 90c618eab2a585e71585d039f7990ee07b0280db7e516aa4c390c15233a43e074ccfcb06c518d738ca748321966a3344a1515208a4aa3fb40442033cbcd49215 SHA512 5841789027e763e4448680b73704c683ca4400e3750679d8413e008de5213d56fc28ab84a1dce137171bae690bc99386844dd99a0810238e1a07d44310535d1d
+DIST scikit_build-0.17.5.tar.gz 269848 BLAKE2B df1ec6ff3791efeea0ea7b672b7c5d2ad946c9c8d1e8b7035f4036315701ad1b7d61b0917e75ca8c9aff10fe8f25e53b8d1221fa6c3b554225ff8d8f5dec5fd4 SHA512 f0c9a861f9931db36df137d96a9a53d2bfa4a696efc2c1307ff50a00f7df828042d933ef1f670d14d0a339ccf5b94ce99fca7ffbab9169b6e70c47440f4eef06
diff --git a/dev-python/scikit-build/scikit-build-0.17.5.ebuild b/dev-python/scikit-build/scikit-build-0.17.5.ebuild
new file mode 100644
index 000000000000..c2e7d49eaf06
--- /dev/null
+++ b/dev-python/scikit-build/scikit-build-0.17.5.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Improved build system generator for Python C/C++/Fortran/Cython extensions"
+HOMEPAGE="
+ https://github.com/scikit-build/scikit-build/
+ https://pypi.org/project/scikit-build/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/distro[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-42.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+ >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/build-0.7[${PYTHON_USEDEP}]
+ >=dev-python/cython-0.25.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-1.10.4[${PYTHON_USEDEP}]
+ >=dev-python/pytest-virtualenv-1.2.5[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinx-issues
+distutils_enable_tests pytest
+
+src_prepare() {
+ # not packaged
+ sed -i -e '/cmakedomain/d' docs/conf.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest -m "not isolated and not nosetuptoolsscm"
+ rm -r "${BUILD_DIR}/install$(python_get_sitedir)"/{easy-install.pth,*.egg,*.egg-link} || die
+}
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index d8fed873a65c..4b8573d3097c 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -4,3 +4,4 @@ DIST sentry-python-1.21.0.gh.tar.gz 346948 BLAKE2B 7d4d9d537d567c930187d74fc46be
DIST sentry-python-1.21.1.gh.tar.gz 349021 BLAKE2B f467ba16484d0807734deb7d2544f32addeac254dbac02d5c56d5c9d05081d1c38665f7a5eb14ff59dd4b39ecb25d922b60a0d18fc98290c0127142cf5bb89d0 SHA512 04f56fa1a53ad42baaf09fb4b19a29c009e2a956ee363d6003746d993d1d8b4af37b8458bf8b04255cd72083bdf0c35b4244d6aabf26110ff6a0d245ce674c58
DIST sentry-python-1.22.1.gh.tar.gz 351929 BLAKE2B afcdd6293ff1e96f2a07e6d6ad5fb9bfc8715cf4d7ca30237d92cae9f48abf4cb849ad8f86f3ba3f0421198dd2fdbfe25b95c9e50c2abab36d1fed4bd71181fd SHA512 2796620223476d8996291d2f2ff88a128a86fe8ded40f44ffc575f09e8b390d9b0e77e186d153decb81f33aa050eeef5b2ce707ad381d226955ce18315a0e3ee
DIST sentry-python-1.22.2.gh.tar.gz 352403 BLAKE2B 7dcc1583904ac7ca2349b153c13ffd2098e888fcf18a7150efa8e99e0bdc93f40c2d91a0044b85d64e21116e2503173e8a0b46dcc227f7e5cf7deaf2fe8abc64 SHA512 71d4235a0a5f6df0e18f0f0e04530ce225c218cc1018d48c7a419f3a118ea9d89df3635d62ae2a5a34632a58163ac317f41167e40b2ea172f2bd0467de3a8196
+DIST sentry-python-1.23.0.gh.tar.gz 355085 BLAKE2B a0cab2f69177325a28b6fc24aa311f3ab9bdb20b43c9cbcf809a67aaaeb51306cabc2f7ce413ec9e85de6d1283a2f0d7c3cf7c0d3f8df84c54cf8f685025e127 SHA512 6cb0fda5c73e7f3a3e33458479ab40f6f33c661b9ddf69eaf6630c22004ff8a21157a3be454e583717b7d1999bff26bbe8d8e3d719e42c42612f1c5ddf0767b5
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.23.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.23.0.ebuild
new file mode 100644
index 000000000000..8095ec3baba2
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.23.0.ebuild
@@ -0,0 +1,114 @@
+# 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=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+)
+
+EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+ tests/test_profiler.py::test_sample_buffer
+ tests/test_profiler.py::test_thread_scheduler_takes_first_samples
+ tests/test_profiler.py::test_thread_scheduler_takes_more_samples
+ tests/test_profiler.py::test_thread_scheduler_single_background_thread
+ # broken with py3.11, *shrug*
+ tests/test_profiler.py::test_extract_stack_with_max_depth
+ # TODO
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
+ tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
+ tests/test_scrubber.py::test_span_data_scrubbing
+)
diff --git a/dev-python/sh/Manifest b/dev-python/sh/Manifest
index 4d7407ff11ca..a1c27a961680 100644
--- a/dev-python/sh/Manifest
+++ b/dev-python/sh/Manifest
@@ -1 +1,2 @@
DIST sh-2.0.3.tar.gz 345365 BLAKE2B f818f84c71992fcfb653b757872da89a0007a873c639b3b0438a794bdfbd455e2ac22ef035b657b35da23e6890761ce7f161a02e3e0f847ee5209cec5fe911a4 SHA512 4d3bc20b2175b2507f0081af0b83faaf5eb97d131a24abaafb333a56e45d2cdb9167c3568bb40c6a6ea79b9836e335cb0d5bec2d036ce619eb312916d69fa72d
+DIST sh-2.0.4.tar.gz 345443 BLAKE2B b5b765c558ad8f7aa5197687b73b20e32397f195f401aa6313fb2b918d96446adad0c8f06485550fc70a623bc18f036b4fc037ee26f8acdb27358190bd4b573d SHA512 dc402941a3d6229f3331e32590e69745bf68d8680734f19661398559090fcb4b48ce3a28e1cdd7ba30b79b65c119f7b66ed6fe9351f12697670cf31a3ee7b270
diff --git a/dev-python/sh/sh-2.0.4.ebuild b/dev-python/sh/sh-2.0.4.ebuild
new file mode 100644
index 000000000000..4976ffec2b43
--- /dev/null
+++ b/dev-python/sh/sh-2.0.4.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="
+ https://github.com/amoffat/sh/
+ https://pypi.org/project/sh/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests unittest
diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest
index 704fc9a13a8c..aeaadc8b7cda 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1,2 +1 @@
-DIST sphinx-gallery-0.12.2.tar.gz 402524 BLAKE2B c872ec403adf150df540253b996e35f5d99dae17a884fad8e6a79a9b08934228e22c2b830d79cbe08cf43889738b2f0f8aa8e582851a993584d59d36adb6ced2 SHA512 c56c84ab7e4c55686b1c83791c46a83f3887c5c3a19da89baeba8aba874663d1dc4718534fadb11d3d95197c34ee9b78884095e2caeee4f58a9b0d4bba26d5d2
DIST sphinx-gallery-0.13.0.tar.gz 403284 BLAKE2B fac67eab0c49a756f4b73b05434c80b5876d241afae66bfd4d2f50b5ffb715f03da3e87146531c90632ecef0d092c5d087c3ada0d01a6df21c8032b3b60d1890 SHA512 26168e25ff46a34d7cf1d2d70e59d5e81bab6e57ec497f2a6e55e5356fb832b8fefc5a19976cc4fb495fdc1ef8b44a33de93cc7a6f376f72c9dbcaa94ed723ef
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.12.2.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.12.2.ebuild
deleted file mode 100644
index cf9b53ac4a01..000000000000
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.12.2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# 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_{7,8,9,10,11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
-HOMEPAGE="
- https://github.com/sphinx-gallery/sphinx-gallery/
- https://sphinx-gallery.github.io/
- https://pypi.org/project/sphinx-gallery/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:--cov-report= --cov=sphinx_gallery::' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-EPYTEST_DESELECT=(
- # Internet
- sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
- sphinx_gallery/tests/test_full.py::test_run_sphinx
- sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
- # require jupyterlite_sphinx
- sphinx_gallery/tests/test_full.py
- sphinx_gallery/tests/test_full_noexec.py
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
-)
diff --git a/dev-python/stevedore/Manifest b/dev-python/stevedore/Manifest
index 13d31f272a68..0f6a05e1f527 100644
--- a/dev-python/stevedore/Manifest
+++ b/dev-python/stevedore/Manifest
@@ -1 +1,2 @@
DIST stevedore-5.0.0.tar.gz 513970 BLAKE2B e1135a281c88633daed4ec41a5bb66c3bf2ed2275a3502fbc90b6ba09ac55693e5c98a0af49d948adf141812e195dfdb6a293021405abdba962c05ff506a1879 SHA512 4041172deba14b8e33cb48d8b629810e66a52e1676a989417c1b896930e980e0057efbf8f9b6b9c4c82ffce02b132b8e6c5f7a5b02e49d7c7c242ab4a20bac02
+DIST stevedore-5.1.0.tar.gz 514100 BLAKE2B f12e0eaa0c3d4bfa334a89ced740277bd2979e7ff48c7bc36bd85d801d0d2dd92f2f8cf7ef29b8fb61a5361a655c6a5303ad6f6aa2666fb57ebcee209ac0c344 SHA512 d7ad920961c9f4055cb145c84578f09f0af93eadf82f60bd7903dfc909cc2cdb64159d9b9b1469eb04569705f4208b667ded5aab17e97bba5dd7310263f449de
diff --git a/dev-python/stevedore/stevedore-5.1.0.ebuild b/dev-python/stevedore/stevedore-5.1.0.ebuild
new file mode 100644
index 000000000000..7169dafafa78
--- /dev/null
+++ b/dev-python/stevedore/stevedore-5.1.0.ebuild
@@ -0,0 +1,45 @@
+# 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 pypi
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="
+ https://opendev.org/openstack/stevedore/
+ https://github.com/openstack/stevedore/
+ https://pypi.org/project/stevedore/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx 'doc/source' \
+ '>=dev-python/openstackdocstheme-1.18.1' \
+ '>=dev-python/reno-2.5.0' \
+ '>=dev-python/sphinx-2.0.0'
+
+python_prepare_all() {
+ # Delete spurious data in requirements.txt
+ sed -e '/^pbr/d' -i requirements.txt || die
+
+ # Also known problem, inside venv
+ sed -i -e 's:test_disable_caching_file:_&:' \
+ stevedore/tests/test_cache.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 8237117afa9e..c180fba781bd 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,2 +1 @@
-DIST tavern-2.0.6.gh.tar.gz 207404 BLAKE2B 6dc5a01bac0ffce55e3459dcaf4bab60852c4d06c29e86fb6006ad7279cc7114d8e18dbdd6ce07edb70beebc77c13d4c1a34498232dcdafa9827085c7be63361 SHA512 d660a773fae85d40ea461a3529fd233f392f2b523501984f7f228b0b45439309a8386559477154db5bc90c0b2f3b52f27a658f30dd9ed83a945dcf8f7faf74c7
DIST tavern-2.0.7.gh.tar.gz 207577 BLAKE2B 1583bfdb0ef013f65ed437bb613e87ad0d0e9375cceb3ed295dfe96afcdc11607b77b9e91cfe3db2f5b53a33be56db558f2f489ba60cda15c270ab9ec07118a2 SHA512 9e69d4dc3a3a06855cbbb567e9b73e62fe65832e022e3d0eb471d2eee9035950207abbba2fca5e0aeda091987bebafce78ba96814a41bf785dab5a48afdc5302
diff --git a/dev-python/tavern/tavern-2.0.6.ebuild b/dev-python/tavern/tavern-2.0.6.ebuild
deleted file mode 100644
index c924711ab03b..000000000000
--- a/dev-python/tavern/tavern-2.0.6.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# 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_{7,8,9,10,11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
-HOMEPAGE="
- https://github.com/taverntesting/tavern/
- https://pypi.org/project/tavern/
-"
-SRC_URI="
- https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/paho-mqtt[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
- dev-python/pykwalify[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/python-box[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/stevedore[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/Faker[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip unnecessary pins, upstream doesn't update them a lot
- sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest -p tavern
-}
diff --git a/dev-python/tavern/tavern-2.0.7.ebuild b/dev-python/tavern/tavern-2.0.7.ebuild
index 5e4e58701559..c924711ab03b 100644
--- a/dev-python/tavern/tavern-2.0.7.ebuild
+++ b/dev-python/tavern/tavern-2.0.7.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
dev-python/jmespath[${PYTHON_USEDEP}]
diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest
index 5ef7047ba7dc..46c58ade02bf 100644
--- a/dev-python/tornado/Manifest
+++ b/dev-python/tornado/Manifest
@@ -1,3 +1,4 @@
DIST tornado-6.2.tar.gz 504849 BLAKE2B 18fee464e043e20dcdd5677bc3a72949140a64ce353e09a21242fcade6d8b668517553c649d65e892d9c3fabacea96903d4e42b70676a62759900abc8f4a202f SHA512 157cbeee21bef29ac68b319329e7fc57db4c68dbb5a245e2171b7a28427ebbfe16b745e3bdbdec5912caae5eaa60c3cbbf8830c9c76fec5ffdf025e234468517
DIST tornado-6.3.1.tar.gz 508547 BLAKE2B ed7d9085f75291d341574c610b23a9a24468238988e7bd726be6da4ed8cd5588c1df5e11a154f3c9843931d210198d3bd57d3999b4bdcdf13b3b78afec04df36 SHA512 e6b33d017448060d29e718cb4ed4f852f3f1a970ef6149fcf88900cf7a7f008b737cfdad3c217a6c43a5c7176aee0adb72c3c0055b6b3faac49acd34c3b74b90
+DIST tornado-6.3.2.tar.gz 508776 BLAKE2B 10cea881365ab72290ac9bc240dc7fa4e77511be1aa9d005e84fff1c494888d204935f5bf5101d102cc6e8f0995d41c0cc257e372d740f2aa47dc904032c434d SHA512 cd4be43672dcf0814536ad1b2b1dde045f25494a9f70facf0dbae5d3a71b112d0dbca235916948982922975d0d4c58efff880c0b432db382f58f25d65ef18c92
DIST tornado-6.3.tar.gz 507992 BLAKE2B a894fbb62e4246be82b09856977758e8e55886b77917a4a23a6411a58b2b85ae1ae9113e70cc00bf0b0775566d0bda237ab3ba91ff18012c7c72f24dff587a9e SHA512 f25bbf1e489bb53ba5ed502a9241b3629a66a8bee3ba54d8bd96946e478ea06dfdf70e6f937da25c8240cb16cc5c9ff3011415503c7d03e2b1eeb2f7567d8209
diff --git a/dev-python/tornado/tornado-6.3.2.ebuild b/dev-python/tornado/tornado-6.3.2.ebuild
new file mode 100644
index 000000000000..67869a991798
--- /dev/null
+++ b/dev-python/tornado/tornado-6.3.2.ebuild
@@ -0,0 +1,60 @@
+# 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_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python web framework and asynchronous networking library"
+HOMEPAGE="
+ https://www.tornadoweb.org/
+ https://github.com/tornadoweb/tornado/
+ https://pypi.org/project/tornado/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+src_prepare() {
+ # network-sandbox? ipv6?
+ sed -i -e 's:test_localhost:_&:' \
+ tornado/test/netutil_test.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x ASYNC_TEST_TIMEOUT=60
+ cd "${T}" || die
+ "${EPYTHON}" -m tornado.test.runtests --verbose ||
+ die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r demos/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/tzlocal/Manifest b/dev-python/tzlocal/Manifest
index 105878309103..195b48aaa84a 100644
--- a/dev-python/tzlocal/Manifest
+++ b/dev-python/tzlocal/Manifest
@@ -1 +1,2 @@
DIST tzlocal-4.3.gh.tar.gz 24147 BLAKE2B 41ed6338b97f1f6c4a5cb64b82f6a93c4e68f275c2d593c774592998a7c63d1c8470fcd5babc13679092da4f92edeb798bfe80186628cb6c34b7fa595a21daf7 SHA512 b93541951c90ef59a0d9b224c75170a0857723ee0f50782980a78a003b1040b7ceef3bbadd2cabde2a8599cecdd7644ccd1431eb8e4d33cd9e4e9d980c048736
+DIST tzlocal-5.0.1.gh.tar.gz 25032 BLAKE2B a1b0d2d2d6422c91752332d789efddad5f14e02e0097deaea1b8df2de20686d1e73dddb1864c5c643b20f8cfce56ff28adb741f7ae74b58409a60bf0eb172057 SHA512 b89293180e82334e3c1627845516ac25d8862c799d6d56a9eff13549bfafef2e4e4b0a624e9455e4310429f50b9d82fa984b7dfe8cdd9ed3dc7325ea89c0c5b1
diff --git a/dev-python/tzlocal/tzlocal-5.0.1.ebuild b/dev-python/tzlocal/tzlocal-5.0.1.ebuild
new file mode 100644
index 000000000000..a7d4d2f9278d
--- /dev/null
+++ b/dev-python/tzlocal/tzlocal-5.0.1.ebuild
@@ -0,0 +1,37 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="tzinfo object for the local timezone"
+HOMEPAGE="
+ https://github.com/regebro/tzlocal/
+ https://pypi.org/project/tzlocal/
+"
+# symlinks aren't correctly preserved in sdist, as of 5.0.1
+SRC_URI="
+ https://github.com/regebro/tzlocal/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/backports-zoneinfo[${PYTHON_USEDEP}]
+ ' 3.8)
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest