TL;DR
The Scrollcase mental model is simple:
text
write a scroll
↓
define and lock dependencies
↓
build the boxmermaid
flowchart TB
subgraph Dev ["1. Developer Workspace"]
direction TB
A["Scroll & Code"]
B["Dependencies"]
C["Scrollcase CLI"]
end
subgraph CLI ["2. Scrollcase Engine"]
direction TB
D["scrollcase lock"] --> E["scrollcase build"]
end
subgraph Package ["3. Build Result"]
direction TB
F["Box (.zip)"]
G["Signed Manifest"]
end
subgraph Consumer ["4. Consuming Application"]
direction TB
H["Download, Verify & Run"]
end
Dev --> CLI
CLI --> Package
Package --> I["Distribution"]
I["Distribution"] --> Consumer
Consumer --> L["End User"]Initial setup
- run
npm install -g scrollcaseto install the CLI - run
scrollcase initto create the workspace and runnable native example - optionally run
scrollcase new scrollfor real project metadata - review the selected scroll
- define the dependencies
- run
scrollcase lock <boxId>/<targetId> - generate or configure the signing key
- run
scrollcase build <boxId>/<targetId>
Normal update
- update code, version, weights, or dependencies
- re-run
scrollcase lock <boxId>/<targetId>only when required - run
scrollcase build <boxId>/<targetId>
Responsibility split
Decides what the box contains, writes the scroll, defines dependencies, runs the commands, publishes releases, and implements integration in the application.
The most demanding parts are usually:
- defining a correct scroll;
- dealing with difficult scientific dependencies;
- integrating distribution and lifecycle policy with the Node or Python consumer.
Conceptually, Scrollcase is therefore fairly linear: the developer declares the desired environment, and the tool turns that declaration into a distributable and verifiable release.
What Scrollcase simplifies
Scrollcase removes much of the repetitive work required to turn a Python environment into a distributable product.
Without a tool like this, the developer would have to manage:
- environment creation;
- exact dependency versions;
- relocatability;
- native dependencies;
- verified downloads;
- manifests;
- signatures;
- hashes;
- release structure;
- tests;
- distribution conventions.
With Scrollcase, these concerns are collected into a scroll and a small number of commands.