Simple MHL verification and sealing tools
Project description
mhl-suite
mhl-suite is an essential toolkit for sealing and verifying MHL files. It consists of two primary executables:
mhlver: one tool to verify them all. This is a wrapper that automatically detects MHL versions (legacy and ASC-MHL) and manages recursive directory verification and reporting. It delegates verification tosimple-mhlfor legacy files and ascmhl for modern manifests.simple-mhl: a modern verification and sealing tool, for legacy MHL files. A successor of the discontinued mhl-tool, it fully supports xxhash64 (both seal and verify), and it features a compliance validator for the XML Schema Definition (XSD) as well as cleaner logs.
🛠️ Dependencies
mhlver integrates the following open-source components:
- Python 3.9+ © 2001-2026 Python Software Foundation (PSF)
- python-xxhash © 2014-2026 Yue Du (BSD-2-Clause)
- lxml © 2004-2026 Stefan Behnel, et al. (BSD-3-Clause)
- ASC-MHL 1.2 © 2022-2026 Academy of Motion Picture Arts and Sciences (MIT)
🚀 Installation
Cross-platform (Recommended)
-
Download and install Python 3.10+.
-
Follow instructions to install uv package manager, or
brew install uvif you're on macOS / Linux. -
Install toolkit:
uv tool install mhl-suite
macOS and Linux (Homebrew)
- Install Homebrew (if not already installed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Tap and install:
brew tap lucuma13/dit
brew install mhl-suite
📖 Usage
mhlver
mhlver [options] <path>
Options:
-d, --datestamp : Prepend datestamp for reporting
-s, --xsd-schema-check : Validate XML Schema Definition
-v, --verbose : Verbose
-h, --help : Show this help message
--version : Print version
Note: <path> can be a single file or a directory, or the current directory if left blank.
simple-mhl
simple-mhl <command> [options] <path>
Commands / Options:
seal : Seal directory (MHL file will be generated at the root)
-a, --algorithm : Algorithm: xxhash (default), md5, sha1, xxh128, xxh3_64
--dont-reseal : Abort operation if an MHL file already exists at root
verify : Verify an MHL file and hash values
xsd-schema-check : Validate XML Schema Definition
-h, --help : Show this help message
--version : Print version
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mhl_suite-1.1.0.tar.gz.
File metadata
- Download URL: mhl_suite-1.1.0.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ad5eaa2ddb009f2080da90f034bf03f7443bc36f78480c5a482337746376d8b
|
|
| MD5 |
1bbf095e3d5d7be59649485392f27453
|
|
| BLAKE2b-256 |
c7c647fc82ba4a01662bf394e5baa25cfafc283c5ce38cd6d4708b6b682ffb1e
|
File details
Details for the file mhl_suite-1.1.0-py3-none-any.whl.
File metadata
- Download URL: mhl_suite-1.1.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a650eab2fff073424ebb999ca8ece0f373049141dcb0efd67ad1822bb2aea7ca
|
|
| MD5 |
4d626b9884df2f3891e3575d92c10904
|
|
| BLAKE2b-256 |
9f86aad838a8287f0af90924ec4cb38958c3511f893dba7533b1a580bb62b04d
|