summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-03-03 13:51:06 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-03-03 13:51:06 +0000
commit8f6ec18f14889ba35ee0a023d21f33c75dd9cb5f (patch)
treee16bbc7eebade29e99a30d91c55e8bae3104222b /dev-python
parent60a8c74d99ccaa2cf6e0b33f39f265b617e91388 (diff)
downloadbaldeagleos-repo-8f6ec18f14889ba35ee0a023d21f33c75dd9cb5f.tar.gz
baldeagleos-repo-8f6ec18f14889ba35ee0a023d21f33c75dd9cb5f.tar.xz
baldeagleos-repo-8f6ec18f14889ba35ee0a023d21f33c75dd9cb5f.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aesara/Manifest1
-rw-r--r--dev-python/aesara/aesara-2.0.1.ebuild59
-rw-r--r--dev-python/aesara/metadata.xml14
-rw-r--r--dev-python/autobahn/Manifest1
-rw-r--r--dev-python/autobahn/autobahn-21.3.1.ebuild108
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.17.19.ebuild56
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.20.19.ebuild59
-rw-r--r--dev-python/crcmod/crcmod-1.7-r4.ebuild2
-rw-r--r--dev-python/croniter/Manifest1
-rw-r--r--dev-python/croniter/croniter-1.0.7.ebuild28
-rw-r--r--dev-python/dulwich/dulwich-0.20.15.ebuild2
-rw-r--r--dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild2
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/Manifest1
-rw-r--r--dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.ebuild43
-rw-r--r--dev-python/google-apitools/google-apitools-0.5.31.ebuild2
-rw-r--r--dev-python/google-reauth-python/Manifest1
-rw-r--r--dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild44
-rw-r--r--dev-python/huawei-lte-api/Manifest1
-rw-r--r--dev-python/huawei-lte-api/huawei-lte-api-1.4.17.ebuild30
-rw-r--r--dev-python/huawei-lte-api/metadata.xml13
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.4.0.ebuild63
-rw-r--r--dev-python/ijson/Manifest1
-rw-r--r--dev-python/ijson/ijson-3.1.4.ebuild25
-rw-r--r--dev-python/inflect/Manifest1
-rw-r--r--dev-python/inflect/inflect-5.3.0.ebuild25
-rw-r--r--dev-python/ipdb/Manifest1
-rw-r--r--dev-python/ipdb/ipdb-0.13.5.ebuild25
-rw-r--r--dev-python/jsonpatch/Manifest1
-rw-r--r--dev-python/jsonpatch/jsonpatch-1.30.ebuild28
-rw-r--r--dev-python/miniupnpc/Manifest2
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.2.ebuild34
-rw-r--r--dev-python/mock/Manifest1
-rw-r--r--dev-python/mock/mock-3.0.5-r2.ebuild50
-rw-r--r--dev-python/pandas/Manifest1
-rw-r--r--dev-python/pandas/pandas-1.2.3.ebuild186
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.12.19.ebuild20
-rw-r--r--dev-python/prettytable/Manifest1
-rw-r--r--dev-python/prettytable/prettytable-2.1.0.ebuild29
-rw-r--r--dev-python/pymssql/pymssql-2.1.5.ebuild2
-rw-r--r--dev-python/pytest-subtesthack/Manifest1
-rw-r--r--dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2.ebuild25
-rw-r--r--dev-python/pytest-xprocess/Manifest1
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-0.17.1.ebuild23
-rw-r--r--dev-python/pyvirtualdisplay/Manifest1
-rw-r--r--dev-python/pyvirtualdisplay/metadata.xml4
-rw-r--r--dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild37
-rw-r--r--dev-python/retry-decorator/retry-decorator-1.1.1.ebuild2
-rw-r--r--dev-python/rpy/rpy-3.4.2.ebuild2
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.3.22.ebuild2
-rw-r--r--dev-python/translate-toolkit/Manifest1
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.3.3.ebuild92
-rw-r--r--dev-python/tvdb_api/Manifest1
-rw-r--r--dev-python/tvdb_api/tvdb_api-3.0.2.ebuild20
-rw-r--r--dev-python/typed-ast/typed-ast-1.4.2.ebuild2
-rw-r--r--dev-python/weasyprint/Manifest1
-rw-r--r--dev-python/weasyprint/weasyprint-52.3.ebuild51
-rw-r--r--dev-python/websocket-client/Manifest1
-rw-r--r--dev-python/websocket-client/websocket-client-0.58.0.ebuild33
62 files changed, 1208 insertions, 60 deletions
diff --git a/dev-python/aesara/Manifest b/dev-python/aesara/Manifest
new file mode 100644
index 000000000000..19df57a9f0e8
--- /dev/null
+++ b/dev-python/aesara/Manifest
@@ -0,0 +1 @@
+DIST aesara-rel-2.0.1.tar.gz 7975083 BLAKE2B 6dfeffb5abbd2a9b8097b9f91b537f215b1d2ee8ec9d2ad2abcb823761b722c2e4de75843c74584445c96add175366ac4e2a62eced88ad75c58d0c31f2b4df87 SHA512 8dad298ada2d4a20151cf86c08424b02e1c0afc5060915844ba06a492866b04225e6cb0407bf1de8d651c0e7ed8bca34e184f2f9a2778a66ed41f08d4b51bfd2
diff --git a/dev-python/aesara/aesara-2.0.1.ebuild b/dev-python/aesara/aesara-2.0.1.ebuild
new file mode 100644
index 000000000000..d92d9d32edc2
--- /dev/null
+++ b/dev-python/aesara/aesara-2.0.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1 optfeature
+
+MY_P=aesara-rel-${PV}
+DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
+HOMEPAGE="https://github.com/pymc-devs/aesara"
+SRC_URI="https://github.com/pymc-devs/aesara/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_sphinx doc 'dev-python/sphinx_rtd_theme'
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -i -e "s/tests.\*/tests\*/" setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local exclude=(
+ # speed tests are unreliable
+ tests/scan/test_basic.py::test_speed
+ tests/scan/test_basic.py::test_speed_rnn
+ tests/scan/test_basic.py::test_speed_batchrnn
+ tests/link/test_vm.py::test_speed
+ tests/link/test_vm.py::test_speed_lazy
+ tests/tensor/test_gc.py::test_merge_opt_runtime
+ )
+
+ distutils_install_for_testing --via-root
+ pytest -vv ${exclude[@]/#/--deselect } \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ optfeature "GPU code generation/execution on NVIDIA gpus" dev-util/nvidia-cuda-toolkit dev-util/nvidia-cuda-sdk
+ optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
+}
diff --git a/dev-python/aesara/metadata.xml b/dev-python/aesara/metadata.xml
new file mode 100644
index 000000000000..2fd23c104251
--- /dev/null
+++ b/dev-python/aesara/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">aesara</remote-id>
+ <remote-id type="github">pymc-devs/aesara</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/autobahn/Manifest b/dev-python/autobahn/Manifest
index 80a13018f416..dfd70300a6e4 100644
--- a/dev-python/autobahn/Manifest
+++ b/dev-python/autobahn/Manifest
@@ -4,3 +4,4 @@ DIST autobahn-20.7.1.tar.gz 1260579 BLAKE2B 925d148836348c068d179d4871267bf79c8c
DIST autobahn-21.1.1.tar.gz 1269122 BLAKE2B 6eb8eb22d0f09a4e8d409220ee2dff60a42a4e81acee789e8f9d98649ada24174295b98936f5e0a0a211fddd6d124975aef152679fcfde7b3dca7f18dcba5b62 SHA512 8e56e8a9213e356ea4288c6ed6ba4d6e8a26f5e1f670cfc067d1e11ef4d989b4e3d33a5cac49a635e18f9d45da1d42cb1300de96afdf77898441330e3f489194
DIST autobahn-21.2.1.tar.gz 343966 BLAKE2B 8ee40610599aad6b0e6832beb867ff7515192e9a896d4f1e1b2c731fb81c899bf530f24d28e52faa91779affb1ed93b9b79b606b1ac7d3ed26a272dfcf6a0afc SHA512 21760aeac80c1e958a338da31d405af2f37c803944032270329dde4b59e6a9f914e9a7e4ae0ae6ae5b699ddc61f0c2f6b89cb0d6d4fdc3b1b58f204d4e94a980
DIST autobahn-21.2.2.tar.gz 350799 BLAKE2B 06c5f7517083853bcf2e4c982151caadae2c5c0c547f543f310497addda14ff6262adaf876dcd5ce25ab48fd8b9b9c816ff74f518f3aedc65627ee3390db514b SHA512 6dbad05437c92622709c140fd949706c8fbff62477cf9fa5a8bbcb8c5410661b660d548902ebec55b5a8d744cce12c9a229bceeb3d5e7e5dc4e50cb09f7e7ab7
+DIST autobahn-21.3.1.tar.gz 351296 BLAKE2B d018c8820a1accc779decdb8d392d3ff6225f80674b468145a8f29b275d6f0b1021a226dc8bc72915a792591e6d4ae8d6a33a96cf705241990ac401c8342e2c5 SHA512 dd6bf6eba6f2880860c6fa42e3925bb15d36bfb9d2354ddeb0165972848e81a308723b7f9dcd6ec3426b6286f71cb2da453590810e5d891523d92acf9fd64c52
diff --git a/dev-python/autobahn/autobahn-21.3.1.ebuild b/dev-python/autobahn/autobahn-21.3.1.ebuild
new file mode 100644
index 000000000000..bb3206ea5902
--- /dev/null
+++ b/dev-python/autobahn/autobahn-21.3.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+MY_P=${PN}-$(ver_rs 3 -)
+
+DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
+HOMEPAGE="https://pypi.org/project/autobahn/
+ https://crossbar.io/autobahn/
+ https://github.com/crossbario/autobahn-python"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="crypt scram test xbr"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/cbor-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cbor2-5.2.0[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/flatbuffers-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.6.1[${PYTHON_USEDEP}]
+ >=dev-python/py-ubjson-0.8.4[${PYTHON_USEDEP}]
+ >=dev-python/snappy-0.5[${PYTHON_USEDEP}]
+ >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
+ >=dev-python/txaio-21.2.1[${PYTHON_USEDEP}]
+ >=dev-python/ujson-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/wsaccel-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-3.6[${PYTHON_USEDEP}]
+ crypt? (
+ >=dev-python/pyopenssl-16.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pytrie-0.2[${PYTHON_USEDEP}]
+ >=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
+ )
+ scram? (
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )
+ "
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pytrie-0.2[${PYTHON_USEDEP}]
+ >=dev-python/pyqrcode-1.1.0[${PYTHON_USEDEP}]
+ )"
+
+python_prepare_all() {
+ if use xbr ; then
+ eerror "***************"
+ eerror "Required xbr dependencies are incomplete in Gentoo."
+ eerror "So this functionality will not yet work"
+ eerror "Please file a bug if this feature is needed"
+ eerror "***************"
+ else
+ # remove xbr components
+ export AUTOBAHN_STRIP_XBR="True"
+ fi
+
+ # avoid useless rust dependency
+ sed -i -e '/cryptography/s:>=3.4.6::' setup.py || die
+
+ # remove twisted plugin cache regen in setup.py
+ # to fix tinderbox sandbox issue
+ sed -e 's/# regenerate Twisted plugin cache/# DO NOT regenerate Twisted plugin cache in Gentoo\nexit()/' \
+ -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ einfo "Testing all, cryptosign using twisted"
+ local -x USE_TWISTED=true
+ cd "${BUILD_DIR}"/lib || die
+ "${EPYTHON}" -m twisted.trial autobahn || die
+ unset USE_TWISTED
+ einfo "RE-testing cryptosign and component_aio using asyncio"
+ local -x USE_ASYNCIO=true
+ pytest -vv autobahn/wamp/test/test_wamp_cryptosign.py || die
+ pytest -vv autobahn/wamp/test/test_wamp_component_aio.py || die
+ unset USE_ASYNCIO
+ rm -r .pytest_cache || die
+ rm -f "${BUILD_DIR}"/lib/twisted/plugins/dropin.cache || die
+}
+
+pkg_postinst() {
+ python_foreach_impl twisted-regen-cache || die
+}
+
+pkg_postrm() {
+ python_foreach_impl twisted-regen-cache || die
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index ba7f36715d9b..a69e785eebde 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,4 +2,5 @@ DIST boto3-1.16.63.tar.gz 345303 BLAKE2B e6877aeb3efd8018188eaf687b96e604f6b6b49
DIST boto3-1.17.12.tar.gz 346906 BLAKE2B 47ada52081fca432f23e6c373949bbea74c04396f9fbc15a9ec45654b2e077067c03bf633449e43079000e8be275322048a9f48ae0dd895b30cca2b16a61860a SHA512 76f8462604bded88b959f8a0ebcb4a4bc4bbb31de70c2d527e2d0420fbbd0f4bd014cb255f354648fb57a43600190573b41c6eba8a87c3186c5c93224fe59216
DIST boto3-1.17.17.tar.gz 347835 BLAKE2B 7861befb9275b0cf36235749369f65b69845ef710404708c2c51c9223d370fd46eede4121be501eb9022f6a62a0158d2cad03ce4095640064def3a9d35be7478 SHA512 5d6bc48f9480963abcbf41c4b95e86ac6339f5386508be7108ec08e91c07c280786d3a4bec2b731c7b5710351e0398c4ab86f4fb95440e83936409b40e1c3015
DIST boto3-1.17.18.tar.gz 347971 BLAKE2B 1390758e578763d0e8faba73e44e769224f6b3ff54e88798cd2d3a79c7d0fe5c3ef58a08e6a4aec70a7c3a64bbcbac22cd8471679951794fc1c0e48623f31008 SHA512 372baa35ddb770d65cd680544c9dd504a1e19b1052355b729f5b3ae8ef480ad4e250bef305671b1ec9741d953e813209398e8afe1bd396cc1e9c79221e34c629
+DIST boto3-1.17.19.tar.gz 348163 BLAKE2B 47b3f24dd7af7362fb37fb66bb333ac7a607b3d55790e47e3987d88f1ae09fe0a5bcafbbbe6245ecda378a8c56f6cfaa2a86c0b6e0dece58b0b6d2c819646a8c SHA512 ddfccb03335b3389a820a37e2e3ea40414291243291887be6dfd4243e43d918882e7386373578cf6474c5b8c5f592a15e650528b5cf61cb3b989522d4bff7ec1
DIST boto3-1.17.7.tar.gz 346682 BLAKE2B 08c06dda1d59b4f555cad075673917b38cbf9ad8d0037f66027b17076e60b4d5fd32a93e088635320ebc3226a9cd8809c9208ec84f8588c26a77766b21dbee98 SHA512 2ba1817575c4a64c232c84a75a9d3b0db1de8634ded9aa31844930a82ccf4611805c6dd31b2e4d36cc9a2cc1813d233b4d7366305eaf28efd46a3b843d3c2993
diff --git a/dev-python/boto3/boto3-1.17.19.ebuild b/dev-python/boto3/boto3-1.17.19.ebuild
new file mode 100644
index 000000000000..2df16964cdb0
--- /dev/null
+++ b/dev-python/boto3/boto3-1.17.19.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="https://github.com/boto/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/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~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.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests nose
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # prevent an infinite loop
+ rm tests/functional/docs/test_smoke.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests -v tests/unit/ tests/functional/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 7e03d4aa4233..7ac0856d7635 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,4 +2,5 @@ DIST botocore-1.19.63.tar.gz 7437996 BLAKE2B b55aa80cf4f17538e5876f61492d1591611
DIST botocore-1.20.12.tar.gz 7466322 BLAKE2B 07eb28f5b0fef5ffb284a5eac0c78e3430c3539cc18178c8b6bcf10cc397e91c263d89fb08a5f9c6edcaf903602f08ba445836a771b19591ad2acf58cfc4e771 SHA512 c1dee323290e1e1fa31253e23d24671fcf4806872098a8b2e5e851348dcd078ad222f858e3e284a7daa151a3b8caaf6249440d468a3c86d786dc829627bfc4b3
DIST botocore-1.20.17.tar.gz 7483893 BLAKE2B 5a9ea5c1d3bc5caa91ea939943d86236d58f24b440d7d0de96356836ee6417c62fece8e782f9fd81e14daefac8919a001adb95e67d42110709b7f07f849b71da SHA512 864f938d07b28341128c06186542c0c214a133f1b7a78990e357436463f7cd1a36031101f6588ee706073b78d4ef99571853658f77755eb9f0739882fc706634
DIST botocore-1.20.18.tar.gz 7485852 BLAKE2B df22d0c74796ddc5c7046803039423e31784a2221556a0cb224f0a006870bb4406cf3e576fac1cc65457da0267dbed92159d98d4198c3beef1b995ef7565f06b SHA512 e1881ca20ffc0b3eaf59635a321f0191775b4c62f4aed4d8ada54dee6066ba85fa1af00bea00949ccb245dce4e1279eb1d120237da097420d95e1c3c95c50d6f
+DIST botocore-1.20.19.tar.gz 7479977 BLAKE2B 4193cb9975dcde134450968ffcf4cc07b7aece4bbd0d8306483f24eaba63c891cb88d0af640f602b03eb400e5815eb977fca0da927dae0eec82f2922e6c185da SHA512 f4d4ffb88edfb95a13b637c928701966d7903bf50c493926674d8c1c0e6004fa6ec2d9b63402fca5829af3d381ad04221c4154a08e2a0cab065110ab65d44fc1
DIST botocore-1.20.7.tar.gz 7458254 BLAKE2B 8b9a1edda73e2564d3a3d67c6b3542d1ec9372403cb4d88396e58dfbcb5987821f278f2757e079e1ab32e03243ed3a6d1023ecc591b965512b3af5e2d43ea7b0 SHA512 9b023a31be866a50b94017a28aca40b5fe2e720959c928a3fd93db96041f3886049717f50461222a09572c0c56c5961a4614b80e400e4fa6d8b3ff4b4ab681df
diff --git a/dev-python/botocore/botocore-1.20.19.ebuild b/dev-python/botocore/botocore-1.20.19.ebuild
new file mode 100644
index 000000000000..9d681f87244c
--- /dev/null
+++ b/dev-python/botocore/botocore-1.20.19.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="https://github.com/boto/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="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
+)
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests nose
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+ # very unstable
+ sed -i -e 's:test_stress_test_token_bucket:_&:' \
+ tests/functional/retries/test_bucket.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # note: suites need to be run separately as one of the unit tests
+ # seems to be leaking mocks and breaking a few functional tests
+ nosetests -v tests/unit ||
+ die "unit tests failed under ${EPYTHON}"
+ nosetests -v tests/functional ||
+ die "functional tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/crcmod/crcmod-1.7-r4.ebuild b/dev-python/crcmod/crcmod-1.7-r4.ebuild
index a4c4469b8542..3d28b316013b 100644
--- a/dev-python/crcmod/crcmod-1.7-r4.ebuild
+++ b/dev-python/crcmod/crcmod-1.7-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/croniter/Manifest b/dev-python/croniter/Manifest
index 6a55e863f00c..8b3246d9496b 100644
--- a/dev-python/croniter/Manifest
+++ b/dev-python/croniter/Manifest
@@ -1,2 +1,3 @@
DIST croniter-1.0.2.tar.gz 29809 BLAKE2B d7e5b668f97f98efdf992de4dd92bbddd8197275557364516af5d74b8376260967b249723dfda1d835c60dd185612a45f6ed6447609c593ad108ae1b738cefc7 SHA512 6e4b593dbbb5e3e1ce9a25ad709a1970f22feb1d0a2bf7fa97b8cc3eb43fbe896a842f74b3fc3cd08e3d414767cc661bf5c5307a206c42e1f0de5776b2b24310
DIST croniter-1.0.6.tar.gz 30489 BLAKE2B a3caf1d0606dbec7a978e5089b08bf6edb13533524f5a3f1639483547b14a83f099276f4c63e9b84031202c088a8237326f70ecaca0bf3503f4a33173ce0d358 SHA512 1ca37c7dbd6a7365db112ccd474d76babc890aad1e2c341677be13c4f4e28a98219266efc065442e2077588a36b60c01d8e2996f0a32def690cf49e2c7c584bc
+DIST croniter-1.0.7.tar.gz 30735 BLAKE2B 0cd033fd669e8b5ce58136898f8409bc1d3253d7e6b7d8b6d09792fad715656fa51655930aa4fd7b7f771fd8684048dd3d5bcc28510882b7c726ccc5636c87b2 SHA512 db31271889b95333c2bfdb371804bc9ca5197c96b20ad5bd4bf2d81f86b58d43266be8a76c481d28ef4e8f7ae9e4f21947754d6a721ed71ccd0ff0143c80b918
diff --git a/dev-python/croniter/croniter-1.0.7.ebuild b/dev-python/croniter/croniter-1.0.7.ebuild
new file mode 100644
index 000000000000..a935aed3633c
--- /dev/null
+++ b/dev-python/croniter/croniter-1.0.7.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module to provide iteration for datetime object"
+HOMEPAGE="https://github.com/kiorky/croniter https://pypi.org/project/croniter/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/future[${PYTHON_USEDEP}]
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dulwich/dulwich-0.20.15.ebuild b/dev-python/dulwich/dulwich-0.20.15.ebuild
index af47fd248780..96090360b329 100644
--- a/dev-python/dulwich/dulwich-0.20.15.ebuild
+++ b/dev-python/dulwich/dulwich-0.20.15.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
index cb6d32a115d0..c9fbc5a723ac 100644
--- a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
+++ b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/gcs-oauth2-boto-plugin/Manifest b/dev-python/gcs-oauth2-boto-plugin/Manifest
index 32c869d6a366..148cf4822eb3 100644
--- a/dev-python/gcs-oauth2-boto-plugin/Manifest
+++ b/dev-python/gcs-oauth2-boto-plugin/Manifest
@@ -1 +1,2 @@
DIST gcs-oauth2-boto-plugin-2.5.tar.gz 16739 BLAKE2B a8ef124670063eb19119f7ab6cfd3101f68815a61ec183b3c9ac79ac158e3e47f48349b4f3faa0cf83ce9a203ab2f350e61fdd8a87872962bc1b24a8182f741f SHA512 db6810351c8364c9b217e092aa83803cdc7831136b3fa1be4c54f978f919e2e33bdaf32b8d36db359c5a328eb57f7ad2cee219b94d7f60403f27aaa6a6fd53cc
+DIST gcs-oauth2-boto-plugin-2.7.tar.gz 20929 BLAKE2B 79db6c7bdf76320c2f74ab5edca0dd1cf7967bd38fb9a7a0a34c05fca3cab51317fb3ebd3e9ba195b42af2944cc951d150e3ee90cc93cdeab176f79d027a9800 SHA512 0ea8d4b01a2da79397e06de9dc0279594017e58e3874a2633b32007590efa2e8a29b5d2127d0218663cf7e63042adcc9801dbbb11bdfcb40d0c5d67c47267a09
diff --git a/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.ebuild b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.ebuild
new file mode 100644
index 000000000000..e376a8c01816
--- /dev/null
+++ b/dev-python/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-2.7.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="OAuth 2.0 plugin for Google Cloud Storage credentials in the Boto library"
+HOMEPAGE="https://pypi.org/project/gcs-oauth2-boto-plugin/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Keep versions in sync with setup.py.
+BDEPEND="
+ test? ( dev-python/freezegun[${PYTHON_USEDEP}] )
+"
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/boto-2.29.1[${PYTHON_USEDEP}]
+ >=dev-python/google-reauth-python-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.18[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ # Make sure the unittests aren't installed.
+ mv gcs_oauth2_boto_plugin/test_oauth2_client.py ./ || die
+}
+
+python_test() {
+ "${EPYTHON}" "${S}"/test_oauth2_client.py -v \
+ || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/google-apitools/google-apitools-0.5.31.ebuild b/dev-python/google-apitools/google-apitools-0.5.31.ebuild
index 5a1327d471fb..d1401948af0c 100644
--- a/dev-python/google-apitools/google-apitools-0.5.31.ebuild
+++ b/dev-python/google-apitools/google-apitools-0.5.31.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/google-reauth-python/Manifest b/dev-python/google-reauth-python/Manifest
index 02bf095d83f8..f0c4bede96d2 100644
--- a/dev-python/google-reauth-python/Manifest
+++ b/dev-python/google-reauth-python/Manifest
@@ -1 +1,2 @@
DIST google-reauth-python-0.1.0.tar.gz 17720 BLAKE2B c78a43f1062988ada715c9e1bb64c2252a3debd5b9b366df9780200717a006c5e4957bf37d81e645989c6fc74c5e5b4354c88244309bb1a22a936ef74f6172c8 SHA512 b92b822b5c59d74f7ac747e66f35eaa906a0e18ccbb791e0904551c6ecd9b904ac7602ea38333a16396ffa49638a1b4991827429c7f52311b9506f55400bf117
+DIST google-reauth-python-0.1.1.tar.gz 18302 BLAKE2B a21e174f7dffe48810679910bf8d6712fb4176e5608f2a068d575df3643c4db15a74dae92c15f4ffdc344d287c31a8eb58f94b0384e2d9fc808c072dc8f89043 SHA512 81705d4080b3d7fb0a73741f9f498f8014ec94aa165a5b112c8af8fddc8f040dc43809aff6df39354c8d975db0ee8d62d003c11b173bd56fcf9add1b01644930
diff --git a/dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild b/dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild
new file mode 100644
index 000000000000..1538dc2ddc0a
--- /dev/null
+++ b/dev-python/google-reauth-python/google-reauth-python-0.1.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python based U2F host library"
+HOMEPAGE="https://github.com/google/google-reauth-python"
+SRC_URI="https://github.com/google/google-reauth-python/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/oauth2client-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGELOG.rst CONTRIBUTING.rst README.rst )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e "s:'some_origin'.encode('ascii'):'some_origin':" \
+ -e "s:SignResponse('key_handle', 'resp',:SignResponse('key_handle'.encode(), 'resp'.encode(),:" \
+ -i tests/test_reauth.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/huawei-lte-api/Manifest b/dev-python/huawei-lte-api/Manifest
new file mode 100644
index 000000000000..3cb8cdf775b5
--- /dev/null
+++ b/dev-python/huawei-lte-api/Manifest
@@ -0,0 +1 @@
+DIST huawei-lte-api-1.4.17.tar.gz 29441 BLAKE2B 75615092a1d8ee598a99e9ae7a0567e11a72fad21a8304005364bd21e4ecb9bf9efa9a2d5c8de86c6d7442ec12f06079819c20ca9e2e4646255ede961b1a1275 SHA512 bf4a6a43d02b56f0aa799e2936d7fd0afa88da4dc18c152c635b0ccb87a7ca9afcf1fcdee3a37d7ab232d5cd4688e24499ad35a1969d97db405b818cf17d33c4
diff --git a/dev-python/huawei-lte-api/huawei-lte-api-1.4.17.ebuild b/dev-python/huawei-lte-api/huawei-lte-api-1.4.17.ebuild
new file mode 100644
index 000000000000..cbb8270d66ff
--- /dev/null
+++ b/dev-python/huawei-lte-api/huawei-lte-api-1.4.17.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="API For huawei LAN/WAN LTE Modems"
+HOMEPAGE="https://github.com/Salamek/huawei-lte-api"
+SRC_URI="https://github.com/Salamek/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-python/dicttoxml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # https://github.com/Salamek/huawei-lte-api/issues/86
+ sed "s:'pytest-runner'::" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+distutils_enable_tests pytest
diff --git a/dev-python/huawei-lte-api/metadata.xml b/dev-python/huawei-lte-api/metadata.xml
new file mode 100644
index 000000000000..ec595c9e67d8
--- /dev/null
+++ b/dev-python/huawei-lte-api/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ago@gentoo.org</email>
+ <name>Agostino Sarubbo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Salamek/huawei-lte-api</remote-id>
+ <remote-id type="pypi">huawei-lte-api</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index dfe32f46171f..f5cc62663b6c 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,3 +1,4 @@
DIST hypothesis-python-6.1.1.tar.gz 9107792 BLAKE2B 50d3b284f0ab1b7c1a25fbf1488b8fea74c66aaac07d58e3271f187e54579011311ef3c20cf5525e84058382c516e6cf1495201e8b6fbd45fe28309a25fda0e0 SHA512 7d6ef548333b860dd868a9aa2a220191c237ac8e843cff835f423332fa561377ced29a9703cf0a49c76594a986048c1b1a1b8df5b38b2848410cfd7708168d58
DIST hypothesis-python-6.2.0.tar.gz 9108590 BLAKE2B 73a6b71c68aec1ec51f791187bbe5be679d5e3b4da9e66745767dafb109d298b0c61bd461ed838a0c75884d155fb408bddebc75d1cf887629da5cf5d6b053e03 SHA512 b249124f90d1d68aa6e106965b0ae78e37f095be0adc1833895f0895357d46c907074e2abe458be566708ba006b6c4375908b40ef89d52300fd41ad63abc2e52
DIST hypothesis-python-6.3.4.tar.gz 9112374 BLAKE2B 78867f0ff142d6059a20c437c3fab333de06eff5247d93c1e70f75d801e54984c20da01322b7d4d4999cb30f2c59c6e7cf955fe60ecc0e90b452b8ddf6b6f2ff SHA512 7baee8758d86afbb0a8a16e18b2f14d3870ee2f5623857fc691ca1afc7f0c6555b367fbe758ff02c08af492b4569ef2aeb8d61bf3bd91ac458312a43b02d02f6
+DIST hypothesis-python-6.4.0.tar.gz 9112974 BLAKE2B bb2312e1ae838e9a58741709f5d55d9593991c2600330f4917c8e8f86eb8219a0826e87aa810ccfa731e5a14f1d0985cb3342c73ba5b8ad5d8e01419689e180f SHA512 2899557ff872b45347f8865ff9bf07da97e2bfc3f4827ead2d4b0648c664bd9ef7ae3d48e5f5158b4dbb2d5063831ae8a1a7ef0ac97f2ae21318c6198850865d
diff --git a/dev-python/hypothesis/hypothesis-6.4.0.ebuild b/dev-python/hypothesis/hypothesis-6.4.0.ebuild
new file mode 100644
index 000000000000..380ab8117add
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.4.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 eutils multiprocessing optfeature
+
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="https://github.com/HypothesisWorks/hypothesis https://pypi.org/project/hypothesis/"
+SRC_URI="https://github.com/HypothesisWorks/${PN}/archive/${PN}-python-${PV}.tar.gz"
+S="${WORKDIR}/${PN}-${PN}-python-${PV}/${PN}-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/typing-3.7.4.1
+ )
+"
+
+distutils_enable_tests --install pytest
+
+python_prepare() {
+ if ! use cli || [[ ${EPYTHON} != python* ]]; then
+ sed -i -e '/console_scripts/d' setup.py || die
+ fi
+}
+
+python_test() {
+ distutils_install_for_testing --via-root
+ pytest -vv tests/cover tests/pytest tests/quality \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/ijson/Manifest b/dev-python/ijson/Manifest
index 32677cc044d6..472d8449681c 100644
--- a/dev-python/ijson/Manifest
+++ b/dev-python/ijson/Manifest
@@ -1 +1,2 @@
DIST ijson-3.1.3.tar.gz 125658 BLAKE2B 3866c89b3dab6f55138b51d52c55a1b2c83e4e26d98e08724cd3d96ccb28a7d2a5fb1889e59f499cfe3b4ee8642933f88fbb18111ac94a8195a97109fbf8a08f SHA512 f4da9e44cc42fac7d9eeb6ba897ba7c3b477e07b4fb6e91abda59a83638d29dc41a845ba9ff5907130657a78ccfb788a6b88d8026f58b2095174e6939e25ef8a
+DIST ijson-3.1.4.tar.gz 125725 BLAKE2B 870439690c0b776d04c3023fb910d0f9ff2ca573be728c06802fbbbd5de1d5dcb8e677b778d30cb134d181dfc4ffd53c686af3d57458501d9548ddbdba8bf6d7 SHA512 7e64c4fec84fd6942c83809849eefc1c299c597524c0fe73e2cdc542e113faad8f35cc5219b0bc4e05842ac69d8608089d7cbb2dc006e404c184505392b21baa
diff --git a/dev-python/ijson/ijson-3.1.4.ebuild b/dev-python/ijson/ijson-3.1.4.ebuild
new file mode 100644
index 000000000000..fee6a9d6c736
--- /dev/null
+++ b/dev-python/ijson/ijson-3.1.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+inherit distutils-r1
+
+MY_PV="${PV//_p/.post}"
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="
+ https://github.com/ICRAR/ijson
+ https://pypi.org/project/ijson/
+"
+SRC_URI="https://github.com/ICRAR/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-libs/yajl"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
diff --git a/dev-python/inflect/Manifest b/dev-python/inflect/Manifest
index aa80c009e64e..04ac4717b8e5 100644
--- a/dev-python/inflect/Manifest
+++ b/dev-python/inflect/Manifest
@@ -1,2 +1,3 @@
DIST inflect-5.0.2.tar.gz 71323 BLAKE2B 42b2524b00a8b71aca6f164de9b57708be172ce63bc62480e951d082bd68f082ad2fadb502321a5fc97ffa3af95f26935d0de855144863b9bd1dfbdf3bdae516 SHA512 ea97ec4a4a1a94a6218e60c20d63e483026beb1901abe2fa69f186a823f8a786b9a82af231fc42bf705146f650fdbfa5ff660cfbe821eceb53891ef2e91eaec3
DIST inflect-5.2.0.tar.gz 73664 BLAKE2B cf2327eb0aca6319b43076a0f52d7e5c52bad3be45cbc094e620d6219b0b05021d05c289992b36d3221d1e582352497fb278d9225ece49ddc0630f91199b1617 SHA512 2883ffccd28c436908783855a282ff4346c74b14fe5899ed6b9fde0f0f1b97063119f7fbe927f1bf0d16761623abcdfe21439c12311bd2a11a70245b89fbce0b
+DIST inflect-5.3.0.tar.gz 74127 BLAKE2B 20c591012a5a6692c3da3a39f4aeaaae290da5ba723af5c9ac90f7d28112a1894acf082633f8f673f6d903f756b9bb70c6c3366762e872cf7ca6c6d5edf1c99c SHA512 f5baf65fb7a6ba59c91a36a17acb0abda3efc74fef56b3a3d99c100b2c6e94c5aafb08ab37310ce410631ac928e9c24a4a4c5e6b5c7d8f907c3d999f4a70cce4
diff --git a/dev-python/inflect/inflect-5.3.0.ebuild b/dev-python/inflect/inflect-5.3.0.ebuild
new file mode 100644
index 000000000000..e978ce90ce44
--- /dev/null
+++ b/dev-python/inflect/inflect-5.3.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Correctly inflect words and numbers"
+HOMEPAGE="https://github.com/jaraco/inflect"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ >=dev-python/setuptools_scm-3.4.1[${PYTHON_USEDEP}]
+ dev-python/toml[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs '>=dev-python/jaraco-packaging-8.2' \
+ '>=dev-python/rst-linker-1.9' dev-python/alabaster
+distutils_enable_tests pytest
diff --git a/dev-python/ipdb/Manifest b/dev-python/ipdb/Manifest
index 62536c8dda34..abdf9da953fe 100644
--- a/dev-python/ipdb/Manifest
+++ b/dev-python/ipdb/Manifest
@@ -1 +1,2 @@
DIST ipdb-0.10.3.tar.gz 9356 BLAKE2B 50afece454d55ce3df13251afb625d93e11f7ae8d0e563ca7007e7abe0ad46b59f2e93318578992c5c7d2d25fc815d53ebed8801530d74c4fb30cc150246f415 SHA512 5f704222ea4d6877bbf6a83cb528e0e975ceebd7ee0838cd7a01f167381b80c48d3c8fc06d13a718a08ec619bfe984fd258e86ce93dba571ebdec2539db543f3
+DIST ipdb-0.13.5.tar.gz 16145 BLAKE2B e0bae825c2ce6b640e73e8ad8615f5f4e9c18a00e8c081a66ef0adab3429792a07c8434ddc8b236f938b7efd263c51f29bfe3f8d232d8bca20ab0cc2eff8165f SHA512 3ec05dec884a0006435fd7e5eb68bc76c6dacb1b0dd3f68c10c8c2a9dd3991bd6e498dcfb3877e5e534240ead1194787049ae3815fb8579b7bdea2e8c91970c3
diff --git a/dev-python/ipdb/ipdb-0.13.5.ebuild b/dev-python/ipdb/ipdb-0.13.5.ebuild
new file mode 100644
index 000000000000..e764c8835ae1
--- /dev/null
+++ b/dev-python/ipdb/ipdb-0.13.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="IPython-enabled pdb"
+HOMEPAGE="https://pypi.org/project/ipdb/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND=">=dev-python/ipython-7.17[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+DOCS=( HISTORY.txt )
+
+distutils_enable_tests unittest
diff --git a/dev-python/jsonpatch/Manifest b/dev-python/jsonpatch/Manifest
index b7ac2914bf2f..3c16852f055a 100644
--- a/dev-python/jsonpatch/Manifest
+++ b/dev-python/jsonpatch/Manifest
@@ -1 +1,2 @@
DIST jsonpatch-1.28.tar.gz 26829 BLAKE2B 1dee89500be23c49e5d7fdcaacb05da7ea089b691e133c5187c9558d378ae3714ad7fc6f164d0b7eea7b3cf1afefa39b7748a4637b0456051fab086e0e8f15d0 SHA512 2884cb95307cb607c8cd80e688491b4449f953e43e5b232d4d57d7249c590652ecae0856806ade6bf2807a04180e992fd2cdf61590ac058d573d653382bf7a28
+DIST jsonpatch-1.30.tar.gz 27787 BLAKE2B f3294e3382baac604c31c12a790b0836732a66fdf3b6cbfbab58fcee4558140dc84a408af94f2f5861aaa17fcff49ac254f42364e5d0ba1039af0a2fd518da93 SHA512 190507eb6d6b4a81e7e804690672863d5070c140a47090b70df36d8180644618395ffc179dabf6ba24e44268b74f670abdfd260c54dc3251b12ef4b7ad17d093
diff --git a/dev-python/jsonpatch/jsonpatch-1.30.ebuild b/dev-python/jsonpatch/jsonpatch-1.30.ebuild
new file mode 100644
index 000000000000..09e65df63639
--- /dev/null
+++ b/dev-python/jsonpatch/jsonpatch-1.30.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Apply JSON-Patches like http://tools.ietf.org/html/draft-pbryan-json-patch-04"
+HOMEPAGE="https://github.com/stefankoegl/python-json-patch"
+SRC_URI="https://github.com/stefankoegl/python-json-patch/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/python-json-patch-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-python/jsonpointer-1.9[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? ( ${RDEPEND} )
+"
+
+python_test() {
+ "${EPYTHON}" tests.py || die "Tests of tests.py fail with ${EPYTHON}"
+ "${EPYTHON}" ext_tests.py || die "Tests of ext_tests.py fail with ${EPYTHON}"
+}
diff --git a/dev-python/miniupnpc/Manifest b/dev-python/miniupnpc/Manifest
index e173bf5ea182..3f976d74b728 100644
--- a/dev-python/miniupnpc/Manifest
+++ b/dev-python/miniupnpc/Manifest
@@ -1,2 +1,4 @@
DIST miniupnpc-2.2.1.tar.gz 99595 BLAKE2B 07736eb15a985096178273c4578bb3f0cbf32a04632196e9c216d10751a6a5b1269af5fe2cbd447d85145746a7a8ce750ce13f674f5d8f9e4f6921b9d58204bf SHA512 62fc0098890980028199dd16e87b13ce23e78b2cc996433799792dc2a4fa9b5e230139593bde5c721f649c14fcee2e4d8a0558976c5506c21ff26deff6c7c907
DIST miniupnpc-2.2.1.tar.gz.sig 543 BLAKE2B 19da35662cf75d47de9cd16d3d8f767119e3dc04370801bf8893a17cd0af47072456b75bc3415b587371972a7c5c36623665391bbf4b9c655d1da3c0e5b8beb7 SHA512 8b5d41556c66e6330673a63eb3be2397cb057c37f648d950e8dfa0bb00e646f343cfbcbd11a6547198d4fa6b1ca2a82b46724e284ce76e96d96ad6b3b5b41c3f
+DIST miniupnpc-2.2.2.tar.gz 100008 BLAKE2B 76bd18ad455be91a2b7680f59f59828a592077f3694ea5ed0f42222370d9e3d0e328dac1a6d530abcf28586384369d7c858c32fc3105f79cacad762ac5bc70fc SHA512 d322ae2a99faf01bee52f50a40d4bc2150c67a2f7e15b6078fe92faf2aecfe7ce10bd98cef3d94a77f6f7d1f7d8451cf4cdbf6fe11c9e7c1854ee066300b0116
+DIST miniupnpc-2.2.2.tar.gz.sig 543 BLAKE2B e1089a0c3d937cb4e52b511ed0cc7b43a686a6c08df5ce5e008f1f5ec892b6a4f9f1c45ad4eb252c2aa57fd932a5c5dd4300adfdcee145f27cae51469f244179 SHA512 525f4b5c60ca1375df8a05cfffec3cf8e99ae070510621de2871926b6e84faec28cceb4feb983380e12b7271880872083ea4f4080c74572697476bb7ae795cf7
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.2.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.2.ebuild
new file mode 100644
index 000000000000..d423a072368c
--- /dev/null
+++ b/dev-python/miniupnpc/miniupnpc-2.2.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1 verify-sig
+
+DESCRIPTION="Python bindings for UPnP client library"
+HOMEPAGE="http://miniupnp.free.fr/"
+SRC_URI="http://miniupnp.free.fr/files/${P}.tar.gz
+ verify-sig? ( http://miniupnp.free.fr/files/${P}.tar.gz.sig )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND=">=net-libs/miniupnpc-${PV}:0="
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( app-crypt/openpgp-keys-miniupnp )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/miniupnp.asc
+
+PATCHES=(
+ "${FILESDIR}"/miniupnpc-2.0.20171102-shared-lib.patch
+)
+
+# DOCS are installed by net-libs/miniupnpc.
+DOCS=()
+
+# Example test command:
+# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
diff --git a/dev-python/mock/Manifest b/dev-python/mock/Manifest
index aa1a821a9f47..6e034d8a6680 100644
--- a/dev-python/mock/Manifest
+++ b/dev-python/mock/Manifest
@@ -1,2 +1 @@
-DIST mock-3.0.5.gh.tar.gz 67887 BLAKE2B b9c49b3627275889d73aff9ea9c7925093f9cafb304448b2f06eda2fff26152a031aafb4844537e4d58bc112709e59a44e08d32602776386a30d039743def29c SHA512 9ab4f0c794f5701ba1367d982cf79a5662d4233753d12ed9c88ae20282db1f44be73f84c4d9f6d03ff64926b8c1b6d0c9a79b2a4724a3eb36c247ffd4ab03e2d
DIST mock-4.0.3.gh.tar.gz 80318 BLAKE2B bc0dc8b97129eaa2f0f9c89898157ea5de398f59f4e2ebc07318cf745b74d1f1bcc989774600ec88ce1956f9fe16f9464f101ea5df5cd23b3a58b432d19feb8a SHA512 adfdab253eb3bc1b6cb767c58ffa3a8a5c5f88da0f04ea6680e0d87da59177972d2d99bfe0a770ac2ed4f809ca6a090a9d0f789eea8f4365ef2c54f8e8792e89
diff --git a/dev-python/mock/mock-3.0.5-r2.ebuild b/dev-python/mock/mock-3.0.5-r2.ebuild
deleted file mode 100644
index eeebf19e5472..000000000000
--- a/dev-python/mock/mock-3.0.5-r2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Rolling backport of unittest.mock for all Pythons"
-HOMEPAGE="https://github.com/testing-cabal/mock"
-SRC_URI="https://github.com/testing-cabal/mock/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/funcsigs[${PYTHON_USEDEP}]
- ' -2)
- >=dev-python/six-1.9[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- >=dev-python/setuptools-17.1[${PYTHON_USEDEP}]"
-
-python_test() {
- # Upstream supports running tests only in their dream pristine
- # environment. pytest doesn't work at all if mock is already
- # installed. We can use plain unittest but we have to reinvent
- # test filtering.
- cp -r mock/tests "${BUILD_DIR}"/lib/mock/ || die
- cd "${BUILD_DIR}"/lib || die
- if ! python_is_python3; then
- rm mock/tests/*py3* || die
- fi
-
- # https://github.com/testing-cabal/mock/commit/d6b42149bb87cf38729eef8a100c473f602ef7fa
- if [[ ${EPYTHON} == pypy* ]]; then
- sed -i -e 's:def test_copy:def _test_copy:' \
- mock/tests/testmock.py || die
- fi
-
- "${EPYTHON}" -m unittest discover -v || die "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGELOG.rst README.rst )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index e20c78541e1c..427b0bec894e 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,3 +1,4 @@
DIST pandas-1.1.5.tar.gz 5229894 BLAKE2B 5b47774e33c7fccd7a9110e8971e8ce63cafd68273ee870b386aa8562be4c8f667137a4a078eafb2a62847bdd6f73c390254e8024d483c21e1834a8c49d44d32 SHA512 a213690ea658554b78e003a30cc88a59e34195457401d84b1cafdf74433ad27c801c12b8138371bb0206f6dc083ae882eabf0e33cb5733fa313e9f3257d48823
DIST pandas-1.2.1.tar.gz 5459053 BLAKE2B 49d99e7217d52f1233cdff20628da9028b7a8ce1d89a5ebe502c6e960ca9f7948005e7a63a15b76f9bc44ab5f15e00eef86c3b3179e6cad820e6f5072c7c78f0 SHA512 9bf9212ebdd07785f1877f5f80d6a5beb4637e8a1cf741e32a705a48724280a8e8daae209c66c1a3f00718b566127d77af578d6c72a5d9b68e2b03784c604083
DIST pandas-1.2.2.tar.gz 5463571 BLAKE2B e27e032bb9d6abb6f40d1a15bc7e9796690f0bd099e5fc7704cbd5b40b37c0f277b462116bd7582263abef8f728d3109f6c4c425cac427f0c750b019fd5e8ad8 SHA512 288ec9f3a2042c2a376340ddc25b4e2d9d3c4de146468316378269d4b70fb271241acb9aa5295415d8bebabad859a9ea9dc95aa71a68f06c2eba73809b9b30e2
+DIST pandas-1.2.3.tar.gz 5466356 BLAKE2B f392321915128769814b3a8b7673cd7b00c9c292f4cb8d8b2e8537f7cc513f92cb6b8ff74dffe3b167987e8fa387738264dbebfdf4019f9cd7afd4f78234212a SHA512 3108424253aa143a85ef166091829bbd8c9b6446b516f37252742146d184f722e1fb8af5b4d04937362a298068019a91392e40c818126df6a7459bab7f3077cb
diff --git a/dev-python/pandas/pandas-1.2.3.ebuild b/dev-python/pandas/pandas-1.2.3.ebuild
new file mode 100644
index 000000000000..87a1b523505a
--- /dev/null
+++ b/dev-python/pandas/pandas-1.2.3.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 flag-o-matic multiprocessing optfeature virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="https://pandas.pydata.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P/_/}.tar.gz"
+S="${WORKDIR}/${P/_/}"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="doc full-support minimal test X"
+RESTRICT="!test? ( test )"
+
+RECOMMENDED_DEPEND="
+ >=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-2.1[${PYTHON_USEDEP}]
+"
+
+# TODO: add pandas-gbq to the tree
+OPTIONAL_DEPEND="
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/blosc[${PYTHON_USEDEP}]
+ || (
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ || (
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ dev-python/xlsxwriter[${PYTHON_USEDEP}]
+ )
+ >=dev-python/pytables-3.2.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/xarray-0.10.8[${PYTHON_USEDEP}]
+ ' python3_{6,7})
+ >=dev-python/sqlalchemy-0.8.1[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-1.0.0[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.1[${PYTHON_USEDEP}]
+ X? (
+ || (
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+COMMON_DEPEND="
+ >dev-python/numpy-1.15.4[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-python/cython-0.29.21[${PYTHON_USEDEP}]
+ doc? (
+ ${VIRTUALX_DEPEND}
+ app-text/pandoc
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nbsphinx[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.0.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rpy[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/xlrd[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ )
+ test? (
+ ${VIRTUALX_DEPEND}
+ ${RECOMMENDED_DEPEND}
+ ${OPTIONAL_DEPEND}
+ dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ dev-python/pymysql[${PYTHON_USEDEP}]
+ >=dev-python/pytest-5.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
+ dev-python/xlsxwriter[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+"
+# dev-python/statsmodels invokes a circular dep
+# hence rm from doc? ( ), again
+RDEPEND="${COMMON_DEPEND}
+ !minimal? ( ${RECOMMENDED_DEPEND} )
+ full-support? ( ${OPTIONAL_DEPEND} )
+"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" \
+ -i doc/source/conf.py || die
+
+ # requires package installed
+ sed -e '/extra_compile_args =/s:"-Werror"::' \
+ -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # To build docs the need be located in $BUILD_DIR,
+ # else PYTHONPATH points to unusable modules.
+ if use doc; then
+ cd "${BUILD_DIR}"/lib || die
+ cp -ar "${S}"/doc . && cd doc || die
+ LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local deselect=(
+ # broken on practically any hardware/CFLAGS but the one
+ # the patch author was using
+ # https://github.com/pandas-dev/pandas/issues/38921
+ pandas/tests/window/test_rolling.py::test_rolling_var_numerical_issues
+
+ # weird issue, doesn't seem very important
+ 'pandas/tests/base/test_misc.py::test_memory_usage[series-with-empty-index]'
+ )
+
+ local -x LC_ALL=C.UTF-8
+ pushd "${BUILD_DIR}"/lib > /dev/null || die
+ "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+ PYTHONPATH=. pytest pandas -vv --skip-slow --skip-network \
+ ${deselect[@]/#/--deselect } \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" \
+ -m "not single" || die "Tests failed with ${EPYTHON}"
+ find . '(' -name .pytest_cache -o -name .hypothesis ')' \
+ -exec rm -r {} + || die
+ popd > /dev/null || die
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc -r "${BUILD_DIR}"/lib/doc/build/html
+ einfo "An initial build of docs is absent of references to statsmodels"
+ einfo "due to circular dependency. To have them included, emerge"
+ einfo "statsmodels next and re-emerge pandas with USE doc"
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
+ optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
+ optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup:4 dev-python/html5lib dev-python/lxml
+ optfeature "for msgpack compression using blosc" dev-python/blosc
+ optfeature "Template engine for conditional HTML formatting" dev-python/jinja
+ optfeature "Plotting support" dev-python/matplotlib
+ optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-1.6.1" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+ optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.2.1"
+ optfeature "R I/O support" dev-python/rpy
+ optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
+ optfeature "SQL database support" ">=dev-python/sqlalchemy-0.8.1"
+ optfeature "miscellaneous statistical functions" dev-python/scipy
+ optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 335086116f0a..4d681c2e8db7 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1,2 +1,3 @@
DIST phonenumbers-8.12.17.tar.gz 2257177 BLAKE2B fb47b020d78c1f91973c5a316b1c08dafaa7847650c19ac012304f855701fbe6ef5068c26c125a52c69bcb02c68e7465e376f5f521c06f25c92402d60416eb6b SHA512 59999dd64c78d69cfe39c3fff7ac41e57739e7363073fd871c7ede6088e0b32085d92e560954cdd3db1c986cb2f17f884fc2ce04b23cd7d10eab1ea4b8b5c4be
DIST phonenumbers-8.12.18.tar.gz 2257229 BLAKE2B dbfea2209ffa671eb619fffd8e10da793718b36dd193eedc5ea02ffc69bc967a5ed7f6ee2cf6dd2b85621d3b9dad33c552b839abe7597155d702f59a3a8dd140 SHA512 01efb25e5f47b314cde706c8d064fa6c3e6b3ceb76be775fba456720036bd69d95fb03b775a4c510dc6d7cad662a30208839f93fdf6274f82488e06ef35ce508
+DIST phonenumbers-8.12.19.tar.gz 2257568 BLAKE2B 6e464e1d86485518b6d891a0c57ff86f3d7ecfa3f67316e85bd3352b4b7d86883631a625c9634e79a82228960aed4fe4b0d250e23aa90f48327f617ed27766f8 SHA512 4807db073ae05dedab6e2d8c9a46c6a318cad78d12d192f63171e59c48e40fdbbeae7192106b2279dc2a2360f929138b6f49df0d42492e740174e83d11d81253
diff --git a/dev-python/phonenumbers/phonenumbers-8.12.19.ebuild b/dev-python/phonenumbers/phonenumbers-8.12.19.ebuild
new file mode 100644
index 000000000000..ac8788fcaacf
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.12.19.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="https://github.com/daviddrysdale/python-phonenumbers"
+SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=(README.md)
+
+distutils_enable_tests setup.py
diff --git a/dev-python/prettytable/Manifest b/dev-python/prettytable/Manifest
index 2c9448eed920..f0e362fe1dcd 100644
--- a/dev-python/prettytable/Manifest
+++ b/dev-python/prettytable/Manifest
@@ -1,2 +1,3 @@
DIST prettytable-0.7.2.tar.bz2 21755 BLAKE2B 385d5bd6d4ab75a8c7ae96abc9d9e98a66a196265853113e7fb59073876e9f5e9c6c4fba9a30d80cc726a5184e78fb6451ff9a553909704fcc5022b6a08413f4 SHA512 f3a3fe6fa29f4ef090ff6cac06549ebd9db8b387e7b25fc64c4e37c8444586f50355c5573f38caabc72360aa68054aa189a67aa37f0bd13b872862ecd9151e71
DIST prettytable-2.0.0.tar.gz 43072 BLAKE2B 2293d0377f0bbef925014812cf0cd3702ef4f651927302012df44e829dd9ea249d03ddaee32f9313f3d001900e92df9a3be8812c8fc573624d308fa5c40a858a SHA512 b7c47df7d85a91e9518dea8dafcb27037e5cde81f59dd2b9e9468ae44b18431dd7d943fed487d5713e2c5aa25df76a8eb6587d045f73b8f25f53715a8a2085fc
+DIST prettytable-2.1.0.tar.gz 43306 BLAKE2B e2085003f2720d573e19fb2b03c8aa98262ec9e7a3f7d0a20474cad2fab374a91664bb513d8158cd612e58a47917c3ebe8b43798272f38c182f6cc2472918f55 SHA512 8eaad22c66299ca3f66cc167e1a94aa41e3b2699da4ff48a0e81927ee8cc623d3147ae29a0bef92370d07d6a7fb6b1eac535fca7090562419aed219b9483edd5
diff --git a/dev-python/prettytable/prettytable-2.1.0.ebuild b/dev-python/prettytable/prettytable-2.1.0.ebuild
new file mode 100644
index 000000000000..9c35b72da251
--- /dev/null
+++ b/dev-python/prettytable/prettytable-2.1.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
+HOMEPAGE="
+ https://github.com/jazzband/prettytable/
+ https://pypi.org/project/prettytable/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )"
+
+distutils_enable_tests --install pytest
diff --git a/dev-python/pymssql/pymssql-2.1.5.ebuild b/dev-python/pymssql/pymssql-2.1.5.ebuild
index b2e6817800ba..3754b0a1fb0a 100644
--- a/dev-python/pymssql/pymssql-2.1.5.ebuild
+++ b/dev-python/pymssql/pymssql-2.1.5.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 sparc x86"
IUSE="test"
# tests need a running instance of freetds
diff --git a/dev-python/pytest-subtesthack/Manifest b/dev-python/pytest-subtesthack/Manifest
index 31ce793f334f..831610c75eb0 100644
--- a/dev-python/pytest-subtesthack/Manifest
+++ b/dev-python/pytest-subtesthack/Manifest
@@ -1 +1,2 @@
DIST pytest-subtesthack-0.1.1.tar.gz 2410 BLAKE2B 3d41950ad46bb07da145db7f88eba7eb34a2bbb99273f47d2443cae5ab0e11737f1c2fe81bf473180178b2ad9e55b252c7717846f1b010cc58fb1bf61380d003 SHA512 0bf6425b535e65dc7f06f74493d10fbb6451e78a817174638661d7525f39f092f67db8da010228cbd54b400485e71e443118f91ebef660b9c00d2b354062a55f
+DIST pytest-subtesthack-0.1.2.tar.gz 2669 BLAKE2B f1f5a052f9418732de4a97ff438d280d177860439e667e29ff0d0503740e009c88046b5ba859884e5fa9e958ea1be7388d7fc6838c19e44075ab0ef757ee41c7 SHA512 ddb7b0c27f912bec31e58ddc54930e229755df8980d146c861f7f1c766ae742b4f1552117d89638bdbd443f22890262320a56565954ebc6deeae6184f459a5a8
diff --git a/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2.ebuild b/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2.ebuild
new file mode 100644
index 000000000000..9a4b5354ff7a
--- /dev/null
+++ b/dev-python/pytest-subtesthack/pytest-subtesthack-0.1.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="A hack for test fixtures, needed for hypothesis inside py.test"
+HOMEPAGE="https://github.com/untitaker/pytest-subtesthack/"
+# pypi tarball misses tests
+SRC_URI="https://github.com/untitaker/pytest-subtesthack/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
+DEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests --install pytest
diff --git a/dev-python/pytest-xprocess/Manifest b/dev-python/pytest-xprocess/Manifest
index 244a69782e7b..8c017e33ec98 100644
--- a/dev-python/pytest-xprocess/Manifest
+++ b/dev-python/pytest-xprocess/Manifest
@@ -1 +1,2 @@
DIST pytest-xprocess-0.17.0.tar.gz 19186 BLAKE2B 071063267d88d8ddd56c3b8ab7b2e6bebae321ac741e63336721cd13045688cef56909737c73b5cec27805b4f7dd93cdd7f467071966b3d864d0a1f270e821d0 SHA512 c85bb7bd8373b5b5119083fca46b8f173efe3b6f6cde5db8365e567e717f47f6f9230d2cf5ecfddb014aedd628aee75023f4da3077fa3ffb26b3c7bfc61d57c9
+DIST pytest-xprocess-0.17.1.tar.gz 19758 BLAKE2B 1db4ba7e606caff4591a752cd2a7e368a910ab9b7a28151b1e9c8bdc0f8184a1fa66b23ceb898f1cd7dfbca05b19aeca9a557ab5d3069b8c32ddd9f6f6e75cf6 SHA512 68ee3c8e958f7121d72aca81c32edb7598eb99c3cf6c38fb9c8577ac4860e8241e1da16a44e825204977d6ffa4459fe2742b2ef3b906071a64cd0fcc14920be1
diff --git a/dev-python/pytest-xprocess/pytest-xprocess-0.17.1.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-0.17.1.ebuild
new file mode 100644
index 000000000000..b75b4bf9bcc5
--- /dev/null
+++ b/dev-python/pytest-xprocess/pytest-xprocess-0.17.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Manage external processes across test runs"
+HOMEPAGE="https://pypi.org/project/pytest-xprocess/ https://github.com/pytest-dev/pytest-xprocess"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyvirtualdisplay/Manifest b/dev-python/pyvirtualdisplay/Manifest
index 33557fc07cbc..e9f76ae58cd4 100644
--- a/dev-python/pyvirtualdisplay/Manifest
+++ b/dev-python/pyvirtualdisplay/Manifest
@@ -1 +1,2 @@
+DIST PyVirtualDisplay-2.1.tar.gz 40798 BLAKE2B 315bb794b81948357919e98637b6276cca11739d019333c873a2b9c3d28d0bbece6996a70fe619f7acae658bcbaa2743dbbdfb23b7b8515c3a40858a83b07712 SHA512 f95a1622adfa1198d7f35757110e923e45bbfc18b31945c9efedb578e1a27fc91ffec403cc68269b2414837260b2b56ae9a58323ed5020af962757722d7a4517
DIST pyvirtualdisplay-1.3.2.tar.gz 38532 BLAKE2B 2c0cb3af426abc58dc895667c5fecb40ee9aa870dbb08a51ac32fbd5bd3620b97498b3dfc6e7026362604c82f67b60885370f0704a1349a65668628d9a21e80c SHA512 422e1530bb740fc77cc0b7abb73cb8e7326689c80c5f49b58be70b262e8a2c28274d3b83a0ec7753adfbf78b780047f61cf7b18fb14f935d483a5e3d04953210
diff --git a/dev-python/pyvirtualdisplay/metadata.xml b/dev-python/pyvirtualdisplay/metadata.xml
index 114a552deb27..884452419924 100644
--- a/dev-python/pyvirtualdisplay/metadata.xml
+++ b/dev-python/pyvirtualdisplay/metadata.xml
@@ -9,6 +9,10 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<remote-id type="pypi">PyVirtualDisplay</remote-id>
</upstream>
diff --git a/dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild b/dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild
new file mode 100644
index 000000000000..a5c55b5053b2
--- /dev/null
+++ b/dev-python/pyvirtualdisplay/pyvirtualdisplay-2.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+MY_P=PyVirtualDisplay-${PV}
+DESCRIPTION="Python wrapper for Xvfb, Xephyr and Xvnc"
+HOMEPAGE="https://github.com/ponty/PyVirtualDisplay"
+SRC_URI="
+ https://github.com/ponty/PyVirtualDisplay/archive/${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/easyprocess[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/backports-tempfile[${PYTHON_USEDEP}]
+ dev-python/entrypoint2[${PYTHON_USEDEP}]
+ dev-python/path-py[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyscreenshot[${PYTHON_USEDEP}]
+ ~dev-python/vncdotool-0.13.0[${PYTHON_USEDEP}]
+ x11-apps/xmessage
+ x11-base/xorg-server[xvfb,xephyr]
+ x11-misc/x11vnc
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/retry-decorator/retry-decorator-1.1.1.ebuild b/dev-python/retry-decorator/retry-decorator-1.1.1.ebuild
index 09abbabcf104..559a77199c2e 100644
--- a/dev-python/retry-decorator/retry-decorator-1.1.1.ebuild
+++ b/dev-python/retry-decorator/retry-decorator-1.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/rpy/rpy-3.4.2.ebuild b/dev-python/rpy/rpy-3.4.2.ebuild
index 499e5268dfac..942d6efff5f7 100644
--- a/dev-python/rpy/rpy-3.4.2.ebuild
+++ b/dev-python/rpy/rpy-3.4.2.ebuild
@@ -19,7 +19,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="AGPL-3 GPL-2 LGPL-2.1 MPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 x86 ~amd64-linux ~x86-linux"
# ggplot2 is a test dep but not in portage
RESTRICT="test"
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.3.22.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.3.22.ebuild
index ff80b47227f8..5a320350ea37 100644
--- a/dev-python/sqlalchemy/sqlalchemy-1.3.22.ebuild
+++ b/dev-python/sqlalchemy/sqlalchemy-1.3.22.ebuild
@@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples +sqlite test"
# Use pytest-xdist to speed up tests
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index ad6ee44d0e46..7faa912d52c8 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1,2 +1,3 @@
DIST translate-toolkit-3.3.1.tar.gz 5969914 BLAKE2B 2ede440a341be0bd0206400d01bab881e6070820f362c53f47b5f88e192bcb7a18d2bf667a678378110046f70a035d42b67a77e2dc70829da323d69f675d21cc SHA512 1578fb8f96fa83ad97051a20f02d6570f96f2346d99fc86172718c995468c318f318f27f2ef259bd5dc10521bda4ac7da17385f72b726d7ea3c0fe65af8f313e
DIST translate-toolkit-3.3.2.tar.gz 6123347 BLAKE2B 9bf5f2c84d15043d25744b3bb63526177748c7c38425bd73ad34dcf3b4051c11a3ce28ccaf5c907b6ced27d1fe9ecb06cfde46481a609df64adfedec83b91680 SHA512 53baf7c1203c27335201fbf339e2747d7b22696c219e6911c191b3c89cf6d1c0d84624ffa8c4c687e45fad229d3cb09f52d15d1d80dd914ccc8e2fff34a601be
+DIST translate-toolkit-3.3.3.tar.gz 5903525 BLAKE2B a21c5d89c808615ff2f3f718e732ce5d5591a9d8a997950ae1066655cc3e4382065f75e7a86f8e37bdd0e146283f9bd941ff20479cb1af635f393e0e7f8fc196 SHA512 41964dc26dfbb983b1c2e4cbb0e9d8eb2a035369a94ef872f7703080b5ca0280a9364916a1e1256cd358b263bc72198e767462cc9065b54556fc481d1b85a836
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.3.3.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.3.3.ebuild
new file mode 100644
index 000000000000..32b1029e5bab
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.3.3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_REQ_USE="sqlite"
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="https://github.com/translate/translate"
+SRC_URI="https://github.com/translate/translate/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+BDEPEND=">=dev-python/six-1.11.0[${PYTHON_USEDEP}]"
+RDEPEND="${BDEPEND}
+ !dev-python/pydiff
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pycountry-19.8.18[${PYTHON_USEDEP}]
+ >=dev-python/python-levenshtein-0.12.0[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+BDEPEND+="
+ test? ( dev-python/phply[${PYTHON_USEDEP}] )"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-bootstrap-theme
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/translate-toolkit-3.3.0-no-install-docs.patch
+)
+
+python_test() {
+ local deselect=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ --deselect 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ --deselect 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ )
+
+ if ! use ini; then
+ deselect+=(
+ --ignore translate/convert/test_ini2po.py
+ --ignore translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ deselect+=(
+ --ignore translate/storage/test_subtitles.py
+ )
+ fi
+
+ # translate/storage/test_mo.py needs 'pocompile'
+ distutils_install_for_testing --via-root
+
+ pytest -vv "${deselect[@]}" || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+
+ python_optimize
+}
diff --git a/dev-python/tvdb_api/Manifest b/dev-python/tvdb_api/Manifest
index 6027a642c308..b15f25b7a42b 100644
--- a/dev-python/tvdb_api/Manifest
+++ b/dev-python/tvdb_api/Manifest
@@ -1 +1,2 @@
DIST tvdb_api-2.0.tar.gz 32751 BLAKE2B 6228ea0d8e9e679b7a70d6357917537cf8a6e362010ff6d1a212d51919689c656f8dc5cf67c694ddf7b4e2fd5b2fc0674393036c5ac38d8254878559921fe39c SHA512 74b1e036c2c71bff9f3d04bbf670da4069f68152545b09882aeddb5d1ebc873956ed00e8e28f2bd77a72ff97ae5fda23f1cfedd91f87187c31917ee31df17f3b
+DIST tvdb_api-3.0.2.tar.gz 20436 BLAKE2B d9df5f1e2e8dd26486ec5aa2fa542534e43e08ce9c19ae8f8e48a05b3167db856ccb7765bb7d7acb4adcf7a53f5deff299f69123d60c3495ec1cc4d849d3e0b5 SHA512 b6c3c04eb300f2a371f50ef0331ca1ae602c7ccda2a0d8ad52f5c89fac5cf4dff77ce11d0dc774aa2a8dc1e02798a4432262cbaafea9239693c300931213107c
diff --git a/dev-python/tvdb_api/tvdb_api-3.0.2.ebuild b/dev-python/tvdb_api/tvdb_api-3.0.2.ebuild
new file mode 100644
index 000000000000..f70ddd1d02d0
--- /dev/null
+++ b/dev-python/tvdb_api/tvdb_api-3.0.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to thetvdb.com API"
+HOMEPAGE="https://github.com/dbr/tvdb_api"
+SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-cache[${PYTHON_USEDEP}]"
diff --git a/dev-python/typed-ast/typed-ast-1.4.2.ebuild b/dev-python/typed-ast/typed-ast-1.4.2.ebuild
index 9657e4446571..20a62e327eba 100644
--- a/dev-python/typed-ast/typed-ast-1.4.2.ebuild
+++ b/dev-python/typed-ast/typed-ast-1.4.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/_}/${P/-/_}.tar.gz"
LICENSE="Apache-2.0 MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/weasyprint/Manifest b/dev-python/weasyprint/Manifest
index 5b354afe8b6d..c454743760cd 100644
--- a/dev-python/weasyprint/Manifest
+++ b/dev-python/weasyprint/Manifest
@@ -1 +1,2 @@
DIST WeasyPrint-51.tar.gz 308411 BLAKE2B f88f9e1abc09986d51d92d8a153c71242cadc8ce6b8ac99a08d86746677d40a86affe3c56dd3e3e6a0eb2fc915f77036271f049f6ccc644d508be51d01d97b7c SHA512 631038bece7ac0c15c6a668a7d06137e4bccc049eb80484a153ca9c4a996256de8647428b21ed1d0c1607af3893c747a1956a3d3f012b30105ba4f8613a96fcd
+DIST WeasyPrint-52.3.tar.gz 325076 BLAKE2B 2981a487938d4ceefe20da36262438a64c30beaff340be6bd48b0140f63ea3971ca80a36386dde2db270e1555b137a89480673c4fdc2fa49079efdf58e53029b SHA512 7db740dd8f7264f73efe6e2505c603cedb1f8e5c053447b03517bdb003b933e1ef58f15482d4ab316b04b6631f9102752670f8b56989983cab80f7bd110746c9
diff --git a/dev-python/weasyprint/weasyprint-52.3.ebuild b/dev-python/weasyprint/weasyprint-52.3.ebuild
new file mode 100644
index 000000000000..96a4cacebda9
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-52.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+MY_PN="WeasyPrint"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
+HOMEPAGE="https://weasyprint.org https://github.com/Kozea/WeasyPrint"
+SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="jpeg tiff"
+
+# Note: specific subslot of pango since it inlines some of pango headers.
+# >=dev-python/lxml-3.0[${PYTHON_USEDEP}]
+RDEPEND="
+ >=dev-python/cairocffi-0.9[${PYTHON_USEDEP}]
+ >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
+ >=dev-python/cssselect2-0.1[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-0.999999999[${PYTHON_USEDEP}]
+ >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/tinycss2-1.0.0[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.4.0[${PYTHON_USEDEP}]
+ >=x11-libs/cairo-1.15.4
+ x11-libs/gdk-pixbuf[jpeg?,tiff?]
+ x11-libs/pango:0/0
+"
+
+BDEPEND="
+ test? (
+ media-fonts/ahem
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/pytest-runner/d' \
+ -e 's:--flake8 --isort::' \
+ -i setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/websocket-client/Manifest b/dev-python/websocket-client/Manifest
index 8f817da570c8..a46e9edf3ef2 100644
--- a/dev-python/websocket-client/Manifest
+++ b/dev-python/websocket-client/Manifest
@@ -1 +1,2 @@
DIST websocket-client-0.57.0.tar.gz 39333 BLAKE2B 3e24c41176e0566edf0d31bcbb0ecd69d368a7ff879ac7ab8e4b170ca356b0ea50aa0b6be845e76ecdd73dff9a2aa38c8cdefaa202627f9f9d272989114fe94b SHA512 8677b00abbdd995ef1c2254f73a01713eb0707ee2549031f410205af7bbbf57b4730b38a78d683a90605c1412863f57a3829d8be1c058f3e9bfb177bd49c4525
+DIST websocket_client-0.58.0.tar.gz 48216 BLAKE2B 5e559852385d95caffa73fdb4bfcddd3e00f7bdc9d23d07e7bd6b9e8de599742e153d31bb3a57bdf1aef02361f5dc0b13a443c21872c27576e068f246102d655 SHA512 c587945831427a9bddef96be53d20fec7f55ffd7efe2b676dac96b8078ba446ecda85379a4edfc49c36de936516d3994cbd0515decb9b615cd969bde1117167a
diff --git a/dev-python/websocket-client/websocket-client-0.58.0.ebuild b/dev-python/websocket-client/websocket-client-0.58.0.ebuild
new file mode 100644
index 000000000000..572694ef0e4b
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-0.58.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/-/_}
+DESCRIPTION="WebSocket client for python with hybi13 support"
+HOMEPAGE="https://github.com/websocket-client/websocket-client"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~x64-macos"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests setup.py
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}