seamm_slurm
Now a compatibility shim. Everything here moved to
seamm_scheduler, which
generalizes it to other queueing systems (PBS, ...). Every module of
seamm_slurm re-exports from there, so existing code keeps working; new code
should import seamm_scheduler.
A small library that wraps the SLURM command-line tools (sbatch, squeue,
sacct, scancel) behind one interface, SlurmBackend, with two transports:
LocalSlurm-- runs the SLURM CLI directly on the current host (the host running the code is itself a SLURM submit host, e.g. a cluster head/login node).SshSlurm-- runs the same commands on a remote host over passwordless SSH (the host running the code is not a SLURM submit host).
Both transports share the same submit/poll/cancel logic and SLURM-version
handling (some clusters support squeue --json/sacct --json, others only
have plain columnar output -- this library prefers JSON when available and
falls back to --parsable2/--format= text parsing otherwise, transparently
to the caller).
submit() takes the full script text (shebang, #SBATCH directives,
payload) and feeds it to sbatch --parsable on stdin -- it never needs the
script to exist as a file on the target host, so submission works identically
whether the caller and the SLURM cluster share a filesystem or not.
seamm_slurm.script.build_script() is a small helper for building that
script text from a directives dict (partition/account/qos/nodes/ntasks/time/
mem/gpus/...) plus a payload command, matching the
<root>/<jobserver-name>.ini config shape used by seamm_jobserver.
poll_many() takes a batch of SLURM job IDs (not one call per job) and
returns a JobStatus per ID, merging live state from squeue with
historical/terminal state from sacct -- sacct is the source of truth once
a job has left the live queue.
seamm_slurm.config reads a JobServer's <root>/<jobserver-name>.ini
(load_slurm_config/SlurmSection) -- the same system/machine config file
seamm_jobserver itself uses, moved here so any dependency-light consumer
(a future job-submission UI, for instance) can read and validate it without
pulling in the rest of the SEAMM stack. Includes an optional
[<section>.limits] companion section and SlurmSection.merge_overrides(),
for sites that want to let a job override some of the section's defaults
(cores, memory, walltime, ...) within enumerated choices or numeric/size/
time bounds -- secure by default, nothing is overridable unless a site's
.limits section says so.
This package intentionally has no SEAMM-core/molsystem/dashboard
dependency and no notion of SEAMM's own job-status vocabulary -- it only
speaks SLURM's. seamm_jobserver's whole-flowchart SLURM submission mode is
the first consumer, validated end-to-end against a real cluster; a future
seamm_exec Slurm executor (per-step submission) is expected to reuse the
same backend rather than duplicating the SLURM-CLI handling.
See docs/developer_guide/campaigns/2026-08-06/index.rst in this repo, and
seamm_jobserver's own docs/developer_guide/campaigns/2026-08-05/ (the
full cross-repo SLURM-integration campaign, moved there from a
workspace-level scratch doc), for the design rationale.
Metadata
Release files for seamm-slurm 2026.10.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seamm_slurm-2026.10.2.tar.gz | 17.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seamm_slurm-2026.10.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.0 kB
Release files / seamm_slurm-2026.10.2.tar.gz
| Download URL | seamm_slurm-2026.10.2.tar.gz |
|---|---|
| Size | 17.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e0c6a746f573d6066b852fb82959e9e1826449d5c40efcad1bc078733996085
|
|
BLAKE2b-256 checksum How to use checksums |
73e493506b88c1708beed94c5732d634481117890039d8d8205b2fa0928c0be6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / seamm_slurm-2026.10.2-py3-none-any.whl
| Download URL | seamm_slurm-2026.10.2-py3-none-any.whl |
|---|---|
| Size | 17.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8fb9d99a9a3c9ddc0ae1f1eaad72e6bbc8b8a2ffd48f3fd2b1a6a8ee520d41d8
|
|
BLAKE2b-256 checksum How to use checksums |
2f11cb28055c55fb7529922dbe0a4a4f05214a4574e4e3a5cea5a7c856a79013
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|