Skip to content

Commit e0f4d7e

Browse files
committed
fix(deps): ensure async-timeout is included for older Python 3.11
- Add async-timeout as a direct dependency in pyproject.toml to fix ModuleNotFoundError on systems with Python < 3.11.3 (e.g. Raspberry Pi). - Switch to universal requirements generation in Makefile and requirements.txt to include platform-specific markers and conditional dependencies. - Update uv.lock to reflect dependency changes. This resolves a crash where redis-py attempted to import async_timeout, which was missing because it was pruned during requirements generation on a newer Python version.
1 parent 5c1669a commit e0f4d7e

4 files changed

Lines changed: 22 additions & 4 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ coverage:
4646
uv run python -m coverage html
4747

4848
update-requirements-file:
49-
uv pip compile --all-extras --output-file requirements.txt pyproject.toml
49+
uv pip compile --all-extras --universal --output-file requirements.txt pyproject.toml
5050

5151
sync-to-blitz:
5252
bash scripts/sync_to_blitz.sh

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ dependencies = [
1818
"requests==2.32.5",
1919
"pyzmq==27.1.0",
2020
"aiohttp==3.13.3",
21+
"async-timeout==5.0.1",
2122
"grpcio==1.76.0",
2223
"grpcio-tools==1.76.0",
2324
"deepdiff==8.6.1",

requirements.txt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv pip compile --all-extras --output-file requirements.txt pyproject.toml
2+
# uv pip compile --all-extras --universal --output-file requirements.txt pyproject.toml
33
aiohappyeyeballs==2.6.1
44
# via aiohttp
55
aiohttp==3.13.3
@@ -18,6 +18,8 @@ anyio==4.9.0
1818
# httpx
1919
# starlette
2020
# watchfiles
21+
async-timeout==5.0.1
22+
# via blitz-api (pyproject.toml)
2123
attrs==25.3.0
2224
# via aiohttp
2325
billiard==4.2.1
@@ -29,6 +31,8 @@ certifi==2025.4.26
2931
# httpcore
3032
# httpx
3133
# requests
34+
cffi==2.0.0 ; implementation_name == 'pypy'
35+
# via pyzmq
3236
charset-normalizer==3.4.2
3337
# via requests
3438
click==8.3.1
@@ -46,6 +50,11 @@ click-plugins==1.1.1
4650
# via celery
4751
click-repl==0.3.0
4852
# via celery
53+
colorama==0.4.6 ; sys_platform == 'win32'
54+
# via
55+
# click
56+
# loguru
57+
# uvicorn
4958
deepdiff==8.6.1
5059
# via blitz-api (pyproject.toml)
5160
dnspython==2.7.0
@@ -113,6 +122,8 @@ protobuf==6.33.5
113122
# via grpcio-tools
114123
psutil==7.2.2
115124
# via blitz-api (pyproject.toml)
125+
pycparser==3.0 ; implementation_name == 'pypy'
126+
# via cffi
116127
pydantic==2.12.5
117128
# via
118129
# blitz-api (pyproject.toml)
@@ -186,7 +197,9 @@ typing-inspection==0.4.2
186197
# pydantic
187198
# pydantic-settings
188199
tzdata==2025.2
189-
# via kombu
200+
# via
201+
# kombu
202+
# tzlocal
190203
tzlocal==5.3.1
191204
# via celery
192205
urllib3==2.6.3
@@ -196,7 +209,7 @@ uvicorn==0.40.0
196209
# blitz-api (pyproject.toml)
197210
# fastapi
198211
# fastapi-cli
199-
uvloop==0.21.0
212+
uvloop==0.21.0 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'
200213
# via uvicorn
201214
vine==5.1.0
202215
# via
@@ -209,5 +222,7 @@ wcwidth==0.2.13
209222
# via prompt-toolkit
210223
websockets==15.0.1
211224
# via uvicorn
225+
win32-setctime==1.2.0 ; sys_platform == 'win32'
226+
# via loguru
212227
yarl==1.20.0
213228
# via aiohttp

uv.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)