summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/requests-cache/requests-cache-1.2.0.ebuild')
-rw-r--r--dev-python/requests-cache/requests-cache-1.2.0.ebuild92
1 files changed, 92 insertions, 0 deletions
diff --git a/dev-python/requests-cache/requests-cache-1.2.0.ebuild b/dev-python/requests-cache/requests-cache-1.2.0.ebuild
new file mode 100644
index 000000000000..cd7fa8425059
--- /dev/null
+++ b/dev-python/requests-cache/requests-cache-1.2.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Persistent cache for requests library"
+HOMEPAGE="
+ https://pypi.org/project/requests-cache/
+ https://github.com/requests-cache/requests-cache/
+"
+SRC_URI="
+ https://github.com/requests-cache/requests-cache/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ >=dev-python/url-normalize-1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ >=dev-python/rich-10.0[${PYTHON_USEDEP}]
+ dev-python/timeout-decorator[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # These require extra servers running
+ tests/integration/test_dynamodb.py
+ tests/integration/test_gridfs.py
+ tests/integration/test_mongodb.py
+ tests/integration/test_redis.py
+ )
+ local EPYTEST_DESELECT=(
+ # Requires Internet access
+ tests/integration/test_upgrade.py::test_version_upgrade
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # "database is locked", upstream probably relies on GC
+ # too much
+ tests/integration/test_sqlite.py
+ )
+ ;;
+ python3.12)
+ # https://github.com/requests-cache/requests-cache/issues/845
+ EPYTEST_DESELECT+=(
+ tests/integration/test_memory.py::TestMemoryCache::test_response_no_duplicate_read
+ tests/integration/test_sqlite.py::TestSQLiteCache::test_concurrency
+ )
+ ;;
+ esac
+
+ local -x USE_PYTEST_HTTPBIN=true
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "redis backend" "dev-python/redis"
+ optfeature "MongoDB backend" "dev-python/pymongo"
+
+ optfeature "JSON serialization" "dev-python/ujson"
+ optfeature "YAML serialization" "dev-python/pyyaml"
+ optfeature "signing serialized data" "dev-python/itsdangerous"
+}