pyeonclient
In-process eOn client for Python. Algorithm objects on Matter.
| Class / function | Role |
|---|---|
Matter |
Geometry + PEF (ASE Atoms analogue) |
ImprovedDimer / Dimer / Lanczos / Davidson |
Min-mode |
MinModeSaddleSearch |
Single-ended saddle search |
NudgedElasticBand |
NEB band (list[Matter]) |
Hessian / get_prefactors |
Vibrational analysis / HTST |
make_job + Job.run |
Full JobType factory (workdir jobs) |
Docs: Python API
Install
pip install pyeonclient
pip install 'pyeonclient[ase]' # Matter ↔ ASE geometry helpers
pip install 'pyeonclient[models]' # optional Pydantic DimerSpec / NebSpec
# uv: uv pip install 'pyeonclient[models]'
# Core Dimer/NEB work without pydantic; C++ + light Python still enforce
# accelerant="gp" only with method="improved".
Example (dimer → saddle)
import numpy as np
import pyeonclient as pyec
params = pyec.Parameters()
params.potential = pyec.PotType.LJ
pot = pyec.make_potential(params.potential, params)
matter = pyec.Matter(pot, params)
# ... set positions / cell / numbers ...
matter.relax()
mode0 = np.random.default_rng(0).normal(size=matter.positions.shape)
dimer = pyec.ImprovedDimer(matter, params, pot)
dimer.compute(matter, mode0)
ss = pyec.MinModeSaddleSearch(
matter, dimer.eigenvector, matter.potential_energy, params, pot
)
status = ss.run()
print(pyec.saddle_status_message(status), ss.eigenvalue)
NEB
path = [pyec.from_ase(img, pot, params) for img in images]
neb = pyec.NudgedElasticBand(path, params, pot)
neb.compute()
# Stamped ConFrames for plots (no neb.con write required):
frames = neb.path_frames() # list[readcon.ConFrame]
path = list(neb.path_images())
Min / saddle movies (in-memory)
out, ok = matter.relax(retain_frames=True) # default inplace=False returns working copy
movie = out.movie_frames() # list[readcon.ConFrame]
ss = pyec.MinModeSaddleSearch(matter, mode, e0, params, pot)
ss.run_retain_frames()
climb = ss.climb_frames()
Build
meson setup build -Dwith_pyeonclient=true
meson compile -C build
pytest tests/test_pyeonclient_eigenmode.py tests/test_pyeonclient_neb.py -v
Metadata
Release files for pyeonclient 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyeonclient-0.4.1.tar.gz | 63.5 MB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyeonclient-0.4.1-cp314-cp314t-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 free-threading | Linux glibc 2.28+ x86-64 | Details |
| pyeonclient-0.4.1-cp313-cp313t-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 free-threading | Linux glibc 2.28+ x86-64 | Details |
| pyeonclient-0.4.1-cp312-abi3-manylinux_2_28_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.28+ x86-64 | Details |
Total release size: 88.2 MB
Release files / pyeonclient-0.4.1.tar.gz
| Download URL | pyeonclient-0.4.1.tar.gz |
|---|---|
| Size | 63.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ebfc9a472d52195bbbe6b062bb44905e9d3e7d484a241fa42eec1d0b90e1a8f3
|
|
BLAKE2b-256 checksum How to use checksums |
bbb4598d8cec9631522067fbd53840a8cd332ba9ac70310ad7f33819592ce320
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.14
|
Release files / pyeonclient-0.4.1-cp314-cp314t-manylinux_2_28_x86_64.whl
| Download URL | pyeonclient-0.4.1-cp314-cp314t-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.2 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f5150f7f713c450fbab90262be21b05ae88108caa6a60825e1fea1dcde362502
|
|
BLAKE2b-256 checksum How to use checksums |
7037bc95d7bbbd541c2bcfcbc39336f3d84b265d3010909cd3cc2c9dbff7a501
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.14
|
Release files / pyeonclient-0.4.1-cp313-cp313t-manylinux_2_28_x86_64.whl
| Download URL | pyeonclient-0.4.1-cp313-cp313t-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.2 MB |
| Tags | CPython 3.13 CPython 3.13 free-threading Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1eb80833c363e705487d4737637c0a37919e0b4d6a89386f3e539c8981111e95
|
|
BLAKE2b-256 checksum How to use checksums |
31494676e15c19a267a19da147d9214e7b842bf906ae1c2ee0f135fc6ba36eae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.14
|
Release files / pyeonclient-0.4.1-cp312-abi3-manylinux_2_28_x86_64.whl
| Download URL | pyeonclient-0.4.1-cp312-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.2 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
d0c5d3be89da51f51765f90947a3de11d10b8ef83ae7543968004e3d90ee97f8
|
|
BLAKE2b-256 checksum How to use checksums |
6baa30c1f224a77cd3c3f87cc95b150a7be52a68745439ae91a66acd692a5b56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.14
|