mirror of https://github.com/coqui-ai/TTS.git
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
#!/usr/bin/env python
|
|
"""Generate requirements/*.txt files from pyproject.toml.
|
|
|
|
Adapted from:
|
|
https://github.com/numpy/numpydoc/blob/e7c6baf00f5f73a4a8f8318d0cb4e04949c9a5d1/tools/generate_requirements.py
|
|
"""
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
try: # standard module since Python 3.11
|
|
import tomllib as toml
|
|
except ImportError:
|
|
try: # available for older Python via pip
|
|
import tomli as toml
|
|
except ImportError:
|
|
sys.exit("Please install `tomli` first: `pip install tomli`")
|
|
|
|
script_pth = Path(__file__)
|
|
repo_dir = script_pth.parent.parent
|
|
script_relpth = script_pth.relative_to(repo_dir)
|
|
header = [
|
|
f"# Generated via {script_relpth.as_posix()} and pre-commit hook.",
|
|
"# Do not edit this file; modify pyproject.toml instead.",
|
|
]
|
|
|
|
|
|
def generate_requirement_file(name: str, req_list: list[str]) -> None:
|
|
req_fname = repo_dir / f"requirements.{name}.txt"
|
|
req_fname.write_text("\n".join(header + req_list) + "\n")
|
|
|
|
|
|
def main() -> None:
|
|
pyproject = toml.loads((repo_dir / "pyproject.toml").read_text())
|
|
generate_requirement_file("dev", pyproject["project"]["optional-dependencies"]["dev"])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|