Servatus
Run resumable work through Slurm and atomically publish validated outputs.
Servatus 0.0.1 is a publication-only alpha. It provides a small Python interface for keeping private resumable work and exposing an application-built directory atomically. Slurm campaigns arrive in a later release.
pip install servatus
Publication
Use publish when failed work is disposable:
from pathlib import Path
from servatus import Draft, publish
def build(draft: Draft) -> None:
(draft.path / "result.json").write_text('{"status":"complete"}\n')
publication = publish(Path("outputs/run-1"), build)
Use Workspace when a worker must retain private checkpoints across restarts:
from servatus import Draft, Workspace
destination = Path("outputs/model-1")
with Workspace(destination, identity=b"model request bytes") as workspace:
checkpoint = workspace.path / "last.ckpt"
# The application creates or resumes its own checkpoint here.
def assemble(draft: Draft) -> None:
draft.link(checkpoint, "last.ckpt")
# Perform application validation before returning.
publication = workspace.publish(assemble)
Workspace binds its stable hidden state to the SHA-256 digest of the opaque identity and holds a
nonblocking writer lock. Draft.link only hard-links regular files into a safe relative path. The
application must not mutate a linked source inode after Draft.link() returns and before
publication completes. It owns file contents, validation, schemas, and completion meaning.
Guarantees
- A destination is absent or one complete directory; it is never overwritten.
- Work, hard-link sources, stages, and destination must share a filesystem.
- Files and directories are synced before a kernel-exclusive commit; the destination parent is synced afterward.
- Builder failures expose no destination. Resumable work remains available, while disposable stages are removed.
- Successful workspace publication removes private state. A cleanup failure returns
Publication(cleanup_pending=True)without misreporting the committed destination as failed. - Symlinks, special files, escaping link paths, path substitution, and unsupported exclusive-rename primitives fail closed.
Servatus supports POSIX filesystems on Linux and macOS. Hardware durability still depends on the filesystem and mount. It is not a security boundary against another process that can arbitrarily modify the same parent directory.
Non-goals in 0.0.1
Servatus does not interpret checkpoints or ML artifacts, decide when work is valid, model workflow graphs, migrate old outputs, copy across filesystems, overwrite destinations, or provide scheduler execution. It has no plugins, callbacks beyond the one build seam, runtime dependencies, daemon, database, or global run store.
The public API is Draft, Workspace, Publication, publish, and the compact errors exported by
servatus. See the context glossary and architecture decisions
for the ownership boundary.
Release files for servatus 0.0.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 | |
|---|---|---|---|
| servatus-0.0.1.tar.gz | 18.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| servatus-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.8 kB
Release files / servatus-0.0.1.tar.gz
| Download URL | servatus-0.0.1.tar.gz |
|---|---|
| Size | 18.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d45605ac4deda280a1ec8d6064f77ea5f11415fa1843e8bfc11ee98cb51e14bf
|
|
BLAKE2b-256 checksum How to use checksums |
b9dd2f63d60c9ff4e7225e3e860e28bda332d1feaf0bb8bc74f3fbc83fb52399
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 10, 2026.
Transparency logRelease files / servatus-0.0.1-py3-none-any.whl
| Download URL | servatus-0.0.1-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67b6e0187f51c4df979c69c60fab2440de10078fbec884789ca3a24f4ca8ff7c
|
|
BLAKE2b-256 checksum How to use checksums |
a67f932353bbca9d7fd3344c7db0479fd4ce7b405ff2d25da04def0384944920
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 10, 2026.
Transparency log