|
3 | 3 | [](https://github.com/sheldonkwoodward/pymkv/LICENSE.txt) |
4 | 4 | [](https://api.codacy.com/project/badge/Grade/e1fe077d95f74a5886c557024777c26c) |
5 | 5 |
|
6 | | -pymkv is a Python wrapper for mkvmerge. It provides support for muxing, splitting, linking, chapters, tags, and attachments through the use of mkvmerge. |
| 6 | +pymkv is a Python wrapper for mkvmerge and other tools in the MKVToolNix suite. It provides support for muxing, |
| 7 | +splitting, linking, chapters, tags, and attachments through the use of mkvmerge. |
7 | 8 |
|
8 | 9 | ## About pymkv |
9 | | -pymkv is a Python 3 library for manipulating MKV files with mkvmerge. Previously, I was constructing mkvmerge commands manually. They were becoming overly complex and unmanageable. To remedy this, I decided to write this library to make mkvmerge more scriptable and easier to use. Please open new issues for any bugs you find, support is greatly appreciated! |
| 10 | +pymkv is a Python 3 library for manipulating MKV files with mkvmerge. Constructing mkvmerge commands manually can |
| 11 | +quickly become confusing and complex. To remedy this, I decided to write this library to make mkvmerge more |
| 12 | +scriptable and easier to use. Please open new issues for any bugs you find, support is greatly appreciated! |
10 | 13 |
|
11 | 14 | ## Installation |
12 | | -mkvmerge must be installed on your computer. It is recommended to add it to your \$PATH variable but a different path can be manually specified. mkvmerge can be found and downloaded from [here] or in most package managers. |
| 15 | +mkvmerge must be installed on your computer, it is needed to process files when creating MKV objects. It is also |
| 16 | +recommended to add it to your $PATH variable but a different path can be manually specified. mkvmerge can be found |
| 17 | +and downloaded from [here](https://mkvtoolnix.download/downloads.html) or from most package managers. |
13 | 18 |
|
14 | 19 | To install pymkv from PyPI, use the following command: |
15 | 20 |
|
16 | 21 | $ pip install pymkv |
17 | 22 |
|
18 | | -You can also clone the repo and run the following command in the project root to edit the source code: |
| 23 | +You can also clone the repo and run the following command in the project root to install the source code as editable: |
19 | 24 |
|
20 | 25 | $ pip install -e . |
21 | 26 |
|
22 | 27 | ## Documentation |
23 | | -The documentation for pymkv can be found [here](https://pymkv.shel.dev) or in the docstrings. |
| 28 | +The documentation for pymkv can be found [here](https://pymkv.shel.dev) or in the project's docstrings. |
| 29 | + |
| 30 | +## Roadmap |
| 31 | +pymkv was a project started a few years ago when I was first learning Python. There were a number of things that I |
| 32 | +did that could use improvement. The planned changes and future features are outlined below. Keep an eye on the [Github |
| 33 | +Projects page](https://github.com/sheldonkwoodward/pymkv/projects) for the current roadmap status. |
| 34 | + |
| 35 | +### ~~Documentation~~ |
| 36 | +The current documentation for pymkv is lacking. Instead of manually managing a GitHub Wiki, Sphinx will be setup to |
| 37 | +automatically generate documentation from docstrings. The docstrings will also need to be updated and improved to |
| 38 | +ensure this documentation is complete. |
| 39 | + |
| 40 | +### Tests |
| 41 | +After completing documentation for the existing features, unit tests need to be written to "lock in" the existing |
| 42 | +functionality. Generating mkvmerge commands can be complex and it is easy to subtly modify an existing feature when |
| 43 | +adding a new one. Unit tests will ensure that features remain the same and help prevent bugs in the future. |
| 44 | + |
| 45 | +### Cleanup |
| 46 | +The existing code base could use some tidying, better commenting, debugging, and a general styling overhaul. Setting up |
| 47 | +[pre-commit](https://pre-commit.com/) and the [Black code formatter](https://github.com/psf/black) will help keep the |
| 48 | +code base more readable and maintainable. |
| 49 | + |
| 50 | +### Features |
| 51 | +Once these first three steps are complete, pymkv will be ready to start adding new features. The goal is for pymkv to |
| 52 | +implement the functionality of mkvmerge and other MKVToolNix tools as closely as possible. New features and bugs will |
| 53 | +be added to the [GitHub issues page](https://github.com/sheldonkwoodward/pymkv/issues). As pymkv progresses through |
| 54 | +the previous steps, this roadmap will be expanded to outline new features. |
0 commit comments