Skip to content

spglib/moyo

Repository files navigation

moyo

image moyo at crates.io image

A fast and robust crystal symmetry finder, written in Rust.

Several times faster symmetry detection than Spglib for Materials Project dataset
  • Rust support available via crates.io: Docs
  • Python support available via PyPI: Docs
  • JavaScript and WebAssembly support available via npm

Interfaces

  • Rust: core implementation
  • Python: Python binding
  • C: C binding
  • JavaScript: JavaScript and WebAssembly binding

How to cite moyo and its interfaces

If you use moyo or its interfaces in your work, please cite the following figshare entry.

@misc{moyo,
  author = {Kohei Shinohara},
  title  = {{moyo: A fast and robust crystal symmetry finder, written in Rust}},
  year   = {2026},
  month  = {1},
  doi    = {10.6084/m9.figshare.31081162.v1},
  url    = {https://figshare.com/articles/software/moyo_A_fast_and_robust_crystal_symmetry_finder_written_in_Rust_/31081162},
  note   = {Source code available at \url{https://github.com/spglib/moyo}}
}

This citation may be superseded by a peer-reviewed publication in the future.

Dev

cargo install cargo-release cargo-edit cargo-deny cargo-semver-checks

How to release

  1. cargo semver-checks to lint a new release
  2. cargo set-version --bump patch for patch version increment
  3. Write change log and git-commit
  4. cargo release --execute (If you already release the package in crates.io, run cargo release --execute --no-publish)

Debugging

RUST_LOG=debug cargo test -- --nocapture

Acknowledgments

We thank Dr. Yusuke Seto for providing the crystallographic database. We thank Juan Rodríguez-Carvajal for providing the magnetic space-group database.