[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "comfy-cli"
license = { text = "GPL-3.0-only" }
version = "0.0.0"                                            # Will be filled in by the CI/CD pipeline. Check publish_package.py.
requires-python = ">= 3.9"
description = "A CLI tool for installing and using ComfyUI."
readme = "README.md"
keywords = ["comfyui", "stable diffusion"]

maintainers = [
  { name = "Yoland Yan", email = "yoland@drip.art" },
  { name = "James Kwon", email = "hongilkwon316@gmail.com" },
  { name = "Robin Huang", email = "robin@drip.art" },
  { name = "Dr.Lt.Data", email = "dr.lt.data@gmail.com" },
]

classifiers = [
  "Development Status :: 4 - Beta",
  "Intended Audience :: Developers",
  "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
]

dependencies = [
  "charset-normalizer>=3.0.0",
  "GitPython",
  "httpx",
  "mixpanel",
  "packaging",
  "pathspec",
  "psutil",
  "pyyaml",
  "questionary",
  "requests",
  "rich",
  "tomlkit",
  "typer>=0.9.0",
  "typing-extensions>=4.7.0",
  "uv",
  "websocket-client",
  "semver~=3.0.2",
]

[project.optional-dependencies]
dev = ["pre-commit", "pytest", "ruff"]

[project.scripts]
comfy = "comfy_cli.__main__:main"
comfy-cli = "comfy_cli.__main__:main"
comfycli = "comfy_cli.__main__:main"

[project.urls]
Repository = "https://github.com/drip-art/comfy-cli.git"

[tool.setuptools.packages.find]
where = ["."]
include = ["comfy_cli*"]

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

[tool.ruff.lint]
select = [
  "E4", # default
  "E7", # default
  "E9", # default
  "F",  # default
  "I",  # isort-like behavior (import statement sorting)
]
