mkv-episode-matcher 0.3.6__py3-none-any.whl → 0.4.1__py3-none-any.whl

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.

@@ -1 +1,9 @@
1
+ """MKV Episode Matcher package."""
2
+ from importlib.metadata import version, PackageNotFoundError
3
+
4
+ try:
5
+ __version__ = version("mkv-episode-matcher")
6
+ except PackageNotFoundError:
7
+ # package is not installed
8
+ __version__ = "unknown"
1
9
 
@@ -1,9 +1,10 @@
1
1
  # __main__.py
2
2
  import argparse
3
3
  import os
4
+ import sys
4
5
 
5
6
  from loguru import logger
6
-
7
+ from mkv_episode_matcher import __version__
7
8
  from mkv_episode_matcher.config import get_config, set_config
8
9
 
9
10
  # Log the start of the application
@@ -62,6 +63,12 @@ def main():
62
63
 
63
64
  # Parse command-line arguments
64
65
  parser = argparse.ArgumentParser(description="Process shows with TMDb API")
66
+ parser.add_argument(
67
+ "--version",
68
+ action="version",
69
+ version=f"%(prog)s {__version__}",
70
+ help="Show the version number and exit"
71
+ )
65
72
  parser.add_argument("--tmdb-api-key", help="TMDb API key")
66
73
  parser.add_argument("--show-dir", help="Main directory of the show")
67
74
  parser.add_argument(
@@ -92,7 +99,18 @@ def main():
92
99
  nargs="?",
93
100
  help="Path to the tesseract executable (default: None)",
94
101
  )
102
+ parser.add_argument(
103
+ "--check-gpu",
104
+ type=bool,
105
+ default=False,
106
+ nargs="?",
107
+ help="Check if GPU is available (default: False)",
108
+ )
95
109
  args = parser.parse_args()
110
+ if args.check_gpu:
111
+ from mkv_episode_matcher.speech_to_text import check_gpu_support
112
+ check_gpu_support()
113
+ return
96
114
  logger.debug(f"Command-line arguments: {args}")
97
115
  open_subtitles_api_key = ""
98
116
  open_subtitles_user_agent = ""
@@ -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.")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mkv-episode-matcher
3
- Version: 0.3.6
3
+ Version: 0.4.1
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
 
@@ -56,7 +67,7 @@ Automatically match and rename your MKV TV episodes using The Movie Database (TM
56
67
  - Python 3.9 or higher
57
68
  - [FFmpeg](https://ffmpeg.org/download.html) installed and available in system PATH
58
69
  - [Tesseract OCR](https://github.com/UB-Mannheim/tesseract/wiki) installed (required for image-based subtitle processing)
59
- - TMDb API key
70
+ - TMDb API key (optional, for subtitle downloads)
60
71
  - OpenSubtitles account (optional, for subtitle downloads)
61
72
 
62
73
  ## Quick Start
@@ -72,10 +83,6 @@ pip install mkv-episode-matcher
72
83
  mkv-match --show-dir "path/to/your/show"
73
84
  ```
74
85
 
75
- ## Documentation
76
-
77
- Full documentation is available at [https://jsakkos.github.io/mkv-episode-matcher/](https://jsakkos.github.io/mkv-episode-matcher/)
78
-
79
86
  ## Directory Structure
80
87
 
81
88
  MKV Episode Matcher expects your TV shows to be organized as follows:
@@ -125,3 +132,6 @@ Distributed under the MIT License. See `LICENSE` for more information.
125
132
  - [OpenSubtitles](https://www.opensubtitles.com/) for subtitle integration
126
133
  - All contributors who have helped improve this project
127
134
 
135
+ ## Documentation
136
+
137
+ Full documentation is available at [https://jsakkos.github.io/mkv-episode-matcher/](https://jsakkos.github.io/mkv-episode-matcher/)
@@ -1,11 +1,11 @@
1
1
  mkv_episode_matcher/.gitattributes,sha256=Gh2-F2vCM7SZ01pX23UT8pQcmauXWfF3gwyRSb6ZAFs,66
2
- mkv_episode_matcher/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
- mkv_episode_matcher/__main__.py,sha256=3ZcCUxeI7rUA-4oiCD2WXBiOFJAqLsVVWfZKN446FwQ,6792
2
+ mkv_episode_matcher/__init__.py,sha256=aNlpgTo1kHVrBcR3SH6wRmCgKu8KjNTki1ZvFfAud6s,240
3
+ mkv_episode_matcher/__main__.py,sha256=0ZwFXw30744lZ8HIMzUN4F2abpTRCT4glBCM9XQdD3k,7328
4
4
  mkv_episode_matcher/config.py,sha256=zDDKBcsDt5fME9BRqiTi7yWKeast1pZh36BNYMvIBYM,2419
5
5
  mkv_episode_matcher/episode_identification.py,sha256=_6M1UJkq1RGfmLI32u9dNOVvgp5Vf2MjqW2MTx0Gl8E,10329
6
6
  mkv_episode_matcher/episode_matcher.py,sha256=vunYpHQxyXo3l88BUScXa7_kMYMCV1pXpQxaLa-plZA,4325
7
7
  mkv_episode_matcher/mkv_to_srt.py,sha256=4yxBHRVhgVby0UtQ2aTXGuoQpid8pkgjMIaHU6GCdzc,10857
8
- mkv_episode_matcher/speech_to_text.py,sha256=-bnGvmtPCKyHFPEaXwIcEYTf_P13rNpAJA-2UFeRFrs,2806
8
+ mkv_episode_matcher/speech_to_text.py,sha256=wVDrFFR7oASGMyq5cfOWmInEIeU9b3MPCLs9EyJrOMw,3128
9
9
  mkv_episode_matcher/subtitle_utils.py,sha256=rYSbd393pKYQW0w4sXgals02WFGqMYYYkQHDbEkWF8c,2666
10
10
  mkv_episode_matcher/tmdb_client.py,sha256=LbMCgjmp7sCbrQo_CDlpcnryKPz5S7inE24YY9Pyjk4,4172
11
11
  mkv_episode_matcher/utils.py,sha256=VASbougN3rb2iu40iZWkGjKIbahW713TOrFBo_TR9wo,14269
@@ -19,8 +19,8 @@ mkv_episode_matcher/libraries/pgs2srt/requirements.txt,sha256=sg87dqWw_qpbwciw-M
19
19
  mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/SubZero.py,sha256=geT1LXdVd8yED9zoJ9K1XfP2JzGcM7u1SslHYrJI09o,10061
20
20
  mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/post_processing.py,sha256=GKtVy_Lxv-z27mkRG8pJF2znKWXwZTot7jL6kN-zIxM,10503
21
21
  mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/dictionaries/data.py,sha256=AlJHUYXl85J95OzGRik-AHVfzDd7Q8BJCvD4Nr8kRIk,938598
22
- mkv_episode_matcher-0.3.6.dist-info/METADATA,sha256=gjlfeFtCjCCjf2qUWTGJ9zTvSSU_1KRhp1ZtIBISecI,5113
23
- mkv_episode_matcher-0.3.6.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
24
- mkv_episode_matcher-0.3.6.dist-info/entry_points.txt,sha256=IglJ43SuCZq2eQ3shMFILCkmQASJHnDCI3ogohW2Hn4,64
25
- mkv_episode_matcher-0.3.6.dist-info/top_level.txt,sha256=XRLbd93HUaedeWLtkyTvQjFcE5QcBRYa3V-CfHrq-OI,20
26
- mkv_episode_matcher-0.3.6.dist-info/RECORD,,
22
+ mkv_episode_matcher-0.4.1.dist-info/METADATA,sha256=IWKnIxGcG_W1EEtPfYasyMCfyZL7-NL_ScYfNl0HVlg,5579
23
+ mkv_episode_matcher-0.4.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
24
+ mkv_episode_matcher-0.4.1.dist-info/entry_points.txt,sha256=IglJ43SuCZq2eQ3shMFILCkmQASJHnDCI3ogohW2Hn4,64
25
+ mkv_episode_matcher-0.4.1.dist-info/top_level.txt,sha256=XRLbd93HUaedeWLtkyTvQjFcE5QcBRYa3V-CfHrq-OI,20
26
+ mkv_episode_matcher-0.4.1.dist-info/RECORD,,