feat: upgrade to Python 3.13, arm64 base to Ubuntu 26.04

All platforms now use Python 3.13. amd64 installs via deadsnakes PPA on
the Ubuntu 22.04 CUDA base; arm64 gets Python 3.13 natively from Ubuntu
26.04. Verified cp313 wheels exist for onnxruntime-gpu 1.26.0 and
torch 2.12.0+cu126. uv.lock regenerated under CPython 3.13.5.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 04:18:50 +00:00
co-authored by Claude Sonnet 4.6
parent 67b05502b3
commit 34d4780554
7 changed files with 402 additions and 348 deletions
+12 -6
View File
@@ -1,22 +1,22 @@
[project]
name = "winnow"
version = "0.2.3"
version = "0.2.4"
description = "Immich to Frigate training sets"
license = "MIT"
requires-python = ">=3.12"
requires-python = ">=3.13"
authors = [{ name = "Holden Salomon", email = "holden@arch.fyi" }]
keywords = ["immich", "frigate", "face-recognition", "training-data", "arcface", "insightface"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Image Recognition",
]
dependencies = [
"croniter>=5.0.2",
"insightface>=0.7.3",
"nvidia-cudnn-cu12>=9.23.1.3",
"nvidia-cudnn-cu12>=9.0.0",
"numpy>=2.2.6",
"onnxruntime-gpu>=1.23.2",
"opencv-python-headless>=4.12.0.88",
@@ -24,7 +24,8 @@ dependencies = [
"python-dotenv>=1.2.1",
"requests>=2.32.5",
"rich>=14.2.0",
"torch>=2.6.0",
"torch>=2.12.0",
"torchvision>=0.27.0",
"transformers>=4.57.6",
"ultralytics>=8.4.66",
]
@@ -44,6 +45,11 @@ torch = [
{ index = "pytorch-cpu", marker = "sys_platform == 'linux' and platform_machine == 'aarch64'" },
{ index = "pytorch-cpu", marker = "sys_platform != 'linux'" },
]
torchvision = [
{ index = "pytorch-cu126", marker = "sys_platform == 'linux' and platform_machine == 'x86_64'" },
{ index = "pytorch-cpu", marker = "sys_platform == 'linux' and platform_machine == 'aarch64'" },
{ index = "pytorch-cpu", marker = "sys_platform != 'linux'" },
]
[[tool.uv.index]]
name = "pytorch-cu126"
@@ -66,7 +72,7 @@ packages = ["winnow"]
[tool.ruff]
line-length = 120
target-version = "py312"
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "I"]