Metadata-Version: 2.4
Name: rapmat
Version: 0.1.6
Summary: Rapmat - rapid materials discovery using MLIPs and random search
Project-URL: Homepage, https://github.com/milevevvvv/rapmat
Author-email: Michael Levenets <milevev256@gmail.com>
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: ase>=3.27.0
Requires-Dist: chemparse>=0.3.2
Requires-Dist: dscribe==2.1.2
Requires-Dist: matplotlib>=3.8.0
Requires-Dist: matscipy>=1.2.0
Requires-Dist: numba>=0.63.1
Requires-Dist: phonopy>=2.47.1
Requires-Dist: platformdirs>=4.9.4
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pymatgen>=2025.10.7
Requires-Dist: pytest>=8.0.0
Requires-Dist: pyxtal>=1.1.2
Requires-Dist: seekpath>=2.2.1
Requires-Dist: spglib>=2.7.0
Requires-Dist: surrealdb>=2.0.0a1
Requires-Dist: torch<2.10.0,>=2.9.0
Requires-Dist: torchvision>=0.24.1
Requires-Dist: urwid>=2.6.0
Provides-Extra: all-calculators
Requires-Dist: mattersim>=1.2.0; extra == 'all-calculators'
Requires-Dist: nequip>=0.16.2; extra == 'all-calculators'
Requires-Dist: upet>=0.2.1; extra == 'all-calculators'
Provides-Extra: mattersim
Requires-Dist: mattersim>=1.2.0; extra == 'mattersim'
Provides-Extra: nequip
Requires-Dist: nequip>=0.16.2; extra == 'nequip'
Provides-Extra: upet
Requires-Dist: upet>=0.2.1; extra == 'upet'
Description-Content-Type: text/markdown

# rapmat

Rapid materials discovery using machine learning interatomic potentials (MLIPs) and random crystal structure generation - all from a terminal UI.

## Features

- **Random crystal structure search** - generate candidate structures with [PyXTal](https://github.com/qzhu2017/PyXtal) and relax them with ML potentials
- **Multiple MLIP backends** - MatterSim, NequIP out of the box, more coming soon
- **Phonon analysis** - evaluate dynamical stability and thermal properties via Phonopy
- **Terminal UI** - manage studies and runs, launch calculations, and browse results without leaving the terminal

## Installation

Install `pytorch<2.10.0` with CUDA support if you have an NVIDIA GPU; otherwise skip this step:

```bash
pip install torch==2.9.1 torchvision --index-url https://download.pytorch.org/whl/cu126
```

Then install rapmat:

```bash
# Basic install
pip install rapmat

# MatterSim support
pip install rapmat[mattersim]

# NequIP support
pip install rapmat[nequip]

# uPET support
pip install rapmat[upet]

# All calculator backends at once
pip install rapmat[all-calculators]
```

Run its TUI:

```bash
rapmat
```

## Usage

### Basic concepts

A Study defines the system (e.g. Al-O) you are working on and the calculation settings like fmax.
A Run defines a specific `formula x [formula units range]`: e.g. `Al2O3 x 6..8` constituting the unit cell being calculated.

Each run is assigned to its study. One study may have multiple runs, but not vice versa. Runs in one study may overlap, but you can view and perform actions such as deduplication or thickness filtering for only one run at a time. If the endpoint runs (e.g. Al and O) are present (at least one for each element), you can build the convex hull if the compound is binary.
