mkv-episode-matcher 0.3.6__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mkv-episode-matcher might be problematic. Click here for more details.
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.coverage +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/PKG-INFO +12 -1
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/docs/configuration.md +5 -1
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/docs/installation.md +18 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/__main__.py +11 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/speech_to_text.py +7 -1
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/PKG-INFO +12 -1
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/requires.txt +13 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/pyproject.toml +46 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/setup.cfg +1 -1
- mkv_episode_matcher-0.4.0/uv.lock +1894 -0
- mkv_episode_matcher-0.3.6/uv.lock +0 -1386
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.gitattributes +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.github/funding.yml +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.github/workflows/documentation.yml +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.github/workflows/python-publish.yml +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.github/workflows/tests.yml +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.gitignore +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.gitmodules +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.python-version +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/.vscode/settings.json +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/README.md +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/docs/api/index.md +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/docs/cli.md +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/docs/quickstart.md +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/docs/tips.md +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkdocs.yml +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/.gitattributes +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/__init__.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/config.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/episode_identification.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/episode_matcher.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/.gitignore +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/SubZero.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/dictionaries/data.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/post_processing.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/README.md +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/__init__.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/imagemaker.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/pgs2srt.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/pgsreader.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/libraries/pgs2srt/requirements.txt +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/mkv_to_srt.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/subtitle_utils.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/tmdb_client.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/utils.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/SOURCES.txt +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/dependency_links.txt +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/entry_points.txt +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/top_level.txt +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/setup.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/tests/__init__.py +0 -0
- {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/tests/test_main.py +0 -0
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: mkv-episode-matcher
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
|
|
5
5
|
Home-page: https://github.com/Jsakkos/mkv-episode-matcher
|
|
6
6
|
Author: Jonathan Sakkos
|
|
@@ -25,7 +25,18 @@ Requires-Dist: pytesseract>=0.3.13
|
|
|
25
25
|
Requires-Dist: rapidfuzz>=3.10.1
|
|
26
26
|
Requires-Dist: requests>=2.32.3
|
|
27
27
|
Requires-Dist: tmdb-client>=0.0.1
|
|
28
|
+
Requires-Dist: torch>=2.5.1
|
|
29
|
+
Requires-Dist: torchaudio>=2.5.1
|
|
30
|
+
Requires-Dist: torchvision>=0.20.1
|
|
28
31
|
Requires-Dist: wave>=0.0.2
|
|
32
|
+
Provides-Extra: cpu
|
|
33
|
+
Requires-Dist: torch>=2.5.1; extra == "cpu"
|
|
34
|
+
Requires-Dist: torchvision>=0.20.1; extra == "cpu"
|
|
35
|
+
Requires-Dist: torchaudio>=2.5.1; extra == "cpu"
|
|
36
|
+
Provides-Extra: cu124
|
|
37
|
+
Requires-Dist: torch>=2.5.1; extra == "cu124"
|
|
38
|
+
Requires-Dist: torchvision>=0.20.1; extra == "cu124"
|
|
39
|
+
Requires-Dist: torchaudio>=2.5.1; extra == "cu124"
|
|
29
40
|
|
|
30
41
|
# MKV Episode Matcher
|
|
31
42
|
|
|
@@ -102,4 +102,8 @@ Adjust based on your system's capabilities:
|
|
|
102
102
|
tesseract_path = /path/to/tesseract
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
Required
|
|
105
|
+
Required for processing image-based subtitles. Common paths:
|
|
106
|
+
- Windows: `C:\Program Files\Tesseract-OCR\tesseract.exe`
|
|
107
|
+
- Linux/macOS: `/usr/bin/tesseract`
|
|
108
|
+
|
|
109
|
+
Make sure Tesseract OCR is properly installed before using this feature.
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Installation Guide
|
|
2
2
|
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
### Required System Dependencies
|
|
6
|
+
|
|
7
|
+
1. **FFmpeg**
|
|
8
|
+
- Windows: Download from [FFmpeg website](https://ffmpeg.org/download.html)
|
|
9
|
+
- Linux: `sudo apt install ffmpeg` or equivalent
|
|
10
|
+
- macOS: `brew install ffmpeg`
|
|
11
|
+
- Verify installation: `ffmpeg -version`
|
|
12
|
+
|
|
13
|
+
2. **Tesseract OCR**
|
|
14
|
+
- Windows: Install from [UB-Mannheim](https://github.com/UB-Mannheim/tesseract/wiki)
|
|
15
|
+
- Linux: `sudo apt install tesseract-ocr` or equivalent
|
|
16
|
+
- macOS: `brew install tesseract`
|
|
17
|
+
- Verify installation: `tesseract --version`
|
|
18
|
+
|
|
19
|
+
Make sure both FFmpeg and Tesseract are added to your system PATH.
|
|
20
|
+
|
|
3
21
|
## Basic Installation
|
|
4
22
|
|
|
5
23
|
Install MKV Episode Matcher using pip:
|
|
@@ -92,7 +92,18 @@ def main():
|
|
|
92
92
|
nargs="?",
|
|
93
93
|
help="Path to the tesseract executable (default: None)",
|
|
94
94
|
)
|
|
95
|
+
parser.add_argument(
|
|
96
|
+
"--check-gpu",
|
|
97
|
+
type=bool,
|
|
98
|
+
default=False,
|
|
99
|
+
nargs="?",
|
|
100
|
+
help="Check if GPU is available (default: False)",
|
|
101
|
+
)
|
|
95
102
|
args = parser.parse_args()
|
|
103
|
+
if args.check_gpu:
|
|
104
|
+
from mkv_episode_matcher.speech_to_text import check_gpu_support
|
|
105
|
+
check_gpu_support()
|
|
106
|
+
return
|
|
96
107
|
logger.debug(f"Command-line arguments: {args}")
|
|
97
108
|
open_subtitles_api_key = ""
|
|
98
109
|
open_subtitles_user_agent = ""
|
{mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher/speech_to_text.py
RENAMED
|
@@ -87,4 +87,10 @@ def extract_audio(mkv_file, output_dir):
|
|
|
87
87
|
else:
|
|
88
88
|
logger.info(f"Audio file {wav_file} already exists, skipping extraction")
|
|
89
89
|
|
|
90
|
-
return wav_file
|
|
90
|
+
return wav_file
|
|
91
|
+
def check_gpu_support():
|
|
92
|
+
logger.info('Checking GPU support...')
|
|
93
|
+
if torch.cuda.is_available():
|
|
94
|
+
logger.info(f"CUDA is available. Using GPU: {torch.cuda.get_device_name(0)}")
|
|
95
|
+
else:
|
|
96
|
+
logger.warning("CUDA not available. Using CPU. Refer to https://pytorch.org/get-started/locally/ for GPU support.")
|
{mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: mkv-episode-matcher
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
|
|
5
5
|
Home-page: https://github.com/Jsakkos/mkv-episode-matcher
|
|
6
6
|
Author: Jonathan Sakkos
|
|
@@ -25,7 +25,18 @@ Requires-Dist: pytesseract>=0.3.13
|
|
|
25
25
|
Requires-Dist: rapidfuzz>=3.10.1
|
|
26
26
|
Requires-Dist: requests>=2.32.3
|
|
27
27
|
Requires-Dist: tmdb-client>=0.0.1
|
|
28
|
+
Requires-Dist: torch>=2.5.1
|
|
29
|
+
Requires-Dist: torchaudio>=2.5.1
|
|
30
|
+
Requires-Dist: torchvision>=0.20.1
|
|
28
31
|
Requires-Dist: wave>=0.0.2
|
|
32
|
+
Provides-Extra: cpu
|
|
33
|
+
Requires-Dist: torch>=2.5.1; extra == "cpu"
|
|
34
|
+
Requires-Dist: torchvision>=0.20.1; extra == "cpu"
|
|
35
|
+
Requires-Dist: torchaudio>=2.5.1; extra == "cpu"
|
|
36
|
+
Provides-Extra: cu124
|
|
37
|
+
Requires-Dist: torch>=2.5.1; extra == "cu124"
|
|
38
|
+
Requires-Dist: torchvision>=0.20.1; extra == "cu124"
|
|
39
|
+
Requires-Dist: torchaudio>=2.5.1; extra == "cu124"
|
|
29
40
|
|
|
30
41
|
# MKV Episode Matcher
|
|
31
42
|
|
{mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.0}/mkv_episode_matcher.egg-info/requires.txt
RENAMED
|
@@ -7,4 +7,17 @@ pytesseract>=0.3.13
|
|
|
7
7
|
rapidfuzz>=3.10.1
|
|
8
8
|
requests>=2.32.3
|
|
9
9
|
tmdb-client>=0.0.1
|
|
10
|
+
torch>=2.5.1
|
|
11
|
+
torchaudio>=2.5.1
|
|
12
|
+
torchvision>=0.20.1
|
|
10
13
|
wave>=0.0.2
|
|
14
|
+
|
|
15
|
+
[cpu]
|
|
16
|
+
torch>=2.5.1
|
|
17
|
+
torchvision>=0.20.1
|
|
18
|
+
torchaudio>=2.5.1
|
|
19
|
+
|
|
20
|
+
[cu124]
|
|
21
|
+
torch>=2.5.1
|
|
22
|
+
torchvision>=0.20.1
|
|
23
|
+
torchaudio>=2.5.1
|
|
@@ -32,6 +32,9 @@ dependencies = [
|
|
|
32
32
|
"rapidfuzz>=3.10.1",
|
|
33
33
|
"requests>=2.32.3",
|
|
34
34
|
"tmdb-client>=0.0.1",
|
|
35
|
+
"torch>=2.5.1",
|
|
36
|
+
"torchaudio>=2.5.1",
|
|
37
|
+
"torchvision>=0.20.1",
|
|
35
38
|
"wave>=0.0.2",
|
|
36
39
|
]
|
|
37
40
|
[project.urls]
|
|
@@ -50,6 +53,49 @@ dev = [
|
|
|
50
53
|
"chardet>=5.2.0",
|
|
51
54
|
]
|
|
52
55
|
|
|
56
|
+
[project.optional-dependencies]
|
|
57
|
+
cpu = [
|
|
58
|
+
"torch>=2.5.1",
|
|
59
|
+
"torchvision>=0.20.1",
|
|
60
|
+
"torchaudio>=2.5.1",
|
|
61
|
+
]
|
|
62
|
+
cu124 = [
|
|
63
|
+
"torch>=2.5.1",
|
|
64
|
+
"torchvision>=0.20.1",
|
|
65
|
+
"torchaudio>=2.5.1",
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
[tool.uv]
|
|
69
|
+
conflicts = [
|
|
70
|
+
[
|
|
71
|
+
{ extra = "cpu" },
|
|
72
|
+
{ extra = "cu124" },
|
|
73
|
+
],
|
|
74
|
+
]
|
|
75
|
+
|
|
76
|
+
[tool.uv.sources]
|
|
77
|
+
torch = [
|
|
78
|
+
{ index = "pytorch-cpu", extra = "cpu" },
|
|
79
|
+
{ index = "pytorch-cu124", extra = "cu124" },
|
|
80
|
+
]
|
|
81
|
+
torchvision = [
|
|
82
|
+
{ index = "pytorch-cpu", extra = "cpu" },
|
|
83
|
+
{ index = "pytorch-cu124", extra = "cu124" },
|
|
84
|
+
]
|
|
85
|
+
torchaudio = [
|
|
86
|
+
{ index = "pytorch-cpu", extra = "cpu" },
|
|
87
|
+
{ index = "pytorch-cu124", extra = "cu124" },
|
|
88
|
+
]
|
|
89
|
+
|
|
90
|
+
[[tool.uv.index]]
|
|
91
|
+
name = "pytorch-cpu"
|
|
92
|
+
url = "https://download.pytorch.org/whl/cpu"
|
|
93
|
+
explicit = true
|
|
94
|
+
|
|
95
|
+
[[tool.uv.index]]
|
|
96
|
+
name = "pytorch-cu124"
|
|
97
|
+
url = "https://download.pytorch.org/whl/cu124"
|
|
98
|
+
explicit = true
|
|
53
99
|
|
|
54
100
|
[tool.ruff.format]
|
|
55
101
|
preview = true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[metadata]
|
|
2
2
|
name = mkv_episode_matcher
|
|
3
|
-
version = 0.
|
|
3
|
+
version = 0.4.0
|
|
4
4
|
author = Jonathan Sakkos
|
|
5
5
|
author_email = jonathansakkos@gmail.com
|
|
6
6
|
description = The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
|