abacuslite
Introduction
A lightweight ABACUS calculator and I/O plugin for ASE. It packages ABACUS's
ASE interface as an independent, pip-installable project. Existing
abacuslite imports keep working, and ASE does not need patching.
Use it for energy, forces and stress in ASE workflows, or to read and write ABACUS files without launching an engine. The current develop output format and the 3.10.x LTS format are supported. The fixed-cell socket calculator requires an ABACUS build with the socket driver.
Release line: 1.2.0 (candidate; publication pending authorization). It
adds the ABACUS_PP_PATH/ABACUS_ORB_PATH profile defaults and three
calculator and restart corrections on top of 1.1.0; the 1.x line was tested
with ABACUS develop v3.11.0-beta10 and LTS v3.10.1. See the
compatibility record
for the exact snapshots and current checks, and the
release record
for artifact and publication status.
Key features
- Lightweight: an ASE plugin; no ASE core changes are required.
- Engine compatibility: each calculator selects
latestioorlegacyiofrom the configured ABACUS version. - ASE workflows: energy, forces and stress for relaxation, MD, NEB, band structure and DOS through ASE.
- Socket support:
AbacusSocketIOprovides fixed-cell i-PI calculations. - Pure I/O: read and write INPUT, STRU and KPT, and read completed output without launching ABACUS.
Installation
Requires Python 3.10+ and ASE 3.28+ (<4):
python3 -m venv .venv
source .venv/bin/activate
python -m pip install 'abacuslite==1.2.0'
python -m pip check
Pip installs ASE, NumPy and seekpath. ABACUS, pseudopotentials and orbital files are supplied separately. Tested engine snapshots are listed in supported versions.
Quick start
Read an existing input file without an engine:
from abacuslite.io.generalio import read_input
print(read_input("INPUT"))
Run a short SCF calculation:
from ase.build import bulk
from abacuslite import Abacus, AbacusProfile
atoms = bulk("Si", "diamond", a=5.43)
profile = AbacusProfile(
command="mpirun -np 2 abacus", # or the actual ABACUS binary path
pseudo_dir="/path/to/PP_ORB",
orbital_dir="/path/to/PP_ORB",
)
atoms.calc = Abacus(
profile=profile,
directory="scf-run",
pseudopotentials={"Si": "Si_ONCV_PBE-1.0.upf"},
basissets={"Si": "Si_gga_8au_100Ry_2s2p1d.orb"},
inp={"basis_type": "lcao", "gamma_only": True, "scf_thr": 1e-3},
)
print(atoms.get_potential_energy())
Recent ABACUS develop builds may name the executable abacus_basic_para
instead of abacus; point command at the actual binary. Most shipped
examples use genelpa; if your build lacks it, set ks_solver to an available
solver.
Examples
The source release includes eleven examples. A suggested learning path is SCF, relaxation or MD, then the more specialized workflows. See the usage guide for assets, engine features, cleanup behavior and the complete table.
| Example | Purpose |
|---|---|
| scf.py | SCF calculation of silicon |
| relax.py | Atomic position relaxation |
| cellrelax.py | Cell relaxation |
| bandstructure.py | Band structure |
| dos.py | Density of states |
| md.py | Molecular dynamics |
| constraintmd.py | Constrained molecular dynamics |
| metadynamics.py | Metadynamics with PLUMED |
| neb.py | Nudged elastic band |
| soc.py | Noncollinear spin-orbit coupling |
| socketio.py | Fixed-cell socket calculations |
Documentation
| Task | Guide |
|---|---|
| Configure calculators, read output, run examples | Usage |
| Check tested engines and limitations | Supported versions |
| Fix common setup and runtime problems | Troubleshooting |
| Migrate ABACUS/ATST callers | Migration |
| Understand modules and package boundaries | Module reference |
| Check CI and acceptance evidence | Compatibility |
| Set up development and run tests | Contributing |
| Review changes and attribution | Changelog, provenance |
Authors
- Yuyang Ji (@jiyuyang)
- Zhenxiong Shen (@Shen-Zhen-Xiong)
- Yike Huang (@kirk0830)
- Zhaoqing Liu (@QuantumMisaka)
Contributors
- Jianrui Geng (@Phorbol) — fixed-cell i-PI
socket driver and
AbacusSocketIO(ABACUS #7609).
Acknowledgments
Thanks to the ABACUS community for their support and contributions.
License
Licensed under LGPL-3.0-only. Original attribution and ATST-derived adaptations are recorded in UPSTREAM.md.
Contact
Report issues at QuantumMisaka/abacuslite.
Metadata
Release files for abacuslite 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| abacuslite-1.2.0.tar.gz | 188.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| abacuslite-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 236.6 kB
Release files / abacuslite-1.2.0.tar.gz
| Download URL | abacuslite-1.2.0.tar.gz |
|---|---|
| Size | 188.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61a238197879136ee59d99651242921850834a3954b8a8b475a34b109a077fe0
|
|
BLAKE2b-256 checksum How to use checksums |
865f02a9eeaedee7808fca4813977cde35c860d996b8569122d41c40a6446b54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / abacuslite-1.2.0-py3-none-any.whl
| Download URL | abacuslite-1.2.0-py3-none-any.whl |
|---|---|
| Size | 48.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3e5e245c0a03e8182c2c726d7ccad1c800c20250641abd4b81a8e22e892bc4a0
|
|
BLAKE2b-256 checksum How to use checksums |
837cfd97a2a4eb33078e50547163a86e666e8dfc9fabd7d1174df9c5ca0e4d02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logSecurity for abacuslite 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for abacuslite-1.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.