grain-contracts
Grain owns the workflow capability, so Grain publishes the words for it: protocol, run, gate,
artifact, stop_reason.
This distribution carries only those types, with zero dependencies, so a service can speak
Grain's vocabulary without installing Grain's CLI. grain-kit re-exports the same types from
grain.contracts.workflow. Anything that wants to talk about a Grain workflow — a Postgres-backed
Missions runtime, an agent driving Grain headlessly — imports these types rather than inventing a
parallel set that drifts.
from grain_contracts.workflow import Run, StepRecord, Gate, RunStatus, StopReason
run = Run.from_dict(payload) # payload is a grain.workflow-run/v1 mapping
if run.status is RunStatus.AWAITING_GATE:
...
Types only. No reducer, no store, no I/O — contracts share types, not code. The storage-agnostic
run store and the pure advance() reducer are a separate promise, published as their own package.
Source and issues · MIT
Release files for grain-contracts 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| grain_contracts-0.1.0.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| grain_contracts-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.5 kB
Release files / grain_contracts-0.1.0.tar.gz
| Download URL | grain_contracts-0.1.0.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f8f5adac8c518fc5fda75ab8815581c5b4017574ab5e171209ad05377503e41
|
|
BLAKE2b-256 checksum How to use checksums |
1a769f61391969425c0b7f5d61bf2e10e83e757f9f8041f37e39302dc8251abe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / grain_contracts-0.1.0-py3-none-any.whl
| Download URL | grain_contracts-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1137366ce245c9c7ed7b71e2491e76555e9e9434febb26e4c514566065a35c8c
|
|
BLAKE2b-256 checksum How to use checksums |
f2e85fc9c41313b939132ec83ec25c414d3c179719d591c802f2eb144ca67c75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|