ProLance

A columnar mass-spec store on Lance.

ProLance ingests vendor formats via OpenProteo or mzML, writes them into a memory-mapped Lance dataset with scalar indexes on retention time and m/z, and exposes range queries from Rust, Python, and a CLI - no SDKs, no databases to spin up.

Docs

Quickstart, schema, and query API.

Source

Apache-2.0 on GitHub.

PyPI

Install with pip install prolance.

crates.io

The prolance-core Rust crate.

Why Lance

Lance is a modern columnar table format designed for vector search and ML workloads. ProLance treats each MS run as a Lance dataset, which gives memory-mapped reads, cheap random seeks across millions of spectra, and direct PyArrow / Polars / Pandas zero-copy access - without spinning up Spark, GenomicsDB, or a separate query engine.

Status

0.2.0-alpha. The API and on-disk schema may break without notice until 1.0. Use it for experiments and small projects; the format is not yet stable.