CON corpus

readcon-db

Mmap-backed CON and convel. LMDB via Heed. Indexes, xxHash3 exact match, and bindings for Rust, C, C++, Python, and Fortran.

Docs Source readcon-core

With readcon-core

core parses and writes one stream or file. db keeps thousands of those frames, indexes them, and lets many readers mmap the same tree. CON text stays authoritative.

Open, ingest, select

use readcon_db::{ConCorpus, Select};

let db = ConCorpus::open("/tmp/corpus")?;
db.append_trajectory_path(1, "run.con")?;
let keys = db.select(&Select::new().require_symbol("Cu"))?;
let h = db.frame_hash(keys[0])?;

C, Python, Fortran

C / C++
include/readcon-db.h – rkrdb_* and RAII readcon_db::Corpus. MPI: readcon-db-mpi.h takes the caller communicator.
Python
maturin develop --features python → readcon_db.ConCorpus.
Fortran
fortran/ReadConDb with bind(C) helpers.