Skip to main content

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)

Source distribution for servatus 0.0.1
File Size Uploaded
servatus-0.0.1.tar.gz 18.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for servatus 0.0.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

0.11.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

This release

0.0.1 This release

2 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