Explicit execution lifecycle state machines with immutable run receipts.
Project description
sheafruntime
sheafruntime is a dependency-free lifecycle core for a bounded sequence of
execution stages. It does not run arbitrary work itself. Instead, it makes
stage transitions explicit, prevents invalid ordering, and records a compact,
immutable receipt for inspection or persistence.
from sheafruntime import Runtime
run = Runtime("image-ingest", ("fetch", "decode", "store"))
run.start("fetch")
run.succeed("fetch", output="sha256:abc")
run.start("decode")
run.succeed("decode")
assert run.receipt().completed == ("fetch", "decode")
Only the next pending stage may start. A started stage may succeed or fail; once a run fails, no subsequent state transition is permitted. This makes the library suitable as a small control boundary around workers, agent actions, or pipeline adapters without introducing a scheduler or framework.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sheafruntime-0.1.0a1.tar.gz.
File metadata
- Download URL: sheafruntime-0.1.0a1.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07f35b419d84e978aaa9cb8cd66f9ecfe88e21f686f6771a09890005a5a7fdda
|
|
| MD5 |
60ff1576e404e3bcca0929fee6109c25
|
|
| BLAKE2b-256 |
b2efde0e8a11fdcee7dd5358a5099470c0726c3b324011c01c1cb8a743f0dfef
|
File details
Details for the file sheafruntime-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: sheafruntime-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe6117307d88adb7fdd324d9d52badea3ff67a794d022acccdc492fa3019644d
|
|
| MD5 |
1be9d7f2affd1df283197a6c2119f088
|
|
| BLAKE2b-256 |
9b81349f9bb328f23981894098cb90c7675ff268af37f34f41d8f0d008147573
|