Skip to main content

Interact with WebAssembly registries.

Project description

wasm-action

Interact with WebAssembly registries.

Features

  • Versatile use as GitHub action, CLI or Python library.
  • Supported registry types: warg (wa.dev)
  • Supported artifact types: wasm
  • Supported actions: push, pull
  • Supports Python 3.10+ on Linux, MacOS and Windows

Usage

Pull from registry

      - uses: xelato/wasm-action
        with:
          action: pull
          registry: wa.dev
          package: component-book:adder

To pull a private package define your token:

        env:
          WARG_TOKEN: ${{ secrets.WARG_TOKEN }}

Inputs

Name Description Required Example
action Pull from registry yes pull
registry Registry domain name yes wa.dev
package Package specification yes namespace:name@version
namespace:name
namespace/name
namespace/name@version
path Target path to save the download no file.wasm

Outputs:

Name Description Example
registry Registry domain name wa.dev
registry-type Detected registry type warg
package Package foo:bar@1.2.3
package-namespace Package namespace foo
package-name Package name bar
package-version Package version 1.2.3
filename Download location foo-bar_1.2.3.wasm
digest File hash sha256:2afffac0...

Push to registry

      - uses: xelato/wasm-action
        with:
          action: push
          registry: wa.dev
          package: foo:bar@1.2.3
          path: files/foo_bar_1.2.3.wasm
        env:
          WARG_TOKEN: ${{ secrets.WARG_TOKEN }}
          WARG_PRIVATE_KEY: ${{ secrets.WARG_PRIVATE_KEY }}

CLI

The tool can be run without installing using uv.

$ uvx wasm-action --help
Usage: wasm-action [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  pull  Pull from a WebAssembly registry
  push  Push to a WebAssembly registry
$ uvx wasm-action pull --help
Usage: wasm-action pull [OPTIONS]

  Pull from a WebAssembly registry

Options:
  --registry TEXT    registry domain name  [required]
  --package TEXT     package spec  [required]
  --path TEXT        filename
  --warg-token TEXT  warg token
  --help             Show this message and exit.
$ uvx wasm-action pull --registry wa.dev --package wasi:io
registry=wa.dev
registry-type=warg
warg-url=https://warg.wa.dev
package=wasi:io@0.2.0
package-namespace=wasi
package-name=io
package-version=0.2.0
digest=sha256:c33b1dbf050f64229ff4decbf9a3d3420e0643a86f5f0cea29f81054820020a6
filename=wasi:io@0.2.0.wasm
$ file wasi:io@0.2.0.wasm 
wasi:io@0.2.0.wasm: WebAssembly (wasm) binary module version 0x1000d

Use as Library

The package is published to the Python Package Index and can be installed/depended-on under the name wasm-action on all supported Python versions.

$ pip install wasm-action
>>> import wasm_action as wa
>>> wa.pull('wa.dev', 'wasi:io')
PackageDownload(namespace='wasi', name='io', version='0.2.0', content='...', digest='sha256:c33b1dbf050f64229ff4decbf9a3d3420e0643a86f5f0cea29f81054820020a6')

However, the library interface is not yet standardised and may (and will!) change.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wasm_action-0.0.3.tar.gz (42.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wasm_action-0.0.3-py3-none-any.whl (105.7 kB view details)

Uploaded Python 3

File details

Details for the file wasm_action-0.0.3.tar.gz.

File metadata

  • Download URL: wasm_action-0.0.3.tar.gz
  • Upload date:
  • Size: 42.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wasm_action-0.0.3.tar.gz
Algorithm Hash digest
SHA256 5c495a8e4b249d0791750752c33f7594639e28bb41ac6ffa58bab071c64c7f35
MD5 61edfcf7f99a6cf8ed46600e63a76e12
BLAKE2b-256 df9eec058675b030d5224e2b8214d885fb0be73ed4a30b01b4be53d47d37bc28

See more details on using hashes here.

Provenance

The following attestation bundles were made for wasm_action-0.0.3.tar.gz:

Publisher: release.yml on xelato/wasm-action

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wasm_action-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: wasm_action-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 105.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wasm_action-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 39f1bb8d5066de79952b37b279cc410156093eeb0e5d07d87d5024776d6a37af
MD5 d09cc029206a602182d40dca16877c5c
BLAKE2b-256 14edc662a0e931d0f5f5129eeb82286dab9839872b38eeaf966953f20d1c4e03

See more details on using hashes here.

Provenance

The following attestation bundles were made for wasm_action-0.0.3-py3-none-any.whl:

Publisher: release.yml on xelato/wasm-action

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page