From 3826db6726ffb59f4dfa4e750a25f76a650a9f16 Mon Sep 17 00:00:00 2001 From: Enno Hermann Date: Mon, 6 May 2024 18:37:15 +0200 Subject: [PATCH 1/2] chore: enable ruff rules that already pass --- pyproject.toml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 50d67db97d..b5a04af147 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,14 +31,9 @@ lint.extend-select = [ ] lint.ignore = [ - "E501", # line too long "E722", # bare except (TODO: fix these) "E731", # don't use lambdas "E741", # ambiguous variable name - "PLR0912", # too-many-branches - "PLR0913", # too-many-arguments - "PLR0915", # too-many-statements - "UP004", # useless-object-inheritance "F821", # TODO: enable "F841", # TODO: enable "PLW0602", # TODO: enable From 1fbe4dc9ad1ed77c223a5f4756a7fad4a35d5e3e Mon Sep 17 00:00:00 2001 From: Enno Hermann Date: Mon, 6 May 2024 21:44:55 +0200 Subject: [PATCH 2/2] refactor: move requirement files into subfolder --- MANIFEST.in | 4 +-- Makefile | 7 ++--- dockerfiles/Dockerfile.dev | 13 ++++---- recipes/bel-alex73/docker-prepare-start.sh | 2 +- recipes/bel-alex73/docker-prepare/Dockerfile | 2 +- .../requirements.dev.txt | 0 .../requirements.ja.txt | 0 .../requirements.notebooks.txt | 0 requirements/requirements.server.txt | 1 + .../requirements.txt | 0 setup.py | 31 +++++++------------ 11 files changed, 26 insertions(+), 34 deletions(-) rename requirements.dev.txt => requirements/requirements.dev.txt (100%) rename requirements.ja.txt => requirements/requirements.ja.txt (100%) rename requirements.notebooks.txt => requirements/requirements.notebooks.txt (100%) create mode 100644 requirements/requirements.server.txt rename requirements.txt => requirements/requirements.txt (100%) diff --git a/MANIFEST.in b/MANIFEST.in index 321d3999c1..d177bd938d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,8 +1,8 @@ include README.md include LICENSE.txt -include requirements.*.txt +include requirements/requirements.*.txt include *.cff -include requirements.txt +include requirements/requirements.txt include TTS/VERSION recursive-include TTS *.json recursive-include TTS *.html diff --git a/Makefile b/Makefile index a24c41fc0b..3dbd42d506 100644 --- a/Makefile +++ b/Makefile @@ -60,7 +60,7 @@ system-deps: ## install linux system deps sudo apt-get install -y libsndfile1-dev dev-deps: ## install development deps - pip install -r requirements.dev.txt + pip install -r requirements/requirements.dev.txt doc-deps: ## install docs dependencies pip install -r docs/requirements.txt @@ -68,11 +68,8 @@ doc-deps: ## install docs dependencies build-docs: ## build the docs cd docs && make clean && make build -hub-deps: ## install deps for torch hub use - pip install -r requirements.hub.txt - deps: ## install 🐸 requirements. - pip install -r requirements.txt + pip install -r requirements/requirements.txt install: ## install 🐸 TTS for development. pip install -e .[all] diff --git a/dockerfiles/Dockerfile.dev b/dockerfiles/Dockerfile.dev index 58baee53e2..c3a559c6b6 100644 --- a/dockerfiles/Dockerfile.dev +++ b/dockerfiles/Dockerfile.dev @@ -22,10 +22,11 @@ COPY \ Makefile \ pyproject.toml \ setup.py \ - requirements.dev.txt \ - requirements.ja.txt \ - requirements.notebooks.txt \ - requirements.txt \ + requirements/requirements.dev.txt \ + requirements/requirements.ja.txt \ + requirements/requirements.notebooks.txt \ + requirements/requirements.server.txt \ + requirements/requirements.txt \ /root/ # Install Project Dependencies @@ -34,11 +35,11 @@ RUN pip install \ -r requirements.txt \ -r requirements.dev.txt \ -r requirements.ja.txt \ - -r requirements.notebooks.txt + -r requirements.notebooks.txt \ + -r requirements.server.txt # Copy TTS repository contents: COPY . /root # Installing the TTS package itself: RUN make install - diff --git a/recipes/bel-alex73/docker-prepare-start.sh b/recipes/bel-alex73/docker-prepare-start.sh index a4ce3c6dcc..4d2f2549f9 100755 --- a/recipes/bel-alex73/docker-prepare-start.sh +++ b/recipes/bel-alex73/docker-prepare-start.sh @@ -3,7 +3,7 @@ set -x cd $( dirname -- "$0"; ) -cp ../../requirements*.txt docker-prepare/ +cp ../../requirements/requirements*.txt docker-prepare/ docker build -t tts-learn -f docker-prepare/Dockerfile docker-prepare/ diff --git a/recipes/bel-alex73/docker-prepare/Dockerfile b/recipes/bel-alex73/docker-prepare/Dockerfile index fd9b745386..84a7db98d2 100644 --- a/recipes/bel-alex73/docker-prepare/Dockerfile +++ b/recipes/bel-alex73/docker-prepare/Dockerfile @@ -5,7 +5,7 @@ RUN apt -y upgrade RUN apt -y install --no-install-recommends pip ffmpeg openjdk-19-jre-headless RUN mkdir /a/ -ADD requirements*.txt /a/ +ADD requirements/requirements*.txt /a/ WORKDIR /a/ RUN pip install -r requirements.txt -r requirements.dev.txt -r requirements.notebooks.txt RUN pip install seaborn pydub notebook diff --git a/requirements.dev.txt b/requirements/requirements.dev.txt similarity index 100% rename from requirements.dev.txt rename to requirements/requirements.dev.txt diff --git a/requirements.ja.txt b/requirements/requirements.ja.txt similarity index 100% rename from requirements.ja.txt rename to requirements/requirements.ja.txt diff --git a/requirements.notebooks.txt b/requirements/requirements.notebooks.txt similarity index 100% rename from requirements.notebooks.txt rename to requirements/requirements.notebooks.txt diff --git a/requirements/requirements.server.txt b/requirements/requirements.server.txt new file mode 100644 index 0000000000..f267d84f7f --- /dev/null +++ b/requirements/requirements.server.txt @@ -0,0 +1 @@ +flask>=2.0.1 diff --git a/requirements.txt b/requirements/requirements.txt similarity index 100% rename from requirements.txt rename to requirements/requirements.txt diff --git a/setup.py b/setup.py index 02722c18f1..e7c71c3083 100644 --- a/setup.py +++ b/setup.py @@ -20,9 +20,10 @@ # .,*++++::::::++++*,. # `````` -import os +import itertools import subprocess import sys +from pathlib import Path import numpy import setuptools.command.build_py @@ -33,8 +34,8 @@ if sys.version_info < (3, 9) or sys.version_info >= (3, 13): raise RuntimeError("Trainer requires python >= 3.6 and <3.13 " "but your Python version is {}".format(sys.version)) -cwd = os.path.dirname(os.path.abspath(__file__)) -with open(os.path.join(cwd, "TTS", "VERSION")) as fin: +cwd = Path(__file__).resolve().parent +with open(cwd / "TTS" / "VERSION") as fin: version = fin.read().strip() @@ -56,15 +57,13 @@ def pip_install(package_name): subprocess.call([sys.executable, "-m", "pip", "install", package_name]) -requirements = open(os.path.join(cwd, "requirements.txt"), "r").readlines() -with open(os.path.join(cwd, "requirements.notebooks.txt"), "r") as f: - requirements_notebooks = f.readlines() -with open(os.path.join(cwd, "requirements.dev.txt"), "r") as f: - requirements_dev = f.readlines() -with open(os.path.join(cwd, "requirements.ja.txt"), "r") as f: - requirements_ja = f.readlines() -requirements_server = ["flask>=2.0.1"] -requirements_all = requirements_dev + requirements_notebooks + requirements_ja + requirements_server +rdir = cwd / "requirements" +requirements = open(rdir / "requirements.txt").readlines() +extra_requirements = {} +for extra in ("dev", "notebooks", "server", "ja"): + with open(rdir / f"requirements.{extra}.txt") as f: + extra_requirements[extra] = f.readlines() +extra_requirements["all"] = itertools.chain(extra_requirements.values()) with open("README.md", "r", encoding="utf-8") as readme_file: README = readme_file.read() @@ -111,13 +110,7 @@ def pip_install(package_name): # 'build_ext': build_ext }, install_requires=requirements, - extras_require={ - "all": requirements_all, - "dev": requirements_dev, - "notebooks": requirements_notebooks, - "server": requirements_server, - "ja": requirements_ja, - }, + extras_require=extra_requirements, python_requires=">=3.9.0, <3.13", entry_points={"console_scripts": ["tts=TTS.bin.synthesize:main", "tts-server = TTS.server.server:main"]}, classifiers=[