diff --git a/.github/workflows/setup.yml b/.github/workflows/setup.yml index 60619ea..cd2e03a 100644 --- a/.github/workflows/setup.yml +++ b/.github/workflows/setup.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.9"] + python-version: ["3.11"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} @@ -16,8 +16,9 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install application run: | - pip install wheel - pip install -e . + pip install --no-deps EasyNMT==2.0.2 + pip list + pip install -v -e . - name: Check that package was installed successfully run: | faster_auto_subtitle -h diff --git a/requirements.txt b/requirements.txt index 71da213..3f3d862 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,11 @@ faster-whisper==0.10.0 tqdm==4.56.0 ffmpeg-python==0.2.0 wheel==0.42.0 -fasttext==0.9.2 -pybind11==2.11.1 -EasyNMT==2.0.2 -langcodes==3.3.0 \ No newline at end of file +langcodes==3.3.0 +transformers>=4.4,<5 +torch>=1.6.0 +numpy +nltk +sentencepiece +protobuf +EasyNMT==2.0.2 \ No newline at end of file diff --git a/setup.py b/setup.py index 2758ca7..e225714 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,33 @@ from setuptools import setup, find_packages +from importlib.metadata import version, PackageNotFoundError + + +def is_package_installed(): + try: + return version('EasyNMT') == '2.0.2' + except PackageNotFoundError as e: + print('Error:') + print(e) + return False + + +dependencies = [ + 'faster-whisper', + 'tqdm', + 'ffmpeg-python', + 'langcodes', + 'transformers>=4.4,<5', + 'torch>=1.6.0', + 'numpy', + 'nltk', + 'sentencepiece', + 'protobuf', +] + +print('checking EasyNMT') +if not is_package_installed(): + print('EasyNMT is not installed. Installing it now') + dependencies.append('EasyNMT==2.0.2') setup( version="1.1", @@ -6,14 +35,7 @@ packages=find_packages(), py_modules=["auto_subtitle"], author="Sergey Chernyaev", - install_requires=[ - 'faster-whisper', - 'tqdm', - 'ffmpeg-python', - 'fasttext', - 'EasyNMT', - 'langcodes', - ], + install_requires=dependencies, description="Automatically generate and embed subtitles into your videos", entry_points={ 'console_scripts': ['faster_auto_subtitle=auto_subtitle.cli:main'],