Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 15 Rust Wasi Projects
-
What's the chance a version of dotnet could be compiled to work on https://wasmer.io/ straight up? No OS needed per say.
-
Project mention: Wasix, the Superset of WASI Supporting Threads, Processes and Sockets | news.ycombinator.com | 2023-05-30
WASI has been in Preview1 for a couple of years now, indeed. However, Preview2 is well underway and the initial implementation is scheduled to land in wasmtime this June.
-
ONLYOFFICE
ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
-
Project mention: The advantage of WASM compared with container runtimes | news.ycombinator.com | 2023-05-28
-
Project mention: Waggy, the library for writing WAGI API handlers in Go | reddit.com/r/golang | 2022-11-28
As I'm sure you've heard, WASM has been growing in popularity and use over the past few years. And with the creation of WASI (Web Assembly System Interface) and WAGI (Web Assembly Gateway Interface), WASM is starting to venture outside of running just in the browser. And in the case of WAGI, if you've been programming since the earlier days of the internet, it might feel very similar to CGI programming (and that's because it's based on CGI1.1!) WAGI provides a way for developers to define handlers for HTTP requests and route them to specific functions inside of, or entire, WASM modules. It does so by piping the headers of the incoming request to os.Args[1:], piping the body of the incoming request to os.Stdin, and writing the response to os.Stdout. (To learn more about configuring, routing, compiling, and deploying WAGI routes, as well as the limitations of WAGI routes, please consult the WAGI docs and the TinyGo WASM docs)
-
Project mention: Containerd now supports WasmEdge as a container runtime, via the runwasi project | reddit.com/r/cncfprojects | 2023-02-01
-
Project mention: What in Rust is equivalent to C++ DLLs (shared libraries), or what do I need to do to support extensions in my app? | reddit.com/r/rust | 2023-05-21
wit-bindgen - Language Binding Generator for WASM Interface Type
-
To actually compile this we can use a tool called WABT (WebAssembly Binary Toolkit). It's basically a mess that requires CMake and I couldn't get it to run on WSL and I wasn't going to install MinGW. Instead there's a nice tool called WAPM from Wasmer which works like npm for webassembly packages and since it's been compiled down to webassembly we can run it in any environment. In fact we don't even need to add configuration so long as wapm is installed. We can run wax wat2wasm -- wat/mat.wat -o wasm/mat.wasm. wax is like npx for npm. If you're wondering the command we give wax is defined by the wasmer/wabt package: https://wapm.io/wasmer/wabt. Also for some reason you can't prefix local paths with ./ so wax wat2wasm -- ./wat/mat.wat doesn't work which tool me a while to figure out. Anyway this provides a nice simple compile environment if you want to work on raw WAT files.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
spiderlightning
A set of WIT definitions and associated implementations to enable app developers to work at a faster pace and require less knowledge of the environment in which they are executing.
Project mention: Wasmtime Reaches 1.0: Fast, Safe and Production Ready! | reddit.com/r/rust | 2022-09-20Yes, wit-bindgen is the way forward here. It's under active development, though a lot of the basic interface-types functionality is implemented and usable. As an example of it in action, check out the wit interface files in this project: https://github.com/deislabs/spiderlightning/blob/main/docs/primer.md
-
-
Besides deploying the application locally and deploying to Fermyon Cloud, you can also deploy your Spin application to Kubernetes using the new Containerd integration for Spin.
-
webassembly-tour
⚙️ Take you through a tour of WebAssembly (WASM targets on WASI) with wasmCloud, Krustlet, WAGI, etc. 🌟 Give it a star if you like it.
-
-
-
Project mention: Show HN: Metatype – an open-source, low-code API platform for developers | news.ycombinator.com | 2023-05-17
-
-
CodiumAI
TestGPT | Generating meaningful tests for busy devs. Get non-trivial tests (and trivial, too!) suggested right inside your IDE, so you can code smart, create more value, and stay confident when you push.
Rust Wasi related posts
- Dotnet wasmer
- Show HN: Metatype – an open-source, low-code API platform for developers
- What if JIT was part of the standard library?
- ROS2: Yocto vs. Docker
- cranelift: Better heuristics for instruction scheduling
- Any sort of plugin engine with dynamic load ability and any limitations?
- Wasmer - The Universal WebAssembly Runtime
-
A note from our sponsor - InfluxDB
www.influxdata.com | 31 May 2023
Index
What are some of the best open-source Wasi projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | wasmer | 15,285 |
2 | wasmtime | 12,288 |
3 | krustlet | 3,408 |
4 | wagi | 809 |
5 | runwasi | 690 |
6 | wit-bindgen | 628 |
7 | wapm-cli | 360 |
8 | spiderlightning | 238 |
9 | wasi | 191 |
10 | containerd-wasm-shims | 165 |
11 | webassembly-tour | 133 |
12 | wasi-experimental-http | 132 |
13 | wasi-vfs | 103 |
14 | python-wasi-reactor | 1 |
15 | wasi-calcit | 1 |