A portable Python subset
Write Python.
Ship JSON.
Run it anywhere.
Four runtimes. One small bundle.
Sandboxed by default.
01 / Python main.py
def square(n):
return n * n
print([square(n)
for n in range(5)])02 / JSON bundle IR excerpt
{
"op": "binop",
"kind": "mul",
"l": {"op": "name", "id": "n"},
"r": {"op": "name", "id": "n"}
}03 / Same result
diaspore-py[0, 1, 4, 9, 16]
diaspore-go[0, 1, 4, 9, 16]
diaspore-ts[0, 1, 4, 9, 16]
diaspore-lua[0, 1, 4, 9, 16]
Portable by construction
A self-hosted compiler emits portable JSON IR.
Authority is explicit
Host-granted capabilities and a metered step budget.
Pick up where you paused
Durable flows resume on another runtime.
Try it locally
uv tool install diaspore diaspore build main.py -o main.dsp.json diaspore run main.dsp.json