build: use python 3.10 and torch 2.11
Browse files- .github/workflows/ci.yml +2 -2
- README.md +1 -1
- pyproject.toml +3 -3
- requirements.txt +31 -18
- scripts/exercise_router_modal.py +4 -4
- uv.lock +0 -0
.github/workflows/ci.yml
CHANGED
|
@@ -29,14 +29,14 @@ jobs:
|
|
| 29 |
- name: Set up Python
|
| 30 |
uses: actions/setup-python@v6
|
| 31 |
with:
|
| 32 |
-
python-version: "3.
|
| 33 |
|
| 34 |
- name: Restore virtual environment
|
| 35 |
id: cache-venv
|
| 36 |
uses: actions/cache@v4
|
| 37 |
with:
|
| 38 |
path: .venv
|
| 39 |
-
key: venv-${{ runner.os }}-py3.
|
| 40 |
|
| 41 |
- name: Install dependencies
|
| 42 |
if: steps.cache-venv.outputs.cache-hit != 'true'
|
|
|
|
| 29 |
- name: Set up Python
|
| 30 |
uses: actions/setup-python@v6
|
| 31 |
with:
|
| 32 |
+
python-version: "3.10"
|
| 33 |
|
| 34 |
- name: Restore virtual environment
|
| 35 |
id: cache-venv
|
| 36 |
uses: actions/cache@v4
|
| 37 |
with:
|
| 38 |
path: .venv
|
| 39 |
+
key: venv-${{ runner.os }}-py3.10-${{ hashFiles('uv.lock') }}
|
| 40 |
|
| 41 |
- name: Install dependencies
|
| 42 |
if: steps.cache-venv.outputs.cache-hit != 'true'
|
README.md
CHANGED
|
@@ -5,7 +5,7 @@ colorFrom: green
|
|
| 5 |
colorTo: blue
|
| 6 |
sdk: gradio
|
| 7 |
sdk_version: "6.17.3"
|
| 8 |
-
python_version: "3.
|
| 9 |
app_file: app.py
|
| 10 |
fullWidth: true
|
| 11 |
short_description: Video-based workout form review app.
|
|
|
|
| 5 |
colorTo: blue
|
| 6 |
sdk: gradio
|
| 7 |
sdk_version: "6.17.3"
|
| 8 |
+
python_version: "3.10"
|
| 9 |
app_file: app.py
|
| 10 |
fullWidth: true
|
| 11 |
short_description: Video-based workout form review app.
|
pyproject.toml
CHANGED
|
@@ -3,7 +3,7 @@ name = "pozify"
|
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "Gradio base app for Pozify with mocked pipeline steps and explicit data contracts."
|
| 5 |
readme = "README.md"
|
| 6 |
-
requires-python = ">=3.
|
| 7 |
dependencies = [
|
| 8 |
"fastapi>=0.136.3",
|
| 9 |
"gradio>=4.44.0",
|
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
| 16 |
# HF Spaces installs gradio[mcp,oauth], which requires pydantic<=2.12.5.
|
| 17 |
"pydantic>=2.11.10,<=2.12.5",
|
| 18 |
"scikit-learn>=1.4.0",
|
| 19 |
-
"torch
|
| 20 |
]
|
| 21 |
|
| 22 |
[project.optional-dependencies]
|
|
@@ -32,4 +32,4 @@ package = false
|
|
| 32 |
|
| 33 |
[tool.ruff]
|
| 34 |
line-length = 100
|
| 35 |
-
target-version = "
|
|
|
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "Gradio base app for Pozify with mocked pipeline steps and explicit data contracts."
|
| 5 |
readme = "README.md"
|
| 6 |
+
requires-python = ">=3.10"
|
| 7 |
dependencies = [
|
| 8 |
"fastapi>=0.136.3",
|
| 9 |
"gradio>=4.44.0",
|
|
|
|
| 16 |
# HF Spaces installs gradio[mcp,oauth], which requires pydantic<=2.12.5.
|
| 17 |
"pydantic>=2.11.10,<=2.12.5",
|
| 18 |
"scikit-learn>=1.4.0",
|
| 19 |
+
"torch==2.11.0",
|
| 20 |
]
|
| 21 |
|
| 22 |
[project.optional-dependencies]
|
|
|
|
| 32 |
|
| 33 |
[tool.ruff]
|
| 34 |
line-length = 100
|
| 35 |
+
target-version = "py310"
|
requirements.txt
CHANGED
|
@@ -20,6 +20,8 @@ anyio==4.13.0
|
|
| 20 |
# httpx
|
| 21 |
# starlette
|
| 22 |
# watchfiles
|
|
|
|
|
|
|
| 23 |
attrs==26.1.0
|
| 24 |
# via aiohttp
|
| 25 |
audioop-lts==0.2.2 ; python_full_version >= '3.13'
|
|
@@ -46,7 +48,9 @@ colorama==0.4.6 ; sys_platform == 'win32'
|
|
| 46 |
# via
|
| 47 |
# click
|
| 48 |
# tqdm
|
| 49 |
-
contourpy==1.3.3
|
|
|
|
|
|
|
| 50 |
# via matplotlib
|
| 51 |
cuda-bindings==13.3.1 ; sys_platform == 'linux'
|
| 52 |
# via torch
|
|
@@ -56,6 +60,8 @@ cuda-toolkit==13.0.2 ; sys_platform == 'linux'
|
|
| 56 |
# via torch
|
| 57 |
cycler==0.12.1
|
| 58 |
# via matplotlib
|
|
|
|
|
|
|
| 59 |
fastapi==0.136.3
|
| 60 |
# via
|
| 61 |
# gradio
|
|
@@ -150,9 +156,11 @@ multidict==6.7.1
|
|
| 150 |
# aiohttp
|
| 151 |
# grpclib
|
| 152 |
# yarl
|
| 153 |
-
narwhals==2.22.1
|
| 154 |
# via scikit-learn
|
| 155 |
-
networkx==3.
|
|
|
|
|
|
|
| 156 |
# via torch
|
| 157 |
numpy==1.26.4
|
| 158 |
# via
|
|
@@ -166,20 +174,18 @@ numpy==1.26.4
|
|
| 166 |
# pozify
|
| 167 |
# scikit-learn
|
| 168 |
# scipy
|
| 169 |
-
nvidia-cublas==13.1.
|
| 170 |
# via
|
|
|
|
| 171 |
# nvidia-cudnn-cu13
|
| 172 |
# nvidia-cusolver
|
| 173 |
-
# torch
|
| 174 |
nvidia-cuda-cupti==13.0.85 ; sys_platform == 'linux'
|
| 175 |
# via cuda-toolkit
|
| 176 |
nvidia-cuda-nvrtc==13.0.88 ; sys_platform == 'linux'
|
| 177 |
-
# via
|
| 178 |
-
# cuda-toolkit
|
| 179 |
-
# nvidia-cublas
|
| 180 |
nvidia-cuda-runtime==13.0.96 ; sys_platform == 'linux'
|
| 181 |
# via cuda-toolkit
|
| 182 |
-
nvidia-cudnn-cu13==9.
|
| 183 |
# via torch
|
| 184 |
nvidia-cufft==12.0.0.61 ; sys_platform == 'linux'
|
| 185 |
# via cuda-toolkit
|
|
@@ -193,9 +199,9 @@ nvidia-cusparse==12.6.3.3 ; sys_platform == 'linux'
|
|
| 193 |
# via
|
| 194 |
# cuda-toolkit
|
| 195 |
# nvidia-cusolver
|
| 196 |
-
nvidia-cusparselt-cu13==0.8.
|
| 197 |
# via torch
|
| 198 |
-
nvidia-nccl-cu13==2.
|
| 199 |
# via torch
|
| 200 |
nvidia-nvjitlink==13.0.88 ; sys_platform == 'linux'
|
| 201 |
# via
|
|
@@ -219,9 +225,9 @@ packaging==26.2
|
|
| 219 |
# gradio-client
|
| 220 |
# huggingface-hub
|
| 221 |
# matplotlib
|
| 222 |
-
pandas==2.3.3 ; python_full_version >= '3.14'
|
| 223 |
# via gradio
|
| 224 |
-
pandas==3.0.3 ; python_full_version < '3.14'
|
| 225 |
# via gradio
|
| 226 |
pillow==12.2.0
|
| 227 |
# via
|
|
@@ -268,9 +274,13 @@ rich==15.0.0
|
|
| 268 |
# typer
|
| 269 |
safehttpx==0.1.7
|
| 270 |
# via gradio
|
| 271 |
-
scikit-learn==1.
|
|
|
|
|
|
|
| 272 |
# via pozify
|
| 273 |
-
scipy==1.
|
|
|
|
|
|
|
| 274 |
# via scikit-learn
|
| 275 |
semantic-version==2.10.0
|
| 276 |
# via gradio
|
|
@@ -296,11 +306,11 @@ toml==0.10.2
|
|
| 296 |
# via modal
|
| 297 |
tomlkit==0.14.0
|
| 298 |
# via gradio
|
| 299 |
-
torch==2.
|
| 300 |
# via pozify
|
| 301 |
tqdm==4.68.2
|
| 302 |
# via huggingface-hub
|
| 303 |
-
triton==3.
|
| 304 |
# via torch
|
| 305 |
typer==0.25.1
|
| 306 |
# via
|
|
@@ -316,22 +326,25 @@ typing-extensions==4.15.0
|
|
| 316 |
# aiohttp
|
| 317 |
# aiosignal
|
| 318 |
# anyio
|
|
|
|
| 319 |
# fastapi
|
| 320 |
# gradio
|
| 321 |
# gradio-client
|
| 322 |
# huggingface-hub
|
| 323 |
# modal
|
|
|
|
| 324 |
# pydantic
|
| 325 |
# pydantic-core
|
| 326 |
# starlette
|
| 327 |
# synchronicity
|
| 328 |
# torch
|
| 329 |
# typing-inspection
|
|
|
|
| 330 |
typing-inspection==0.4.2
|
| 331 |
# via
|
| 332 |
# fastapi
|
| 333 |
# pydantic
|
| 334 |
-
tzdata==2026.2 ; python_full_version >= '3.14' or sys_platform == 'emscripten' or sys_platform == 'win32'
|
| 335 |
# via pandas
|
| 336 |
uvicorn==0.49.0
|
| 337 |
# via gradio
|
|
|
|
| 20 |
# httpx
|
| 21 |
# starlette
|
| 22 |
# watchfiles
|
| 23 |
+
async-timeout==5.0.1 ; python_full_version < '3.11'
|
| 24 |
+
# via aiohttp
|
| 25 |
attrs==26.1.0
|
| 26 |
# via aiohttp
|
| 27 |
audioop-lts==0.2.2 ; python_full_version >= '3.13'
|
|
|
|
| 48 |
# via
|
| 49 |
# click
|
| 50 |
# tqdm
|
| 51 |
+
contourpy==1.3.2 ; python_full_version < '3.11'
|
| 52 |
+
# via matplotlib
|
| 53 |
+
contourpy==1.3.3 ; python_full_version >= '3.11'
|
| 54 |
# via matplotlib
|
| 55 |
cuda-bindings==13.3.1 ; sys_platform == 'linux'
|
| 56 |
# via torch
|
|
|
|
| 60 |
# via torch
|
| 61 |
cycler==0.12.1
|
| 62 |
# via matplotlib
|
| 63 |
+
exceptiongroup==1.3.1 ; python_full_version < '3.11'
|
| 64 |
+
# via anyio
|
| 65 |
fastapi==0.136.3
|
| 66 |
# via
|
| 67 |
# gradio
|
|
|
|
| 156 |
# aiohttp
|
| 157 |
# grpclib
|
| 158 |
# yarl
|
| 159 |
+
narwhals==2.22.1 ; python_full_version >= '3.11'
|
| 160 |
# via scikit-learn
|
| 161 |
+
networkx==3.4.2 ; python_full_version < '3.11'
|
| 162 |
+
# via torch
|
| 163 |
+
networkx==3.6.1 ; python_full_version >= '3.11'
|
| 164 |
# via torch
|
| 165 |
numpy==1.26.4
|
| 166 |
# via
|
|
|
|
| 174 |
# pozify
|
| 175 |
# scikit-learn
|
| 176 |
# scipy
|
| 177 |
+
nvidia-cublas==13.1.0.3 ; sys_platform == 'linux'
|
| 178 |
# via
|
| 179 |
+
# cuda-toolkit
|
| 180 |
# nvidia-cudnn-cu13
|
| 181 |
# nvidia-cusolver
|
|
|
|
| 182 |
nvidia-cuda-cupti==13.0.85 ; sys_platform == 'linux'
|
| 183 |
# via cuda-toolkit
|
| 184 |
nvidia-cuda-nvrtc==13.0.88 ; sys_platform == 'linux'
|
| 185 |
+
# via cuda-toolkit
|
|
|
|
|
|
|
| 186 |
nvidia-cuda-runtime==13.0.96 ; sys_platform == 'linux'
|
| 187 |
# via cuda-toolkit
|
| 188 |
+
nvidia-cudnn-cu13==9.19.0.56 ; sys_platform == 'linux'
|
| 189 |
# via torch
|
| 190 |
nvidia-cufft==12.0.0.61 ; sys_platform == 'linux'
|
| 191 |
# via cuda-toolkit
|
|
|
|
| 199 |
# via
|
| 200 |
# cuda-toolkit
|
| 201 |
# nvidia-cusolver
|
| 202 |
+
nvidia-cusparselt-cu13==0.8.0 ; sys_platform == 'linux'
|
| 203 |
# via torch
|
| 204 |
+
nvidia-nccl-cu13==2.28.9 ; sys_platform == 'linux'
|
| 205 |
# via torch
|
| 206 |
nvidia-nvjitlink==13.0.88 ; sys_platform == 'linux'
|
| 207 |
# via
|
|
|
|
| 225 |
# gradio-client
|
| 226 |
# huggingface-hub
|
| 227 |
# matplotlib
|
| 228 |
+
pandas==2.3.3 ; python_full_version < '3.11' or python_full_version >= '3.14'
|
| 229 |
# via gradio
|
| 230 |
+
pandas==3.0.3 ; python_full_version >= '3.11' and python_full_version < '3.14'
|
| 231 |
# via gradio
|
| 232 |
pillow==12.2.0
|
| 233 |
# via
|
|
|
|
| 274 |
# typer
|
| 275 |
safehttpx==0.1.7
|
| 276 |
# via gradio
|
| 277 |
+
scikit-learn==1.7.2 ; python_full_version < '3.11'
|
| 278 |
+
# via pozify
|
| 279 |
+
scikit-learn==1.9.0 ; python_full_version >= '3.11'
|
| 280 |
# via pozify
|
| 281 |
+
scipy==1.15.3 ; python_full_version < '3.11'
|
| 282 |
+
# via scikit-learn
|
| 283 |
+
scipy==1.17.1 ; python_full_version >= '3.11'
|
| 284 |
# via scikit-learn
|
| 285 |
semantic-version==2.10.0
|
| 286 |
# via gradio
|
|
|
|
| 306 |
# via modal
|
| 307 |
tomlkit==0.14.0
|
| 308 |
# via gradio
|
| 309 |
+
torch==2.11.0
|
| 310 |
# via pozify
|
| 311 |
tqdm==4.68.2
|
| 312 |
# via huggingface-hub
|
| 313 |
+
triton==3.6.0 ; sys_platform == 'linux'
|
| 314 |
# via torch
|
| 315 |
typer==0.25.1
|
| 316 |
# via
|
|
|
|
| 326 |
# aiohttp
|
| 327 |
# aiosignal
|
| 328 |
# anyio
|
| 329 |
+
# exceptiongroup
|
| 330 |
# fastapi
|
| 331 |
# gradio
|
| 332 |
# gradio-client
|
| 333 |
# huggingface-hub
|
| 334 |
# modal
|
| 335 |
+
# multidict
|
| 336 |
# pydantic
|
| 337 |
# pydantic-core
|
| 338 |
# starlette
|
| 339 |
# synchronicity
|
| 340 |
# torch
|
| 341 |
# typing-inspection
|
| 342 |
+
# uvicorn
|
| 343 |
typing-inspection==0.4.2
|
| 344 |
# via
|
| 345 |
# fastapi
|
| 346 |
# pydantic
|
| 347 |
+
tzdata==2026.2 ; python_full_version < '3.11' or python_full_version >= '3.14' or sys_platform == 'emscripten' or sys_platform == 'win32'
|
| 348 |
# via pandas
|
| 349 |
uvicorn==0.49.0
|
| 350 |
# via gradio
|
scripts/exercise_router_modal.py
CHANGED
|
@@ -27,7 +27,7 @@ RICCIO_VIDEO_COLLECTIONS = (
|
|
| 27 |
)
|
| 28 |
|
| 29 |
image = (
|
| 30 |
-
modal.Image.debian_slim(python_version="3.
|
| 31 |
.apt_install("libegl1", "libgl1", "libgles2", "libglib2.0-0")
|
| 32 |
.pip_install(
|
| 33 |
"huggingface-hub>=0.24.0",
|
|
@@ -35,9 +35,9 @@ image = (
|
|
| 35 |
"mediapipe>=0.10.35",
|
| 36 |
"numpy==1.26.4",
|
| 37 |
"opencv-python-headless>=4.10.0",
|
| 38 |
-
"scikit-learn==1.
|
| 39 |
-
"scipy==1.
|
| 40 |
-
"torch
|
| 41 |
)
|
| 42 |
.add_local_dir("src", "/root/src", copy=True)
|
| 43 |
)
|
|
|
|
| 27 |
)
|
| 28 |
|
| 29 |
image = (
|
| 30 |
+
modal.Image.debian_slim(python_version="3.10")
|
| 31 |
.apt_install("libegl1", "libgl1", "libgles2", "libglib2.0-0")
|
| 32 |
.pip_install(
|
| 33 |
"huggingface-hub>=0.24.0",
|
|
|
|
| 35 |
"mediapipe>=0.10.35",
|
| 36 |
"numpy==1.26.4",
|
| 37 |
"opencv-python-headless>=4.10.0",
|
| 38 |
+
"scikit-learn==1.7.2",
|
| 39 |
+
"scipy==1.15.3",
|
| 40 |
+
"torch==2.11.0",
|
| 41 |
)
|
| 42 |
.add_local_dir("src", "/root/src", copy=True)
|
| 43 |
)
|
uv.lock
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|