Skip to content

Module catalog

Modules add programs such as Python or a PostgreSQL database to your app’s VM. Install one in your app’s folder and the command shows what it declares before it installs anything. WebAssembly modules explains how to start a module and turn on its commands.

pyodideOfficialv0.3.0

Python

Python 3 with pandas and Matplotlib. Just type python3.

Runs as
A command in the VM's shell
Commands
python, python3
Network
The internet, through the VM's connection
Needs
A cross-origin isolated page
Based on
Pyodide 314.0.7
License
Apache-2.0 AND MPL-2.0 AND PSF-2.0 AND BSD-3-Clause AND BSD-2-Clause AND MIT AND MIT-CMU AND 0BSD AND Zlib AND bzip2-1.0.6 AND CC0-1.0 AND OFL-1.1 AND Bitstream-Vera AND LicenseRef-Matplotlib
Publisher
Spacia
npm exec -- oxidevm wasm add \
github:spacia-ai/oxidevm-pyodide@v0.3.0
pgliteOfficialv0.2.0

PostgreSQL

A Postgres 18 database in the workspace. Connect with psql.

Runs as
A service your app starts
Listens on
TCP 5432 (pg), Unix socket /workspace/_oxidevm/pglite.sock (sql)
Network
None
Based on
@electric-sql/pglite 0.5.14
License
Apache-2.0 AND PostgreSQL AND MIT AND Unicode-3.0 AND BSD-3-Clause AND Apache-2.0 WITH LLVM-exception
Publisher
Spacia
npm exec -- oxidevm wasm add \
github:spacia-ai/oxidevm-pglite@v0.2.0
oxidevm-rustOfficialv0.1.1

Rust

Run Rust programs built for wasm32-wasip1 as Linux processes, with files, native programs and sockets.

Runs as
A command in the VM's shell
Commands
rust-bridge-demo, rust-wasi
Network
Programs in its VM
License
Apache-2.0
Publisher
Spacia
npm exec -- oxidevm wasm add \
github:spacia-ai/oxidevm-rust@v0.1.1

Publish your own

Package a WebAssembly program with oxidevm wasm init, publish an immutable GitHub release, add the oxidevm-module topic, and open a pull request to spacia-ai/oxidevm-modules to list it. Author a module explains each step.

The catalog comes from the public registry spacia-ai/oxidevm-modules. Its modules.json lists each module, and each entry shows the module’s latest GitHub release with the facts its module.json declares, so they match the review oxidevm wasm add shows.

A module is listed only when:

  • its repository is public, described, licensed and carries the oxidevm-module topic;
  • its release is immutable;
  • its SHA256SUMS pins its manifest;
  • the SDK accepts the manifest;
  • a copyleft license names its source.

The registry checks every listed module’s latest release each night. A release that asks for more authority than the listed one waits for a person to review it. That means a new host operation, endpoint, Linux program or command.

Official modules are published by Spacia. Community modules are published and maintained by their authors. A listing means the module passed these checks and a maintainer looked at it, not that Spacia reviewed its code. Review a module’s declarations and license as you would review any other dependency.

To list your module, publish it as described in Author a module, then open a pull request that adds one entry to the registry’s modules.json. The registry’s README explains each field and the checks.