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.
admin Signed admin-chain commits — drain, cordon, maintenance, drop-replicas, etc.
ice Break-glass ICE — simulate then commit freeze-cluster / thaw-cluster / flush-avoid-lists / force-evict-replica / force-restart-daemon / force-cutover / kill-migration.
snapshot One-shot substrate reads, both requiring --local: get prints the MeshOsSnapshot; status prints the typed StatusSummary.
audit Read-only queries against the RedEX-committed audit ledger.
log tail Substrate log stream (--follow, --daemon, --min-level).
failures tail Substrate failure stream — same shape as log tail.
cap Capability advertisement + discovery.
peer Peer + NAT-traversal helpers (peer ls today; reflex/NAT in Phase 2).
daemon Per-daemon listing from the local snapshot.
netdb NetDB local KV adapter — Cortex-backed tasks + memories.
org Organization root authority authoring (keygen / issue-cert / issue-floors).
node Node ownership provisioning (adopt).
subnet Hierarchical subnet inspection (show, ls, tree).
gateway SubnetGateway stats + export-table operator surface.
channel ChannelConfigRegistry inspection (visibility, ls).
aggregator AggregatorDaemon inspection + remote query.
transfer Blob + directory transfer (recv-blob / send-blob / recv-dir / send-dir / ls / status / cancel).
wrap Wrap a local stdio MCP server as owner-only mesh capabilities.
mcp MCP bridge — expose mesh capabilities to a local MCP host (serve).
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.37.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.37.0
File Size Uploaded
net_mesh_cli-0.37.0.tar.gz 10.2 MB Details

Built distributions (wheels)

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

Total release size: 57.3 MB

Release files / net_mesh_cli-0.37.0.tar.gz

Download URL net_mesh_cli-0.37.0.tar.gz
Size 10.2 MB
Tags Source
SHA-256 checksum
How to use checksums
2899c20b68cd96dd23333900a8c0362dbbf7ffe8c21c63fc14dceee916a6f771
BLAKE2b-256 checksum
How to use checksums
834042273cafc662696822aae60817fe16d62c5f1d7869e2634b8a472b4336f5
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.37.0-py3-none-win_arm64.whl

Download URL net_mesh_cli-0.37.0-py3-none-win_arm64.whl
Size 5.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
e099c77cbdb2a5883d1b1b40e0a40b6776a57468494ca7115c3c8788a36fe625
BLAKE2b-256 checksum
How to use checksums
2c6317cddd2ce57bf4e49db581c5f51d615992771479e877c681214abd0f159d
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.37.0-py3-none-win_amd64.whl

Download URL net_mesh_cli-0.37.0-py3-none-win_amd64.whl
Size 5.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
259d1bf4bdaac708bc345201cf772b577a74254760918560b4c1e30be7a5e361
BLAKE2b-256 checksum
How to use checksums
b377c969dffda8287149f520f8fc60bc5a57f548fa55c4f02f93be6f9dc73202
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.37.0-py3-none-musllinux_1_2_x86_64.whl

Download URL net_mesh_cli-0.37.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
99a0cba3d27fe8b104fe363604454f2d7aca53a87494fd4d1e3899aa291e6029
BLAKE2b-256 checksum
How to use checksums
b7a42a58c33bb694238563e76e70e0c2087196eb34a9a4a05a389991064cd565
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.37.0-py3-none-musllinux_1_2_aarch64.whl

Download URL net_mesh_cli-0.37.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
61ac598d8e1a700be155bcc01e3394052bf3c5c76f063f664b244a74dc328090
BLAKE2b-256 checksum
How to use checksums
83352a4941f7a6756aef3e4fac90f5c8aae452617907a0d3af8bd48f2f3f3788
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.37.0-py3-none-manylinux_2_28_x86_64.whl

Download URL net_mesh_cli-0.37.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
69b9d14e3a56c78ba62837e249943daf744e6be1928ceee0d8d7547852c2d032
BLAKE2b-256 checksum
How to use checksums
ef67da733c87ebdf7b22dab1801c44fcf5dab4d210a557b9c03921b4d3a78c64
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.37.0-py3-none-manylinux_2_28_aarch64.whl

Download URL net_mesh_cli-0.37.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
9878118212ad8667a137706ff37766f5f147ff25a85f870faf6c5d696185dc45
BLAKE2b-256 checksum
How to use checksums
3c1c210ad3528148f91791d1cee291fdee71694ccc334240ce3b49f0b8f40ee5
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.37.0-py3-none-macosx_11_0_arm64.whl

Download URL net_mesh_cli-0.37.0-py3-none-macosx_11_0_arm64.whl
Size 5.4 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
06d4101e692a1992c64a8859ab3ebaf2901830528d318ead09c70cdb352bb03b
BLAKE2b-256 checksum
How to use checksums
fd3d4ece389b782b4b10c6f2aeadd1fdba4170fad004d0a407ea7113dc382b39
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.37.0-py3-none-macosx_10_12_x86_64.whl

Download URL net_mesh_cli-0.37.0-py3-none-macosx_10_12_x86_64.whl
Size 6.0 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4260813d19ee674cdc48249df8b0ed5df3050b35612b2d3024bcf10a8ef4a6fc
BLAKE2b-256 checksum
How to use checksums
be37fec4c62475fffb6b0fa20a36aed33b63e372aa7ddadfd4f8fc949be00d6b
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

0.38.2

9 release files

0.38.1

9 release files

0.38.0

9 release files

0.37.1

9 release files

This release

0.37.0 This release

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