materials-cli

v0.1.1 • Maintained by Quantum ARISE Academic

Overview

materials-cli is a config-driven CLI for running a multi-stage materials discovery funnel. Run jobs on your local machines, GPUs, or remote SSH servers using SLURM. It maintains state in SQLite and plain files, allowing you to pause and resume funnel runs seamlessly at any stage.

Funnel Stages

composestructurescreencalculate (DFT/DFTB+)extract
StageOutputUnderlying Science
composeCharge-balanced compositionsSMACT
structureCandidate crystal structuresPyXtal (Symmetry families)
screenML relaxation & convergence verdictMACE machine learning potentials
calculateDFTB+ energies with self-healing retriesAiiDA plugin on your machines
extractOPTIMADE-compliant record.json

Installation

Install the base package via pip:

pip install materials-cli

Or get a self-contained installation (launcher placed on path):

curl -fsSL https://raw.githubusercontent.com/Quantum-ARISE-Acad/qa-materials-cli/main/install.sh | bash

For a full computational stack (includes SMACT, PyXtal, and MACE-Torch):

pip install materials-cli[compute]

Funnel Configuration

Funnel steps and execution backends are defined in materials-cli.yaml:

run:
  work_dir: ./materials-work
  elements: [Na, Cl, O]          # Elements to explore

backends:                        # Execution backends
  laptop:
    kind: local
    options: { max_parallel: 2 }
  gpu_box:
    kind: ssh_exec
    options: { host: user@gpu-box.lan, max_parallel: 4 }

stages:                          # Map stages to backends
  compose:   { backend: laptop }
  structure: { backend: laptop }
  screen:    { backend: gpu_box }
  extract:   { backend: laptop }

Command Reference

CommandDescription
materials-cli initScaffolds a starter materials-cli.yaml config
materials-cli doctorDiagnoses config, backend reachability, and dependency readiness
materials-cli runStarts processing elements down the funnel. Interruptible and resumable
materials-cli statusPrints structural metrics, failures, and jobs in flight
materials-cli monitorLaunches a live dashboard displaying stage pipelines and stats
materials-cli retryRequeues failed computations back into the funnel
materials-cli resultsExports and lists all completed materials to JSON database format