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.0

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.0
File Size Uploaded
net_mesh_cli-0.41.0.tar.gz 10.5 MB Details

Built distributions (wheels)

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

Total release size: 58.0 MB

Release files / net_mesh_cli-0.41.0.tar.gz

Download URL net_mesh_cli-0.41.0.tar.gz
Size 10.5 MB
Tags Source
SHA-256 checksum
How to use checksums
fcd0fe9143437c914ef53b521ed8782558da096aaca6692de273d7a5953e9da3
BLAKE2b-256 checksum
How to use checksums
70870db7c36a4164f7855e46e702212c0830e7141e188dbec6a221738e6c5bda
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.0-py3-none-win_arm64.whl

Download URL net_mesh_cli-0.41.0-py3-none-win_arm64.whl
Size 5.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
3614e36a6ea4db1a0337c9e3bf9d97fe2b724ffd5890f15f3f820699e7c9da2e
BLAKE2b-256 checksum
How to use checksums
3fc9402540fea198c1f6103a0dc341733dfcb27c027726c6f8ac4aef78c8592f
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.0-py3-none-win_amd64.whl

Download URL net_mesh_cli-0.41.0-py3-none-win_amd64.whl
Size 6.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
85a5b39ce195cb3d6ecad785cdc92dff5f62d7eae178783d0f59dd3bc685d61c
BLAKE2b-256 checksum
How to use checksums
83a1c38ffa4e4ed95a7c013f47ffe58c1155fc96e825d7cf7fc2885bba87a4b4
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.0-py3-none-musllinux_1_2_x86_64.whl

Download URL net_mesh_cli-0.41.0-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
f659bb95862f317ccc62bc6477e106a9cadf93402c2dc7240329ffe0ebd43c91
BLAKE2b-256 checksum
How to use checksums
b3659d6809506eea9a9acb507f104ec0713e770f58eb67b6c2c20438884629ed
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.0-py3-none-musllinux_1_2_aarch64.whl

Download URL net_mesh_cli-0.41.0-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
1404514011fa680a53a20ab1e3fe126010627b1ec55487ee3f392190e284acc8
BLAKE2b-256 checksum
How to use checksums
1576a6b2140aae786a38525bdbc245a49cf70123a12ea7c4dac886c8b6f6c6fb
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.0-py3-none-manylinux_2_28_x86_64.whl

Download URL net_mesh_cli-0.41.0-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
67dbb2d1b5029139c3c281611e0caa381422ee3ce8e010caab5c2a7efd947d0f
BLAKE2b-256 checksum
How to use checksums
887bcfc3f9a2f38fcb6e0f92235c5cf3bdc722efa3bc042f490d3f4941af0925
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.0-py3-none-manylinux_2_28_aarch64.whl

Download URL net_mesh_cli-0.41.0-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
a3a117415dad2a544eddbdab5195fa4434523324789330f17275b2d0c70a4142
BLAKE2b-256 checksum
How to use checksums
6a79437a6be4174c312450ad7dc52c8d937a0922985232678f96e840f158bfd5
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.0-py3-none-macosx_11_0_arm64.whl

Download URL net_mesh_cli-0.41.0-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
aba330937b0132e495cd5fc77d3f0f35adb72da454fdb9807e09de69d87c938b
BLAKE2b-256 checksum
How to use checksums
0b4197991b6c64b0bd1566e13e1d34557333593dbd2c2c00eb4ac98bc36e3c12
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.0-py3-none-macosx_10_12_x86_64.whl

Download URL net_mesh_cli-0.41.0-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
e6cbd678b92b319da20ca0e850700d9a3a383cdbeb8a2802312b82e7a184791a
BLAKE2b-256 checksum
How to use checksums
8a36c7fb1b054e8178268d931336f7953a79ee08ff4fbb1b97216fb493851f4f
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.0 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