Skip to content

Commit

Permalink
use pyproject toml and support TF 2.15
Browse files Browse the repository at this point in the history
  • Loading branch information
baxtree committed Jan 27, 2025
1 parent a055d9a commit fb9a518
Show file tree
Hide file tree
Showing 15 changed files with 225 additions and 388 deletions.
14 changes: 6 additions & 8 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,17 @@ jobs:
sudo apt-get -y install espeak libespeak1 libespeak-dev espeak-data
sudo apt-get -y install libsndfile-dev
python -m pip install --upgrade pip
python -m pip install --upgrade setuptools wheel
cat requirements.txt | xargs -L 1 pip install
cat requirements-stretch.txt | xargs -L 1 pip install
cat requirements-llm.txt | xargs -L 1 pip install
cat requirements-dev.txt | xargs -L 1 pip install
cat requirements-site.txt | xargs -L 1 pip install
pip install -e . --ignore-installed
pip install -e .
pip install -e ".[stretch]"
pip install -e ".[llm]"
pip install -e ".[dev]"
pip install -e ".[site]"
- name: Type checking
run: |
python -m mypy --follow-imports=normal subaligner
- name: Linting
run: |
pycodestyle subaligner tests examples misc bin/subaligner bin/subaligner_1pass bin/subaligner_2pass bin/subaligner_batch bin/subaligner_convert bin/subaligner_train bin/subaligner_tune setup.py --ignore=E203,E501,W503 --exclude="subaligner/lib"
pycodestyle subaligner tests examples misc bin/subaligner bin/subaligner_1pass bin/subaligner_2pass bin/subaligner_batch bin/subaligner_convert bin/subaligner_train bin/subaligner_tune setup.py --ignore=E203,E501,E902,W503 --exclude="subaligner/lib"
- name: Linting docstring
run: |
darglint -v 2 subaligner
Expand Down
97 changes: 0 additions & 97 deletions Pipfile

This file was deleted.

7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,10 @@ $ subaligner --languages
$ subaligner -m single -v video.mp4 -s subtitle.srt -t src,tgt
$ subaligner -m dual -v video.mp4 -s subtitle.srt -t src,tgt
$ subaligner -m script -v test.mp4 -s subtitle.txt -o subtitle_aligned.srt -t src,tgt
$ subaligner -m dual -v video.mp4 -tr helsinki-nlp -o subtitle_aligned.srt -t src,tgt
$ subaligner -m dual -v video.mp4 -tr facebook-mbart -tf large -o subtitle_aligned.srt -t src,tgt
$ subaligner -m dual -v video.mp4 -tr whisper -tf small -o subtitle_aligned.srt -t src,eng
$ subaligner -m dual -v video.mp4 -s subtitle.srt -tr helsinki-nlp -o subtitle_aligned.srt -t src,tgt
$ subaligner -m dual -v video.mp4 -s subtitle.srt -tr facebook-mbart -tf large -o subtitle_aligned.srt -t src,tgt
$ subaligner -m dual -v video.mp4 -s subtitle.srt -tr facebook-m2m100 -tf small -o subtitle_aligned.srt -t src,tgt
$ subaligner -m dual -v video.mp4 -s subtitle.srt -tr whisper -tf small -o subtitle_aligned.srt -t src,eng
```
```
# Transcribe audiovisual files and generate translated subtitles
Expand Down
168 changes: 165 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,169 @@
[build-system]
requires = ["setuptools<65.0.0", "wheel", "Cython"]
requires = ["setuptools<65.0.0", "setuptools-scm", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "subaligner"
version = "0.3.9"
authors = [
{ name = "Xi Bai", email = "xi.bai.ed@gmail.com" }
]
description = "Automatically synchronize and translate subtitles, or create new ones by transcribing, using pre-trained DNNs, Forced Alignments and Transformers."
readme = { file = "README.md", content-type = "text/markdown" }
urls = { "Homepage" = "https://github.com/baxtree/subaligner", "Documentation" = "https://subaligner.readthedocs.io/en/latest/", "Source" = "https://github.com/baxtree/subaligner" }
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Intended Audience :: Developers",
"Topic :: Utilities"
]
dependencies = [
"astor==0.7.1",
"beautifulsoup4<4.9.0",
"bleach==3.3.0",
"cachetools==3.1.1",
"captionstransformer~=1.2.1",
"certifi==2023.7.22",
"chardet~=3.0.4",
"cloudpickle~=1.6.0",
"cycler==0.10.0",
"decorator==4.3.0",
"distributed==2021.10.0",
"filelock<4.0.0",
"google-pasta~=0.2",
"graphviz==0.8.3",
"HeapDict==1.0.0",
"h5py<4.0.0",
"html5lib==1.0b9",
"hyperopt==0.2.4",
"idna==2.8",
"isort==4.3.4",
"joblib>=1.2.0",
"le-pycaption==2.2.0a1",
"librosa<0.10.0",
"locket==0.2.0",
"Markdown==2.6.11",
"mccabe==0.6.1",
"networkx>=2.5.1",
"numba>=0.50.0",
"numpy<1.27.0",
"oauthlib==3.1.0",
"pbr==4.0.2",
"pkgconfig~=1.5.5",
"pluggy==0.13.1",
"pyasn1==0.4.8",
"pyasn1-modules==0.2.7",
"pybind11~=2.11.1",
"pycountry~=20.7.3",
"pydot==1.2.4",
"pydot-ng==1.0.0",
"pydotplus==2.0.2",
"pyprof2calltree==1.4.3",
"pysrt==1.1.2",
"pysubs2~=1.6.1",
"pytz==2018.4",
"PyYAML>=4.2b1",
"rsa==4.7",
"scipy<1.12.0",
"scikit-learn<1.2.0",
"six~=1.15.0",
"tensorflow>=1.15.5,<2.16.0",
"termcolor==1.1.0",
"toml==0.10.0",
"toolz==0.9.0",
"urllib3~=1.26.5",
"wrapt==1.14.0",
"Werkzeug>=0.15.3",
"zict==0.1.3"
]
requires-python = ">=3.8,<3.12"

[project.optional-dependencies]
harmony = [
"aeneas~=1.7.3.0",
"dtw-python~=1.5.3",
"sentencepiece~=0.1.95",
"torch<2.3.0",
"torchaudio<2.3.0",
"transformers<4.37.0",
"openai-whisper==20240930"
]
dev = [
"aeneas~=1.7.3.0",
"dtw-python~=1.5.3",
"sentencepiece~=0.1.95",
"torch<2.3.0",
"torchaudio<2.3.0",
"transformers<4.37.0",
"openai-whisper==20240930",
"mock==4.0.3",
"coverage==5.5",
"tox~=3.23.0",
"pycodestyle==2.12.1",
"twine<4.0.0",
"snakeviz==2.1.0",
"line-profiler~=4.1.2",
"scikit-build==0.11.1",
"radish-bdd~=0.13.3",
"pex<=2.1.80",
"mypy==1.3.0",
"types-requests==2.27.9",
"types-setuptools==64.0.1",
"typing-extensions==4.5.0",
"parameterized==0.8.1",
"pylint~=2.17.2",
"pygments==2.7.4",
"darglint~=1.8.1"
]
docs = [
"sphinx==6.2.1",
"sphinx-rtd-theme==2.0.0"
]
stretch = [
"aeneas~=1.7.3.0",
"dtw-python~=1.5.3"
]
llm = [
"sentencepiece~=0.1.95",
"torch<2.3.0",
"torchaudio<2.3.0",
"transformers<4.37.0",
"openai-whisper==20240930"
]

[project.scripts]
subaligner = "subaligner.__main__:main"
subaligner_1pass = "subaligner.subaligner_1pass.__main__:main"
subaligner_2pass = "subaligner.subaligner_2pass.__main__:main"
subaligner_batch = "subaligner.subaligner_batch.__main__:main"
subaligner_convert = "subaligner.subaligner_convert.__main__:main"
subaligner_train = "subaligner.subaligner_train.__main__:main"
subaligner_tune = "subaligner.subaligner_tune.__main__:main"

[tool.setuptools.packages.find]
include = [
"subaligner",
"subaligner.lib",
"subaligner.subaligner_1pass",
"subaligner.subaligner_2pass",
"subaligner.subaligner_batch",
"subaligner.subaligner_convert",
"subaligner.subaligner_train",
"subaligner.subaligner_tune",
"subaligner.models.training.model",
"subaligner.models.training.weights",
"subaligner.models.training.config",
]

[tool.setuptools.package-data]
"subaligner.models.training.model" = ["model.hdf5"]
"subaligner.models.training.weights" = ["weights.hdf5"]
"subaligner.models.training.config" = ["hyperparameters.json"]

[tool.pydoclint]
style = 'sphinx'
exclude = '\.git|\.tox'
style = "sphinx"
exclude = "\\.git|\\.tox"
require-return-section-when-returning-nothing = true
60 changes: 0 additions & 60 deletions requirements-arm64.txt

This file was deleted.

18 changes: 0 additions & 18 deletions requirements-dev.txt

This file was deleted.

5 changes: 0 additions & 5 deletions requirements-llm.txt

This file was deleted.

Loading

0 comments on commit fb9a518

Please sign in to comment.