Skip to main content

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 to simple-mhl for 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)

  1. Download and install Python 3.10+.

  2. Follow instructions to install uv package manager, or brew install uv if you're on macOS / Linux.

  3. Install toolkit:

uv tool install mhl-suite

macOS and Linux (Homebrew)

  1. Install Homebrew (if not already installed):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mhl_suite-1.1.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mhl_suite-1.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

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

Hashes for mhl_suite-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4ad5eaa2ddb009f2080da90f034bf03f7443bc36f78480c5a482337746376d8b
MD5 1bbf095e3d5d7be59649485392f27453
BLAKE2b-256 c7c647fc82ba4a01662bf394e5baa25cfafc283c5ce38cd6d4708b6b682ffb1e

See more details on using hashes here.

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

Hashes for mhl_suite-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a650eab2fff073424ebb999ca8ece0f373049141dcb0efd67ad1822bb2aea7ca
MD5 4d626b9884df2f3891e3575d92c10904
BLAKE2b-256 9f86aad838a8287f0af90924ec4cb38958c3511f893dba7533b1a580bb62b04d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page