Files
DumiFlex-ComfyUI-Wildcard-P…/pyproject.toml
T

112 lines
3.9 KiB
TOML
Raw 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-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