The Chemical Core Class for Graph Theory Analysis.
Project description
graphatoms
The Chemical Core Class for Graph Theory Analysis.
Overview
The graphatoms is a Python library designed for chemical graph theory analysis. It provides core classes for representing chemical systems and reactions with graph-based data structures.
Features
- Graph-based Chemical System Representation: Represent chemical systems, clusters, and gas molecules using graph theory
- Reaction Modeling: Support for reaction classes, KMC (Kinetic Monte Carlo) events, and MC (Monte Carlo) moves
- Geometry Operations: Bond lists, distance calculations, neighbor lists, rotations, MIC (Minimum Image Convention), and sampling
- Data Storage: Support for HDF5 and SQLite databases for efficient data persistence
- Dataclasses: Pydantic-based data models for type-safe data handling
- Array API Compatibility: Support for array API standard for cross-framework compatibility
Module Structure
src/graphatoms/
├── arrayapi/ # Array API compatibility layer
├── dataclasses/ # Pydantic-based data models
├── geometry/ # Geometric operations
├── reaction/ # Reaction classes and KMC events
│ ├── base/ # Abstract base classes
│ ├── event/ # KMC events (adsorption, desorption, reaction)
│ ├── mcmove/ # Monte Carlo moves
│ ├── mdwarpper/ # MD wrapper
│ └── network/ # Reaction network
├── system/ # Core system classes
│ ├── atoms/ # Atomic structure handling
│ ├── database/ # Database storage backends
│ └── graph/ # Graph-based system representation
└── utils/ # Utility functions
Requirements
- Python >= 3.12
- ase
- pymatgen > 2023.6
- rdkit >= 2025
- scikit-learn >= 1.5
- array-api-compat >= 1.10
- array-api-extra >= 0.10
- pyarrow
- igraph >= 0.11
- h5py >= 3.16
- hydra-core
- numpy >= 2.0.0
- numpydantic
- ovld
- pydantic >= 2.10
- python-snappy >= 0.7.3
- loguru
Installation
pip install graphatoms
Or with conda:
conda install -c conda-forge graphatoms
Development
For development setup with pixi:
pixi install
pixi run test
Running Tests
# Run all tests
pytest src/tests/ -v
# Run benchmark tests
pytest src/tests-benchmark/ -v
License
GPL-3.0-or-later
Authors
- LiuGaoyong (liugaoyong_88@163.com)
Links
- Homepage: https://github.com/LiuGaoyong/GraphAtoms
- Repository: https://github.com/LiuGaoyong/GraphAtoms
- Issues: https://github.com/LiuGaoyong/GraphAtoms/issues/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graphatoms-1.1.5.tar.gz.
File metadata
- Download URL: graphatoms-1.1.5.tar.gz
- Upload date:
- Size: 167.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08efecb61df195e503d9e7b4dee2ccf1a16cfb5b2d6d73debb3896b39ea48576
|
|
| MD5 |
d0b5e7bba6e328635f608ab64e32711a
|
|
| BLAKE2b-256 |
30af71ee37baf6743c966ccf3f539367f64dd02b757d770a5086511516d559f9
|
Provenance
The following attestation bundles were made for graphatoms-1.1.5.tar.gz:
Publisher:
publish.yml on LiuGaoyong/GraphAtoms
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
graphatoms-1.1.5.tar.gz -
Subject digest:
08efecb61df195e503d9e7b4dee2ccf1a16cfb5b2d6d73debb3896b39ea48576 - Sigstore transparency entry: 1836432033
- Sigstore integration time:
-
Permalink:
LiuGaoyong/GraphAtoms@ab73b4ce63f2dc86b258b0d1382fb2b9482763f0 -
Branch / Tag:
refs/tags/v1.1.5 - Owner: https://github.com/LiuGaoyong
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ab73b4ce63f2dc86b258b0d1382fb2b9482763f0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file graphatoms-1.1.5-py3-none-any.whl.
File metadata
- Download URL: graphatoms-1.1.5-py3-none-any.whl
- Upload date:
- Size: 193.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
904fa2bf9102364f96217a4a797f2cdee2b8a61f38c08d7fa25b5d02581f193f
|
|
| MD5 |
5eaa50281e8760e38b04f06003b41aa2
|
|
| BLAKE2b-256 |
7e364e21f342d29c347cdfb43baa7fc21a8f81017b5847def5c7bca53c6443d4
|
Provenance
The following attestation bundles were made for graphatoms-1.1.5-py3-none-any.whl:
Publisher:
publish.yml on LiuGaoyong/GraphAtoms
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
graphatoms-1.1.5-py3-none-any.whl -
Subject digest:
904fa2bf9102364f96217a4a797f2cdee2b8a61f38c08d7fa25b5d02581f193f - Sigstore transparency entry: 1836432148
- Sigstore integration time:
-
Permalink:
LiuGaoyong/GraphAtoms@ab73b4ce63f2dc86b258b0d1382fb2b9482763f0 -
Branch / Tag:
refs/tags/v1.1.5 - Owner: https://github.com/LiuGaoyong
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ab73b4ce63f2dc86b258b0d1382fb2b9482763f0 -
Trigger Event:
push
-
Statement type: