Metadata-Version: 2.4
Name: lcmd-db
Version: 0.1.0
Summary: Python client for the LCMD molecular database
Project-URL: Homepage, https://lcmd-app.epfl.ch
Project-URL: Documentation, https://lcmd-app.epfl.ch/docs
Project-URL: Source, https://github.com/lcmd-epfl/db
Project-URL: Changelog, https://github.com/lcmd-epfl/db/blob/master/CHANGELOG.md
Project-URL: Bug Tracker, https://github.com/lcmd-epfl/db/issues
Author-email: Romain Graux <author@romaingrx.com>
License: MIT
License-File: LICENSE
Keywords: chemistry,lcmd,molecular-database,quantum-chemistry
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Typing :: Typed
Requires-Python: >=3.9
Requires-Dist: platformdirs>=4.0.0
Requires-Dist: polars>=0.20.0
Requires-Dist: pooch>=1.8.0
Requires-Dist: pyarrow>=14.0.0
Requires-Dist: tqdm>=4.67.1
Description-Content-Type: text/markdown

# LCMD-DB

Python client for the [LCMD molecular database](https://lcmd-app.epfl.ch).

## Installation

```bash
uv add lcmd-db
# or
pip install lcmd-db
```

## Usage

```python
from lcmd_db import load_dataset

# Load a dataset
df = load_dataset("spahm_l11")

# Load with XYZ structures (adds structure_path column)
df = load_dataset("spahm_l11", include_structures=True)
print(df["structure_path"][0])

# Force re-download (bypass cache)
df = load_dataset("spahm_l11", force_download=True)

# Clear cache
from lcmd_db import clear_cache
clear_cache()  # Clear all
clear_cache("spahm_l11")  # Clear specific dataset
```

## Options

| Parameter | Description | Default |
|-----------|-------------|---------|
| `subset` | Dataset slug (e.g., "spahm_l11", "qm9") | required |
| `data_format` | Output format: "parquet", "csv", "json", "xlsx", "tsv" | "parquet" |
| `include_structures` | Download XYZ files and add `structure_path` column | False |
| `cache_dir` | Custom cache directory | OS-dependent |
| `force_download` | Bypass cache and re-download | False |

## Available Datasets

Browse datasets at [lcmd-app.epfl.ch](https://lcmd-app.epfl.ch).
