FindSpinGroup is a spin space group symmetry analysis toolkit for magnetic materials, first-principles workflows, and high-throughput studies.
Project description
FindSpinGroup
FindSpinGroup takes a crystal structure with magnetic moments and identifies:
- its oriented spin space group (OSSG) in the nonrelativistic limit;
- the corresponding magnetic space group (MSG) when spin-orbit coupling locks spin and real space; and
- symmetry constraints on spin splitting, anomalous Hall conductivity, spin texture, polar axes, magnetic sites, and related observables.
Web application: app.findspingroup.com Visualization: view.findspingroup.com SSG Database: database.findspingroup.com
What Can It Tell Me?
| Scientific question | Main output | Interpretation |
|---|---|---|
| What is the nonrelativistic magnetic symmetry? | OSSG index and symbol |
Spin and real-space rotations may act independently. |
| What symmetry remains with SOC? | MSG BNS number and symbol | Spin rotations are locked to real-space operations. |
| Are the moments collinear, coplanar, or noncoplanar? | conf |
Geometry of the supplied ordered moments; not an FM/AFM label. |
| Is the configuration FM-like, AFM-like, or altermagnetic? | magnetic_phase |
Rule-based classification from symmetry and net moment. |
| Is spin splitting or AHC allowed? | properties |
Allowed/forbidden by symmetry, not a predicted magnitude. |
| What is the leading spin texture? | spin_texture_config_* |
Lowest-order symmetry-allowed momentum polynomial in a documented frame. |
Install
pip install --upgrade findspingroup
fsg --version
FindSpinGroup requires Python 3.11 or newer.
Quick Start
Analyze a magnetic CIF, SCIF, or POSCAR input containing magnetic moments (including #MAGMOM= ... in POSCAR):
fsg path/to/structure.mcif
The default output is deliberately short; its core lines are:
FindSpinGroup result
OSSG: 194.164.1.1.L
MSG with SOC: 63.457 Cmcm
Magnetic order: Collinear; AFM(Altermagnet)
Spin splitting: without SOC k-dependent; with SOC allowed
AHC: without SOC forbidden; with SOC forbidden
Leading spin texture: without SOC g-wave; with SOC d-wave
Ask for only the fields you need:
fsg structure.mcif --show index --show magnetic_phase --show msg_bns_number
fsg structure.mcif --show properties
fsg structure.mcif --show spin-texture-no-soc
Use --details for the expanded human-readable symmetry summary, and --json
for machine-readable quick-analysis output.
Python: Choose One Main Function
from findspingroup import find_spin_group_basic
summary = find_spin_group_basic("path/to/structure.mcif")
print(summary["index"])
print(summary["magnetic_phase"])
print(summary["msg_bns_number"], summary["msg_symbol"])
print(summary["properties"])
| Goal | Python | CLI | Return value |
|---|---|---|---|
| Identify symmetry and screen physical constraints | find_spin_group_basic(...) |
fsg FILE |
JSON-serializable dictionary |
| Inspect cells, operations, tensors, sites, or generated artifacts | find_spin_group(...) |
fsg --full FILE --show FIELD |
MagSymmetryResult |
| Export operations in the user-supplied cell | find_spin_group_input_ssg(...) |
fsg -w FILE |
Input-cell operation dictionary |
For full analysis, start with the structured accessors instead of the raw attribute dictionary:
from findspingroup import find_spin_group
result = find_spin_group("path/to/structure.mcif")
summary = result.to_summary_dict() # compact full-route summary
structured = result.to_structured_dict() # groups, cells, properties, artifacts
to_structured_dict() is a semantic Python view and retains operation/domain
objects; it is not a directly JSON-serializable contract. Use the basic route
or a purpose-built operation export for machine-readable integration.
Supported Inputs
- magnetic CIF / mCIF;
- CIF with supported magnetic-moment tags;
- FindSpinGroup-generated SCIF;
- POSCAR-like files with embedded magnetic moments, or CLI use in a VASP
directory with a sibling
INCARcontainingMAGMOM.
The Python API does not read sibling INCAR files unless explicitly requested;
this keeps scripted calls reproducible. See the
input guide
for the exact behavior.
Documentation
Start with:
- Quickstart
- How to interpret the result
- Choose a workflow or API
- Parameters, tolerances, and reliability
- CLI by task
- Python API
The complete manual is published on Read the Docs. Detailed schemas and diagnostic fields are kept in Reference.
AI agents and tool-using models should start with the dedicated FindSpinGroup AI Agent Guide, which provides a compact route-selection and scientific-interpretation protocol rather than another human tutorial.
How to cite FindSpinGroup
If FindSpinGroup contributes to published work, cite:
Y. Yu, X. Chen, Y. Zhu, Y. Li, R. Xiong, J. Li, Y. Liu, and Q. Liu, "Identifying Oriented Spin Space Groups and Related Physical Properties Using an Online Platform FINDSPINGROUP," arXiv:2604.21397 (2026). https://doi.org/10.48550/arXiv.2604.21397
@article{Yu2026FindSpinGroup,
title = {Identifying Oriented Spin Space Groups and Related Physical Properties Using an Online Platform FINDSPINGROUP},
author = {Yu, Yutong and Chen, Xiaobing and Zhu, Yanzhou and Li, Yuhui and Xiong, Renzheng and Li, Jiayu and Liu, Yuntian and Liu, Qihang},
journal = {arXiv preprint arXiv:2604.21397},
year = {2026},
doi = {10.48550/arXiv.2604.21397},
url = {https://arxiv.org/abs/2604.21397}
}
License
Apache License 2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file findspingroup-0.15.13.tar.gz.
File metadata
- Download URL: findspingroup-0.15.13.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5eee36cad4b49985b90470da5767b9c68ae12b5c9aec00f37fbd6570bb4f46f
|
|
| MD5 |
9d2a4fa8c656d930cc870c99b7648d2c
|
|
| BLAKE2b-256 |
da067ed0277c768baec52f58367917429ac662b6e3da061eb78866ec51f6b8ec
|
Provenance
The following attestation bundles were made for findspingroup-0.15.13.tar.gz:
Publisher:
publish-pypi.yml on LiuQH-lab/FindSpinGroup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
findspingroup-0.15.13.tar.gz -
Subject digest:
f5eee36cad4b49985b90470da5767b9c68ae12b5c9aec00f37fbd6570bb4f46f - Sigstore transparency entry: 2167877654
- Sigstore integration time:
-
Permalink:
LiuQH-lab/FindSpinGroup@ea1fb302fb9d2f2f239cc5b68b5a5a7edc9e30d7 -
Branch / Tag:
refs/tags/v0.15.13 - Owner: https://github.com/LiuQH-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ea1fb302fb9d2f2f239cc5b68b5a5a7edc9e30d7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file findspingroup-0.15.13-py3-none-any.whl.
File metadata
- Download URL: findspingroup-0.15.13-py3-none-any.whl
- Upload date:
- Size: 5.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
176c2557a0f8c41f9a76b5bcad6f46b2060a4b097852c18f2672fef59e6da4f2
|
|
| MD5 |
bb82b58ac4101ed5e55bdb52ab8ffcea
|
|
| BLAKE2b-256 |
574d8ffaf82461e14959de8e61060e637c0b1cc6d211a12e1fd14294649f249e
|
Provenance
The following attestation bundles were made for findspingroup-0.15.13-py3-none-any.whl:
Publisher:
publish-pypi.yml on LiuQH-lab/FindSpinGroup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
findspingroup-0.15.13-py3-none-any.whl -
Subject digest:
176c2557a0f8c41f9a76b5bcad6f46b2060a4b097852c18f2672fef59e6da4f2 - Sigstore transparency entry: 2167877697
- Sigstore integration time:
-
Permalink:
LiuQH-lab/FindSpinGroup@ea1fb302fb9d2f2f239cc5b68b5a5a7edc9e30d7 -
Branch / Tag:
refs/tags/v0.15.13 - Owner: https://github.com/LiuQH-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ea1fb302fb9d2f2f239cc5b68b5a5a7edc9e30d7 -
Trigger Event:
push
-
Statement type: