/wasmer

πŸš€ The leading WebAssembly Runtime supporting WASIX, WASI and Emscripten

Primary LanguageRustMIT LicenseMIT

Wasmer logo

Build Status License Wasmer Docs Wasmer on Discord


Wasmer is a blazing fast and secure WebAssembly runtime that enables incredibly lightweight containers to run anywhere: from Desktop to the Cloud, Edge and even the browser.

  • Secure by default. No file, network, or environment access, unless explicitly enabled.
  • Supports WASIX, WASI and Emscripten out of the box.
  • Fast. Run WebAssembly at near-native speeds.
  • Embeddable anywhere via Wasmer SDKs

Install Wasmer

curl https://get.wasmer.io -sSfL | sh
Other installation options (Powershell, Brew, Cargo, ...)

Wasmer can be installed from various package managers. Choose the one that fits best for your environment:

  • Powershell (Windows)
    iwr https://win.wasmer.io -useb | iex

Looking for more installation options? See the wasmer-install repository to learn more!

Quickstart

You can start by running QuickJS, a small and embeddable Javascript engine:

$ wasmer run cowsay "hello world"
 _____________
< hello world >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
               ||----w |
                ||     ||

There are many more available packages, such as wasmer/python or quickjs. Create your own package, or explore 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 logo Rust wasmer Rust crate Learn
C logo C wasm.h header Learn
C++ logo C++ wasm.hh header Learn
C# logo C# WasmerSharp NuGet package Learn
D logo D wasmer Dub package Learn
Python logo Python wasmer PyPI package Learn
JS logo Javascript @wasmerio NPM packages Learn
Go logo Go wasmer Go package Learn
PHP logo PHP wasm PECL package Learn
Ruby logo Ruby wasmer Ruby Gem Learn
Java logo Java wasmer/wasmer-jni Bintray package Learn
R logo R no published package Learn
Postgres logo Postgres no published package Learn
Swift logo Swift no published package
Zig logo Zig no published package
Dart logo Dart wasm pub package
Crystal logo Crystal no published package Learn
Lisp logo Lisp no published package
Julia logo Julia no published package
VLang logo V no published package
Ocaml logo OCaml wasmer OCaml package

πŸ‘‹  Missing a language?

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.