Files
sermon-clean/pyproject.toml
T
sami7777 cea6005bf4 Initial commit: sermon-clean v0.1.0
Find, cut, paste replacements in sermon audio.
- engine.py: SermonClean core (BadSegment, trim, concat, splice verify)
- cli.py: find/cut/paste/pipe subcommands
- elevenlabs.py: optional ElevenLabs rendering hook
- 25 tests passing (timestamp parsing, BadSegment validation, end-to-end trim on real audio)
- pyproject.toml: pip-installable; dep only on ffmpeg/ffprobe system-wide
- README + LICENSE (MIT) + examples/segs.json

Validated against the krystie audio cache (OGG/Opus 48kHz mono).
2026-07-27 02:40:18 -07:00

56 lines
1.5 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "sermon-clean"
version = "0.1.0"
description = "Find bad segments in sermon audio, cut them out, splice in ElevenLabs replacements."
readme = "README.md"
requires-python = ">=3.9"
license = {text = "MIT"}
authors = [
{name = "Sami Ahmed", email = "hello@sami-ahmed.net"},
]
keywords = ["audio", "ffmpeg", "sermon", "editing", "elevenlabs"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: MIT License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Multimedia :: Sound/Audio :: Editors",
]
# Runtime dependencies — requests is only needed if you use ElevenLabs rendering.
# ffmpeg / ffprobe must be installed system-wide.
dependencies = [
"requests>=2.31",
]
[project.optional-dependencies]
# Whisper integration (optional, adds auto-detect mode)
auto = [
"faster-whisper>=1.0.0",
]
test = [
"pytest>=7.0",
]
[project.scripts]
sermon-clean = "sermon_clean.cli:main"
[project.urls]
Homepage = "https://git.sami/sami7777/sermon-clean"
Issues = "https://git.sami/sami7777/sermon-clean/issues"
[tool.setuptools]
packages = ["sermon_clean"]
[tool.setuptools.package-data]
sermon_clean = ["py.typed"]