Metadata-Version: 2.4
Name: rapmat
Version: 0.3.1
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: alembic>=1.13
Requires-Dist: ase>=3.27.0
Requires-Dist: chemparse>=0.3.2
Requires-Dist: dscribe==2.1.2
Requires-Dist: filelock>=3.13.0
Requires-Dist: matplotlib>=3.8.0
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: pyxtal>=1.1.2
Requires-Dist: scipy>=1.14.0
Requires-Dist: seekpath>=2.2.1
Requires-Dist: spglib>=2.7.0
Requires-Dist: sqlalchemy>=2.0.30
Requires-Dist: tabulate>=0.10.0
Requires-Dist: tomli-w>=1.2.0
Requires-Dist: torch<2.10.0,>=2.9.0
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'
Requires-Dist: warp-lang<1.14; extra == 'all-calculators'
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
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'
Requires-Dist: warp-lang<1.14; extra == 'upet'
Description-Content-Type: text/markdown

# rapmat

Rapid materials discovery TUI tool, based on random crystal generation and machine learning interatomic potentials.

# Installation

An Nvidia GPU is highly recommended.
Linux is recommended as well, since all backends are currently supported on Linux systems.
[Conda](https://www.anaconda.com/docs/getting-started/miniconda/install/overview) may be [useful](https://www.anaconda.com/docs/getting-started/working-with-conda/conda-intro-tutorial).

## Linux

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]

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

Run its TUI:

```bash
rapmat
```

## Windows

On Windows, only the UPET and MatterSim (the latter if built with its prerequisites installed) MLIPs are supported.
### Install WSL2

One way to overcome the Windows limitations is WSL2 -- check the [Nvidia](https://docs.nvidia.com/cuda/wsl-user-guide/index.html) or [Ubuntu](https://ubuntu.com/wsl/docs/latest/howto/gpu-cuda/) guides. 

### Update the linker paths

NequIP compiles its CUDA kernels and needs the CUDA (stub) libraries on the linker path before installation:

```bash
export LIBRARY_PATH=/usr/local/cuda/lib64/stubs:$LIBRARY_PATH
```

Add it to the `~/.bashrc` to make it permanent.

### Proceed to the linux install guide

# Usage

## Basic concepts

A study defines the system (e.g. Al-O) you are working on and the calculation settings like calculator, forces convergence criterion or pressure.
A run defines a specific `formula x [formula units range]`: e.g. `Al2O3 x 6..8` constituting the unit cell being calculated.

Each run belongs to exactly one study, while a study may have many runs. 
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. 
