112 lines
3.9 KiB
TOML
112 lines
3.9 KiB
TOML
[project]
|
||
name = "comfyui-wildcard-pipeline"
|
||
version = "2.1.0"
|
||
description = "Modular procedural prompt generation for ComfyUI — wildcards, constraints, derivations, and context pipelines."
|
||
readme = "README.md"
|
||
requires-python = ">=3.10"
|
||
license = { text = "GPL-3.0-or-later" }
|
||
authors = [{ name = "DumiFlex" }]
|
||
keywords = ["comfyui", "wildcards", "prompt-generation", "stable-diffusion"]
|
||
classifiers = [
|
||
"Development Status :: 3 - Alpha",
|
||
"Intended Audience :: End Users/Desktop",
|
||
"Programming Language :: Python :: 3",
|
||
"Programming Language :: Python :: 3.10",
|
||
"Programming Language :: Python :: 3.11",
|
||
"Programming Language :: Python :: 3.12",
|
||
]
|
||
dependencies = []
|
||
|
||
[project.optional-dependencies]
|
||
dev = [
|
||
"pytest>=8.0",
|
||
"pytest-aiohttp>=1.0",
|
||
"pytest-asyncio>=0.23",
|
||
"ruff>=0.5",
|
||
]
|
||
|
||
[project.urls]
|
||
Homepage = "https://github.com/DumiFlex/ComfyUI-Wildcard-Pipeline"
|
||
Repository = "https://github.com/DumiFlex/ComfyUI-Wildcard-Pipeline"
|
||
Issues = "https://github.com/DumiFlex/ComfyUI-Wildcard-Pipeline/issues"
|
||
|
||
[tool.comfy]
|
||
PublisherId = "dumiflex"
|
||
DisplayName = "Wildcard Pipeline"
|
||
# Square node icon shown next to the listing in the ComfyUI Manager.
|
||
# Max 400×400 per the Registry spec. SVG so it scales without the
|
||
# Manager refetching at higher DPI.
|
||
Icon = "https://raw.githubusercontent.com/DumiFlex/ComfyUI-Wildcard-Pipeline/main/public/images/favicon.svg"
|
||
# Wide promotional banner — 21:9 spec. Our SVG is 1400×600 (≈2.33:1)
|
||
# which renders crisp on the registry listing card. Local file at
|
||
# public/images/comfy-banner.svg, served by GitHub raw so the
|
||
# Registry resolves a stable URL between releases.
|
||
Banner = "https://raw.githubusercontent.com/DumiFlex/ComfyUI-Wildcard-Pipeline/main/public/images/comfy-banner.svg"
|
||
|
||
# ComfyUI version floor. The pack uses the V3 io.* schema (custom
|
||
# types via @comfytype, ComfyTypeIO subclasses, NodeOutput / io.Schema
|
||
# class-based handlers) — landed in ComfyUI ≥0.3.36 per the
|
||
# release notes. Pin to that floor so the Manager warns users on
|
||
# older runtimes instead of installing then crashing at import.
|
||
requires-comfyui = ">=0.3.36"
|
||
|
||
# Force-include built artifacts that are gitignored so the publish
|
||
# action's "everything git tracks" default would otherwise drop them.
|
||
# js/ + web/ are the Vite output trees that the extension + manager
|
||
# SPA load at runtime; without them the canvas widgets fail to mount
|
||
# and the sidebar SPA route 404s.
|
||
includes = ["js", "web"]
|
||
|
||
[tool.ruff]
|
||
line-length = 100
|
||
target-version = "py310"
|
||
extend-exclude = ["js", "web", "node_modules"]
|
||
|
||
[tool.ruff.lint]
|
||
select = ["E", "F", "I", "UP", "B"]
|
||
ignore = []
|
||
|
||
[tool.pyright]
|
||
# conftest.py prepends the project root to sys.path; mirror that for Pyright
|
||
# so `from engine.template import ...` resolves in tests and editor.
|
||
extraPaths = ["."]
|
||
include = ["engine", "wp_nodes", "tests", "conftest.py"]
|
||
exclude = ["node_modules", "js", "web", ".venv", "**/__pycache__"]
|
||
|
||
# Dispatch-pattern handlers (engine.handlers.handle_*) share a uniform
|
||
# signature `(module, ctx, rng) -> Context`; handlers that don't consume
|
||
# randomness still accept rng for parity. Suppress the unused-param warning
|
||
# at the project level instead of decorating every handler.
|
||
reportUnusedParameter = "none"
|
||
|
||
[tool.pytest.ini_options]
|
||
minversion = "8.0"
|
||
testpaths = ["tests"]
|
||
addopts = "-ra -q -m 'not fuzz and not perf'"
|
||
python_files = ["test_*.py"]
|
||
python_classes = ["Test*"]
|
||
python_functions = ["test_*"]
|
||
asyncio_mode = "auto"
|
||
markers = [
|
||
"fuzz: long-running fuzz tests (opt-in via -m fuzz)",
|
||
"perf: performance regression tests (opt-in via -m perf)",
|
||
]
|
||
|
||
[build-system]
|
||
requires = ["setuptools>=68"]
|
||
build-backend = "setuptools.build_meta"
|
||
|
||
[tool.coverage.run]
|
||
source = ["engine", "wp_api"]
|
||
omit = [
|
||
"engine/db/migrations_sql/*",
|
||
"engine/handlers.py",
|
||
"engine/template.py",
|
||
"engine/pipeline.py",
|
||
"engine/context.py",
|
||
]
|
||
|
||
[tool.coverage.report]
|
||
fail_under = 80
|
||
show_missing = true
|