Skip to main content

net-mesh-cli

net-mesh — the unified command-line interface for the NET mesh.

The non-interactive counterpart to net-deck: a one-shot tool for operator scripts, CI pipelines, daemon authoring, and ad-hoc cluster inspection. Same SDK underneath, same signed admin chain, no TUI.

net-mesh

Install

# pip
pip install net-mesh-cli

# uv
uv tool install net-mesh-cli

The wheel bundles the Rust net-mesh binary directly (built with maturin's bindings = "bin" mode) — pip install / uv tool install puts it on your $PATH with no compilation step and no Python shim layer.

Wheels are published for linux (glibc + musl, x86_64 + aarch64), macOS (x86_64 + aarch64), and Windows (x86_64 + aarch64). A source distribution is also published for any platform pip can't find a wheel for — that path needs a Rust toolchain.

Run

net-mesh --help

Subcommand surface

Subcommand What it does
version SDK version + build metadata.
identity Generate / inspect / fingerprint operator identity files.
up / down Start one long-lived node for the profile (foreground); drain and stop it.
invite Create / inspect / list / revoke / approve / deny join links on up --enroll.
join / leave Join a mesh from a link and run as it; leave it (local, durable).
enrollment Enrollment ledger setup for up --enroll.
relay Run a blind UDP relay (serve), the fallback path for unreachable devices.
admin Offline previews or signed commits against a temporary supervisor.
ice Simulate/commit break-glass operations against a temporary supervisor.
snapshot One-shot substrate reads, both requiring --local: get prints the MeshOsSnapshot; status prints the typed StatusSummary.
audit Read/stream the temporary supervisor's audit ring.
log tail Substrate log stream (--follow, --daemon, --min-level).
failures tail Substrate failure stream — same shape as log tail.
cap Temporary snapshot reads; announce authors a signed artifact offline, not a broadcast.
peer ls reads the temporary snapshot; no NAT-management verbs.
daemon Per-daemon listing from the local snapshot.
netdb NetDB local KV adapter — Cortex-backed tasks + memories.
org Offline org root tools; org links (invite / approve / join), remove, leave, members.
node status of this profile's node; ownership provisioning (adopt).
subnet Offline authority issuance; subnet links (invite / join), remove, leave, members; temporary topology reads.
gateway Temporary-context reads; export validates its arguments, then refuses: not supported yet.
channel Offline issue-grant; standalone links (invite / join); serve, status, publish, leave on the running node; registry reads (visibility, ls).
aggregator Temporary inspect/list with --local; remote query/spawn/scale and list selected by flags or profile. Remote verbs and ls support --inspect-target.
transfer Receive/admin via mesh; send computes references or stages local content, not hosting or publication.
wrap Wrap a local stdio MCP server as owner-only mesh capabilities (--joined runs as an enrolled device).
mcp MCP bridge — expose mesh capabilities to a local MCP host (serve, --joined).
forwarding Caller-side credential/header forwarding policy + audit (deny-by-default).
typegen Generate typed language bindings from discovered tool descriptors.
completion Emit a shell-completion script (bash / zsh / fish / powershell).
man Emit the troff(1) man page on stdout.

Global flags

Applied to every subcommand; environment-variable fallbacks in brackets:

  • --config <path> [NET_MESH_CONFIG] — profile file (default $XDG_CONFIG_HOME/net-mesh/config.toml).
  • --profile <name> [NET_MESH_PROFILE] — named profile within the config file.
  • --insecure-config-permissions [NET_MESH_INSECURE_CONFIG_PERMISSIONS] — read the profile even when it is group/world-accessible or owned by another user.
  • --output (json|yaml|ndjson|table|text) — auto-detects table/text on TTY and json/ndjson off-TTY.
  • --quiet / -q — suppress stderr diagnostics.
  • --verbose / -v — -v info, -vv debug, -vvv trace. NET_MESH_LOG= env-filter overrides.
  • --no-color [NO_COLOR] — disable ANSI in table / text output.
  • --timeout <dur> — global per-call timeout (e.g. 500ms, 1h30m). Default 30s.

Config + identity

The profile file is optional — every flag has a sensible default. When present, it lives at $XDG_CONFIG_HOME/net-mesh/config.toml (or the platform equivalent) and looks like:

[default]
identity        = "~/.config/net-mesh/identity.toml"
endpoint        = "in-process"
default_timeout_ms = 30000

[profiles.prod]
identity   = "~/.config/net-mesh/ops-identity.toml"
node_addr  = "10.0.0.4:7700"
node_pubkey = "abcd…"      # 64 hex
psk_hex     = "1234…"      # 64 hex

Operator identity files are authored by net-mesh identity generate — ed25519 seed + public key + SHA-256 fingerprint, the same format the deck loads from the maintenance node. Every signed admin / ice command picks the identity up from the active profile (or --identity).

Exit codes

Typed via ExitCodeKind. Scripts can match on the discriminator:

  • 0 — success
  • 1 — generic error
  • 2 — invalid arguments / parse error
  • 3 — SDK error
  • 4 — ICE simulation blocked
  • 5 — operator-policy reject
  • 6 — connection failure
  • 7 — timeout
  • 8 — confirmation refused
  • 10 — daemon: factory id not registered
  • 11 — db: query JSON failed to parse
  • 12 — db: predicate DSL (--where / --filter) failed to parse
  • 13 — ice: a supplied operator signature failed verification
  • 14 — typegen diff --exit-code: a breaking schema change was detected

License

MIT OR Apache-2.0. See LICENSE-MIT and LICENSE-APACHE.

Metadata

Release files for net-mesh-cli 0.41.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for net-mesh-cli 0.41.1
File Size Uploaded
net_mesh_cli-0.41.1.tar.gz 10.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for net-mesh-cli 0.41.1
File
net_mesh_cli-0.41.1-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
net_mesh_cli-0.41.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
net_mesh_cli-0.41.1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
net_mesh_cli-0.41.1-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
net_mesh_cli-0.41.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
net_mesh_cli-0.41.1-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
net_mesh_cli-0.41.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
net_mesh_cli-0.41.1-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 57.9 MB

Release files / net_mesh_cli-0.41.1.tar.gz

Download URL net_mesh_cli-0.41.1.tar.gz
Size 10.5 MB
Tags Source
SHA-256 checksum
How to use checksums
8276341b10c283571e88f40fc7e865beb583c26e1eff496182d5596d525c8dad
BLAKE2b-256 checksum
How to use checksums
fa5e67f80d34e8152825e66fa5720b4233dcce1063eb5a0e5209ff0383befadf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-win_arm64.whl

Download URL net_mesh_cli-0.41.1-py3-none-win_arm64.whl
Size 5.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
fbed6bf797605a267c78d4c079a272fb67a043eb9782df8e80068846d59b6393
BLAKE2b-256 checksum
How to use checksums
ef0379af1257ae8a1019219854e699884f63ecca5f952663a7edac1756df3007
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-win_amd64.whl

Download URL net_mesh_cli-0.41.1-py3-none-win_amd64.whl
Size 6.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f5755fbaf2932b7ddb9caaff6b44e8a3e0e973ade4cb036414852a1927394fbb
BLAKE2b-256 checksum
How to use checksums
a6f0b2b0633081cf6fe73bf4c760fb685149eea030a57bd645ee23e80bba1954
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-musllinux_1_2_x86_64.whl

Download URL net_mesh_cli-0.41.1-py3-none-musllinux_1_2_x86_64.whl
Size 6.3 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
2d77d55708224bf3f438b27fbcafeaa32a86e7244bc77b1bd23753d161d77a62
BLAKE2b-256 checksum
How to use checksums
199732b82251f3d8ca07a8e88f080693ce535c9b031d2ea25fd73ed7735c49d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-musllinux_1_2_aarch64.whl

Download URL net_mesh_cli-0.41.1-py3-none-musllinux_1_2_aarch64.whl
Size 5.9 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
0166cfe057a69bb5a99ea2238152f92b521005bda8b9cba04622e4f2ea357ee1
BLAKE2b-256 checksum
How to use checksums
ab0ee4ca794b3a0a212c28e0436ed54631c827402e0b7886338dcd32d76f0d99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-manylinux_2_28_x86_64.whl

Download URL net_mesh_cli-0.41.1-py3-none-manylinux_2_28_x86_64.whl
Size 6.2 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6b9a3bada250342fa6ed296f0c650469cafb7372746fc2efbb613205687a4c9f
BLAKE2b-256 checksum
How to use checksums
c321536beac9d001b436663ce7e536505102252b9fd69e37b3de924db7883491
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-manylinux_2_28_aarch64.whl

Download URL net_mesh_cli-0.41.1-py3-none-manylinux_2_28_aarch64.whl
Size 5.9 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
5b675d7f578d37de843733f164c9abecc19c43d67fd4348d7183c042f183d79c
BLAKE2b-256 checksum
How to use checksums
c072604892066452f22583bc7d5ced2accf60344dee0f6ee988c901b32142d89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-macosx_11_0_arm64.whl

Download URL net_mesh_cli-0.41.1-py3-none-macosx_11_0_arm64.whl
Size 5.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1ff65ea07ab72f99cb60e7d1df1f422f86d6c6892e48188c02fb43cae51947ed
BLAKE2b-256 checksum
How to use checksums
9e032de933f3debcd11f0729528d7a26f1c2e82841a40d80f82a61e1d6a2aad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / net_mesh_cli-0.41.1-py3-none-macosx_10_12_x86_64.whl

Download URL net_mesh_cli-0.41.1-py3-none-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
bfb9a76a29aaf94d45ab409804e8c98a6140edcbb3f73d50270079bd17e2197c
BLAKE2b-256 checksum
How to use checksums
ba3c72e41681d0029c11eef1ab93870e74468c90e5313ff10c3188c06a59e573
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.43.0

9 release files

This release

0.41.1 This release

9 release files

0.38.2

9 release files

0.38.1

9 release files

0.38.0

9 release files

0.37.1

9 release files

0.37.0

9 release files

0.36.0

9 release files

0.35.0

9 release files

0.33.0

9 release files

0.32.0

9 release files

0.29.1

9 release files

0.28.0

9 release files

0.27.7

9 release files

0.27.6

9 release files

0.27.5

9 release files

0.27.4

9 release files

0.27.3

9 release files

0.27.2

9 release files

0.26.0

9 release files

0.25.2

9 release files

0.25.1

9 release files

0.25.0

9 release files

0.24.0

9 release files

0.23.0

9 release files

0.22.0

9 release files

0.21.0

9 release files

0.20.2

9 release files

0.20.1

9 release files

0.19.0

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page