Metadata-Version: 2.4
Name: sheaffoundry
Version: 0.1.0a1
Summary: Deterministic assembly plans for named inputs and reproducible build receipts.
Project-URL: Repository, https://github.com/SheafLab/sheaffoundry-python
Author: SheafLab
License: MIT
Keywords: assembly,plans,provenance,reproducibility,sheaflab
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# sheaffoundry

`sheaffoundry` models a small, reviewable assembly plan. A plan names its
inputs, orders assembly steps, and emits a deterministic receipt suitable for
logs, test fixtures, or provenance records.

```python
from sheaffoundry import AssemblyPlan, Input, Step

plan = AssemblyPlan(
    "preview-image",
    inputs=(Input("source", "sha256:abc"), Input("palette", "v3")),
    steps=(Step("decode"), Step("render", needs=("decode",))),
)

receipt = plan.receipt()
assert receipt.step_order == ("decode", "render")
```

Steps form a directed acyclic graph. The package validates missing dependencies
and cycles, then uses lexical tie-breaking to produce a stable execution order.
There are no runtime dependencies.
