fabric ·nu.mp

Run your Nu program across local processes.

Wrap any Nu tree in Teleport. It runs in a spawned child process. Zero-dep, single-host, all cores.

See it.

Provision workers by tag. Send any subtree to a tagged worker. Stdlib multiprocessing under the hood.

Your program, running across local processes.

nu.mp spawns real child processes and lets you teleport any part of your Nu tree onto them. The body does not know or care where it runs.

Wrap it with the worker provider, point at a worker, done. Zero-dep. No cluster, no Ray, no infra.

parallel.py
python · 15 locpy
import nu
work = ... # your Nu tree
# spawn two local worker processes, teleport a body to each
program = nu.ProvideList(nu.mp.MpWorker, [
{"name": "worker-0"},
{"name": "worker-1"},
],
nu.Sequential(
nu.mp.Teleport(work, target=0),
nu.mp.Teleport(work, target=1),
),
)
nu.run(program)

What you can do with it.

One import turns a single-process program into a multi-process one.

parallel

Use all your cores.

One driver, many workers. Split the work by tag and let each core chew through its slice. No GIL in the way.

isolation

Crashes stay contained.

A worker blows up? The driver survives. Restart the worker, keep going. Real process boundaries between the parts.

no infra

Prototype the shape you will ship.

Same tree, same Teleport, same tags as nu.cluster. Design your topology on your laptop, swap in Ray when you outgrow one box.

Try Nu.

One command gets you the wheel with every fabric. Then follow the movies tutorial to build a real app in an afternoon.

01 Install

pip install "nustack-py[all]"

02 Run the demo

nu demo movies

03 Build your app

Browse examples

Like what you see?

The project is young. Star it, join the room, watch what we ship next.