chore: scaffold karaoke-maker package
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
__pycache__/
|
||||
*.egg-info/
|
||||
.venv/
|
||||
work/
|
||||
output/
|
||||
.pytest_cache/
|
||||
@@ -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"]
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user