Install & Compatibility
Where this runs
tested against v2026.4.2 · 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
py 3.10
✕ build_error
1/2 runs
py 3.11
✕ build_error
1/2 runs
py 3.12
✕ build_error
1/2 runs
py 3.13
✕ build_error
1/2 runs
py 3.9
✕ build_error
1/2 runs
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Atoms
✓ from jarvis.core.atoms import Atoms
✗ from jarvis.io.vasp.outputs import Atoms
Atoms class moved to jarvis.core.atoms around version 2022.x. Old import path from VASP is incorrect.
Graph
✓ from jarvis.core.graphs import Graph
✗ from jarvis.core import Graph
Graph is not directly in core; must import from jarvis.core.graphs.
get_fractional_coordinates
✓ from jarvis.core.utils import get_fractional_coordinates
Utility functions are under jarvis.core.utils, not directly on Atoms object in older API.
Create a simple atomic structure and print basic properties.
from jarvis.core.atoms import Atoms
from jarvis.core.specie import Specie
# Create an atomistic structure (diamond silicon)
coords = [[0.0, 0.0, 0.0], [0.5, 0.5, 0.5]]
elements = ["Si", "Si"]
lattice = [[0.0, 0.0, 1.0], [0.0, 1.0, 0.0], [1.0, 0.0, 0.0]] # cubic, a=1.0
atoms = Atoms(lattice_mat=lattice, coords=coords, elements=elements)
print(atoms)
print("Lattice:", atoms.lattice_mat)
print("Number of atoms:", len(atoms))
# Convert to fractional coordinates (using utility)
from jarvis.core.utils import get_fractional_coordinates
frac = get_fractional_coordinates(atoms.coords, atoms.lattice_mat)
print("Fractional coords:", frac)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'jarvis.core.atoms'
Importing from jarvis.core.atoms but the version is old (<2022) or package not installed correctly.
fixUpgrade: pip install --upgrade jarvis-tools. Also ensure you have correct import path: from jarvis.core.atoms import Atoms.
AttributeError: 'Atoms' object has no attribute 'coords'
Trying to access atoms.coords directly but newer version uses atoms.cart_coords or requires utility function.
fixUse atoms.cart_coords or from jarvis.core.utils import get_fractional_coordinates for coordinates.
ValueError: Could not parse POSCAR file
Using an outdated reader for VASP files. The POSCAR parser has been updated and expects specific format.
fixUse 'from jarvis.io.vasp.inputs import Poscar' and call Poscar.from_file('POSCAR').atoms. TypeError: lattice_mat must be a 3x3 list or array
Passing lattice vectors incorrectly (e.g., 1D array or wrong shape).
fixProvide lattice as a list of three vectors, each a list of three floats: [[a1,a2,a3],[b1,b2,b3],[c1,c2,c3]].
Upgrade
Version history
2026.4.2latest on PyPI · released Apr 5, 2026
Audit
Dependencies
numpyrequiredcore numerical operations
scipyrequiredscientific computing
spglibrequiredspace group symmetry
pandasrequireddata handling
pymatgenoptionalmaterials analysis (legacy dependency, may be phased out)
matplotliboptionalplotting (optional but required for some visualization)