🧪 ChemReporter
📚 Full documentation: https://instadeepai.github.io/chemreporter
👀 Overview
ChemReporter is a framework that converts molecular and materials datasets into a unified, queryable representation, and exports the result directly into training data for Machine Learning Interatomic Potentials (MLIPs).
It operates in three decoupled stages:
- Process — parse raw source datasets into a partitioned Apache Parquet repository, the Query Database, enriched with structural, physical, and chemical metadata.
- Query — filter and sample the Query Database via the CLI using SQL-like selection criteria, from simple physical constraints (e.g., number of atoms, force magnitude) to custom, user-defined strategies.
- Export — stream the selected subset into an HDF5 file, ready for direct use in modern MLIP training frameworks.
ChemReporter currently supports five source datasets: OMOL25, OC20, OMAT24, OMC25, and ODAC. See Supported Source Datasets for details on each one.
ChemReporter is released under the Apache License 2.0.
📦 Installation
ChemReporter requires Python 3.11 or newer. Install the package with pip:
pip install chemreporter
This gives you the chemreporter command-line tool along with the Python
library. See the
Installation guide
for more details, including the development install.
🚀 Quick Start
Once installed, the chemreporter CLI gives you three commands, one for
each stage of the workflow. Each command is configured via a YAML
configuration file, passed with the -c flag:
chemreporter process -c /path/to/process.yaml
chemreporter query -c /path/to/query.yaml
chemreporter export -c /path/to/export.yaml
See the CLI guide for a full walkthrough of each command and its configuration options.
🧭 Next Steps
The full documentation covers everything in more depth, including:
- CLI guide —
a detailed walkthrough of the
process,query, andexportcommands, plus how to write custom I/O plugins for other storage backends. - Configuration reference
— every field of the
process,query, andexportYAML configs, backed by their Pydantic schemas. - Query examples — common SQL-like filtering patterns, from basic property filters to drug-likeness heuristics.
- Query Database schema and Units and physical quantities — every field you can query on, and the units it is stored in.
- Export schema
— the internal layout of the exported HDF5 files, and how they plug into the
[mlip](https://github.com/instadeepai/mlip)training library. - Supported source datasets — details and a computational setup comparison for each supported source dataset.
📚 Citing our work
We kindly request that you cite our white paper when using this library:
Marie Bluntzer, Jules Tilly, Christoph Brunken, ChemReporter: A Framework for Curating and Exporting Large-Scale Chemical Datasets for MLIP Training, arXiv, 2026, arXiv:2608.16418
BibTeX
@misc{bluntzer2026chemreporterframeworkcuratingexporting,
title={ChemReporter: A Framework for Curating and Exporting Large-Scale Chemical Datasets for MLIP Training},
author={Marie Bluntzer and Jules Tilly and Christoph Brunken},
year={2026},
eprint={2608.16418},
archivePrefix={arXiv},
primaryClass={physics.chem-ph},
url={https://arxiv.org/abs/2608.16418},
}
Metadata
Release files for chemreporter 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chemreporter-0.1.0.tar.gz | 2.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chemreporter-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.0 MB
Release files / chemreporter-0.1.0.tar.gz
| Download URL | chemreporter-0.1.0.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
338e3532a738a13df3a0c290655ef62164ffa119fa26ccd3afc06ddcb5a32cfb
|
|
BLAKE2b-256 checksum How to use checksums |
a828fceb3d2a36d5b22618b119bb1a30476c3aedf668abca4f1ae83d748bd691
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / chemreporter-0.1.0-py3-none-any.whl
| Download URL | chemreporter-0.1.0-py3-none-any.whl |
|---|---|
| Size | 88.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83fbdb0c23659a60c163567fdda0f283b62a04f51ca09387148528ecd32c0946
|
|
BLAKE2b-256 checksum How to use checksums |
9cb1dac57c87a2d6e5f3e610e12e48696896043e010188b34b447d7851163604
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|