Skip to main content

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.

Version: 1.2.1. Publication status and artifacts are tracked in the release record below. Version 1.2.1 exposes explicit no-entropy energy metadata for ATST reference comparisons while preserving standard ASE energy values. 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 latestio or legacyio from the configured ABACUS version.
  • ASE workflows: energy, forces and stress for relaxation, MD, NEB, band structure and DOS through ASE.
  • Socket support: AbacusSocketIO provides 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.1'
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

Contributors

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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abacuslite 1.2.1
File Size Uploaded Provenance
abacuslite-1.2.1.tar.gz 191.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for abacuslite 1.2.1
File Interpreter ABI Platform
abacuslite-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 240.1 kB

Release files / abacuslite-1.2.1.tar.gz

Download URL abacuslite-1.2.1.tar.gz
Size 191.5 kB
Tags Source
SHA-256 checksum
How to use checksums
53c29432b79765c5b983bdbdf417fd5a1d06235017e71cc9c2a70128c5891818
BLAKE2b-256 checksum
How to use checksums
e09970607a9ccfdd9537cb01b013f3798d27507c70de2082e2f31b866a55c0fa
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 20, 2026.

Transparency log

Release files / abacuslite-1.2.1-py3-none-any.whl

Download URL abacuslite-1.2.1-py3-none-any.whl
Size 48.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbf2d320597bb2b75a280c31f731c6671e9a9e8e25627f458a992a237ab12886
BLAKE2b-256 checksum
How to use checksums
9b509f2091211e2730acc247962f93d7464367bc1889b2e4c8985e6ef97c32bc
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 20, 2026.

Transparency log

Security for abacuslite 1.2.1

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.

Select from 2 files

Attestation for abacuslite-1.2.1.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 20, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page