mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-03-15 05:57:37 +08:00
* feat(cli): expand --uv-compile to all node management commands with conflict attribution Add --uv-compile flag to reinstall, update, fix, restore-snapshot, restore-dependencies, and install-deps commands. Each skips per-node pip installs and runs batch uv pip compile after all operations. Change CollectedDeps.sources type to dict[str, list[tuple[str, str]]] to store (pack_path, pkg_spec) per requester. On resolution failure, _run_unified_resolve() cross-references conflict packages with sources using word-boundary regex and displays which node packs requested each conflicting package. Update EN/KO user docs and DESIGN/PRD developer docs to cover the expanded commands and conflict attribution output. Strengthen unit tests for sources tuple format and compile failure attribution. Bump version to 4.1b3. * refactor(cli): extract _finalize_resolve helper, add CNR nightly fallback and pydantic guard - Extract `_finalize_resolve()` to eliminate 7x duplicated uv-compile error handling blocks in cm_cli (~-85 lines) - Move conflict attribution regex to `attribute_conflicts()` in unified_dep_resolver.py for direct testability - Update 4 attribution tests to call production function instead of re-implementing regex - Add CNR nightly fallback: when node is absent from nightly manifest, fall back to cnr_map repository URL (glob + legacy) - Add pydantic Union guard: use getattr for is_unknown in uninstall and disable handlers to prevent Union type mismatch - Add E2E test suites for endpoint install/uninstall and uv-compile CLI commands (conflict + success cases) - Add nightly CNR fallback regression tests
66 lines
1.5 KiB
TOML
66 lines
1.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools >= 61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "comfyui-manager"
|
|
license = { text = "GPL-3.0-only" }
|
|
version = "4.1b3"
|
|
requires-python = ">= 3.9"
|
|
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
|
|
readme = "README.md"
|
|
keywords = ["comfyui", "comfyui-manager"]
|
|
|
|
maintainers = [
|
|
{ name = "Dr.Lt.Data", email = "dr.lt.data@gmail.com" },
|
|
{ name = "Yoland Yan", email = "yoland@comfy.org" },
|
|
{ name = "James Kwon", email = "hongilkwon316@gmail.com" },
|
|
{ name = "Robin Huang", email = "robin@comfy.org" },
|
|
]
|
|
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
]
|
|
|
|
dependencies = [
|
|
"GitPython",
|
|
"PyGithub",
|
|
# "matrix-nio",
|
|
"transformers",
|
|
"huggingface-hub>0.20",
|
|
"typer",
|
|
"rich",
|
|
"typing-extensions",
|
|
"toml",
|
|
"uv",
|
|
"chardet"
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = ["pre-commit", "pytest", "ruff", "pytest-cov"]
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/ltdrdata/ComfyUI-Manager"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["comfyui_manager*", "cm_cli*"]
|
|
|
|
[project.scripts]
|
|
cm-cli = "cm_cli:main"
|
|
|
|
[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)
|
|
]
|