Files
kunail0804-ComfyUI-Scene-Co…/pyproject.toml
T
f098259b8e build: prepare the Version 1.0.0 release (#32) (#76)
Finalize packaging and release readiness (MASTER_SPEC Phase 8, §7.8, §28).

- pyproject.toml: bump version to 1.0.0; ship the JSON Schemas as package data
  and enable include-package-data.
- MANIFEST.in: include the data directories (schemas, knowledge_base, prompts,
  config, examples, docs) in the source distribution.
- CHANGELOG.md: 1.0.0 release notes.
- docs/definition_of_done.md: the §7.8 Definition-of-Done checklist mapped to
  evidence, with the ComfyUI visual check and the tag/release step flagged as the
  remaining manual steps.
- tests/test_release_readiness.py: assert the version, changelog, DoD doc, and
  that every schema / Knowledge Base / config / prompt data file is present and
  declared for packaging.

Verified: `python -m build --sdist` produces comfyui_scene_compiler-1.0.0 with
all 13 Knowledge Base files, 10 schemas, the system prompt, and the default
config bundled. Tagging v1.0.0 and publishing the release are intentionally left
to a human after the ComfyUI visual check.

Co-authored-by: kunail0804 <kunail0804@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 14:18:33 +02:00

68 lines
2.0 KiB
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "comfyui-scene-compiler"
version = "1.0.0"
description = "Deterministic natural-language-to-prompt compiler for ComfyUI (Illustrious)."
readme = "README.md"
requires-python = ">=3.11"
license = { file = "LICENSE" }
authors = [{ name = "kunail0804" }]
# Runtime dependencies are kept minimal; prefer the standard library (MASTER_SPEC §25.9).
# jsonschema is the single validation dependency, used by the schema layer (issue #2 onward).
dependencies = [
"jsonschema>=4.18",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"ruff>=0.6",
]
[project.urls]
Homepage = "https://github.com/kunail0804/ComfyUI-Scene-Compiler"
Wiki = "https://github.com/kunail0804/ComfyUI-Scene-Compiler/wiki"
# The repository root is a ComfyUI custom node; its subdirectories are the importable
# packages. We enumerate them explicitly so packaging does not treat data directories
# (knowledge_base/, prompts/, ...) as Python packages.
[tool.setuptools]
packages = [
"nodes",
"compiler",
"compiler.analyzer",
"compiler.validator",
"compiler.resolver",
"compiler.splitter",
"compiler.builder",
"compiler.common",
"schemas",
]
# The JSON Schemas ship inside the importable `schemas` package. The remaining
# data directories (knowledge_base/, prompts/, config/, examples/) are not Python
# packages and are included in the sdist via MANIFEST.in; in a ComfyUI install the
# whole repository is present on disk.
include-package-data = true
[tool.setuptools.package-data]
schemas = ["json/*.schema.json"]
[tool.ruff]
target-version = "py311"
line-length = 100
[tool.ruff.lint]
# E/W pycodestyle, F pyflakes, I import sorting, UP pyupgrade, B bugbear.
select = ["E", "W", "F", "I", "UP", "B"]
[tool.pytest.ini_options]
testpaths = ["tests"]
# Put the repository root on sys.path so `import compiler`, `import schemas`, etc.
# resolve as top-level packages during tests (the root itself is loaded by ComfyUI
# by path, not by name).
pythonpath = ["."]