Skip to main content

Crate readcon_db

Crate readcon_db 

Source
Expand description

Embedded CON/convel corpus on LMDB (Heed) with non-SQL selection and xxHash3 exact match.

Optional python feature builds PyO3 bindings. C ABI is always compiled into cdylib/staticlib (src/ffi.rs).

Re-exports§

pub use archive::ObservationArchive;

Modules§

archive
Asynchronous observation archive over a ConCorpus.
ffi
C ABI for readcon-db (always linked into cdylib/staticlib).

Structs§

AnnotateTopologyOpts
Per-corpus fingerprint options. Cutoff is required; graph defaults to cutoff and hops defaults to 2.
ConCorpus
ContentHash
xxHash3 128-bit content fingerprint (exact match / dedup).
CookedSoa
Decoded cooked numerics (always f64 for v1).
FingerprintRecord
One parsed seams fingerprint object (frame HEX + method).
FrameKey
H5mdArrays
Time-dependent cooked trajectory for one traj_id.
Select
Non-SQL selection builder (ASE.db-competitive campaign filters via secondary indexes).
ShardManifest
ShardedConCorpus
Multi-shard campaign corpus: root/shard_XXXX/ each holds an independent ConCorpus.
TopologyParams
Recorded per-corpus topology parameters (every annotated traj must agree).
TrajMeta

Enums§

CorpusExportKind
Exportable corpus layout kinds for analysis handoff.
Error

Constants§

DEFAULT_N_SHARDS
Default shard count for HPC campaign roots (power of two aids routing).
SEAMS_MISSING
Clear error when the engine binary cannot be resolved.

Functions§

canonicalize_unit
Validate with the SI parser and rewrite aliases to preferred names.
canonicalize_units_object
composition_formula
Canonical formula string — delegated to readcon_core::index_proj (single encoding). Canonical multiset formula: sorted non-empty Sym:count joined by |. Example: Cu₂H₂ → Cu:2|H:2. Shared with campaign idx_formula keys.
frame_cell_volume
Cell volume: prefer lattice determinant; else triclinic from boxl + angles (degrees).
frame_fmax
Euclidean max ||F_i|| over atoms with force data; None if no forces.
frame_total_mass
Total mass = Σ masses_per_type[i] * natms_per_type[i] (all finite).
hash_frame_bytes
Hash canonical frame blob bytes (UTF-8 CON text as stored).
join_corpus_dirs
Join any set of single-env corpus directories into one destination (traj_id must be unique).
join_drained_roots
Join several drained sharded roots (unique dests after refuse-overwrite) into one single-env corpus. Traj ids must be unique across sources.
open_single_env_for_export
Open a single-env corpus for analysis export. Refuses a sharded root so ConCorpus::open cannot mint data.mdb next to shards.json.
parse_fingerprint_json_line
One JSON object from seams fingerprint --format json.
parse_fingerprint_json_stdout
Parse every JSON object in seams fingerprint --format json stdout.
parse_fingerprint_text
Token after key is the frame HEX; token after method is nauty or wl.
species_counts_from_symbols
Canonical formula string — delegated to readcon_core::index_proj (single encoding). Species multiset from atom symbols (non-empty only), sorted by symbol.
write_frame_extxyz
Write one frame as ASE-compatible extxyz (Lattice, Properties, energy/forces in info/arrays).
write_frames_extxyz

Type Aliases§

FrameIdx
Zero-based frame index within a trajectory.
Result
TrajId
Stable trajectory identifier (user-assigned).