Files
winnow/pyproject.toml
T

117 lines
2.6 KiB
TOML

[project]
name = "if-curator"
version = "0.1.0"
description = "Immich to Frigate training sets"
license = "MIT"
requires-python = ">=3.12"
authors = [{ name = "sudolulo" }]
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",
"Topic :: Scientific/Engineering :: Image Recognition",
]
dependencies = [
"croniter>=5.0.2",
"insightface>=0.7.3",
"numpy>=2.2.6",
"onnxruntime>=1.23.2",
"opencv-python-headless>=4.12.0.88",
"pillow>=12.1.0",
"python-dotenv>=1.2.1",
"requests>=2.32.5",
"rich>=14.2.0",
]
[project.scripts]
if-curator = "if_curator.cli:main"
[project.urls]
Repository = "https://github.com/sudolulo/if_curator_headless"
[project.optional-dependencies]
cpu = [
"torch>=2.6.0",
]
gpu = [
"onnxruntime-gpu>=1.23.2",
"torch>=2.6.0",
]
object = [
"transformers>=4.57.6",
"ultralytics>=8.3.252",
]
# ── Declare mutually exclusive extras ──
# cpu and gpu cannot be enabled together (they pull torch from different indexes)
# object can be combined with either: --extra cpu --extra object OR --extra gpu --extra object
[tool.uv]
conflicts = [
[
{ extra = "cpu" },
{ extra = "gpu" },
],
]
# ── Per-extra PyTorch index configuration ──
# --extra cpu → CPU-only torch
# --extra gpu → CUDA 12.6 torch
[tool.uv.sources]
torch = [
{ index = "pytorch-cpu", extra = "cpu" },
{ index = "pytorch-cu126", extra = "gpu" },
]
[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true
[[tool.uv.index]]
name = "pytorch-cu126"
url = "https://download.pytorch.org/whl/cu126"
explicit = true
[dependency-groups]
dev = [
"pytest>=8.0",
"ruff>=0.9.2",
]
[tool.hatch.build.targets.wheel]
packages = ["if_curator"]
[tool.ruff]
line-length = 120
target-version = "py312"
[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"
onnxruntime = "onnxruntime"
requests = "requests"
rich = "rich"
torch = "torch"
transformers = "transformers"
ultralytics = "ultralytics"
[tool.deptry.per_rule_ignores]
# onnxruntime-gpu is an optional dep that replaces onnxruntime at runtime
DEP002 = ["onnxruntime-gpu"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"