[project]
name = "immich_model_exporter"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10, <4.0"
dependencies = [
  "huggingface-hub>=0.29.3",
  "multilingual-clip>=1.0.10",
  "onnx>=1.14.1",
  "onnxruntime>=1.16.0",
  "open-clip-torch>=2.31.0",
  "typer>=0.15.2",
  "rknn-toolkit2>=2.3.0",
  "transformers>=4.49.0",
  "tenacity>=9.0.0",
  "clip-benchmark>=1.6.1",
  "polars>=1.25.2",
]

[dependency-groups]
dev = ["black>=23.3.0", "mypy>=1.3.0", "ruff>=0.0.272"]

[tool.uv]
override-dependencies = [
  "onnx>=1.16.0,<2",
  "onnxruntime>=1.18.2,<2",
  "torch>=2.4",
  "torchvision>=0.21",
]

[tool.hatch.build.targets.sdist]
include = ["immich_model_exporter"]

[tool.hatch.build.targets.wheel]
include = ["immich_model_exporter"]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.mypy]
python_version = "3.12"
follow_imports = "silent"
warn_redundant_casts = true
disallow_any_generics = true
check_untyped_defs = true
disallow_untyped_defs = true
ignore_missing_imports = true

[tool.ruff]
line-length = 120
target-version = "py312"

[tool.ruff.lint]
select = ["E", "F", "I"]

[tool.black]
line-length = 120
target-version = ['py312']