wasi-filesystem

Filesystem API for WASI (by WebAssembly)

Wasi-filesystem Alternatives

Similar projects and alternatives to wasi-filesystem

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better wasi-filesystem alternative or higher similarity.

wasi-filesystem reviews and mentions

Posts with mentions or reviews of wasi-filesystem. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-28.
  • Reaching the Unix Philosophy's Logical Extreme with WebAssembly
    6 projects | news.ycombinator.com | 28 Aug 2023
    Wasi co-chair and Wasmtime maintainer here: we agree! Wasi Preview 1, which this article is about, was a first attempt at porting some of these Unix ideas to Wasm. We found pretty quickly that unix isn't the right abstraction for Wasm. Not only is it not really portable to platforms like Windows without reinventing a compatibility layer like cygwin, it also doesn't really make sense in a Web embedding, where users end up implementing something like a unix kernel in Javascript.

    Wasi Preview 2, which we are aiming to launch by the end of the year, rebases Wasi on the Component Model proposal, which enables composition of Wasm programs, including those which are written in different languages, and which do not trust each other. Wasi is now specified in the Wit IDL, which has a strong type system for representing records, variants, lists, strings, and best of all, external resources, including sugar for constructors, methods, and destructors.

    Instead of basing everything on the filesystem abstraction, the core Wasi primitives are the `input-stream`, `output-stream`, and `pollable` resource types, for readable and writable bytestreams, and a pseudo-future (you can `poll-oneoff` on a `list` and it will block until one is ready, and return a `list` indicating the set which are ready. `wasi:filesystem/types.{descriptor}` is the resource for files, but if you need to read, write, or append to a file, you can do so by calling a method on `descriptor` that returns a `input-stream` or `output-stream`.

    We are closing in on shipping Wasi Preview 2 but its not quite fully baked yet - changes related to resources are slated to land in the net few weeks. The spec definitions are on github: https://github.com/WebAssembly/wasi-io/blob/main/wit/streams... https://github.com/WebAssembly/wasi-filesystem/blob/main/wit... . Stay tuned for much more approachable documentation, tutorials, and so on, once we are confident it is a stable target ready for users.

  • The Next Generation of Serverless Is Happening
    3 projects | news.ycombinator.com | 16 Jun 2023
    Forgot the link: https://github.com/WebAssembly/wasi-filesystem#introduction
  • Announcing wasi-threads
    2 projects | /r/rust | 23 Feb 2023
    Take a look. They've even wholesale copied errno.
  • A note from our sponsor - SaaSHub
    www.saashub.com | 2 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic wasi-filesystem repo stats
3
145
7.1
11 days ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com