Skip to main content

High-performance, parity-preserving COCO-style evaluation

Project description

vernier

CI PyPI crates.io vernier crates.io vernier-core License: MIT OR Apache-2.0

High-performance, parity-preserving COCO-style evaluation for object detection, instance segmentation, and keypoints. Rust core, Python frontend, optional CLI.

Status: early development. Public API is unstable and the project is pre-1.0. See docs/adr/ for the design decisions that are shaping it.

Why vernier

Existing COCO evaluation tooling presents a forced choice: the reference pycocotools is correct-by-definition but slow and unmaintained; faster reimplementations exist but each comes with its own drift from the reference. vernier aims to provide a single library that is:

  • Bitwise identical to the pycocotools reference on the minimal API
  • Fast — Rust core, SIMD-friendly data layout, zero-copy on the hot path
  • Honest about quirks — extended API offers corrected definitions alongside the reference, with the difference documented per-quirk
  • Embeddable — pure-Rust core usable from CLI, ROS2 nodes, or any other Rust program without dragging Python along

Layout

crates/
  vernier-core/   pure Rust evaluation logic; no Python dependency
  vernier-ffi/    PyO3 bindings; data conversion only, no business logic
python/
  vernier/        thin Python wrapper; the user-facing API lives here
docs/
  adr/            Architecture Decision Records
  ...             Diátaxis-organized documentation
tests/
  rust/           Rust integration tests
  python/         Python tests against the FFI boundary

Quickstart (development)

Prerequisites: Rust stable, uv, just, and cargo-nextest.

# One-time setup
just bootstrap

# Iterate
just develop      # fast incremental rebuild
just test         # Rust + Python tests
just lint         # clippy + ruff + pyright (read-only, CI-equivalent)
just fmt          # auto-format everything

Project governance

Architectural decisions are recorded in docs/adr/. The first ADR (0001-record-architecture-decisions.md) establishes the process itself. Significant changes — anything that affects the public API, the FFI boundary, or the parity contract — start as an ADR draft.

License

Dual-licensed under either of Apache License, Version 2.0 or MIT license at your option.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

vernier-0.0.1-cp310-abi3-win_amd64.whl (489.8 kB view details)

Uploaded CPython 3.10+Windows x86-64

vernier-0.0.1-cp310-abi3-musllinux_1_2_x86_64.whl (776.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

vernier-0.0.1-cp310-abi3-musllinux_1_2_aarch64.whl (713.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

vernier-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (562.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

vernier-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (536.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

vernier-0.0.1-cp310-abi3-macosx_11_0_arm64.whl (508.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

vernier-0.0.1-cp310-abi3-macosx_10_12_x86_64.whl (531.3 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file vernier-0.0.1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: vernier-0.0.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 489.8 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vernier-0.0.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 005347aabe0176cea97c664635979e2ae2e9cdf1dd74d832a316c156a838b92b
MD5 659c11389d968151c07f901a41ab993f
BLAKE2b-256 b6f4b168308c04469fa56cc4f2e1cba37aeceb0c3b2d9ab377bdc512bed8acbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for vernier-0.0.1-cp310-abi3-win_amd64.whl:

Publisher: wheels.yml on NoeFontana/vernier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vernier-0.0.1-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for vernier-0.0.1-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 08483063f31c71eb3d032fc9c3f3322d8a42d6ef37a3a3a703f9c6dee6e67606
MD5 d3ec1f7180c4fa44a6c9da66e49eaa98
BLAKE2b-256 aa1fb8baac86d7668d6c31e6c9adacf6f7036c804cdb0fad22d11988b73fdba0

See more details on using hashes here.

Provenance

The following attestation bundles were made for vernier-0.0.1-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on NoeFontana/vernier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vernier-0.0.1-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for vernier-0.0.1-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 def08f5f2f06bf2163382cb2d355c44e7fb107acea79564510da3f97a071e29c
MD5 bd75b0acf09c93421d83c57a82d6bf94
BLAKE2b-256 2d74454a41ffef86c7945f6855eccebbecf5563e898680c5198a1c0963ae0598

See more details on using hashes here.

Provenance

The following attestation bundles were made for vernier-0.0.1-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: wheels.yml on NoeFontana/vernier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vernier-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vernier-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57fb47ad8efa4b660434b1868dc36244d6ee55995b4806062617bc164b93547d
MD5 91c150b806d65256fec5de6dfe500948
BLAKE2b-256 0ab4cf3a293cae3986984bbf7bc657a493bda13baf1a6416d7d611da3d0dc35f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vernier-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on NoeFontana/vernier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vernier-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vernier-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c364e766b75dc0aa4a90fa86188aaf15b7d0935fcaa3c5f062958425ddc0b280
MD5 e641f07ff7edbc49e429f3a4a081ca62
BLAKE2b-256 7261ac40a08a5d9a7c3a7cccc5a732b88eca912ebdf5313e21f2c923b4b0aeea

See more details on using hashes here.

Provenance

The following attestation bundles were made for vernier-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on NoeFontana/vernier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vernier-0.0.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vernier-0.0.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5f2d2b51263f75ef23c04fecd3656dc7a11ee73ef0405fcfe9f34084733eb75
MD5 471b9d46e93df11410a115b0c6f420b1
BLAKE2b-256 37af28c61bd808e74cdae49631f7a546c2a34bfc69016e8c49dfb4d175f61af2

See more details on using hashes here.

Provenance

The following attestation bundles were made for vernier-0.0.1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: wheels.yml on NoeFontana/vernier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vernier-0.0.1-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for vernier-0.0.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 53be05055a7e34c8de3c0a80613ab8b25f8956becf57e75007357a597fab1093
MD5 a0f268184a84b53e9e4154e65132b089
BLAKE2b-256 48e8b33778dbdba4acb31d2a90bb6f800fca6394b1465543b893a915c09aca43

See more details on using hashes here.

Provenance

The following attestation bundles were made for vernier-0.0.1-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on NoeFontana/vernier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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