ASE compatibility
Atomli aims to let user code look like ASE:
import atomli as asefrom atomli import Atomsfrom atomli.optimize import BFGS, FIRE2from atomli.md.verlet import VelocityVerletfrom atomli.calculators.lj import LennardJonesfrom atomli.build import moleculefrom atomli.io import read, writeInteroperability directions
Section titled “Interoperability directions”Atomli calculators attach directly to ase.Atoms. ASE calculators assigned to
Atomli Atoms are adapted internally.
Compatibility boundary
Section titled “Compatibility boundary”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.
Private extension
Section titled “Private extension”atomli._core is the compiled extension, analogous to a CPython .so.
Packaging modules may import it. Applications, tutorials, and user scripts
should not.