turns out the model was never
the hard part.

neuronbox, one yaml file between you and a running model.

Compatible across the stack you already use

Why NeuronBox

stop configuring,
start training.

One manifest. Hashed envs. Live dashboard. Everything else gets out of your way.

Manifest

Declare once, run anywhere.

neuron.yaml ties your model, Python stack, and GPU expectations into a single source of truth. Same command on your laptop and your server.

Environments

Hashed venvs, never rebuilt.

Same manifest shape always resolves to the same env directory under the store. Change a package and only that environment rebuilds.

Model Store

Weights as first-class artifacts.

neuron pull fetches any HF-style org/model into ~/.neuronbox/store. Every project shares the same weights, with no 50 GB duplicates.

Dashboard

See exactly what's running.

Live sessions, tok/s, VRAM estimates, and host GPU probes, all in one terminal view. neurond keeps state; neuron stats prints it. Session names, PIDs, and model paths stay aligned so you always know which run owns the GPU.

Throughput history is drawn client-side for a snappy ~10 Hz refresh without hammering the daemon. Quit with q or Esc when you are done exploring.

Hot-swap

Swap weights without cold-starting.

neuron swap updates daemon state and swap_signal.json. Your long-lived worker reacts immediately.

Isolation

OCI when you need it.

Add runtime.mode: oci to the manifest and neuron run --oci handles Docker mounts and the NVIDIA toolkit. Your call, not the default.

If you have an idea or a request for neuronbox, please get in touch.

Contact us
Get started

up and running
in under a minute.

One install, one manifest, one command to hit your entrypoint.

$cargo install neuronbox

Requires Rust. Also needs neurond beside the binary, or set NEUROND_PATH.

Describe your project once in neuron.yaml. NeuronBox handles the env, the weights, and the wiring.

Hashed environments

Same manifest shape always resolves to the same venv. No rebuilds.

GPU-aware

Set min_vram and NeuronBox warns you before the run, not during.

One command

neuron run resolves, installs, wires env vars, and spawns your script.

neuron.yaml
model: source: hub # pulled from HF on first run name: mistralai/Mistral-7B-v0.1 runtime: python: "3.11" packages:  - transformers  - accelerate  - torch gpu: min_vram: 12 # soft check — warns, never blocks entrypoint: scripts/run_inference.py
neuronbox vs Docker

docker is still there,
we just made it optional.

neuronbox is not a Docker replacement. It's what you reach for before Docker becomes necessary.

neuronbox

for daily local ML work

Good for

Declare model, env, and GPU in one YAML
Hashed venvs; built once, reused always
Weights stored centrally, shared across projects
Live dashboard: sessions, tok/s, VRAM
Same command on laptop and server

Tradeoffs

No production orchestration (not its job)
Requires Rust to install
No cross-machine image portability

Docker

for production parity and orchestration

Good for

Full environment isolation
Reproducible across machines and teams
Native Kubernetes / cloud deployment
Large ecosystem of pre-built images

Tradeoffs

Volume maps and NVIDIA toolkit setup per project
Cold starts and image bloat on weight changes
Friction for rapid local iteration

When you need Docker, neuronbox has you covered, add runtime.mode: oci to your manifest and neuron run --oci handles the rest.

Live dashboard

see exactly what's running,
while it's running.

Sessions and GPU context in one terminal view. No polling scripts, no guessing.

neuron dashboard
live

try it yourself, neuron dashboard or neuron dashboard --demo