PydSEAMSlib
August 17, 2026 ยท View on GitHub
Python bindings for the d-SEAMS C++ engine
(seams-core).
This repository is the Python package pydseams. The C++ engine and
seams CLI live in seams-core.
Lua/Fennel is dseams in yodaStruct.
Neighbour search is linkcell.
Do not grow a second engine here. import pydseamslib still works.
pip install pydseamslib
pip install 'pydseamslib[ase]' # ASE Atoms
pip install 'pydseamslib[solvis]' # solvis / PyVista
Nix flake:
nix build
nix develop
Docs: docs/orgmode/ (ox-rst) and docs/source/ (Shibuya).
Site: https://d-seams.github.io/PydSEAMSlib/.
import pydseams as ds
frame = ds.read("water.lammpstrj") # also .xyz, .pdb, .gro, .dcd, .con
print(frame.chill_plus())
print(frame.cages())
frame = ds.from_ase(atoms)
atoms = frame.to_ase()
system = frame.to_solvis() # optional extra
ds.read picks the engine reader from the suffix. yoda is the compiled
surface. Helpers (Frame, io, ASE, solvis) stay in Python.
_core and cyoda still name the same module.
Cutoff, frame, and k follow the same twelve-factor table as
seams: SEAMS_CONFIG or ./seams.env, then the environment, then
the function argument. pydseams.config is the reader.
Primary author: Ruhila S. The project started as PSF GSoC 2023 (pyseams).
Requires Python 3.12+. Wheels are built against the CPython 3.12 stable
ABI (one abi3 wheel per platform). Free-threaded CPython has no
limited ABI and is not a target.
License
MIT.