SDK and examples¶
Two official client libraries expose the same Client surface — auth, chat, wallet, explorer, playground, admin, and the SSE event stream.
| Language | Install | Package |
|---|---|---|
| Python | pip install waveledger-sdk | PyPI |
| Node / browser (TS) | npm install waveledger-sdk | npm |
Both are MIT-licensed, dependency-light (Python: requests only; Node: zero runtime deps), and track the messenger REST API one-to-one. See Python client and JavaScript client for the full surface.
Base URL
Every code sample in this section talks to:
Self-hosted nodes serve the same routes on http://localhost:8081 by default (override with --messenger-port).
Pick your path¶
-
Python
pip install waveledger-sdk. Usesrequestsunder the hood; importable asfrom waveledger import Client. -
JavaScript / TypeScript
npm install waveledger-sdk. Pure ESM, zero runtime deps, nativefetch+ReadableStream. Works in Node 18+ and modern browsers. -
Signing transactions
The canonical tx envelope, the signed fields, and how to produce a valid signature outside the messenger.
-
Subscribing to events
SSE for block, tx, message, and receipt events; server-side filtering by type and address.
Release notes¶
| Version | Date | Notes |
|---|---|---|
0.2.0 | 2026-06 | API tokens: Client(api_token=...) / new Client({ apiToken }) for unattended use. Token mint/list/revoke under admin.token_*. Python SDK now vendors the Fourier compiler; client.playground.compile_local(source) compiles in-process. Construction warns on plain-HTTP credential use to non-loopback hosts. TS SDK validates Set-Cookie against the configured baseUrl origin. |
0.1.1 | 2026-05 | Metadata bump: package URLs now point at docs.fermi.world. No behavior changes. |
0.1.0 | 2026-05 | Initial release on both registries. Covers messenger, wallet, explorer, playground, admin, and SSE. |