On Mon, 02 Feb 2026 17:07:07 +0100, Stuart Henderson <[email protected]> wrote: > > On 2026/02/02 12:52, Kirill A. Korinsky wrote:
> > - www/py-requests-cache to 1.2.1
>
> i started looking at updating py-requests-cache last week, that one
> isn't ready yet. you are missing some RDEPs, and some of those TDEPs
> need to be RDEPs, also some other bits to get tests working a bit more
> sensibly (still some failures but it's no longer thousands of lines of
> error output).
>
> RUN_DEPENDS = www/py-requests \
> www/py-urllib3 \
> devel/py-attrs \
> devel/py-cattrs \
> sysutils/py-platformdirs \
> www/py-url-normalize
>
> # tests require network and nothing listening on localhost:8080
> TEST_DEPENDS = databases/py-mongo \
> devel/py-mock \
> devel/py-rich \
> devel/py-tenacity \
> devel/py-test-httpbin \
> devel/py-timeout-decorator \
> www/py-responses
>
> PORTHOME = ${WRKDIR}
> # move from default of commonly used localhost:8080 to avoid conflicts
> TEST_ENV = HTTPBIN_URL=http://localhost:6823/ \
> USE_PYTEST_HTTPBIN=true
> # backends need setup (and boto3, for dynamodb)
> MODPY_PYTEST_ARGS = --ignore tests/integration/test_dynamodb.py \
> --ignore tests/integration/test_mongodb.py
>
Thanks for tweaks. I move a bit forward (see attached diff) and with import
py-time-machine it passes all tests with enabled network on my machine.
> > - devel/py-timeout-decorator
>
> no tests in sdist, either use NO_TEST, or GH_ACCOUNT=pnpnpn
> GH_PROJECT=timeout-decorator GH_TAGNAME=${MODPY_DISTV} and drop
> MODPY_PI (and regen distinfo).
>
> I'd slightly prefer fetching from gh, there is a - in the name so
> if there ever is an update, portroach won't find it on pypi because
> they normalized filenames for newer files (which will change - to
> _).
Imported with NO_TEST
--
wbr, Kirill
Index: Makefile
===================================================================
RCS file: /home/cvs/ports/www/py-requests-cache/Makefile,v
diff -u -p -r1.9 Makefile
--- Makefile 29 Apr 2025 10:40:31 -0000 1.9
+++ Makefile 2 Feb 2026 21:00:02 -0000
@@ -1,9 +1,8 @@
COMMENT = transparent persistent cache for the py-requests library
-MODPY_DISTV = 0.5.2
-DISTNAME = requests-cache-${MODPY_DISTV}
-PKGNAME = py-${DISTNAME}
+MODPY_DISTV = 1.2.1
+DISTNAME = requests_cache-${MODPY_DISTV}
+PKGNAME = py-${DISTNAME:S/_/-/}
CATEGORIES = www
-REVISION = 6
HOMEPAGE = https://github.com/reclosedev/requests-cache
MAINTAINER = Johan Huldtgren <[email protected]>
@@ -14,12 +13,37 @@ PERMIT_PACKAGE = Yes
MODULES = lang/python
MODPY_PI = Yes
-MODPY_PYBUILD = setuptools
+MODPY_PYBUILD = hatchling
-# tests require network
-
-RUN_DEPENDS = www/py-requests>=1.1.0
-
-TEST_DEPENDS = devel/py-mock
+RUN_DEPENDS = www/py-requests \
+ www/py-urllib3 \
+ devel/py-attrs \
+ devel/py-cattrs \
+ sysutils/py-platformdirs \
+ www/py-url-normalize
+
+# tests require network and nothing listening on localhost:8080
+TEST_DEPENDS = databases/py-mongo \
+ databases/sqlite3 \
+ devel/py-cattrs \
+ devel/py-mock \
+ devel/py-rich \
+ devel/py-tenacity \
+ devel/py-test-httpbin \
+ devel/py-time-machine \
+ devel/py-timeout-decorator \
+ www/py-responses \
+ www/py-url-normalize
+
+PORTHOME = ${WRKDIR}
+
+# move from default of commonly used localhost:8080 to avoid conflicts
+TEST_ENV = HTTPBIN_URL=http://localhost:6823/ \
+ USE_PYTEST_HTTPBIN=true
+
+# backends need setup (and boto3, for dynamodb)
+MODPY_PYTEST_ARGS = --ignore tests/integration/test_dynamodb.py \
+ --ignore tests/integration/test_mongodb.py \
+ --ignore tests/integration/test_redis.py
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/www/py-requests-cache/distinfo,v
diff -u -p -r1.1.1.1 distinfo
--- distinfo 3 Mar 2020 21:40:13 -0000 1.1.1.1
+++ distinfo 2 Feb 2026 01:11:12 -0000
@@ -1,2 +1,2 @@
-SHA256 (requests-cache-0.5.2.tar.gz) =
gTAjJpaGBF+OAeIonMHn6a5asi3dHihJqQk6s6tycOs=
-SIZE (requests-cache-0.5.2.tar.gz) = 31159
+SHA256 (requests_cache-1.2.1.tar.gz) =
aKvJhv3FuNCRExj7tffIDuvNTQG/rMZoXs+IdgUlEdE=
+SIZE (requests_cache-1.2.1.tar.gz) = 3018209
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/www/py-requests-cache/pkg/PLIST,v
diff -u -p -r1.6 PLIST
--- pkg/PLIST 23 Oct 2025 13:20:34 -0000 1.6
+++ pkg/PLIST 2 Feb 2026 01:13:25 -0000
@@ -6,15 +6,19 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/requests_cache-${MODPY_DISTV}.dist-info/WHEEL
lib/python${MODPY_VERSION}/site-packages/requests_cache-${MODPY_DISTV}.dist-info/licenses/
lib/python${MODPY_VERSION}/site-packages/requests_cache-${MODPY_DISTV}.dist-info/licenses/LICENSE
-lib/python${MODPY_VERSION}/site-packages/requests_cache-${MODPY_DISTV}.dist-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/requests_cache/__init__.py
lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}compat.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}compat.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}_utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}_utils.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}cache_keys.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}cache_keys.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}patcher.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}patcher.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/${MODPY_PYCACHE}session.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/_utils.py
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/__init__.py
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}/
@@ -24,39 +28,72 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}dynamodb.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}dynamodb.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}filesystem.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}filesystem.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}gridfs.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}gridfs.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}mongo.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}mongo.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}mongodb.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}mongodb.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}redis.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}redis.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}sqlite.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/${MODPY_PYCACHE}sqlite.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/base.py
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/dynamodb.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/filesystem.py
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/gridfs.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/mongo.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/mongodb.py
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/redis.py
lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/sqlite.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/__init__.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}/
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}dbdict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}dbdict.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}dynamodbdict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}dynamodbdict.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}gridfspickledict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}gridfspickledict.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}mongodict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}mongodict.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}redisdict.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/${MODPY_PYCACHE}redisdict.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/dbdict.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/dynamodbdict.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/gridfspickledict.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/mongodict.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/backends/storage/redisdict.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/compat.py
-lib/python${MODPY_VERSION}/site-packages/requests_cache/core.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/cache_keys.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/__init__.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}raw_response.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}raw_response.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}request.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}request.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}response.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/${MODPY_PYCACHE}response.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/base.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/raw_response.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/request.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/models/response.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/patcher.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/__init__.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}actions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}actions.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}directives.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}directives.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}expiration.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}expiration.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}settings.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/${MODPY_PYCACHE}settings.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/actions.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/directives.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/expiration.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/policy/settings.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/py.typed
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/__init__.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}cattrs.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}cattrs.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}pipeline.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}pipeline.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}preconf.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/${MODPY_PYCACHE}preconf.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/cattrs.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/pipeline.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/serializers/preconf.py
+lib/python${MODPY_VERSION}/site-packages/requests_cache/session.py
py-time-machine.tgz
Description: Binary data
