+44
-83
@@ -1,112 +1,73 @@
|
|||||||
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
|
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
|
||||||
|
|
||||||
# on:
|
|
||||||
# workflow_dispatch:
|
|
||||||
# inputs:
|
|
||||||
# branch_name:
|
|
||||||
# description: 'Branch to build from (default is main)'
|
|
||||||
# required: false
|
|
||||||
# default: 'main'
|
|
||||||
# workflow_run:
|
|
||||||
# workflows: ["Run Tests"]
|
|
||||||
# types:
|
|
||||||
# - completed
|
|
||||||
# branches: [main, develop] # This ensures it only triggers for these branches
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- develop
|
- develop
|
||||||
|
tags:
|
||||||
|
- v* # Push tags to trigger the workflow
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
branch_name:
|
test:
|
||||||
description: 'Branch to build from (default is main)'
|
description: "Push to TestPyPI not PyPI"
|
||||||
required: false
|
default: true
|
||||||
default: 'main'
|
type: boolean
|
||||||
|
|
||||||
env:
|
|
||||||
TestPyPI_URL: https://test.pypi.org/p/scraibe
|
|
||||||
PyPI_URL: https://pypi.org/p/scraibe
|
|
||||||
PyPI_DEV_URL: https://pypi.org/p/scraibe-nightly
|
|
||||||
ISRELEASED: true
|
|
||||||
jobs:
|
jobs:
|
||||||
|
Build-and-publish-to-Test-PyPI:
|
||||||
build:
|
|
||||||
name: Build distribution 📦
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v4
|
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
fetch-depth: '0'
|
||||||
- name: Install dependencies
|
- name: Set up Poetry 📦
|
||||||
run: |
|
uses: JRubics/poetry-publish@v1.16
|
||||||
python3 -m pip install --upgrade pip
|
|
||||||
pip install setuptools wheel
|
|
||||||
- name: Build source distribution
|
|
||||||
run: |
|
|
||||||
python3 -c "import os; print('ISRELEASED' in os.environ)"
|
|
||||||
python3 setup.py sdist
|
|
||||||
- name: Store the distribution packages
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
with:
|
||||||
name: python-package-distributions
|
pypi_token: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
||||||
path: dist/
|
plugins: "poetry-dynamic-versioning"
|
||||||
|
repository_name: "scraibe"
|
||||||
publish-to-testpypi:
|
repository_url: "https://test.pypi.org/legacy/"
|
||||||
name: Publish Python 🐍 distribution 📦 to TestPyPI
|
|
||||||
needs: build
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
environment:
|
|
||||||
name: testpypi
|
|
||||||
url: env.TestPyPI_URL
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
steps:
|
|
||||||
- name: Download all the dists
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: python-package-distributions
|
|
||||||
path: dist/
|
|
||||||
- name: Publish distribution 📦 to TestPyPI
|
|
||||||
uses: pypa/gh-action-pypi-publish@release/v1
|
|
||||||
with:
|
|
||||||
repository-url: https://test.pypi.org/legacy/
|
|
||||||
skip-existing: true
|
|
||||||
|
|
||||||
|
|
||||||
test-install:
|
test-install:
|
||||||
name: Test Installation from TestPyPI
|
name: Test Installation from TestPyPI
|
||||||
needs: publish-to-testpypi
|
needs: Build-and-publish-to-Test-PyPI
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
python-version: [3.9, 3.11, 3.12]
|
||||||
steps:
|
steps:
|
||||||
- name: Set up Python
|
- uses: actions/checkout@v4
|
||||||
uses: actions/setup-python@v4
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: "3.x"
|
python-version: ${{ matrix.python-version }}
|
||||||
- name: Install package
|
- name: Install package
|
||||||
run: |
|
run: |
|
||||||
python3 -m pip install setuptools
|
pip install -U setuptools
|
||||||
python3 -m pip install --index-url https://test.pypi.org/simple/ scraibe
|
pip install -r requirements.txt
|
||||||
|
python3 -m pip install --no-deps --pre --index-url https://test.pypi.org/simple/ scraibe>=0.1.3
|
||||||
|
python3 -c "import scraibe; print(scraibe.__version__)"
|
||||||
|
|
||||||
publish-to-pypi:
|
publish-to-pypi:
|
||||||
name: Conditional Publish to PyPI or Dev Repository
|
name: Publish to PyPI
|
||||||
needs: [build, test-install]
|
needs: test-install
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
environment:
|
|
||||||
name: pypi
|
|
||||||
url: env.PyPI_URL
|
|
||||||
permissions:
|
|
||||||
id-token: write
|
|
||||||
steps:
|
steps:
|
||||||
- name: Download all the dists
|
- name: Checkout Repository Tags
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/checkout@v4
|
||||||
|
if: github.ref == 'refs/tags/v*'
|
||||||
with:
|
with:
|
||||||
name: python-package-distributions
|
fetch-depth: '0'
|
||||||
path: dist/
|
branch: 'main'
|
||||||
- name: Publish distribution 📦 to PyPI or Dev Repository
|
- name: Checkout Repository (Develop)
|
||||||
uses: pypa/gh-action-pypi-publish@release/v1
|
uses: actions/checkout@v4
|
||||||
|
if: github.ref == "refs/heads/develop"
|
||||||
with:
|
with:
|
||||||
repository-url: ${{ github.ref == 'refs/heads/main' && 'env.PyPI_URL' || ' env.PyPI_DEV_URL' }}
|
fetch-depth: '0'
|
||||||
password: ${{ secrets.PYPI_API_TOKEN}}
|
branch: 'develop'
|
||||||
|
- name: Set up Poetry 📦
|
||||||
|
uses: JRubics/poetry-publish@v1.16
|
||||||
|
with:
|
||||||
|
pypi_token: ${{ secrets.PYPI_API_TOKEN }}
|
||||||
|
plugins: "poetry-dynamic-versioning"
|
||||||
|
repository_name: "scraibe"
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
name: Run Tests
|
name: Run Tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
#push:
|
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: ['main', 'develop']
|
branches: ['main', 'develop']
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -14,6 +12,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Setup Python
|
- name: Setup Python
|
||||||
uses: actions/setup-python@v3
|
uses: actions/setup-python@v3
|
||||||
@@ -31,9 +31,6 @@ jobs:
|
|||||||
sudo apt-get install ffmpeg
|
sudo apt-get install ffmpeg
|
||||||
pip install pytest
|
pip install pytest
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: Run pytest
|
- name: Run pytest
|
||||||
env:
|
env:
|
||||||
HF_TOKEN : ${{ secrets.HF_TOKEN }}
|
HF_TOKEN : ${{ secrets.HF_TOKEN }}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ on: [ push, pull_request ]
|
|||||||
jobs:
|
jobs:
|
||||||
ruff:
|
ruff:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.event_name == 'pull_request' || (github.event_name == 'push') }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: chartboost/ruff-action@v1
|
- uses: chartboost/ruff-action@v1
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
name: Semantic Versioning for Tags
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [closed]
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
bump-version:
|
||||||
|
if: ${{ github.event.pull_request.merged == true $$ github.event.pull_request.base.ref == 'main' }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Bump Version and Tag
|
||||||
|
run: |
|
||||||
|
# Fetch the latest tags from the remote
|
||||||
|
git fetch --tags
|
||||||
|
|
||||||
|
# Get the latest tag
|
||||||
|
latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`)
|
||||||
|
|
||||||
|
# Split the latest tag into parts
|
||||||
|
IFS='.' read -r -a parts <<< "${latest_tag#v}"
|
||||||
|
|
||||||
|
# Increment the patch version
|
||||||
|
major=${parts[0]}
|
||||||
|
minor=${parts[1]}
|
||||||
|
patch=${parts[2]}
|
||||||
|
new_patch=$((patch + 1))
|
||||||
|
|
||||||
|
# Create a new tag
|
||||||
|
new_tag="v$major.$minor.$new_patch"
|
||||||
|
|
||||||
|
echo "Bumping version from $latest_tag to $new_tag"
|
||||||
|
|
||||||
|
# Tag the new version
|
||||||
|
git tag $new_tag
|
||||||
|
|
||||||
|
# Configure GitHub token authentication
|
||||||
|
git remote set-url origin https://x-access-token:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}.git
|
||||||
|
|
||||||
|
# Push the new tag to the remote repository
|
||||||
|
git push origin $new_tag
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[lint.extend-per-file-ignores]
|
|
||||||
"__init__.py" = ["E402","F403"]
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
recursive-include scraibe *.py
|
|
||||||
recursive-include scraibe *.yaml
|
|
||||||
recursive-exclude test/*
|
|
||||||
global-include requirements.txt
|
|
||||||
global-exclude *.pyc
|
|
||||||
global-exclude __pycache__
|
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core>=1.8.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
|
||||||
|
build-backend = "poetry_dynamic_versioning.backend"
|
||||||
|
|
||||||
|
[tool.poetry]
|
||||||
|
name = "scraibe"
|
||||||
|
version = "0.0.0"
|
||||||
|
description = "Transcription tool for audio files based on Whisper and Pyannote"
|
||||||
|
authors = ["Schmieder, Jacob <jacob.schmieder@dbfz.de>"]
|
||||||
|
license = "GPL-3.0-or-later"
|
||||||
|
readme = ["README.md", "LICENSE"]
|
||||||
|
repository = "https://github.com/JSchmie/ScAIbe"
|
||||||
|
documentation = "https://jschmie.github.io/ScrAIbe/"
|
||||||
|
keywords = ["transcription", "audio", "whisper", "pyannote", "speech-to-text", "speech-recognition"]
|
||||||
|
classifiers = [
|
||||||
|
'Development Status :: 4 - Beta',
|
||||||
|
'Intended Audience :: Developers',
|
||||||
|
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
|
||||||
|
'Programming Language :: Python :: 3.8',
|
||||||
|
'Programming Language :: Python :: 3.9',
|
||||||
|
'Programming Language :: Python :: 3.10',
|
||||||
|
'Programming Language :: Python :: 3.11',
|
||||||
|
'Environment :: GPU :: NVIDIA CUDA :: 12 :: 12.1',
|
||||||
|
'Topic :: Scientific/Engineering :: Artificial Intelligence'
|
||||||
|
]
|
||||||
|
packages = [{include = "scraibe"}]
|
||||||
|
exclude =[
|
||||||
|
"__pycache__",
|
||||||
|
"*.pyc",
|
||||||
|
"test"
|
||||||
|
]
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.9"
|
||||||
|
tqdm = "^4.66.4"
|
||||||
|
numpy = "^1.26.4"
|
||||||
|
openai-whisper = "^20231117"
|
||||||
|
"pyannote.audio" = "^3.2.0"
|
||||||
|
torch = "^2.3.0"
|
||||||
|
|
||||||
|
[tool.poetry.group.dev.dependencies]
|
||||||
|
pytest = "^8.1.1"
|
||||||
|
|
||||||
|
[tool.poetry-dynamic-versioning]
|
||||||
|
enable = true
|
||||||
|
vcs = "git"
|
||||||
|
strict = true
|
||||||
|
format-jinja = """
|
||||||
|
{%- if distance == 0 -%}
|
||||||
|
{{ serialize_pep440(base) }}
|
||||||
|
{%- elif branch == 'pyproject.toml' -%}
|
||||||
|
{{ serialize_pep440(bump_version(base), dev = distance) }}
|
||||||
|
{%- else -%}
|
||||||
|
{{ serialize_pep440(bump_version(base), dev=distance, metadata=[commit]) }}
|
||||||
|
{%- endif -%}
|
||||||
|
"""
|
||||||
|
|
||||||
|
[tool.poetry.group.docs.dependencies]
|
||||||
|
sphinx = "^7.3.7"
|
||||||
|
sphinx-rtd-theme = "^2.0.0"
|
||||||
|
markdown-it-py = {version = "~3.0.0", extras = ["plugins"]}
|
||||||
|
myst-parser = "^3.0.1"
|
||||||
|
mdit-py-plugins = "^0.4.1"
|
||||||
|
|
||||||
|
[tool.poetry.scripts]
|
||||||
|
scraibe = "scraibe.cli:cli"
|
||||||
|
|
||||||
|
[tool.poetry.extras]
|
||||||
|
app = ["scraibe-webui"]
|
||||||
|
|
||||||
|
[tool.ruff.lint.extend-per-file-ignores]
|
||||||
|
"__init__.py" = ["E402","F403",'F401']
|
||||||
|
"scraibe/misc.py" = ["E722"]
|
||||||
+1
-2
@@ -4,9 +4,8 @@ from .audio import *
|
|||||||
from .transcript_exporter import *
|
from .transcript_exporter import *
|
||||||
from .diarisation import *
|
from .diarisation import *
|
||||||
|
|
||||||
from .version import get_version as _get_version
|
|
||||||
from .misc import *
|
from .misc import *
|
||||||
|
|
||||||
from .cli import *
|
from .cli import *
|
||||||
|
|
||||||
__version__ = _get_version()
|
from ._version import __version__
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
__version__ = "0.0.0"
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
import os
|
|
||||||
import subprocess as sp
|
|
||||||
|
|
||||||
MAJOR = 0
|
|
||||||
MINOR = 1
|
|
||||||
MICRO = 1
|
|
||||||
NANO = 2
|
|
||||||
ISRELEASED = False
|
|
||||||
VERSION = '%d.%d.%d.%d' % (MAJOR, MINOR, MICRO, NANO)
|
|
||||||
|
|
||||||
# Return the git revision as a string
|
|
||||||
# taken from numpy/numpy
|
|
||||||
|
|
||||||
|
|
||||||
def git_version():
|
|
||||||
def _minimal_ext_cmd(cmd):
|
|
||||||
# construct minimal environment
|
|
||||||
env = {}
|
|
||||||
for k in ['SYSTEMROOT', 'PATH', 'HOME']:
|
|
||||||
v = os.environ.get(k)
|
|
||||||
if v is not None:
|
|
||||||
env[k] = v
|
|
||||||
|
|
||||||
# LANGUAGE is used on win32
|
|
||||||
env['LANGUAGE'] = 'C'
|
|
||||||
env['LANG'] = 'C'
|
|
||||||
env['LC_ALL'] = 'C'
|
|
||||||
|
|
||||||
out = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.PIPE,
|
|
||||||
env=env).communicate()[0]
|
|
||||||
return out
|
|
||||||
|
|
||||||
try:
|
|
||||||
out = _minimal_ext_cmd(['git', 'rev-parse', 'HEAD'])
|
|
||||||
GIT_REVISION = out.strip().decode('ascii')
|
|
||||||
except OSError:
|
|
||||||
GIT_REVISION = "Unknown"
|
|
||||||
|
|
||||||
return GIT_REVISION
|
|
||||||
|
|
||||||
|
|
||||||
def _get_git_version():
|
|
||||||
cwd = os.getcwd()
|
|
||||||
|
|
||||||
# go to the main directory
|
|
||||||
fdir = os.path.dirname(os.path.abspath(__file__))
|
|
||||||
maindir = os.path.abspath(os.path.join(fdir, ".."))
|
|
||||||
# maindir = fdir # os.path.join(fdir, "..")
|
|
||||||
os.chdir(maindir)
|
|
||||||
|
|
||||||
# get git version
|
|
||||||
res = git_version()
|
|
||||||
|
|
||||||
# restore the cwd
|
|
||||||
os.chdir(cwd)
|
|
||||||
return res
|
|
||||||
|
|
||||||
|
|
||||||
def get_version(build_version=False):
|
|
||||||
if ISRELEASED:
|
|
||||||
return VERSION
|
|
||||||
|
|
||||||
# unreleased version
|
|
||||||
GIT_REVISION = _get_git_version()
|
|
||||||
|
|
||||||
if build_version:
|
|
||||||
import datetime as dt
|
|
||||||
date = dt.date.strftime(dt.datetime.now(), "%Y%m%d%H%M%S")
|
|
||||||
return VERSION + ".dev" + date
|
|
||||||
else:
|
|
||||||
return VERSION + ".dev0+" + GIT_REVISION[:7]
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
[metadata]
|
|
||||||
name = scraibe
|
|
||||||
version = attr: scraibe.__version__
|
|
||||||
author = Jacob Schmieder
|
|
||||||
author_email = Jacob.Schmieder@dbfz.de
|
|
||||||
description = My package description
|
|
||||||
long_description = file: README.md, file: LICENSE
|
|
||||||
long_description_content_type = text/markdown; charset=UTF-8; variant=GFM
|
|
||||||
platforms = Linux
|
|
||||||
keywords = transcription speech recognition whisper pyannote audio speech-to-text speech-to-text transcription speech-to-text recognition voice-to-speech
|
|
||||||
license = GPL-3.0
|
|
||||||
classifiers =
|
|
||||||
Development Status :: 3 - Alpha
|
|
||||||
Environment :: GPU :: NVIDIA CUDA :: 11.2
|
|
||||||
License :: OSI Approved :: Open Software License 3.0 (OSL-3.0)
|
|
||||||
Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
||||||
Programming Language :: Python :: 3.8
|
|
||||||
Programming Language :: Python :: 3.9
|
|
||||||
Programming Language :: Python :: 3.10
|
|
||||||
|
|
||||||
[options]
|
|
||||||
zip_safe = False
|
|
||||||
include_package_data = True
|
|
||||||
packages = find:
|
|
||||||
python_requires = >=3.7
|
|
||||||
install_requires =
|
|
||||||
requests
|
|
||||||
importlib-metadata; python_version<"3.8"
|
|
||||||
|
|
||||||
[options.entry_points]
|
|
||||||
console_scripts =
|
|
||||||
executable-name = scraibe.cli:cli
|
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
import os
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
|
|
||||||
module_name = "scraibe"
|
|
||||||
github_url = "https://github.com/JSchmie/ScAIbe"
|
|
||||||
|
|
||||||
file_dir = os.path.dirname(os.path.realpath(__file__))
|
|
||||||
absdir = lambda p: os.path.join(file_dir, p)
|
|
||||||
|
|
||||||
############### versioning ###############
|
|
||||||
verfile = os.path.abspath(os.path.join(module_name, "version.py"))
|
|
||||||
version = {"__file__": verfile}
|
|
||||||
|
|
||||||
with open(verfile, "r") as fp:
|
|
||||||
exec(fp.read(), version)
|
|
||||||
|
|
||||||
|
|
||||||
############### setup ###############
|
|
||||||
|
|
||||||
build_version = "SCRAIBE_BUILD" in os.environ
|
|
||||||
|
|
||||||
version["ISRELEASED"] = True if "ISRELEASED" in os.environ else False
|
|
||||||
|
|
||||||
############### load requirements ###############
|
|
||||||
|
|
||||||
with open(os.path.join(os.path.dirname(__file__), "requirements.txt")) as f:
|
|
||||||
requirements = [line.strip() for line in f if line.strip() and not line.startswith('#')]
|
|
||||||
|
|
||||||
|
|
||||||
print(f"Launch Version: {version['get_version'](build_version)}")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
|
|
||||||
setup(
|
|
||||||
name = module_name,
|
|
||||||
version = version["get_version"](build_version),
|
|
||||||
packages = find_packages(),
|
|
||||||
python_requires = ">=3.8",
|
|
||||||
readme = "README.md",
|
|
||||||
install_requires = requirements,
|
|
||||||
extras_require = {
|
|
||||||
"app" : ["scraibe-webui"],
|
|
||||||
},
|
|
||||||
# dependency_links=[
|
|
||||||
# 'https://download.pytorch.org/whl/cu113',
|
|
||||||
# ],
|
|
||||||
|
|
||||||
url = github_url,
|
|
||||||
|
|
||||||
license = 'GPL-3',
|
|
||||||
author = 'Jacob Schmieder',
|
|
||||||
author_email = 'Jacob.Schmieder@dbfz.de',
|
|
||||||
description = 'Transcription tool for audio files based on Whisper and Pyannote',
|
|
||||||
classifiers = [
|
|
||||||
'Development Status :: 3 - Alpha',
|
|
||||||
'Environment :: GPU :: NVIDIA CUDA :: 11.2',
|
|
||||||
'License :: OSI Approved :: Open Software License 3.0 (OSL-3.0)',
|
|
||||||
'Topic :: Scientific/Engineering :: Artificial Intelligence',
|
|
||||||
'Programming Language :: Python :: 3.8',
|
|
||||||
'Programming Language :: Python :: 3.9',
|
|
||||||
'Programming Language :: Python :: 3.10'],
|
|
||||||
keywords = ['transcription', 'speech recognition', 'whisper', 'pyannote', 'audio', 'ScrAIbe', 'scraibe',
|
|
||||||
'speech-to-text', 'speech-to-text transcription', 'speech-to-text recognition',
|
|
||||||
'voice-to-speech'],
|
|
||||||
include_package_data=True,
|
|
||||||
package_data = {'scraibe.app' : ["*.html", "*.svg","*.yml"]},
|
|
||||||
entry_points = {'console_scripts':
|
|
||||||
['scraibe = scraibe.cli:cli']}
|
|
||||||
)
|
|
||||||
Reference in New Issue
Block a user