127 lines
3.7 KiB
TOML
127 lines
3.7 KiB
TOML
[project]
|
|
name = "comfyui_vlm_nodes"
|
|
version = "3.5.0"
|
|
description = "Production-ready local and API vision-language nodes for ComfyUI"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = "Apache-2.0"
|
|
license-files = ["LICENSE"]
|
|
dependencies = [
|
|
"accelerate>=1.1,<2",
|
|
"bitsandbytes>=0.50,<1; (sys_platform == 'linux' and platform_machine == 'x86_64') or (sys_platform == 'linux' and platform_machine == 'aarch64') or (sys_platform == 'win32' and platform_machine == 'AMD64') or (sys_platform == 'win32' and platform_machine == 'ARM64') or (sys_platform == 'darwin' and platform_machine == 'arm64')",
|
|
"diffusers>=0.34,<1",
|
|
"einops>=0.8,<1",
|
|
"huggingface-hub>=1.5,<2",
|
|
"httpx>=0.27,<1",
|
|
"jsonschema>=4.22,<5",
|
|
"num2words>=0.5.14,<1",
|
|
"openai>=2,<3",
|
|
"pydantic>=2.7,<3",
|
|
"qwen-vl-utils>=0.0.14",
|
|
"safetensors>=0.4.3",
|
|
"scipy>=1.10,<2",
|
|
"soundfile>=0.12",
|
|
"symusic>=0.5",
|
|
"svgelements>=1.9.6,<2",
|
|
"transformers>=5.4,<6",
|
|
]
|
|
classifiers = [
|
|
"Operating System :: Microsoft :: Windows",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Operating System :: MacOS",
|
|
"Environment :: GPU :: NVIDIA CUDA",
|
|
"Environment :: GPU :: AMD ROCm",
|
|
"Environment :: GPU :: Intel Arc",
|
|
"Environment :: GPU :: Apple Metal",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
quantization = [
|
|
"accelerate>=1.1,<2",
|
|
"bitsandbytes>=0.50,<1",
|
|
]
|
|
gguf = [
|
|
"llama-cpp-python>=0.3.20,<1",
|
|
]
|
|
robotics-client = [
|
|
"msgpack>=1.0.8,<2",
|
|
"pyzmq>=26,<28",
|
|
"websockets>=14,<17",
|
|
]
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/gokayfem/ComfyUI_VLM_nodes"
|
|
Issues = "https://github.com/gokayfem/ComfyUI_VLM_nodes/issues"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
# manual_*.py download multi-gigabyte checkpoints and are run by hand.
|
|
python_files = ["test_*.py"]
|
|
addopts = "-ra --strict-markers --strict-config"
|
|
filterwarnings = ["default"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
# nodes/joytagger is vendored upstream code kept byte-compatible with its
|
|
# source, including tab indentation. Reformatting it would break that.
|
|
extend-exclude = ["nodes/joytagger"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "W", "I", "UP", "C4", "B", "SIM"]
|
|
ignore = [
|
|
# zip(strict=) changes behaviour when lengths differ; enabling it needs a
|
|
# per-call-site audit rather than a blanket flag.
|
|
"B905",
|
|
# The streaming closures in modern_vlm are started and joined inside the
|
|
# same loop iteration, so the loop variable cannot change under them.
|
|
"B023",
|
|
# try/except/pass around optional backends stays readable as-is;
|
|
# contextlib.suppress would hide which dependency is being probed.
|
|
"SIM105",
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# Prompt templates are data. Rewrapping them changes the model input.
|
|
"nodes/prompts.py" = ["E501"]
|
|
# The manual smoke scripts must bootstrap the package onto sys.path before
|
|
# they can import from it.
|
|
"tests/manual_*.py" = ["E402"]
|
|
|
|
[tool.comfy]
|
|
PublisherId = "gokayfem"
|
|
DisplayName = "ComfyUI VLM Nodes"
|
|
Icon = ""
|
|
|
|
[tool.setuptools]
|
|
packages = [
|
|
"comfyui_vlm_nodes",
|
|
"comfyui_vlm_nodes.examples",
|
|
"comfyui_vlm_nodes.examples.robotics",
|
|
"comfyui_vlm_nodes.examples.vision",
|
|
"comfyui_vlm_nodes.nodes",
|
|
"comfyui_vlm_nodes.nodes.joytagger",
|
|
"comfyui_vlm_nodes.web",
|
|
"comfyui_vlm_nodes.web.js",
|
|
]
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.package-dir]
|
|
comfyui_vlm_nodes = "."
|
|
|
|
[tool.setuptools.package-data]
|
|
comfyui_vlm_nodes = [
|
|
"*.json",
|
|
"SECURITY.md",
|
|
"examples/*.json",
|
|
"examples/robotics/*.py",
|
|
"examples/robotics/*.md",
|
|
"examples/robotics/*.json",
|
|
"examples/vision/*.json",
|
|
"requirements*.txt",
|
|
]
|
|
"comfyui_vlm_nodes.web.js" = ["*.js"]
|