NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3869 most downloaded on PyPI
This is the spglib module.
Last release 9 months ago
29 Dec 2025
Release timing varies
gaps range from 2 weeks to 10 months
Rarely documented
notes for 10 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
108 releases · first in 2014
<!-- Release notes generated using configuration in .github/release.yml at v2.7.0 -->
<!-- Release notes generated using configuration in .github/release.yml at v2.7.0 -->
spglib subdirectory by @DanielYang59 in https://github.com/spglib/spglib/pull/606spglib.spglib monolith into individual submodules by @LecrisUT in https://github.com/spglib/spglib/pull/620Full Changelog: https://github.com/spglib/spglib/compare/v2.6.0...v2.7.0
One column per quarter.
spglib subdirectory by @DanielYang59 in #606spglib.spglib monolith into individual submodules by @LecrisUT in #620Full Changelog: v2.6.0...v2.7.0
[#612] Improve implementation of #610.
[#610] Try to preserve the
Bravais lattice orientation with respect to the input one in magnetic space
group when there are symmetrically equivalent candidates. By this
transformation_matrix, origin_shift, std_* in SpglibMagneticDataset
can be chosen differently.
get_error_message() and error attributes.spglib.OLD_ERROR_HANLDING=False.
For more information see the [documentation page][python-exceptions].spg_get_spacegroup_type_from_symmetry.Users can now analyse of a set of rotation and translation operations to find the Hall number and spacegroup data.
Fix DictInterface deprecation warning missing f-string by @janosh in https://github.com/spglib/spglib/pull/511
<!-- Release notes generated using configuration in .github/release.yml at v2.6.0 -->
DictInterface deprecation warning missing f-string by @janosh in https://github.com/spglib/spglib/pull/511debug definitions to header by @LecrisUT in https://github.com/spglib/spglib/pull/519master branch by @LecrisUT in https://github.com/spglib/spglib/pull/524test.pypi.org by @LecrisUT in https://github.com/spglib/spglib/pull/523spg_get_symmetry_from_database in the Fortran interface by @pcazade in https://github.com/spglib/spglib/pull/530cibuildwheel by @LecrisUT in https://github.com/spglib/spglib/pull/547license-files by @LecrisUT in https://github.com/spglib/spglib/pull/561install instruction a bit by @LecrisUT in https://github.com/spglib/spglib/pull/555Full Changelog: https://github.com/spglib/spglib/compare/v2.5.0...v2.6.0
DictInterface deprecation warning missing f-string by @janosh in #511debug definitions to header by @LecrisUT in #519master branch by @LecrisUT in #524test.pypi.org by @LecrisUT in #523spg_get_symmetry_from_database in the Fortran interface by @pcazade in #530cibuildwheel by @LecrisUT in #547license-files by @LecrisUT in #561install instruction a bit by @LecrisUT in #555Full Changelog: v2.5.0...v2.6.0
spg_get_symmetry_from_database.Users can now access the rotation and translation operations from the database, provided the Hall number.
tuple and dict interface still do not have
reliable type annotation. This will be revisited when refactoring the interface to datastructures.warnings.deprecatedThe python bindings are now linked to the C library at build time, see the Python changes for more details.
libsymspg library, and it always has priority through RPATH priority.spglib and fallback to
the bundled version if it failed.Move type aliases outside TYPE_CHECKING and replace deprecated interface usage by @lan496 in https://github.com/spglib/spglib/pull/501
<!-- Release notes generated using configuration in .github/release.yml at v2.5.0 -->
ref-names from .git_archival.txt by @LecrisUT in https://github.com/spglib/spglib/pull/473get_magnetic_spacegroup_type_from_symmetry and introduce dataclass output in python interface by @lan496 in https://github.com/spglib/spglib/pull/485SpglibDataset and SpglibMagneticDataset and dataclass by @lan496 in https://github.com/spglib/spglib/pull/490Full Changelog: https://github.com/spglib/spglib/compare/v2.4.0...v2.5.0
get_magnetic_spacegroup_type_from_symmetry and introduce dataclass output in python interface by @lan496 in #485SpglibDataset and SpglibMagneticDataset and dataclass by @lan496 in #490Full Changelog: v2.4.0...v2.5.0
Minimum supported python distribution is now 3.9. Numpy dependency now reflect the ABI compatibility of the wheels.
We now provide proper class types with type-hints (using dataclasses.dataclass) for the output data structure.
See the Python API section for details for the list of new classes and affected functions.
For backward compatibility, the dict-like interface is still available, but it is planned to be removed:
spgtype: SpaceGroupType | None = get_spacegroup_type(cell)
assert spgtype is not None
print(spgtype['number'])
print(list(spgtype.items()))
However, we recommend using the dataclass interface:
spgtype: SpaceGroupType | None = get_spacegroup_type(cell)
assert spgtype is not None
print(spgtype.number)
# If you really need dictionary, ...
from dataclasses import asdict
print(asdict(spgtype))
SpaceGroupType, MagneticSpaceGroupType, SpglibDataset, and SpglibMagneticDatasetget_magnetic_spacegroup_type_from_symmetryget_spacegroup_type, get_spacegroup_type_from_symmetry, get_magnetic_spacegroup_type,
and get_magnetic_spacegroup_type_from_symmetry now return the equivalent
SpaceGroupType or MagneticSpaceGroupType objectget_symmetry_dataset now returns the equivalent SpglibDataset objectget_magnetic_symmetry_dataset now returns the equivalent SpglibMagneticDataset objectspacegroup.c:iterative_search_hall_numberfeat: Mark C functions as deprecated by @LecrisUT in https://github.com/spglib/spglib/pull/435
<!-- Release notes generated using configuration in .github/release.yml at v2.4.0 -->
importlib.resources by @LecrisUT in https://github.com/spglib/spglib/pull/308Full Changelog: https://github.com/spglib/spglib/compare/v2.3.1...v2.4.0
importlib.resources by @LecrisUT in #308Full Changelog: v2.3.1...v2.4.0
SPGLIB_DEBUG: Define any value to enable printing of debug messagesSPGLIB_WARNING: Set to OFF to disable warning printingSPGLIB_DEBUG, SPGLIB_WARNINGS: Disable the compilation of these messages all-together[[deprecated]] and pre-C23 equivalentsTypeError when a given cell is invalidcell<!-- Release notes generated using configuration in .github/release.yml at v2.3.1 -->
<!-- Release notes generated using configuration in .github/release.yml at v2.3.1 -->
Full Changelog: https://github.com/spglib/spglib/compare/v2.3.0...v2.3.1
Full Changelog: v2.3.0...v2.3.1
spglib_f08.F90<!-- Release notes generated using configuration in .github/release.yml at v2.3.0 -->
<!-- Release notes generated using configuration in .github/release.yml at v2.3.0 -->
Full Changelog: https://github.com/spglib/spglib/compare/v2.2.0...v2.3.0
Full Changelog: v2.2.0...v2.3.0
version is the X.Y.Z version format of Spglibversion_full is the full version formatted like guess-next-dev from [setuptools-scm]commit is the commit used when building the Spglib librarySpglib_VERSION_FULL and Spglib_COMMIT CMake variablesspg_get_verison, spg_get_verison_full, spg_get_commitget_version in favor of __version__ and get_spg_versionspg_get_version, spg_get_version_full, spg_get_commit to get the version/commit of the spglib C library
that is being used by the binding__version__ now reports the version of the python interfacespg_get_version, spg_get_version_full, spg_get_commit to get the version/commit of the spglib C library
that is being used by the bindingversion, version_full, commit variables containing the version/commit of the Fortran bindings<!-- Release notes generated using configuration in .github/release.yml at v2.2.0 -->
<!-- Release notes generated using configuration in .github/release.yml at v2.2.0 -->
Full Changelog: https://github.com/spglib/spglib/compare/v2.1.0...v2.2.0
Full Changelog: v2.1.0...v2.2.0
This minor release includes update of crystallographic databases to adopt the latest editions of International Tables for Crystallography:
<details> <summary>Table of the new Hall symbols for space groups in spglib</summary>
| hall_number | spg_database (previous) | spg_database (new) |
|---|---|---|
| 40 | A -2yac | A -2yab |
| 43 | C -2ybc | C -2yac |
| 46 | B -2bc | B -2ab |
| 49 | A -2ac | A -2ab |
| 52 | C -2xbc | C -2xac |
| 55 | B -2xbc | B -2xab |
| 91 | -A 2yac | -A 2yab |
| 94 | -C 2ybc | -C 2yac |
| 97 | -B 2bc | -B 2ab |
| 100 | -A 2ac | -A 2ab |
| 103 | -C 2xbc | -C 2xac |
| 106 | -B 2xbc | -B 2xab |
| 191 | A 2 -2c | A 2 -2b |
| 192 | B 2 -2c | B 2 -2a |
| 193 | B -2c 2 | B -2a 2 |
| 194 | C -2b 2 | C -2a 2 |
| 195 | C -2b -2b | C -2a -2a |
| 196 | A -2c -2c | A -2b -2b |
| 203 | A 2 -2ac | A 2 -2ab |
| 204 | B 2 -2bc | B 2 -2ab |
| 205 | B -2bc 2 | B -2ab 2 |
| 206 | C -2bc 2 | C -2ac 2 |
| 207 | C -2bc -2bc | C -2ac -2ac |
| 208 | A -2ac -2ac | A -2ab -2ab |
| 304 | -C 2bc 2 | -C 2ac 2 |
| 305 | -C 2bc 2bc | -C 2ac 2ac |
| 306 | -A 2ac 2ac | -A 2ab 2ab |
| 307 | -A 2 2ac | -A 2 2ab |
| 308 | -B 2 2bc | -B 2 2ab |
| 309 | -B 2bc 2 | -B 2ab 2 |
| 316 | -C 2b 2 | -C 2a 2 |
| 317 | -C 2b 2b | -C 2a 2a |
| 318 | -A 2c 2c | -A 2b 2b |
| 319 | -A 2 2c | -A 2 2b |
| 320 | -B 2 2c | -B 2 2a |
| 321 | -B 2c 2 | -B 2a 2 |
| 322 | C 2 2 -1bc | C 2 2 -1ac |
| 323 | -C 2b 2bc | -C 2a 2ac |
| 324 | C 2 2 -1bc | C 2 2 -1ac |
| 325 | -C 2b 2c | -C 2a 2c |
| 326 | A 2 2 -1ac | A 2 2 -1ab |
| 327 | -A 2a 2c | -A 2a 2b |
| 328 | A 2 2 -1ac | A 2 2 -1ab |
| 329 | -A 2ac 2c | -A 2ab 2b |
| 330 | B 2 2 -1bc | B 2 2 -1ab |
| 331 | -B 2bc 2b | -B 2ab 2b |
| 332 | B 2 2 -1bc | B 2 2 -1ab |
| 333 | -B 2b 2bc | -B 2b 2ab |
| 440 | P 31 2c (0 0 1) | P 31 2 (0 0 4) |
| 442 | P 32 2c (0 0 -1) | P 32 2 (0 0 2) |
| 472 | P 61 2 (0 0 -1) | P 61 2 (0 0 5) |
| 474 | P 62 2c (0 0 1) | P 62 2 (0 0 4) |
| 475 | P 64 2c (0 0 -1) | P 64 2 (0 0 2) |
| 515 | F -4c 2 3 | F -4a 2 3 |
| 524 | -F 4c 2 3 | -F 4a 2 3 |
| 527 | F 4d 2 3 -1cd | F 4d 2 3 -1ad |
| 528 | -F 4cvw 2vw 3 | -F 4ud 2vw 3 |
</details>
<details> <summary>Table of the new H-M symbols for space groups in spglib</summary>
| hall_number | spg_database (previous) | spg_database (new) |
|---|---|---|
| 494 | P m 3 | P m -3 |
| 495 | P n 3 | P n -3 |
| 496 | P n 3 | P n -3 |
| 497 | F m 3 | F m -3 |
| 498 | F d 3 | F d -3 |
| 499 | F d 3 | F d -3 |
| 500 | I m 3 | I m -3 |
| 501 | P a 3 | P a -3 |
| 502 | I a 3 | I a -3 |
</details>
<details> <summary>Table of the new Hall symbols for layer groups in spglib</summary>
| layer group hall number | spg_database (previous) | spg_database (new) |
|---|---|---|
| 62 | c -2b -2b | c -2a -2a |
| 63 | c -2b 2 | c -2a 2 |
| 81 | -c 2b 2 | -c 2a 2 |
</details>
In addition, this minor release includes a range of improvements across documentation, crystallographic database fixes, magnetic space group fixes, refactoring of the C codebase, enhancements to the Fortran and Julia interfaces, and continuous integration (CI) improvements.
<!-- Release notes generated using configuration in .github/release.yml at v2.1.0 -->
<!-- Release notes generated using configuration in .github/release.yml at v2.1.0 -->
pyproject.toml build by @LecrisUT in https://github.com/spglib/spglib/pull/218SPGCONST to const by @LecrisUT in https://github.com/spglib/spglib/pull/258get_symmetry_dataset by @lan496 in https://github.com/spglib/spglib/pull/207pyproject.toml build in rc branch to develop by @lan496 in https://github.com/spglib/spglib/pull/219Trusted publishing by @LecrisUT in https://github.com/spglib/spglib/pull/275Full Changelog: https://github.com/spglib/spglib/compare/v2.0.2...v2.1.0
pyproject.toml build by @LecrisUT in #218SPGCONST to const by @LecrisUT in #258get_symmetry_dataset by @lan496 in #207pyproject.toml build in rc branch to develop by @lan496 in #219Trusted publishing by @LecrisUT in #275Full Changelog: v2.0.2...v2.1.0
This minor release includes a lot of improvements in build system and CI.
SPGCONST to constpyproject.toml buildTrusted publishingget_symmetry_datasetFix segmentation fault in spgms_get_symmetry_with_site_tensors with high symprec [[#195]]
Fix magnetic tolerance for judging type-II MSG
<!-- SPHINX-END -->
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →