Nanobind bindings to the eOn C++ client (Matter, Parameters, Potential, Jobs)
Project description
Install
pip install pyeonclient
pip install 'pyeonclient[ase]' # optional
pyeonclient
Nanobind-only bindings for the eOn C++ client library (libeonclib).
No pybind11. This module supersedes the old unused with_pybind11 option.
ABI policy
| Interpreter | Extension build |
|---|---|
| CPython ≥ 3.12 (GIL) | Stable ABI (abi3) — Py_LIMITED_API=0x030C0000 |
CPython ≥ 3.13 free-threaded (Py_GIL_DISABLED) |
Free-threaded (NB_FREE_THREADED); stable ABI not available yet |
Meson detects free-threaded vs GIL builds from sysconfig.Py_GIL_DISABLED and
sets exactly one of the two modes (same rule as nanobind’s CMake
STABLE_ABI + FREE_THREADED pair).
Package layout
client/python/
meson.build # -Dwith_pyeonclient=true
pyeonclient/
__init__.py # re-exports
bridge.py # Structure <-> Matter (server)
bind/
module.cpp # NB_MODULE(_core, ...)
bind_*.cpp
eigen_numpy.hpp
Artifact: pyeonclient/_core*.so (or _core*.abi3.so).
Build
# needs nanobind>=2.2 on the build Python
meson setup build -Dwith_pyeonclient=true
meson compile -C build
pytest tests/test_pyeonclient_matter.py -v
Design
Bottom-up surface: Matter, Parameters, Potential, enums/I/O —
not a thin job wrapper. Jobs and communicators layer on Matter later.
.con I/O uses ConFileIO / readcon-core (same path as eonclient).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyeonclient-0.2.0.tar.gz.
File metadata
- Download URL: pyeonclient-0.2.0.tar.gz
- Upload date:
- Size: 22.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f38ddf0c02cd750f74ba90bd11a77dea28b53a5e457cee3308efbfb6905bab68
|
|
| MD5 |
c7fbb12db70ca431303a0cf38fcd91c7
|
|
| BLAKE2b-256 |
175ac892281953faf3f56c00fed1ac8ec1771f431b45f59036d62672c9c4056c
|