ComfyUI/pyproject.toml

134 lines
3.2 KiB
TOML

[build-system]
requires = ["setuptools>=61.0.0", "wheel", "uv"]
build-backend = "setuptools.build_meta"
[project]
name = "comfyui"
version = "0.3.30"
description = "The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface."
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.9"
authors = [
{ name = "ComfyUI Team", email = "contact@comfy.org" }
]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Multimedia :: Graphics",
]
dependencies = [
"comfyui-frontend-package==1.18.5",
"comfyui-workflow-templates==0.1.3",
"torch>=2.0.0",
"torchsde",
"torchvision",
"torchaudio",
"numpy>=1.25.0",
"einops",
"transformers>=4.28.1",
"tokenizers>=0.13.3",
"sentencepiece",
"safetensors>=0.4.2",
"aiohttp>=3.11.8",
"yarl>=1.18.0",
"pyyaml",
"Pillow",
"scipy",
"tqdm",
"psutil",
"opencv-python>=4.8.0",
"flash-attn>=2.3.0",
]
[project.optional-dependencies]
gpu = [
"nvidia-cuda-runtime-cu12>=12.0.0",
"nvidia-cuda-nvrtc-cu12>=12.0.0",
"nvidia-cudnn-cu12>=8.9.0",
"nvidia-cublas-cu12>=12.0.0",
"nvidia-cufft-cu12>=11.0.0",
"nvidia-curand-cu12>=10.3.0",
"nvidia-cusolver-cu12>=11.4.0",
"nvidia-cusparse-cu12>=12.1.0",
"nvidia-nccl-cu12>=2.18.0",
"nvidia-nvtx-cu12>=12.0.0",
]
advanced = [
"kornia>=0.7.1",
"spandrel",
"soundfile",
"av>=14.2.0",
"pydantic~=2.0",
]
dev = [
"pytest>=7.0.0",
"black>=23.0.0",
"isort>=5.12.0",
"ruff>=0.0.272",
]
[project.urls]
homepage = "https://www.comfy.org/"
repository = "https://github.com/comfyanonymous/ComfyUI"
documentation = "https://docs.comfy.org/"
changelog = "https://github.com/comfyanonymous/ComfyUI/releases"
[project.scripts]
comfyui = "comfyui.cli:main"
[tool.ruff]
lint.select = [
"N805", # invalid-first-argument-name-for-method
"S307", # suspicious-eval-usage
"S102", # exec
"T", # print-usage
"W",
# The "F" series in Ruff stands for "Pyflakes" rules, which catch various Python syntax errors and undefined names.
# See all rules here: https://docs.astral.sh/ruff/rules/#pyflakes-f
"F",
]
exclude = ["*.ipynb"]
[tool.setuptools]
packages = ["comfyui"]
package-dir = {"comfyui" = "."}
include-package-data = true
[tool.setuptools.package-data]
comfyui = [
"models/**/*",
"output/**/*",
"temp/**/*",
"input/**/*",
"custom_nodes/**/*",
"*.py",
"api_server/**/*",
"app/**/*",
"comfy/**/*",
"comfy_extras/**/*",
"comfy_execution/**/*",
"utils/**/*",
]
[tool.uv]
# UV-specific configurations
python = "3.11"
system = false
verbosity = 1
threads = "auto"
lockfile = "UV-req-lock.txt"
[tool.uv.dependencies]
# Core dependencies redirected to main project dependencies
torch = { version = ">=2.3.0", source = "pytorch" }
[tool.uv.sources]
pytorch = { url = "https://download.pytorch.org/whl/cu121" }