Wasmer
π Fast, secure, lightweight containers based on WebAssembly
Wasmer is a _blazing fast_ and _secure_ [**WebAssembly**](https://webassembly.org) runtime that enables incredibly _lightweight containers_ to run anywhere: from _Desktop_ to the _Cloud_, _Edge_ and your browser. The project is written primarily in Rust, distributed under the MIT License license, first published in 2018. It has gained significant community traction with 20,818 stars and 979 forks on GitHub. Key topics include: emscripten, linux, macos, rust, wasi.
Wasmer is a blazing fast and secure WebAssembly runtime that enables incredibly
lightweight containers to run anywhere: from Desktop to the Cloud, Edge and your browser.
- Secure by default. No file, network, or environment access, unless explicitly enabled.
- Pluggable. supports WASIX, WASI out of the box.
- Incredibly Fast. Run WebAssembly at near-native speeds.
- Embeddable anywhere via Wasmer SDKs
Install Wasmer
<details> <summary>Other installation options (Powershell, Brew, Cargo, ...)</summary>shcurl https://get.wasmer.io -sSfL | sh
Wasmer can be installed from various package managers. Choose the one that fits best for your environment:
- Powershell (Windows)
powershell
iwr https://win.wasmer.io -useb | iex
-
<a href="https://formulae.brew.sh/formula/wasmer">Homebrew</a> (macOS, Linux)
shbrew install wasmer -
<a href="https://github.com/ScoopInstaller/Main/blob/master/bucket/wasmer.json">Scoop</a> (Windows)
shscoop install wasmer -
<a href="https://chocolatey.org/packages/wasmer">Chocolatey</a> (Windows)
shchoco install wasmer -
<a href="https://crates.io/crates/cargo-binstall/">Cargo binstall</a>
shcargo binstall wasmer-cli -
<a href="https://crates.io/crates/wasmer-cli/">Cargo</a>
Note: All the available
features are described in thewasmer-cli
crate docsshcargo install wasmer-cli
</details>Looking for more installation options? See the
wasmer-install
repository to learn
more!
Note: You can also try Wasmer online in wasmer.sh
Quickstart
[!Tip]
As part of our commitment to open source, we want to reward all GitHub users. In addition to the free tier, you can get up to $200 in Wasmer Edge credits for your open-source contributions - Claim here.
You can start by running
Cowsay:
bash$ wasmer run cowsay "hello world" _____________ < hello world > ------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
There are many more available packages, such as
wasmer/pythonorquickjs. Create your own package, or explore packages from the community: https://wasmer.io/explore
Here is what you can do next:
Wasmer SDK
You can use the Wasmer runtime embedded in different
languages with the Wasmer SDK:
| Language | Package | Documentation | |
|---|---|---|---|
| Rust | wasmer Rust crate | Learn | |
| C | wasm.h header | Learn | |
| C++ | wasm.hh header | Learn | |
| C# | WasmerSharp NuGet package | Learn | |
| D | wasmer Dub package | Learn | |
| Zig | wasmer Zig package | Learn | |
| Python | wasmer PyPI package | Learn | |
| Javascript | @wasmerio NPM packages | Learn | |
| Go | wasmer Go package | Learn | |
| PHP | wasm PECL package | Learn | |
| Ruby | wasmer Ruby Gem | Learn | |
| Java | wasmer/wasmer-jni Bintray package | Learn | |
| R | no published package | Learn | |
| R | no published package | Learn | |
| Postgres | no published package | Learn | |
| Swift | no published package | ||
| Dart | wasm pub package | ||
| Crystal | no published package | Learn | |
| Lisp | no published package | ||
| Julia | no published package | ||
| V | no published package | ||
| OCaml | wasmer OCaml package |
Develop
We have different guides to help you develop Wasmer:
Contribute
We appreciate your help! π
We recommend reading the following guide on how to contribute into a complex project successfully:
https://mitchellh.com/writing/contributing-to-complex-projects
Check our docs on how to build Wasmer from
source or test your changes.
Community
Wasmer has an amazing community of developers and contributors. Welcome, please join us! π
README also in:
π¨π³ δΈ ζ -Chinese β’
π©πͺ Deutsch-German β’
πͺπΈ EspaΓ±ol-Spanish β’
π«π· FranΓ§ais-French β’
π―π΅ ζ₯ζ¬ θͺ -Japanese β’
π°π· νκ΅μ΄ -Korean.
Contributors
Showing top 12 contributors by commit count.
