chore: scaffold karaoke-maker package

This commit is contained in:
2026-07-25 19:05:10 -07:00
commit 7448c97e20
5 changed files with 65 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
__pycache__/
*.egg-info/
.venv/
work/
output/
.pytest_cache/
+38
View File
@@ -0,0 +1,38 @@
[project]
name = "karaoke-maker"
version = "0.1.0"
description = "Generate UltraStar/Melody Mania karaoke songs from a video and reference lyrics"
requires-python = ">=3.11"
dependencies = [
"yt-dlp",
"demucs",
"torch",
"torchaudio",
"torchcrepe",
"librosa",
"soundfile",
"numpy",
"pyphen",
"num2words",
"httpx",
"fastapi",
"uvicorn",
"python-multipart",
"pillow",
]
[project.optional-dependencies]
dev = ["pytest"]
[project.scripts]
karaoke-maker = "karaoke_maker.cli:main"
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
testpaths = ["tests"]
View File
+16
View File
@@ -0,0 +1,16 @@
import argparse
from importlib.metadata import version
def build_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(prog="karaoke-maker")
parser.add_argument("--version", action="store_true")
parser.add_subparsers(dest="command")
return parser
def main(argv: list[str] | None = None) -> int:
args = build_parser().parse_args(argv)
if args.version:
print(f"karaoke-maker {version('karaoke-maker')}")
return 0
build_parser().print_help()
return 0
+5
View File
@@ -0,0 +1,5 @@
from karaoke_maker.cli import main
def test_version(capsys):
assert main(["--version"]) == 0
assert "karaoke-maker" in capsys.readouterr().out