Skip to main content

graspkit

English | 简体中文

graspkit is the stable foundation for reading, processing, and plotting GRASP atomic-structure calculation results. Machine-learning workflow code is owned by the sibling graspkit-tools repository.

Package structure

  • graspkit.data_IO: typed GRASP text/binary loaders and stable CSF writers.
  • graspkit.grasp_data_extractor: ASF, level, composition, transition, and mixing-coefficient post-processing.
  • graspkit.CSFs_processor: CSF parsing, descriptors, and deterministic selection helpers.
  • graspkit.utils: shared GRASP data models, environment detection, and quantum-number helpers.
  • graspkit_plot: plotting and publication-style helpers.

The package deliberately does not contain ML models, training configuration, or iterative pipeline state. Those live under graspkit-tools/ml_CSFs_selection_scripts/ml_csf_choosing/.

Installation

The distribution name is grasp-atomic-kit; the Python imports remain graspkit and graspkit_plot. Python 3.14 or newer is required. From a source checkout:

python -m pip install .

When developing in the full workspace, use the environment owned by graspkit-tools; it installs this repository as an editable dependency.

Imports

from graspkit.data_IO import EnergyFileLoader, MixCoefLoader
from graspkit.grasp_data_extractor import format_energy_configurations
from graspkit.CSFs_processor import select_csf_indices_by_ci_squared_cutoff
from graspkit_plot import configure_matplotlib_for_publication

Windows terminal encoding

On Windows terminals that use a legacy code page, Rich output from loaders such as MixCoefLoader may raise UnicodeEncodeError when printing scientific labels such as cm⁻¹. Run Python in UTF-8 mode:

python -X utf8 your_script.py

For a one-line loader check:

python -X utf8 -c "from graspkit.data_IO import MixCoefLoader; MixCoefLoader(r'path\to\file.m').load()"

This option changes terminal text encoding only; it does not change how GRASP files are parsed.

Development

In the full workspace, activate the shared environment first:

source ../graspkit-tools/.venv/bin/activate
pytest tests/
ruff check .
basedpyright src/
python -m build

See INSTALL.md for installation details.

Release preparation

See the release guide for local wheel/source builds and artifact validation. Once published on PyPI, the installation command is python -m pip install grasp-atomic-kit.

License

GNU GPL version 3 (GPL-3.0-only). See LICENSE.

Metadata

Release files for grasp-atomic-kit 3.4.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 grasp-atomic-kit 3.4.1
File Size Uploaded Provenance
grasp_atomic_kit-3.4.1.tar.gz 101.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for grasp-atomic-kit 3.4.1
File Interpreter ABI Platform
grasp_atomic_kit-3.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 214.6 kB

Release files / grasp_atomic_kit-3.4.1.tar.gz

Download URL grasp_atomic_kit-3.4.1.tar.gz
Size 101.6 kB
Tags Source
SHA-256 checksum
How to use checksums
88a59a1470ad20bdeda24ffb8f4861b47d4236adbca210c6e64a46b967340c49
BLAKE2b-256 checksum
How to use checksums
3d0ba8923967ffdfc45ddcf02f886e6a6791387979a2f4780e0be2c8c4ef3fef
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 / grasp_atomic_kit-3.4.1-py3-none-any.whl

Download URL grasp_atomic_kit-3.4.1-py3-none-any.whl
Size 112.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
443e35fefd7aea616d158518260e3bc5603e63928e0037ecbfe6c7905a32acc8
BLAKE2b-256 checksum
How to use checksums
f629afdf5430ee5b8733f100613974cc8f4b5999800202eb23a5c2d05f287115
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 grasp-atomic-kit 3.4.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 grasp_atomic_kit-3.4.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.

Release history Release notifications | RSS feed

This release

3.4.1 This release

2 release files Full provenance

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