onnxruntime-gpu has no arm64 wheels (manylinux_2_27_x86_64 / manylinux_2_28_x86_64 only). uv sync --frozen failed on the arm64 image with exit code 2. Gated onnxruntime-gpu behind the x86_64 marker; arm64 and non-Linux use the CPU onnxruntime package. Added required-environments so the lockfile is solved for both platforms. Removed onnxruntime-gpu from override-dependencies (it had no marker support and blocked arm64 resolution). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
113 lines
3.1 KiB
TOML
113 lines
3.1 KiB
TOML
[project]
|
|
name = "winnow"
|
|
version = "0.2.9"
|
|
description = "Immich to Frigate training sets"
|
|
license = "AGPL-3.0-or-later"
|
|
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 :: GNU Affero General Public License v3 or later (AGPLv3+)",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Scientific/Engineering :: Image Recognition",
|
|
]
|
|
dependencies = [
|
|
"croniter>=5.0.2",
|
|
"insightface>=0.7.3",
|
|
"nvidia-cudnn-cu12>=9.0.0",
|
|
"numpy>=2.2.6",
|
|
"onnxruntime-gpu>=1.23.2; sys_platform == 'linux' and platform_machine == 'x86_64'",
|
|
"onnxruntime>=1.23.2; sys_platform == 'linux' and platform_machine != 'x86_64'",
|
|
"onnxruntime>=1.23.2; sys_platform != 'linux'",
|
|
"opencv-python-headless>=4.12.0.88",
|
|
"pillow>=12.1.0",
|
|
"python-dotenv>=1.2.1",
|
|
"requests>=2.32.5",
|
|
"rich>=14.2.0",
|
|
"torch>=2.12.0",
|
|
"torchvision>=0.27.0",
|
|
"transformers>=4.57.6",
|
|
"ultralytics>=8.4.66",
|
|
]
|
|
|
|
[project.scripts]
|
|
winnow = "winnow.cli:main"
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/sudolulo/winnow"
|
|
|
|
[tool.uv]
|
|
override-dependencies = ["onnxruntime>=1.23.2"]
|
|
required-environments = [
|
|
"sys_platform == 'linux' and platform_machine == 'x86_64'",
|
|
"sys_platform == 'linux' and platform_machine == 'aarch64'",
|
|
]
|
|
|
|
[tool.uv.sources]
|
|
torch = [
|
|
{ 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'" },
|
|
]
|
|
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"
|
|
url = "https://download.pytorch.org/whl/cu126"
|
|
explicit = true
|
|
|
|
[[tool.uv.index]]
|
|
name = "pytorch-cpu"
|
|
url = "https://download.pytorch.org/whl/cpu"
|
|
explicit = true
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"ruff>=0.15.17",
|
|
]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["winnow"]
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py313"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I"]
|
|
|
|
[tool.deptry]
|
|
pep621_dev_dependency_groups = ["dev"]
|
|
|
|
[tool.deptry.package_module_name_map]
|
|
pillow = "PIL"
|
|
opencv-python-headless = "cv2"
|
|
python-dotenv = "dotenv"
|
|
insightface = "insightface"
|
|
numpy = "numpy"
|
|
nvidia-cudnn-cu12 = "nvidia.cudnn"
|
|
onnxruntime-gpu = "onnxruntime"
|
|
requests = "requests"
|
|
rich = "rich"
|
|
torch = "torch"
|
|
transformers = "transformers"
|
|
ultralytics = "ultralytics"
|
|
|
|
[tool.deptry.per_rule_ignores]
|
|
DEP002 = ["onnxruntime-gpu", "nvidia-cudnn-cu12"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|