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.0Python
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.0pgliteOfficialv0.2.0PostgreSQL
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.0oxidevm-rustOfficialv0.1.1Rust
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.1Publish 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.
How a module gets listed
Section titled “How a module gets listed”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-moduletopic; - its release is immutable;
- its
SHA256SUMSpins 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.