Skip to main content

🧪 ChemReporter

uv Python Version License pre-commit Tests and Linters badge

📚 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:

  1. Process — parse raw source datasets into a partitioned Apache Parquet repository, the Query Database, enriched with structural, physical, and chemical metadata.
  2. 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.
  3. 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, and export commands, plus how to write custom I/O plugins for other storage backends.
  • Configuration reference — every field of the process, query, and export YAML 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)

Source distribution for chemreporter 0.1.0
File Size Uploaded
chemreporter-0.1.0.tar.gz 2.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for chemreporter 0.1.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page