Small enough to run anywhere, safe everywhere
Sandboxed Python in one WebAssembly module, and a registry that pins every package by sha256.
curl -fsSL https://cdn.edgepython.com/cli/install.sh | shmacOS, Linux and WSL, or build it from source.
Compiled in a single pass to bytecode and run on a register VM, in one WebAssembly module.
None of these could have shipped here
Bugs that reached AI libraries, plugins and the stacks banks run, each one code the program never wrote.
HereWhat a model writes stays a string, and a string never runs. There is no exec, no eval and no compile for the chart code to reach.
- npm
- PyPI
- crates.io
- Go
- RubyGems
- Composer
- NuGet
- CMake
Nothing leaves the sandbox unless you say so
A grant names a module and the one scope it reaches, and a call outside it never leaves the program.
- Chrome
- Firefox
- Safari
- Deno
- Cloudflare Workers
- macOS
- Linux
- WebAssembly
Written in Rust, read in the open
273 stars onGitHubA single pass turns source into bytecode, with no AST and no IR, and a register VM runs it, lowering each chunk once it runs hot. The engine is about twenty thousand lines of Rust under the Apache licence.
View moreQuestions
Is this Python?
Yes. The syntax is ordinary Python, with classes, async and await, pattern matching and f-strings. It leaves out what does not fit a sandboxed engine, so there is no exec or eval, no metaclasses, no complex numbers and no bundled standard library.
What can a program reach?
Only what it is granted. A program touches no file, no network and no environment unless edge.json names it, imports resolve at compile time through the host, and every call checks its scope again while it runs.
Where does it run?
One WebAssembly module runs in the browser, in JavaScript runtimes that offer the same Web APIs, such as Deno, and in the edge CLI, which embeds the same engine under wasmtime.
How does a package get in?
edge add writes the version into edge.json and edge lock resolves it into an edge.lock beside it, recording the URL and the sha256 digest it resolves to, so a run never asks a registry for a name.
Can I embed the engine?
Yes. It builds as compiler.wasm and as a Rust library, and driving either from your own host needs nothing from anyone, a closed product included. The lang crate, a smaller embedding API over the same engine, is licensed apart.
Not on the list? Ask , or maybe... a human?