mkv-episode-matcher 0.3.6__tar.gz → 0.4.1__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.
Files changed (54) hide show
  1. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.coverage +0 -0
  2. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/PKG-INFO +16 -6
  3. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/README.md +4 -5
  4. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/docs/configuration.md +5 -1
  5. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/docs/installation.md +26 -5
  6. mkv_episode_matcher-0.4.1/mkv_episode_matcher/__init__.py +9 -0
  7. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/__main__.py +19 -1
  8. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/speech_to_text.py +7 -1
  9. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher.egg-info/PKG-INFO +16 -6
  10. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher.egg-info/requires.txt +13 -0
  11. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/pyproject.toml +46 -0
  12. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/setup.cfg +1 -1
  13. mkv_episode_matcher-0.4.1/uv.lock +1923 -0
  14. mkv_episode_matcher-0.3.6/mkv_episode_matcher/__init__.py +0 -1
  15. mkv_episode_matcher-0.3.6/uv.lock +0 -1386
  16. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.gitattributes +0 -0
  17. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.github/funding.yml +0 -0
  18. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.github/workflows/documentation.yml +0 -0
  19. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.github/workflows/python-publish.yml +0 -0
  20. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.github/workflows/tests.yml +0 -0
  21. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.gitignore +0 -0
  22. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.gitmodules +0 -0
  23. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.python-version +0 -0
  24. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/.vscode/settings.json +0 -0
  25. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/docs/api/index.md +0 -0
  26. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/docs/cli.md +0 -0
  27. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/docs/quickstart.md +0 -0
  28. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/docs/tips.md +0 -0
  29. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkdocs.yml +0 -0
  30. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/.gitattributes +0 -0
  31. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/config.py +0 -0
  32. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/episode_identification.py +0 -0
  33. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/episode_matcher.py +0 -0
  34. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/.gitignore +0 -0
  35. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/SubZero.py +0 -0
  36. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/dictionaries/data.py +0 -0
  37. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/post_processing.py +0 -0
  38. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/README.md +0 -0
  39. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/__init__.py +0 -0
  40. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/imagemaker.py +0 -0
  41. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/pgs2srt.py +0 -0
  42. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/pgsreader.py +0 -0
  43. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/libraries/pgs2srt/requirements.txt +0 -0
  44. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/mkv_to_srt.py +0 -0
  45. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/subtitle_utils.py +0 -0
  46. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/tmdb_client.py +0 -0
  47. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher/utils.py +0 -0
  48. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher.egg-info/SOURCES.txt +0 -0
  49. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher.egg-info/dependency_links.txt +0 -0
  50. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher.egg-info/entry_points.txt +0 -0
  51. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/mkv_episode_matcher.egg-info/top_level.txt +0 -0
  52. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/setup.py +0 -0
  53. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/tests/__init__.py +0 -0
  54. {mkv_episode_matcher-0.3.6 → mkv_episode_matcher-0.4.1}/tests/test_main.py +0 -0
@@ -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/)
@@ -27,7 +27,7 @@ Automatically match and rename your MKV TV episodes using The Movie Database (TM
27
27
  - Python 3.9 or higher
28
28
  - [FFmpeg](https://ffmpeg.org/download.html) installed and available in system PATH
29
29
  - [Tesseract OCR](https://github.com/UB-Mannheim/tesseract/wiki) installed (required for image-based subtitle processing)
30
- - TMDb API key
30
+ - TMDb API key (optional, for subtitle downloads)
31
31
  - OpenSubtitles account (optional, for subtitle downloads)
32
32
 
33
33
  ## Quick Start
@@ -43,10 +43,6 @@ pip install mkv-episode-matcher
43
43
  mkv-match --show-dir "path/to/your/show"
44
44
  ```
45
45
 
46
- ## Documentation
47
-
48
- Full documentation is available at [https://jsakkos.github.io/mkv-episode-matcher/](https://jsakkos.github.io/mkv-episode-matcher/)
49
-
50
46
  ## Directory Structure
51
47
 
52
48
  MKV Episode Matcher expects your TV shows to be organized as follows:
@@ -96,3 +92,6 @@ Distributed under the MIT License. See `LICENSE` for more information.
96
92
  - [OpenSubtitles](https://www.opensubtitles.com/) for subtitle integration
97
93
  - All contributors who have helped improve this project
98
94
 
95
+ ## Documentation
96
+
97
+ Full documentation is available at [https://jsakkos.github.io/mkv-episode-matcher/](https://jsakkos.github.io/mkv-episode-matcher/)
@@ -102,4 +102,8 @@ Adjust based on your system's capabilities:
102
102
  tesseract_path = /path/to/tesseract
103
103
  ```
104
104
 
105
- Required only if processing image-based subtitles.
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:
@@ -17,9 +35,12 @@ For GPU acceleration (recommended if you have a CUDA-capable GPU):
17
35
  ```bash
18
36
  pip install "mkv-episode-matcher"
19
37
  ```
20
- Find the appropriate CUDA version and upgrade Torch (e.g., for CUDA 12.4):
38
+ Find the appropriate CUDA version and upgrade Torch (e.g., for CUDA 12.4) from the [compatibility matrix](https://pytorch.org/get-started/locally/):
21
39
  ```bash
22
40
  pip install -U torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
41
+
42
+ # Verify GPU availability
43
+ mkv-match --check-gpu true
23
44
  ```
24
45
 
25
46
 
@@ -36,13 +57,12 @@ cd mkv-episode-matcher
36
57
  pip install uv
37
58
 
38
59
  # Install with development dependencies
39
- uv venv
40
- uv pip install -e ".[dev]"
60
+ uv sync --dev
41
61
  ```
42
62
 
43
63
  ## API Keys Setup
44
64
 
45
- 1. **TMDb API Key**
65
+ 1. **TMDb API Key (Optional)**
46
66
  - Create an account at [TMDb](https://www.themoviedb.org/)
47
67
  - Go to your account settings
48
68
  - Request an API key
@@ -69,12 +89,13 @@ Verify your installation:
69
89
  mkv-match --version
70
90
 
71
91
  # Check GPU availability (if installed with GPU support)
72
- python -c "import torch; print(f'GPU available: {torch.cuda.is_available()}')"
92
+ mkv-match --check-gpu true
73
93
  ```
74
94
 
75
95
  ## Troubleshooting
76
96
 
77
97
  If you encounter any issues:
98
+
78
99
  1. Ensure you have the latest pip: `pip install --upgrade pip`
79
100
  2. For GPU installations, verify CUDA is properly installed
80
101
  3. Check the [compatibility matrix](https://pytorch.org/get-started/locally/) for PyTorch and CUDA versions
@@ -0,0 +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"
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/)
@@ -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.6
3
+ version = 0.4.1
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.