Skip to main content

Pytest PyPI - Version ICML 2025

Wyckoff Transformer: Generation of Symmetric Crystals [ICML 2025]

WyFormer generates crystals as Wyckoff representations: a space group plus the occupied Wyckoff positions and their elements. PyXtal then places the atoms, and an ML potential relaxes the result into a 3D structure.

Benchmarking against WyFormer

Figshare hosts the structures generated by WyFormer trained on MP-20 and MPTS-52, along with DiffCSP, DiffCSP++, WyCryst, SymmCD, CrystalFormer, MiAD, MatterGen, Crys-JEPA, and Composition in a unified format, along with Materials Project-compatible DFT relaxations: ~10k structures each for WyFormer, MatterGen and MiAD; 1k each for DiffCSP, SymmCD, Crys-JEPA and Composition.

Installation

pip install "wyckoff-transformer[relax]"

The [relax] extra adds the ML potentials for the 3D step, skip it if you only need the Wyckoff representations.

Inference

Simple de novo generation

Step 1: Generate genes

wyformer-generate genes.json.gz --hf-model SymmetryAdvantage/WyFormer-LeMat

For a higher yield of new metastable structures, ask the e_hull-conditioned model for genes near the hull instead. About 61% of its draws are formally valid at this guidance scale, so draw twice as many as you keep:

wyformer-generate genes.json.gz --hf-model SymmetryAdvantage/WyFormer-LeMat-Ehull \
    --condition energy_above_hull=0.05 --guidance-scale 5 \
    --initial-n-samples 2000 --firm-n-samples 1000

Add --device cuda to the wyformer-generate and wyformer-gene-screen commands when a GPU is available. The pre-trained models are in the HuggingFace collection.

Step 2: Relax

wyformer-cryspr genes.json.gz --mlip orb_conserv_inf --output-dir relaxed --workers 8

Alternatively, the structures can be obtained with GeoCSP, our diffusion model based on DiffCSP++.

Advanced generation, chemical system conditioning

Generate genes that contain only the given elements, rank them by predicted distance to the PBE hull of LeMat-Bulk-fixed, and relax the 100 best distinct ones of at most 40 atoms:

wyformer-generate batio_genes.json.gz --hf-model SymmetryAdvantage/WyFormer-LeMat-Chemsys \
    --chemical-system Ba-Ti-O --initial-n-samples 1100 --firm-n-samples 1000
wyformer-gene-screen batio_genes.json.gz --regressor-hf-model SymmetryAdvantage/WyFormer-LeMat-Energy \
    --hf-reference kazeevn/LeMat-Bulk-fixed \
    --max-atoms 40 --unique --top 100 --out batio_screen.csv --out-genes batio_top100.json.gz
wyformer-cryspr batio_top100.json.gz --mlip orb_conserv_inf --output-dir batio_relaxed --workers 8

--chemical-system Ba-Ti-O asks for compounds that contain all three elements; run TiO2 and the other subsystems separately. --max-atoms 40 drops genes with more than 40 atoms in the conventional cell: the lowest predicted energies favour large cells, which are slow to relax. batio_screen.csv holds the predicted energies, and batio_relaxed/orb_conserv_inf_results.csv the relaxed energy and CIF of each gene. ORB v3 is the potential LeMat-Bulk publishes its MLIP hull for, so those energies compare directly with that hull. See the pipeline notes for timings and outputs.

Documentation

Metadata

Release files for wyckoff-transformer 2.4.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 wyckoff-transformer 2.4.0
File Size Uploaded Provenance Actions
wyckoff_transformer-2.4.0.tar.gz 1.4 MB With provenance Details for wyckoff_transformer-2.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for wyckoff-transformer 2.4.0
File Interpreter ABI Platform Actions
wyckoff_transformer-2.4.0-py3-none-any.whl Python 3 none any Details for wyckoff_transformer-2.4.0-py3-none-any.whl

Total release size: 2.4 MB

Release files / wyckoff_transformer-2.4.0.tar.gz

Download URL wyckoff_transformer-2.4.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
bb3afe648b6c2f5fc64eb3db31aa30c6d222d47b9ddda52d6590a4343e36ac65
BLAKE2b-256 checksum
How to use checksums
424d3573df741619972abf900e2cc992e22ea898ecae6a197b35c3cc1d802e2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 28, 2026.

Transparency log

Release files / wyckoff_transformer-2.4.0-py3-none-any.whl

Download URL wyckoff_transformer-2.4.0-py3-none-any.whl
Size 989.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e7f10f368e1df2fa680549e064f0f4c8747a54a7aaabf6b4900d84c39feafe9a
BLAKE2b-256 checksum
How to use checksums
3a8e32bb8f020a783ef445318e19bd9978d2bea9ae87b0bceb5e193201007330
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 28, 2026.

Transparency log

Security for wyckoff-transformer 2.4.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for wyckoff_transformer-2.4.0.tar.gz

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 Oct 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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