BLACKBOX¶
Download a machine.
A BLACKBOX is a program plus its world — the runtime, its dependencies, its
interface, its permissions, and its data contract — packaged into one
reproducible, portable .blackbox file.
The recipient does not install Python, npm packages, CUDA drivers, or anything else. They run one command, and BLACKBOX rebuilds the machine around the application.
SOURCE PROJECT datasift.blackbox ANOTHER MACHINE
│ │ │
├─ blackbox pack ────────┤ USB / email / download ───┤─ blackbox run
│ │ (one file) │ │
▼ ▼ ▼ ▼
your code everything it needs downloads app runs
+ manifest to reproduce itself nothing (verified)
Why this exists¶
The modern way to hand someone a computational tool is still "clone this repo, make a venv, install requirements, hope your platform matches." BLACKBOX replaces that with:
Download → Open → Run
- A file that belongs to you. No app store, no account, no server.
A
.blackboxmoves over USB, email, torrent, orscpjust as well. - Reproducible by hash. Same source + lockfile ⇒ byte-identical package. Dependencies pinned by exact versions and SHA-256.
- Deduplicated. Ten appliances that all use Python 3.12 share one runtime on disk, content-addressed.
- Permissioned. Packages declare filesystem/network/process access up front; defaults deny everything; you approve before the first run.
- Multi-runtime. Python and Node.js interpreters are provisioned
automatically from hash-pinned official builds;
nativepackages carry their own compiled binary (Rust, Go, C…).
Try it in one copy-paste¶
blackbox init hello && cd hello
blackbox pack
blackbox run hello.blackbox
blackbox init hello; cd hello
blackbox pack
blackbox run hello.blackbox
The first run downloads a verified CPython 3.12 into ~/.blackbox —
never your system Python — and every later package reuses it.
Where to go next¶
| I want to… | Read |
|---|---|
| Install the CLI | Getting Started |
Ship my own tool as a .blackbox |
Creating a package |
| Run / audit a package I received | Running a package |
| Pack a Node.js or compiled app | Multi-language |
| Sign packages so recipients can trust them | Signing & trust |
| Understand how it all fits together | Architecture |
| Implement my own reader/writer | Package format spec |
The thesis
A researcher sends one file. Another researcher opens it. The experiment runs.