vernier-cli
Command-line driver for the vernier evaluation library.
The vernier binary runs COCO-format evaluation (bbox, segm, boundary,
keypoints) without a Python interpreter. CI pipelines, robotics replay
pipelines, and shell-driven non-regression checks are the audience —
ADR-0015
captures the design.
Installation
Pre-built binaries (recommended for CI):
# cargo binstall — downloads the right binary for your host triple
# Or curl-pipe-bash from the GitHub Release
|
From source:
Pre-built binaries ship for x86_64-unknown-linux-gnu,
aarch64-unknown-linux-gnu, aarch64-apple-darwin, and
x86_64-pc-windows-msvc.
Usage
# Strict-mode parity with pycocotools' summarize() stdout
# Multi-emit: one eval, multiple outputs
Output is byte-deterministic across runs of the same input — no timestamps, no host metadata, sorted JSON keys, atomic file writes. CI archives diff cleanly and regression-tracking buckets work out of the box.
The full surface (--parity-mode, --max-dets, --use-cats,
--dilation-ratio, --sigmas, --emit FMT[=PATH], --quiet) is documented in
ADR-0015 §"Surface".
Exit codes
| Code | Meaning |
|---|---|
| 0 | Eval ran, summary written |
| 1 | Eval ran but failed (parity-mode constraint, malformed JSON, kernel error) |
| 2 | Argument parse / validation failure |
Architectural notes
vernier-cli is a thin parse-and-format layer over vernier-core. It links
neither vernier-ffi nor PyO3 — pure-Rust dep tree per
ADR-0015.
The binary's stability commitments (flag surface, JSON schema version, output
determinism) are pinned from its first ship under the 0.0.x release line.
License
Dual-licensed under MIT or Apache-2.0, at your option.