Repository navigation
Releases: peeriot/myrmic
Release list
myrmic/v0.7.0
Full Changelog: myrmic/v0.6.1...myrmic/v0.7.0
myrmic/v0.6.1
Full Changelog: myrmic/v0.6.0...myrmic/v0.6.1
myrmic/v0.6.0
Full Changelog: myrmic/v0.5.0...myrmic/v0.6.0
myrmic/v0.5.0
Full Changelog: myrmic/v0.4.0...myrmic/v0.5.0
myrmic/v0.4.0
Myrmic is an open-source runtime for distributed edge applications, built for heterogeneous environments where microcontrollers, gateways and servers coordinate locally without a central cloud controller. You write application logic as Cells - message-driven, stateful Rust modules compiled to WebAssembly - and the runtime handles execution, messaging, state and placement.
This is the first public release of Myrmic.
What you get
- Myrmic Runtime - the process you start on a device. It forms a peer-to-peer swarm with other runtimes, runs cells, decides where they are placed, routes messages between them, provides a distributed database for their data, and collects telemetry across the swarm.
- Myrmic SDK - macros to define cells and their interfaces, plus utilities for inter-cell messaging, the runtime database, task scheduling, hardware access on embedded targets, and logging.
- Myrmic CLI - create, build and deploy cells, interact with them, manage runtimes and observe the swarm.
Supported targets
| Target | Architecture | Wasm engine |
|---|---|---|
| Linux | x86_64 / aarch64 | Wasmtime (JIT) |
| ESP32-C5 | RISC-V (rv32imac) | WAMR (AOT) |
| ESP32-C6 | RISC-V (rv32imac) | WAMR (AOT) |
| ESP32-C61 | RISC-V (rv32imac) | WAMR (AOT) |
macOS, Windows and nRF5340 (Arm Cortex-M33) are planned.
Installing the CLI
Packages are built for x86_64 only. On other architectures, including aarch64 Linux, build from source.
Debian and Ubuntu:
sudo apt install ./myrmic-cli_0.4.0_amd64.debFedora and RHEL:
sudo dnf install ./myrmic-cli-0.4.0-1.x86_64.rpmFrom source, with Rust 1.92 or newer:
git clone https://github.com/peeriot/myrmic.git
cd myrmic
cargo install --path swarm/myrmic-cli/Then confirm the install:
myrmic --versionBuilding cells additionally needs the nightly toolchain with the wasm32-unknown-unknown target and the rust-src component. The Quickstart walks through the full setup.
SDK crates
Published on crates.io at 0.4.0, all under MIT OR Apache-2.0:
myrmic-sdk- the SDK you add to your cellmyrmic-common- wire types shared across the host and guest boundarymyrmic-sdk-macros- the#[cmd],#[monitor]and#[init]export macrosmyrmic-signal-layer-types- wire types for the embedded signal layer
Release assets
myrmic-cli_0.4.0_amd64.debandmyrmic-cli-0.4.0-1.x86_64.rpm- the CLImyrmic-cli-dbgsym_0.4.0_amd64.debandmyrmic-cli-dbgsym-0.4.0-1.x86_64.rpm- detached debug symbolsmyrmic-cli_0.4.0_sbom.cdx.jsonandmyrmic-cli_0.4.0_sbom.spdx.json- software bill of materials in CycloneDX and SPDXSHA256SUMS- checksums covering every asset above
Verify what you downloaded before installing it:
sha256sum -c SHA256SUMSStatus and limitations
Myrmic is experimental and under active development. Interfaces, APIs and the on-disk and on-wire formats may change without notice, some documented workflows are still aspirational, and it is not yet recommended for production use.
It is designed for use within the bounds below. Use outside them is at your own risk.
- Soft real-time only. Not designed for hard real-time with deterministic deadlines under 1 ms; latency jitter of 10 to 500 ms may occur. No TSN or isochronous synchronization.
- Non-critical processes only. Use in safety-critical control - motor control, emergency-stop, anything whose malfunction could endanger life - is expressly excluded. There is no certified safe-state mechanism, and GPIO state on crash is undefined.
- Eventual consistency. Availability is prioritized over consistency (AP under CAP). Transactions requiring atomic real-time consistency, such as financial postings, are not supported.
- No functional-safety guarantees. Resilience targets up to high availability (1oo2 / 2oo3); fault tolerance beyond that is excluded.
Licensing
The platform is GPL-2.0-only together with the Myrmic Exception. The SDK and all interface crates are MIT OR Apache-2.0, examples and templates are MIT-0, and the documentation is CC-BY-4.0.
In practice: independently developed applications you build on Myrmic - cells via the SDK, signal-layer modules and pipelines - may be licensed under terms of your choice, including proprietary terms, if they meet the requirements of the Myrmic Exception. Changes to the platform itself remain subject to GPL-2.0-only when distributed.
LICENSING.md is a non-binding plain-language overview, EXCEPTION-SCOPE.md identifies the interfaces, licenses and code generators applicable to the Exception for this release, and LICENSES/ holds the authoritative texts.
Documentation and community
- Handbook: https://book.myrmic.dev
- API reference: https://docs.myrmic.dev
- Questions and discussion: https://github.com/peeriot/myrmic/discussions or https://discord.gg/zExh79pWgj
- Bug reports: https://github.com/peeriot/myrmic/issues
- Contact: contact@myrmic.dev
Please report security issues privately rather than in a public issue; SECURITY.md describes how.