A meta-registry for WebAssembly
Find WebAssembly applications, libraries, and interface types published to any OCI 1.1-compliant registry. This includes GitHub Packages, AWS ECR, JFrog Artifactory, and more. Wasm Directory never serves packages directly: its only job is to serve metadata and resolve names.
Search the meta-registry.
New releases
- componentized:valkey-clientv0.3.0-devA WASM component client for Valkey (and Redis).
- componentized:valkey-cliv0.3.0-devA wasi:cli/command exposing valkey commands.
- pulseengine:falcon-mixerv1.139.0Formally-verified control allocator (mixer) as a WebAssembly Component — body torque + thrust → per-motor commands (airframe-parameterizable).
- pulseengine:falcon-iekfv1.139.0Formally-verified invariant-EKF (SE₂(3)) navigation estimator as a WebAssembly Component — fuses IMU/GNSS/mag/baro into a 16-state attitude/velocity/position/bias estimate.
- wasmcloud:messagingv0.3.0No description
- andreiltd:componentize-qjs-runtime-opt-size-syncv0.4.5Non-async QuickJS runtime for componentize-qjs optimized for size
- andreiltd:componentize-qjs-runtimev0.4.5QuickJS runtime for componentize-qjs
- cosmonic:kafkav0.5.0No description
- microsoft:eval-pyv0.7.1No description
- microsoft:memory-jsv0.7.1No description
New packages
- pulseengine:falcon-positionv1.139.0Formally-verified position/velocity controller as a WebAssembly Component — NED waypoint + vehicle state → attitude setpoint.
- cosmonic:kafkav0.5.0No description
- cosmonic-labs:hello-worldv0.1.2No description
- andreiltd:componentize-qjs-runtime-opt-size-syncv0.4.5Non-async QuickJS runtime for componentize-qjs optimized for size
- andreiltd:componentize-qjs-runtime-syncv0.4.5Non-async QuickJS runtime for componentize-qjs
- pulseengine:falcon-mixerv1.139.0Formally-verified control allocator (mixer) as a WebAssembly Component — body torque + thrust → per-motor commands (airframe-parameterizable).
- fastly:computev0.1.0The APIs of the Fastly Compute platform
- wasi:webgpuv0.3.0-rc.2WASI WebGPU API
- wasi:blobstorev0.2.0-draftNo description
- wasmcloud:hostv0.1.4No description
Popular packages
- wasi:iov0.2.12Wasi I/O is an API providing I/O stream abstractions. There are two types, input-stream, and output-stream, which support read and write, respectively, as well as a number of utility functions.156 dependents
- wasi:cliv0.3.1A WASI API for Command-Line Interface environments.140 dependents
- wasi:clocksv0.3.1A WASI API for reading the current time and measuring elapsed time.139 dependents
- wasi:randomv0.3.1WASI Random is a WASI API for obtaining pseudo-random data.125 dependents
- wasi:httpv0.3.1A WASI API for sending and receiving HTTP requests and responses.116 dependents
- wasmcloud:secretsv2.1.0No description95 dependents
- wasi:filesystemv0.3.1A WASI API primarily for accessing host filesystems.31 dependents
- wasi:configv0.2.0-rc.1A WASI API for providing configuration to a component.29 dependents
- wasi:socketsv0.3.1A WASI API for TCP & UDP sockets and domain name lookup.14 dependents
- componentized:servicesv0.0.4No description13 dependents
Run your first component
Install the CLI, then go from an empty directory to a running wasi:http server.
-
Install the CLI
Grab the
componentCLI for your platform. We’ve picked the command that matches your system. Copy it and run.Install the CLI
-
Initialize a project
Scaffold a project in the current directory. This writes a
wasm.tomlmanifest and awasm.lock.tomllockfile so dependencies resolve to exact, reproducible versions.Initialize a project
component init -
Add a dependency
Add a dependency from any OCI registry. Here we pull in
ba:sample-wasi-http-rust(a ready-madewasi:httpserver) and record it in your manifest and lockfile.Add a dependency
component install ba:sample-wasi-http-rust -
Run the server
Run the server you just installed.
component runfetches the component if needed and serves it onlocalhost:8080.Run the server
component run ba:sample-wasi-http-rust -
Send a request
From another terminal, send it a request and watch it respond.
Send a request
curl localhost:8080
Publish your first component.
Add your namespace to a registry config and run component publish.