Getting started#

Tip

Install one language, then run the Tutorial — first corpus.

Install#

Pick one language. Pins match this tree (0.1.6). Core is readcon-core ^0.14 (pulled automatically for Rust).

Package

Install

Destination

Rust

cargo add readcon-db

this site · crates.io

CLI

cargo install readcon-db --locked

readcon-db binary

Python

pip install readcon-db

PyPI

C / C++

CMake FetchContent, Meson wrap, or pkg-config readcon-db

Install

Fortran

fortran/ReadConDb after a prefix or clib install

Fortran API

Prebuilt C ABI

readcon-db-clib-$VER-$target.tar.gz on the GitHub Release

Install

CON parse/write outside the corpus API is readcon-core (pip install readcon / cargo add readcon-core).

Rust#

cargo add readcon-db

Python#

pip install readcon-db
python -c "import readcon_db"

C / C++ / Fortran#

Headers in include/ are shipped. cbindgen is not required. Full FetchContent / Meson / clib matrix: Install.

Smoke test#

From a checkout (fixture under resources/test/):

import tempfile
from pathlib import Path
import readcon_db

root = Path(tempfile.mkdtemp())
db = readcon_db.ConCorpus.open(str(root))
db.append_trajectory_path(1, "resources/test/tiny_cuh2.con")
keys = db.select(readcon_db.Select().require_symbol("Cu"))
print(len(keys), db.frame_hash(keys[0]))
use readcon_db::{ConCorpus, Select};
let db = ConCorpus::open("/tmp/readcon-db-smoke")?;
db.append_trajectory_path(1, "resources/test/tiny_cuh2.con")?;
let keys = db.select(&Select::new().require_symbol("Cu"))?;
println!("{} {:?}", keys.len(), db.frame_hash(keys[0])?);

Where to go next#

Goal

Page

Kind

Learn open / ingest / select

Tutorial — first corpus

Tutorial

Same tasks in C / Fortran

How-to — corpus I/O by language

How-to

Many writers, shards

Campaign ops runbook

How-to

MPI, H5MD, ASE.db comparison

Workflows

How-to

Why mmap / indexes

Architecture

Explanation

Rust / C / Python / Fortran API

Rust API

Reference

Scope#

Task

Path

Parse or write one .con

readcon-core

Many frames, filter, hash

readcon-db

Field meanings (energy, formula)

readcon_core::index_proj (same keys as db indexes)

Foreign XYZ / PDB / GRO

core chemfiles path, then ingest CON