Install & Compatibility
Where this runs
tested against v0.18.0 · 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
✕ timeout
py 3.11
✕ build_error
1/2 runs
py 3.12
✕ build_error
1/2 runs
py 3.13
✕ build_error
✓ 81.7s
py 3.9
✕ build_error
✕ timeout
5120MB installed
● package 5120MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
NequIP
✓ from nequip import NequIP
✗ from nequip import NequIP
Initializes a basic NequIP model from a configuration dictionary. In practice, configurations are often loaded from YAML files and models are either trained or loaded from pre-existing checkpoints. This example demonstrates the fundamental model instantiation.
import torch
from nequip.utils import Config
from nequip.model import NequIP
# Example minimal configuration for a NequIP model
# In real applications, this would typically be loaded from a YAML file.
config_dict = {
'r_max': 5.0,
'max_ell': 1,
'num_layers': 3,
'chemical_species_set': ['H', 'O'], # Example species
'num_species': 2,
'l_max_hidden': 1,
'nonlinearity_type': 'silu',
'resnet': True,
'env_embed_multi_head': True,
'mlp_output_irreps': '64x0e+64x1o+64x1e',
'weight_init': 'xavier_uniform',
'irreps_out_per_structure': '1x0e',
'cutoff_type': 'polynomial',
'activation': 'silu'
}
# Create a Config object
config = Config(config_dict)
# Initialize the NequIP model
# This model is a placeholder; it would need to be trained or loaded from a checkpoint.
model = NequIP(config)
print(f"NequIP model initialized with {sum(p.numel() for p in model.parameters())} parameters.")
# Example of model structure for a single atom
# x = torch.zeros(1, 3)
# z = torch.tensor([1]) # Atomic number for H
# model(x, z) # Requires a full batch of positions and atomic numbers
Debug
Known issues
breakingThe internal structure of the `NequIP` model's parameters and buffers significantly changed in v0.17.0. Saved models trained with NequIP versions <0.17.0 are incompatible and will fail to load or produce incorrect results. They require re-training or conversion.fixRe-train your models using NequIP v0.17.0+, or refer to the NequIP documentation for any experimental conversion scripts if available (not officially supported for all versions).
affects: >=0.17.0
gotchaNequIP has a strict dependency on `e3nn` versions. Specifically, NequIP >=0.16.0 requires `e3nn>=0.5.0`. Mismatched `e3nn` versions can lead to `AttributeError` or unexpected behavior during model definition or computation.fixEnsure your `e3nn` installation is compatible with your `nequip` version. For NequIP v0.16.0+, run `pip install e3nn>=0.5.0` to guarantee the correct version.
affects: >=0.16.0
gotchaConfiguration file formats (YAML) have changed across major NequIP versions. Using an older configuration file with a newer NequIP version can lead to `KeyError`, schema validation errors, or incorrect model behavior.fixAlways refer to the documentation for your specific NequIP version for the correct configuration file schema. Adapt older YAML files to the new format, or regenerate them using updated examples.
affects: <0.4.0, >0.4.0, various intermediate
Upgrade
Version history
0.18.0latest on PyPI · released May 26, 2026
Audit
Dependencies
torchrequiredCore deep learning framework
e3nnrequiredE(3)-equivariant neural network building blocks
aserequiredAtomic Simulation Environment for I/O and calculator interfaces