Skip to main content

PydSEAMSlib

Open in Colab

pydseams

built with nix

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.

Released versions live in CHANGELOG.md (Keep a Changelog). Unreleased notes are files under changelog.d/. The cut is towncrier build --version X.Y.Z.

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())
print(frame.density(bins=100, axis="z"))

mixed = ds.read("ions.lammpstrj", all_atoms=True, atom_type=1)
sites = ds.yoda.parseSiteSpec("1=polar,2=apolar")
print(mixed.domain(sites, ds.yoda.Kind.polar))

ions = ds.yoda.parseSiteSpec("1=cationHead,2=anion")
print(mixed.pairs(ions))

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.

Frame.density, Frame.pairs, and Frame.domain expose the same site-resolved density, ion-pair, and connected-domain analyses as the CLI. Use ds.read(..., all_atoms=True) when a site analysis needs every LAMMPS type. A file with more than one element symbol gives each symbol its own c_type, and the cutoff graph contains like and unlike pairs. Pass periodic=False for a molecule so pairs are not wrapped across the bounding span. atom_type is the species single-type ice routines still receive. pydseams.band.band_rows names the pairs that enter or leave that graph from one frame to the next. ASE adapters accept nonsingular cells periodic in all three directions and preserve cell orientation and displacement on roundtrip. Hydrogen donors use an ASE mol-id array when present and periodic nearest-atom ownership otherwise. All-atom ASE imports (select=None) use cutoff bonding; hydrogen-bond topology requires a heavy-atom selection such as select="O".

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.

Metadata

Release files for pydseamslib 2.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydseamslib 2.11.0
File Size Uploaded
pydseamslib-2.11.0.tar.gz 496.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pydseamslib 2.11.0
File Interpreter ABI Platform
pydseamslib-2.11.0-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details
pydseamslib-2.11.0-cp312-abi3-manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64 Details
pydseamslib-2.11.0-cp312-abi3-macosx_14_0_arm64.whl CPython 3.12 abi3 macOS 14.0+ ARM64 Details

Total release size: 9.7 MB

Release files / pydseamslib-2.11.0.tar.gz

Download URL pydseamslib-2.11.0.tar.gz
Size 496.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a1c05d37ffc4fe3ba8513b7b489aa58ef54c84bde2868592ce163b218ce104a2
BLAKE2b-256 checksum
How to use checksums
bbffa2b4789c57ced6f5e403d83e98c7f0ec8917f309f7b40da9f9e19fff1a8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 9, 2026.

Transparency log

Release files / pydseamslib-2.11.0-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL pydseamslib-2.11.0-cp312-abi3-manylinux_2_28_x86_64.whl
Size 3.7 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
404d929e55b3c6c6013ac9ba4f0f590a44c3ed7274dbfc2161d87765f88dd013
BLAKE2b-256 checksum
How to use checksums
252611d3842fda8f1270a16b4604d6d4dbdb11609af717dec59145a78a787430
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 9, 2026.

Transparency log

Release files / pydseamslib-2.11.0-cp312-abi3-manylinux_2_28_aarch64.whl

Download URL pydseamslib-2.11.0-cp312-abi3-manylinux_2_28_aarch64.whl
Size 3.2 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
952be66580f4a93376bee157bf040754153723a2483991e015c416085d195cf0
BLAKE2b-256 checksum
How to use checksums
d46fd21040056576498b1cac5d7bf0a1a43efe24bc0bfa77fc5f08a53fb5badd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 9, 2026.

Transparency log

Release files / pydseamslib-2.11.0-cp312-abi3-macosx_14_0_arm64.whl

Download URL pydseamslib-2.11.0-cp312-abi3-macosx_14_0_arm64.whl
Size 2.3 MB
Tags CPython 3.12 abi3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e6ee35f494a600a1646c8e4249685e7d94992227f076d71ef287fceeef49cae9
BLAKE2b-256 checksum
How to use checksums
0f9ae010da8ac6f249f54769a358dd77f7a5db2cbb1bc75f20f4ebfa9b4ad987
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 9, 2026.

Transparency log

Release history Release notifications | RSS feed

2.11.1

7 release files

This release

2.11.0 This release

4 release files

2.9.1

4 release files

2.9.0

4 release files

2.8.1

4 release files

2.7.0

4 release files

2.6.0

4 release files

2.5.1

4 release files

0.0.2

17 release files

0.0.1

9 release files

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