Files
Azornes-Comfyui-Model-Resolver/pyproject.toml
T
2026-08-11 04:39:10 +02:00

91 lines
3.1 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[project]
name = "Comfyui-Model-Resolver"
description = "ComfyUI extension for automatically resolving missing models in loaded workflows. It features intelligent local fuzzy matching, direct cloud downloads, background download tracking, and automated in-place workflow updating."
version = "1.2.0"
license = { text = "MIT License" }
requires-python = ">=3.10"
dynamic = ["dependencies"]
[project.urls]
Repository = "https://github.com/Azornes/Comfyui-Model-Resolver"
Documentation = "https://github.com/Azornes/Comfyui-Model-Resolver/wiki"
"Bug Tracker" = "https://github.com/Azornes/Comfyui-Model-Resolver/issues"
[tool.setuptools.dynamic]
dependencies = { file = ["requirements.txt"] }
[project.optional-dependencies]
dev = [
"pytest>=8.0,<9.0",
"pytest-cov>=5.0,<8.0",
"coverage>=7.0,<8.0",
"ruff>=0.9,<1.0",
]
[tool.comfy]
PublisherId = "azornes"
DisplayName = "Comfyui Model Resolver"
Icon = ""
requires-comfyui = ">=0.26.0"
# ---------------------------------------------------------------------------
# Ruff – static analysis for Python
# ---------------------------------------------------------------------------
[tool.ruff]
target-version = "py310"
line-length = 120
[tool.ruff.lint]
# Rule sets:
# E/W – pycodestyle errors & warnings
# F – pyflakes
# I – isort (import sorting)
# B – flake8-bugbear
# SIM – flake8-simplify
# UP – pyupgrade
# RUF – Ruff-specific rules
select = ["E", "W", "F", "I", "B", "SIM", "UP", "RUF"]
ignore = [
"E501", # line-too-long – handled by formatter / not enforced
"E402", # module-import-not-at-top – ComfyUI entry point needs late imports
"W293", # blank-line-with-whitespace – CRLF artifacts on indented blank lines
"B023", # function-uses-loop-variable – intentional in callback patterns
"SIM105", # suppressible-exception – contextlib.suppress not always clearer
"SIM108", # if-else-block-instead-of-if-exp – readability preference
"UP006", # non-pep585-annotation – project targets >=3.10 but uses typing compat
"UP035", # deprecated-import – typing compat kept for clarity
"RUF013", # implicit-optional – existing API signatures
"UP045", # non-pep604-annotation-optional – existing code uses Optional[X]
"UP038", # non-pep604-isinstance – existing isinstance(x, (A, B)) patterns
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = [
"F401", # unused-import – re-exports
"E402", # module-import-not-at-top – ComfyUI entry point structure
"F811", # redefined-while-unused – re-exports / conditional imports
]
"tests/*" = [
"B011", # assert-false – ok in tests
"SIM300", # yoda-conditions – ok in tests
]
[tool.ruff.lint.isort]
known-first-party = ["core"]
# ---------------------------------------------------------------------------
# Coverage – developer-only test reporting
# ---------------------------------------------------------------------------
[tool.coverage.run]
branch = true
source = ["core"]
[tool.coverage.report]
show_missing = true
skip_covered = false
exclude_also = [
"if TYPE_CHECKING:",
"raise NotImplementedError",
]