Skip to main content

MatMelt

Melt elements into crystals — automated structure generation, screening, and calculation, from your laptop to remote compute.

CI Python License


You write one YAML file saying what to explore and where each stage runs, then run one command. State is durable — interrupt a run at any point and running it again picks up where it stopped. No server, no database to install, nothing on anyone else's machines.

compose  →  structure  →  screen    →  [calculate]      →  extract
SMACT       PyXtal        MACE/ASE     DFTB+, optional     record.json
Stage What it produces Science it uses
compose charge-balanced compositions from your element set SMACT
structure candidate crystals — 3D / 2D / 1D symmetry families PyXtal
screen ML relaxation and a convergence/sanity verdict MACE
calculate (optional) DFTB+ energies with self-healing retries your own AiiDA
extract one OPTIMADE-shaped record.json per material —

Install

pip install matmelt

Not on PyPI until the v0.2.0 tag. Until then: pip install git+https://github.com/Quantum-ARISE-Acad/qa-materials-cli.git

The base install is deliberately light — it never pulls in torch or a science stack.

Use it

matmelt init                       # scaffold matmelt.yaml + check the environment
$EDITOR matmelt.yaml               # your elements, your machines
matmelt doctor                     # deps present? machines reachable? fixes named
matmelt run                        # seed and drain the funnel  (Ctrl-C is safe)
matmelt results --export db.json   # your records, one JSON array

matmelt --help lists the rest (status, monitor, retry, cif, update), and matmelt <command> --help documents every flag. Exit codes: 0 success · 1 problems found · 2 config error.

The config

run:
  name: my-first-run
  work_dir: ./materials-work
  elements: [Na, Cl, O]          # what to explore

backends:                        # the WHERE — machines that run jobs
  laptop:
    kind: local
    options: { max_parallel: 2 }
  gpu_box:
    kind: ssh_exec
    options: { host: you@gpu-box.lan, max_parallel: 4 }

stages:                          # the WHAT — each stage picks a backend
  compose:   { backend: laptop }
  structure: { backend: laptop }
  screen:    { backend: gpu_box }
  extract:   { backend: laptop }

Moving a heavy stage to a bigger machine is that one line, never code. Any value may be an environment reference (env:NAME), so secrets never live in the file.

The science stack is yours

MatMelt does not bundle SMACT, PyXtal, MACE/torch, ASE, AiiDA or any ML model, and never installs them behind your back. doctor and every run report what is missing and on which machine, naming the exact fix, before any calculation starts. pip install matmelt[compute] is a convenience alias for smact + pyxtal + mace-torch — an alias, never a requirement.

MIT licensed — see LICENSE.

Metadata

Release files for matmelt 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for matmelt 0.2.0
File Size Uploaded
matmelt-0.2.0.tar.gz 16.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for matmelt 0.2.0
File Interpreter ABI Platform
matmelt-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.1 MB

Release files / matmelt-0.2.0.tar.gz

Download URL matmelt-0.2.0.tar.gz
Size 16.9 MB
Tags Source
SHA-256 checksum
How to use checksums
a7e82a84fd81b2f8df3eee1b33ed34e78e09678995b2705b1b598ab741490619
BLAKE2b-256 checksum
How to use checksums
88c0618ff7fa0fec96286ac44a616436807f04b1f802971b369848deee6760c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / matmelt-0.2.0-py3-none-any.whl

Download URL matmelt-0.2.0-py3-none-any.whl
Size 218.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eed8c862b8425d000993a07cf64986aec89ca903cffdcc4a8d01d8a27f501c69
BLAKE2b-256 checksum
How to use checksums
921b8cb5bae8cb232c0266d82449fe179ccb24a36b0d1e7654f1cc8ecbae19f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page