Skip to content

Installation

Prerequisites

  • uv, which installs Python 3.12 if needed
  • Hugging Face and Weights & Biases accounts should be set up
  • (Optional but recommended) NVIDIA GPU. Linux GPU installs need driver 560+ and use CUDA 12.6 wheels for x86 and aarch64

Setup

# Clone the repository
git clone https://github.com/C-Bone-UCL/CrystaLLM-pi.git
cd CrystaLLM-pi

# Create .venv and install CrystaLLM-pi and all its dependencies
uv sync --python 3.12 --extra all

# Activate the environment, or run commands with `uv run`
source .venv/bin/activate

Choosing what to install

--extra all installs everything. If you only need part of the toolkit, install just that part instead. Extras can be combined, for example uv sync --extra train --extra metrics.

Command Gives you
uv sync generating structures with released models
uv sync --extra train + training and fine-tuning your own
uv sync --extra api + the containerised HTTP service
uv sync --extra metrics + VUN, stability and property scoring
uv sync --extra notebooks + the tutorial notebooks
uv sync --extra all everything above

To keep the environment outside the repository, set UV_PROJECT_ENVIRONMENT=/path/to/venv before running uv sync.

API Keys Configuration

Create API_keys.jsonc in the root directory for HuggingFace and Weights & Biases integration:

// filepath: API_keys.jsonc
{
  "HF_key": "your_hf_key_here", // Hugging Face token
  "wandb_key": "your_wandb_api_key_here" // Weights & Biases key
}