Install & Compatibility
Where this runs
tested against v0.2.12 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.920 runs
build_error
glibcpy 3.10–3.920 runs
installs and imports cleanly · install 32.5s · import 0.000s · 644MB
692MB installed
● package 692MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
StructureCondenser
✓ from robocrys import StructureCondenser
✗ from robocrys.descriptor import CrystalDescriptor
StructureDescriber
✓ from robocrys import StructureDescriber
✗ from robocrys.descriptor import CrystalDescriptor
condense
✓ from robocrys import condense
✗ from robocrys.descriptor import CrystalDescriptor
This example demonstrates how to create a `pymatgen.core.Structure` object and use `robocrys.descriptor.CrystalDescriptor` to generate a textual description of the crystal structure.
from pymatgen.core import Structure
from robocrys.descriptor import CrystalDescriptor
# Example structure (SrTiO3 perovskite, from space group and lattice parameters)
structure = Structure.from_spacegroup(221, 5.5, ['Sr', 'Ti', 'O'], [[0,0,0], [0.5,0.5,0.5], [0.5,0,0]])
descriptor = CrystalDescriptor()
description = descriptor.describe(structure)
print(description)
Debug
Known issues
breakingRoboCryS is highly dependent on `pymatgen`, and breaking changes in `pymatgen` can cause compatibility issues. Older `robocrys` versions may fail with newer `pymatgen` versions, and vice-versa.fixAlways check the `install_requires` in `robocrys`'s `pyproject.toml` or `setup.py` for compatible `pymatgen` version ranges. Upgrade both `robocrys` and `pymatgen` together (`pip install --upgrade robocrys pymatgen`) to ensure compatibility.
affects: <0.2.13
gotchaFor complex compounds, especially those with transition metals or mixed valences, RoboCryS may struggle to infer accurate oxidation states automatically. This can lead to less precise or incorrect descriptions.fixProvide explicit oxidation states to the `CrystalDescriptor` constructor or the `describe` method. For example: `descriptor = CrystalDescriptor(oxidation_states={'Fe': 2, 'O': -2})`. affects: All versions
deprecatedOlder versions of `robocrys` (prior to 0.2.10) used the `ntypesp` attribute from `pymatgen.Structure`, which has since been deprecated and replaced with `n_elems` in `pymatgen`.fixUpgrade `robocrys` to version 0.2.10 or newer (`pip install --upgrade robocrys`) to ensure compatibility with recent `pymatgen` versions that use `n_elems`.
affects: robocrys < 0.2.10
Upgrade
Version history
0.2.13latest on PyPI · released Jan 22, 2026
Audit
Dependencies
pymatgenrequiredCore functionality for crystal structure representation and analysis.
spglibrequiredRequired for space group and symmetry analysis, often a dependency of pymatgen.
numpyrequiredFundamental package for numerical computing.
scipyrequiredScientific computing library, often used with numpy.