perfect-postcode/video/tts/pyproject.toml
2026-07-14 19:28:09 +01:00

20 lines
1.2 KiB
TOML

[project]
name = "property-map-video-tts"
version = "0.1.0"
description = "Chatterbox narration generator + ffmpeg muxer for the homepage demo video."
requires-python = ">=3.12"
# Deliberately dependency-free. synth.py talks to the Chatterbox TTS server
# over HTTP (urllib) and reads WAV headers with the stdlib `wave` module;
# mux.py shells out to ffmpeg. The previous Qwen3-TTS implementation ran the
# model in-process, which dragged in torch + torchaudio + a CUDA-matched
# flash-attn wheel (~700MB of downloads, pinned to the host's driver version
# and to cp312). Generating over HTTP moved all of that onto the server.
#
# Nothing here pins a platform or an interpreter ceiling on purpose: the old
# `[tool.uv] environments` marker existed only to keep torch/torchaudio/
# flash-attn resolving to linux + cp312. Left in place it would outlive its
# reason and break the build, because it caps the LOCK at python < 3.14 while
# requires-python lets uv pick a newer interpreter: `uv sync` then fails with
# "the current Python platform is not compatible with the lockfile's supported
# environments" and render.sh aborts before synthesising a single cue.
dependencies = []