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.

Stable release: 1.2.1 on PyPI. Publication evidence 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.2

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.2
File Size Uploaded Provenance
abacuslite-1.2.2.tar.gz 225.4 kB With provenance Details

Built distribution (wheel)

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

Total release size: 274.4 kB

Release files / abacuslite-1.2.2.tar.gz

Download URL abacuslite-1.2.2.tar.gz
Size 225.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0775eea7bcf9554b7e2e51793fabb613804957405c2d593558984e330aafe347
BLAKE2b-256 checksum
How to use checksums
e0644dc78c0a1449dd76cb00522e1a18e800888c9997a2c7855d73d6edb08c78
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.2-py3-none-any.whl

Download URL abacuslite-1.2.2-py3-none-any.whl
Size 49.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4675aae2f70b99a6e18882e2c4ecf7f67f57eae10f5ba3e01622e879c6b8caf
BLAKE2b-256 checksum
How to use checksums
79324c5ae939a08e420764988ecd7c56c666823038528a0dac7c1f30371829ef
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.2

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