From 89841830a25402f42b7b5c20ae7f907a99a5c5fb Mon Sep 17 00:00:00 2001 From: Boyd Nguyen Date: Wed, 27 Mar 2024 15:48:22 +1000 Subject: [PATCH] clean up --- pyproject.toml | 3 +- setup.cfg | 4 +- setup.py | 4 +- src/youscribe.egg-info/PKG-INFO | 84 +++++++++++++++++++++ src/youscribe.egg-info/SOURCES.txt | 18 +++++ src/youscribe.egg-info/dependency_links.txt | 1 + src/youscribe.egg-info/requires.txt | 4 + src/youscribe.egg-info/top_level.txt | 1 + {youscribe => src/youscribe}/__init__.py | 0 {youscribe => src/youscribe}/_version.py | 0 {youscribe => src/youscribe}/main.py | 0 {youscribe => src/youscribe}/models.py | 0 {youscribe => src/youscribe}/scraper.py | 0 {youscribe => src/youscribe}/transcriber.py | 0 {youscribe => src/youscribe}/transcript.py | 0 15 files changed, 113 insertions(+), 6 deletions(-) create mode 100644 src/youscribe.egg-info/PKG-INFO create mode 100644 src/youscribe.egg-info/SOURCES.txt create mode 100644 src/youscribe.egg-info/dependency_links.txt create mode 100644 src/youscribe.egg-info/requires.txt create mode 100644 src/youscribe.egg-info/top_level.txt rename {youscribe => src/youscribe}/__init__.py (100%) rename {youscribe => src/youscribe}/_version.py (100%) rename {youscribe => src/youscribe}/main.py (100%) rename {youscribe => src/youscribe}/models.py (100%) rename {youscribe => src/youscribe}/scraper.py (100%) rename {youscribe => src/youscribe}/transcriber.py (100%) rename {youscribe => src/youscribe}/transcript.py (100%) diff --git a/pyproject.toml b/pyproject.toml index cca080a..37fcd4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,5 @@ [build-system] -requires = ["setuptools>=42", "wheel", "setuptools_scm>=6.2"] - +requires = ["setuptools >= 61.0", "wheel"] build-backend = "setuptools.build_meta" [tool.isort] diff --git a/setup.cfg b/setup.cfg index 66efe17..085cde4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,7 +12,7 @@ classifiers = [options] package_dir = - = youscribe + = src packages = find: python_requires = >=3.10 install_requires = @@ -23,4 +23,4 @@ install_requires = include_package_data = True [options.packages.find] -where = youscribe \ No newline at end of file +where = src \ No newline at end of file diff --git a/setup.py b/setup.py index ad02774..923f17d 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ here = pathlib.Path(__file__).parent.resolve() -__version__ = "0.0.2" +__version__ = "0.0.3" # Get the long description from the README file long_description = (here / "README.md").read_text(encoding="utf-8") @@ -23,7 +23,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ], - packages=find_packages(where="youscribe"), + packages=find_packages(where="src"), install_requires=[ "faster-whisper >= 0.10.0", "beautifulsoup4 >= 4.12.2", diff --git a/src/youscribe.egg-info/PKG-INFO b/src/youscribe.egg-info/PKG-INFO new file mode 100644 index 0000000..88c7c57 --- /dev/null +++ b/src/youscribe.egg-info/PKG-INFO @@ -0,0 +1,84 @@ +Metadata-Version: 2.1 +Name: youscribe +Version: 0.0.2 +Summary: Library to transcribe YouTube videos using Whisper model +Author: Digital Observatory +Author-email: digitalobservatory@qut.edu.au +Classifier: Development Status :: 4 - Beta +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Requires-Python: >=3.10 +Description-Content-Type: text/markdown +Requires-Dist: faster-whisper>=0.10.0 +Requires-Dist: beautifulsoup4>=4.12.2 +Requires-Dist: requests>=2.31.0 +Requires-Dist: yt-dlp>=2024.03.10 + +# Transcribe YouTube videos using Whisper models + +Adopts [faster_whisperer](https://github.com/SYSTRAN/faster-whisper), a cTransformer's based model for faster transcription. + +## Usage + +```python +from youtescribe import transcribe + +transcript = transcribe(url="https://www.youtube.com/watch?v=9bZkp7q19f0") + +transcript.text() +``` + +### Prompting + +By default, the video title and description are used as prompts to the transcription model. But you can also specify your own prompt: + +```python +transcript = transcribe( + url="https://www.youtube.com/watch?v=9bZkp7q19f0", + prompt="Enter prompt here" +) +``` + +You can also choose not to include prompt by setting `prompt=False`. + +```python +transcript = transcribe( + url="https://www.youtube.com/watch?v=9bZkp7q19f0", + prompt=False +) +``` + +### Working with `WhisperTranscript` objects + +The `transcribe()` function, if executed successfully, will return a `WhisperTranscript` object. You can view the transcript as plain text, SRT-formatted text, or a Python dictionary. + +```python +transcript = transcribe( + url="https://www.youtube.com/watch?v=9bZkp7q19f0", + prompt=False +) + +transcript.text() +transcript.srt() +transcript.json() +transcript.segment +``` + +### Customise Whisper model + +In the transcribe function, you can pass your own custom Whisper model: + +```python +from youtescribe import WhisperTranscriber +from youtescribe import models + +custom_transcriber = WhisperTranscriber(model_size = models.TINY_EN, cpu_threads=6, device="auto") + +transcript = transcribe( + url="https://www.youtube.com/watch?v=9bZkp7q19f0", + transcriber=custom_transcriber +) +transcript.text() +``` + + diff --git a/src/youscribe.egg-info/SOURCES.txt b/src/youscribe.egg-info/SOURCES.txt new file mode 100644 index 0000000..63e013e --- /dev/null +++ b/src/youscribe.egg-info/SOURCES.txt @@ -0,0 +1,18 @@ +.gitignore +README.md +pyproject.toml +setup.cfg +setup.py +test_youscribe.py +src/youscribe/__init__.py +src/youscribe/_version.py +src/youscribe/main.py +src/youscribe/models.py +src/youscribe/scraper.py +src/youscribe/transcriber.py +src/youscribe/transcript.py +src/youscribe.egg-info/PKG-INFO +src/youscribe.egg-info/SOURCES.txt +src/youscribe.egg-info/dependency_links.txt +src/youscribe.egg-info/requires.txt +src/youscribe.egg-info/top_level.txt \ No newline at end of file diff --git a/src/youscribe.egg-info/dependency_links.txt b/src/youscribe.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/youscribe.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/src/youscribe.egg-info/requires.txt b/src/youscribe.egg-info/requires.txt new file mode 100644 index 0000000..f02b741 --- /dev/null +++ b/src/youscribe.egg-info/requires.txt @@ -0,0 +1,4 @@ +faster-whisper>=0.10.0 +beautifulsoup4>=4.12.2 +requests>=2.31.0 +yt-dlp>=2024.03.10 diff --git a/src/youscribe.egg-info/top_level.txt b/src/youscribe.egg-info/top_level.txt new file mode 100644 index 0000000..0f51513 --- /dev/null +++ b/src/youscribe.egg-info/top_level.txt @@ -0,0 +1 @@ +youscribe diff --git a/youscribe/__init__.py b/src/youscribe/__init__.py similarity index 100% rename from youscribe/__init__.py rename to src/youscribe/__init__.py diff --git a/youscribe/_version.py b/src/youscribe/_version.py similarity index 100% rename from youscribe/_version.py rename to src/youscribe/_version.py diff --git a/youscribe/main.py b/src/youscribe/main.py similarity index 100% rename from youscribe/main.py rename to src/youscribe/main.py diff --git a/youscribe/models.py b/src/youscribe/models.py similarity index 100% rename from youscribe/models.py rename to src/youscribe/models.py diff --git a/youscribe/scraper.py b/src/youscribe/scraper.py similarity index 100% rename from youscribe/scraper.py rename to src/youscribe/scraper.py diff --git a/youscribe/transcriber.py b/src/youscribe/transcriber.py similarity index 100% rename from youscribe/transcriber.py rename to src/youscribe/transcriber.py diff --git a/youscribe/transcript.py b/src/youscribe/transcript.py similarity index 100% rename from youscribe/transcript.py rename to src/youscribe/transcript.py