Skip to content

ASE compatibility

Atomli aims to let user code look like ASE:

import atomli as ase
from atomli import Atoms
from atomli.optimize import BFGS, FIRE2
from atomli.md.verlet import VelocityVerlet
from atomli.calculators.lj import LennardJones
from atomli.build import molecule
from atomli.io import read, write

Atomli calculators attach directly to ase.Atoms. ASE calculators assigned to Atomli Atoms are adapted internally.

Atomli implements the supported part of the ASE-shaped contract with native Rust-owned objects. It does not carry a second, large pure-Python mirror of Atoms, optimizers, drivers, or calculators.

Unsupported ASE features raise NotImplementedError. A familiar method name must never return a knowingly wrong approximation.

atomli._core is the compiled extension, analogous to a CPython .so. Packaging modules may import it. Applications, tutorials, and user scripts should not.