[project]
name = "pi-tagger-space"
version = "0.1.0"
authors = [
  { name = "Andi Powers-Holmes", email = "aholmes@omnom.net" },
]
maintainers = [
  { name = "Andi Powers-Holmes", email = "aholmes@omnom.net" },
]
description = "pi-tagger Gradio Space"
readme = "README.md"
requires-python = ">=3.9, <3.11"
keywords = [
  "deep-learning",
  "machine-learning",
  "pytorch",
]
license = { file = "LICENSE.md" }
classifiers = [
  "Programming Language :: Python :: 3",
  "License :: OSI Approved :: MIT License",
]
dependencies = [
  "gradio >=4.19.2, < 5.0.0",
  "hf-transfer",
  "huggingface-hub >= 0.14.0",
  "numpy >= 1.23.5",
  "onnxruntime-gpu >= 1.14.1",
  "pandas >= 2.0.0",
  "Pillow >= 9.5.0",
]

[project.urls]
Repository = "https://huggingface.co/spaces/neggles/pi-tagger"

[project.optional-dependencies]
dev = [
  "ruff >=0.0.289",
  "setuptools-scm >= 8.0.0",
  "pre-commit >= 3.0.0",     # remember to run `pre-commit install` after installing
  "tabulate >= 0.8.9",       # for inductor log prettyprinting
]
all = [
  "pi-tagger-space[dev]",
]

[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools>=64", "wheel"]

[tool.setuptools.packages.find]
namespaces = true
where = ["."]
include = ["pi-tagger"]


[tool.ruff]
line-length = 110
target-version = "py310"
extend-exclude = ["/usr/lib/*"]

[tool.ruff.lint]
ignore = [
  "F841", # local variable assigned but never used
  "F842", # local variable annotated but never used
  "E501", # line too long - will be fixed in format
]

[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "auto"
skip-magic-trailing-comma = false
docstring-code-format = true

[tool.ruff.lint.isort]
combine-as-imports = true
force-wrap-aliases = true
known-local-folder = ["pi-tagger"]
known-first-party = ["pi-tagger"]


[tool.pyright]
include = ["src/**"]
exclude = ["/usr/lib/**"]
stubPath = "./typings"