abacustools is a Python CLI toolkit for preparing, running, inspecting, and
postprocessing ABACUS DFT calculations.
- Convert, inspect, and edit
INPUT,STRU,KPT, and common structure files. - Prepare complete ABACUS job directories from pseudopotential/orbital libraries.
- Monitor SCF, relaxation, cell-relaxation, and MD jobs.
- Postprocess bands, DOS/PDOS, charge densities, trajectories, COHP/COOP, Mayer and DDEC bond orders, Bader/Hirshfeld charges, and Molden orbitals.
- Run multi-step workflows for convergence, elastic, phonon, dielectric, piezoelectric, BSSE, DFT+U, magnetic exchange, and related calculations.
- Search and download structures through OPTIMADE and the Materials Project.
python -m pip install -e .Python 3.9 or newer is required. Without an editable install, run commands with
PYTHONPATH=src python -m abacustools.main ....
abacustools --help
abacustools file stru STRU POSCAR
abacustools file struinfo STRU --coordination
abacustools job prepare -f STRUCTURE --library apns
abacustools postprocess result -j JOB
abacustools workflow phonon prepare -j JOB
abacustools database search -d cod --formula Fe2O3 --limit 5The postprocess family also accepts post/pp; the database family accepts
db, and mp is the Materials Project spelling of database --database mp.
Running abacustools with no arguments in a terminal launches the interactive
menu.
The detailed documentation is under docs/:
- Getting started
- File commands
- Job commands
- Postprocess commands
- Workflow commands
- Structure databases
- Python API and ASE adapter
The installed argparse tree remains the authoritative source for command
options; use abacustools <family> <command> --help.
python -m pytest tests
ruff check src testsSee AGENTS.md for repository architecture, contribution rules,
and documentation policy.
The package is licensed under LGPL-3.0-or-later.