ChemReporter
ChemReporter is a framework that converts arbitrary molecular and materials datasets into a unified, queryable representation and exports the results directly into MLIP-ready training data. It operates in three decoupled stages:
Process — parse raw datasets into a partitioned Apache Parquet repository enriched with structural, physical, and chemical metadata.
Query — filter and sample this repository via a CLI or Python API using arbitrary selection criteria, from simple physical constraints to custom, user-defined strategies.
Export — stream the selected subset into an HDF5 file ready for direct use in modern MLIP training frameworks.
ChemReporter is available on GitHub and PyPI under the Apache License 2.0.
Getting started¶
New to ChemReporter? Head to Installation to install the
package, then see the Command Line Interface (CLI) reference to run your first
process / query / export pipeline.
Beyond that walkthrough, these docs also cover:
Configuration (Configuration) — every YAML field accepted by the
process/query/exportcommands.Query syntax (Query Examples) and the Database Schema (Query Database Schema) — how to write filter expressions and which fields are available to filter on.
Sampling (Sampling) — built-in and custom strategies for selecting a subset from your filtered results.
Export Schema (Export Schema) and Units (Units and Physical Quantities) — the internal layout of exported HDF5 files and the physical units used throughout.
Supported Source Datasets (Supported Source Datasets) — which raw datasets ChemReporter can ingest, and how each one’s reader implementation differs.
Advanced Tutorials (Advanced Tutorials) — hands-on, Python-API examples for leak-free data splits, dataset audits, and data curation, going beyond the standard CLI usage above.