--- id: ase version: "3.29.0" license: LGPL-2.1-or-later license_treatment: copyleft maintenance: active --- # ase — Atomic Simulation Environment License: copyleft · Maintenance: active · Downloads: 1.7M/mo ## What it is and what it does ASE is a mature Python framework for computational materials science and quantum chemistry workflows. It provides a unified interface for constructing atomic structures, running geometry optimizations and molecular dynamics, and analyzing results—typically by delegating calculations to external quantum chemistry engines while handling structure manipulation, trajectory I/O, and visualization through its own modules. The package is built on numpy, scipy, and matplotlib, making it a natural fit for researchers already working in the scientific Python ecosystem. It includes a GUI for trajectory inspection, a database module for storing and querying simulation results, and optimization algorithms like BFGS. Users write Python scripts to define molecular systems, attach calculators, run simulations, and extract energies or forces. Use it for: - Geometry optimization of molecular structures using external quantum chemistry codes via ASE's calculator interface. - Building and manipulating atomic structures programmatically, then exporting to standard formats (XYZ, trajectory files). - Running molecular dynamics or structure searches and storing results in ASE's database for later analysis and querying. - Visualizing atomic trajectories and structures using the ASE GUI after simulation completion. - Batch processing multiple structures or parameter sweeps by scripting ASE workflows in Python. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. ASE provides Python tools for setting up, running, and analyzing atomistic simulations—building molecular geometries, optimizing structures, and interfacing with quantum chemistry calculators. Yes, if you work in computational materials science or quantum chemistry and need a Python interface to structure manipulation and calculator orchestration. The low install friction, active maintenance, and broad adoption in the materials science community make it a solid foundation. The LGPL-2.1-or-later license is permissive for research and open-source use but requires attention if you plan to ship proprietary derivatives. No known security vulnerabilities. ## Install pip install ase uv add ase poetry add ase ## Installing ase Before you install: Low friction install with a pure-Python wheel. Actively maintained with a recent release 54 days ago. Requires Python 3.10 or later and four core scientific dependencies (numpy, scipy, matplotlib, typing_extensions), all widely available. License in practice: Licensed under LGPL-2.1-or-later (copyleft). Derivative works and modifications must be distributed under the same or compatible license; proprietary closed-source applications cannot incorporate ASE without compliance. Quickstart: pip install ase from ase import Atoms from ase.optimize import BFGS h2 = Atoms('H2', positions=[[0, 0, 0], [0, 0, 0.7]]) opt = BFGS(h2, trajectory='h2.traj') opt.run(fmax=0.02) Requires Python 3.10 or later. External quantum chemistry calculator (e.g., NWChem) must be installed separately for actual energy/force calculations. Verify before relying: - Whether Flask and spglib are pre-installed or must be added separately for their respective features. - Performance characteristics and typical runtime for large-scale simulations or high-dimensional structure optimizations. ## Package facts - License: LGPL-2.1-or-later (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 1.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags molecular geometry optimization, atomic structure simulation, quantum chemistry workflow, atomistic simulation tools, molecular dynamics setup, structure visualization analysis, ab initio calculator interface, molecular-simulation, quantum-chemistry, materials-science [View on SkillFed](https://skillfed.io/packages/ase) · [View on PyPI](https://pypi.org/project/ase/)