Files
wildminder-ComfyUI-KEEP/pyproject.toml
T
WildAi 12f8ba8c16 plan(P1.5): add the CI workflow with real install steps
.github/workflows/tests.yml:
- lint job: pip install 'ruff==0.8.*' (pinned major) + ruff check .
- test job: matrix python 3.10/3.12/3.13, CPU torch + torchvision from the
  pytorch CPU index, numpy<2.3 and tomli on 3.10 only, opencv-python-headless,
  einops, scipy, Pillow, tqdm, pytest; runs
  python -m pytest -q -m 'unit or mock_integration or headless' with
  COMFYUI_ROOT empty so the env-dependent tests skip
- publish.yml untouched
pyproject.toml: [tool.ruff] scope (E9+F, F401/F541 ignored) and the vendored
tree modules/deps excluded - with the default rules the repo has 127 findings.
tests/test_ci_workflow.py: parses the workflow and asserts the jobs, the
matrix, the install steps, COMFYUI_ROOT='' and that the CI command equals the
local gate command.
2026-10-23 15:55:10 +03:00

50 lines
2.0 KiB
TOML

[project]
name = "ComfyUI-KEEP"
description = "Kalman-Inspired Feature Propagation for Video Face Super-Resolution"
version = "1.1.0"
license = {file = "LICENSE"}
dependencies = ["addict", "future", "lmdb", "numpy", "opencv-python", "Pillow", "pyyaml", "scikit-image", "scipy", "torch", "torchvision", "tqdm", "yapf", "ffmpeg-python"]
[project.urls]
Repository = "https://github.com/wildminder/ComfyUI-KEEP"
# Used by Comfy Registry https://comfyregistry.org
[tool.comfy]
PublisherId = "wildai"
DisplayName = "ComfyUI-KEEP"
Icon = ""
# P1.1 - pytest harness configuration.
# The four markers are the tiers of the modernization plan (section 4):
# unit - pure logic, no ComfyUI dependency
# mock_integration - node execute paths against the root conftest mocks
# headless - real ComfyUI source tree on sys.path, no server
# gpu_acceptance - opt-in real-weight run (RUN_KEEP_E2E + KEEP_MODEL_DIR)
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short --import-mode=importlib"
consider_namespace_packages = true
pythonpath = ["."]
markers = [
"unit: Pure unit test (no ComfyUI dependency)",
"mock_integration: Mock-based integration test (node execute paths against the conftest mocks)",
"headless: Requires the real ComfyUI source tree on sys.path (no server)",
"gpu_acceptance: Opt-in real-weight run (RUN_KEEP_E2E=1 and KEEP_MODEL_DIR)",
]
# P1.5 - the lint gate of .github/workflows/tests.yml.
# Scope decision (same as the reference pack ComfyUI-DyPE): the gate covers the
# *correctness* rules (pyflakes F + syntax errors E9). The vendored
# third-party tree (modules/deps) is excluded - it is upstream code, not ours.
[tool.ruff]
target-version = "py310"
line-length = 120
extend-exclude = ["modules/deps"]
[tool.ruff.lint]
select = ["E9", "F"]
# F401 (unused import) and F541 (f-string without placeholders) are style
# findings in the *existing* production code; they are cleaned up in the
# production phases (P4.7), not in the test-infrastructure phase.
ignore = ["F401", "F541"]