Included in the PyPI distribution
- Core Metriplane Python packages
- The metriplane command-line entry point
- The metriplane-run command-line entry point
- Runtime dependencies needed by the packaged core
PyPI package
The current package release makes the core Metriplane Python packages and command-line interfaces installable from PyPI on Python 3.12 or newer. The frozen v0.2.0 research evidence remains a separate, exact-version artifact.
v0.2.1 is a packaging and delivery release. It does not modify the frozen v0.2.0 SoftwareX evidence, measurements, or DOI.
Quick start
The commands below install the published package, verify the environment, and exercise a packaged Atlas command without requiring a source checkout.
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install "metriplane==0.2.1"
metriplane doctor
metriplane atlas protocol export \
--out metriplane-protocol Package boundary
A clean PyPI installation is the supported path for the packaged core. Commands that refer to repository directories still require an exact source checkout. Doctor warnings about those absent source-only paths are expected when the command is run from a wheel installation.
v0.2.1 changes
The release is deliberately narrow: it improves distribution and release engineering while preserving the previously archived research evidence.
The release adds an explicit build system, complete PyPI project links, and distribution metadata sourced from the package itself.
metriplane.__version__ is the authoritative package version and is checked against both the distribution metadata and the release tag.
The package now depends on opencv-contrib-python-headless so the ArUco APIs used by Metriplane are present in a clean installation.
GitHub Actions uses OIDC-based Trusted Publishing: the exact built files are staged on TestPyPI, verified, approved, and then promoted to PyPI without a long-lived API token.
The release gate validates metadata, dependencies, package/version identity, cv2.aruco, doctor, and Atlas protocol export from a fresh environment outside the source checkout.
The PyPI wheel contains the core Python packages and CLI entry points. Checked-in datasets, domain packs, the local dashboard, helper scripts, and frozen evidence still require a source checkout.
Optional extras
CuPy support for a Linux CUDA 12.x environment.
python -m pip install "metriplane[gpu-cuda12x]==0.2.1" CuPy and optional CUDA toolkit support for a Linux CUDA 13.x environment.
python -m pip install "metriplane[gpu-cuda13x]==0.2.1" Pandas and Matplotlib for plotting and analysis helpers.
python -m pip install "metriplane[plots]==0.2.1" Release engineering
The tagged release runs the required release gates, checks that the tag and package version agree, builds and validates the distributions, and smoke-tests the wheel outside the checkout. The files are then published to TestPyPI, installed and checked there, approved through the protected production environment, published to PyPI, and installed once more from the production registry.
tag on main
-> release gates
-> build wheel + sdist
-> strict metadata validation
-> wheel smoke test
-> TestPyPI publish + install check
-> protected production approval
-> PyPI publish + install check Distribution provenance
f52af60360a149efbd28b1a36ec0908e245ebbf6625be56a8ab2b8aee036b13a
70a7038debe2226e95dcb25ee649195b8f1e223c180d0c2ef6fbfb7286d69ed4
Version boundary
PyPI packaging and delivery release. Use it for ordinary pip installation and packaged CLI use.
Frozen SoftwareX research artifact. Use the exact tag for the SoftwareX reproduction and evidence claims.
Evaluated release for the camera-first planar-twin protocol preprint. Later releases are outside that preprint's experimental boundary.