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.38.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.38.1
File Size Uploaded
net_mesh_cli-0.38.1.tar.gz 10.3 MB Details

Built distributions (wheels)

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

Total release size: 57.4 MB

Release files / net_mesh_cli-0.38.1.tar.gz

Download URL net_mesh_cli-0.38.1.tar.gz
Size 10.3 MB
Tags Source
SHA-256 checksum
How to use checksums
12016eb4c09c44d41a8394010a6c1c56201020551de9cea6a1ab833b9bd26ab7
BLAKE2b-256 checksum
How to use checksums
23b0bff69c1ecbc92bed9b8ec591263e1dcdb4205eacb0bb251e8cb8fda1659e
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.38.1-py3-none-win_arm64.whl

Download URL net_mesh_cli-0.38.1-py3-none-win_arm64.whl
Size 5.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
78f4c97aa00b5d5ebe5ad31c5c5db6307fc7310c4c262436ba31e853bf11d81f
BLAKE2b-256 checksum
How to use checksums
bc851b57ce553e06fc0078714f86b8100aa0e38b1a7aab70d94a5d870dad3568
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.38.1-py3-none-win_amd64.whl

Download URL net_mesh_cli-0.38.1-py3-none-win_amd64.whl
Size 5.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f7eefc4cd7637012763ff0aef4bb61220887aa5118a25536c46f512af846e55d
BLAKE2b-256 checksum
How to use checksums
ff4034df88ae2cb4b20427429232a102009e4e86202cd695c8e4bc55652eba69
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.38.1-py3-none-musllinux_1_2_x86_64.whl

Download URL net_mesh_cli-0.38.1-py3-none-musllinux_1_2_x86_64.whl
Size 6.2 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
a73a36f4efcbea14bbf3f27a70313c5abb9f65bee541dd4601eb959627e6f549
BLAKE2b-256 checksum
How to use checksums
2378016af1158b18203083e457272c595c89d39e253f582fd261e5de579798b5
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.38.1-py3-none-musllinux_1_2_aarch64.whl

Download URL net_mesh_cli-0.38.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
c098a477a6da2fc0fe6da7f5b80424422b145086b80ccd8340b1c582168b52a8
BLAKE2b-256 checksum
How to use checksums
8e21873ca5030a8ae54d4fde553fd3608910093cc7598b5b685982d04ea950d9
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.38.1-py3-none-manylinux_2_28_x86_64.whl

Download URL net_mesh_cli-0.38.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
49c4e8a7e08bc468082e479a31c05797a382a24b67e3f38acf42067f834d1cdf
BLAKE2b-256 checksum
How to use checksums
4eeb8042891f08e984226842b00716c0c46fa2e663ed0433b0e3c60afa5b4f41
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.38.1-py3-none-manylinux_2_28_aarch64.whl

Download URL net_mesh_cli-0.38.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
8bbb98362cba1fc2a205ecdf151463b9ac68bc873e0224620dfb80c5fc14018e
BLAKE2b-256 checksum
How to use checksums
5e486d87f903067512efdb75173dc50d19cedeead5914d76a6ad2a0f573ffcce
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.38.1-py3-none-macosx_11_0_arm64.whl

Download URL net_mesh_cli-0.38.1-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
121bed42b060d36f1e7450dcbb355e022944d463f0f8ba29458403687208ac5c
BLAKE2b-256 checksum
How to use checksums
6c88bf333a2a2ee3365398849a6cb541e594ff6844bdf7d7be136c69afe09861
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.38.1-py3-none-macosx_10_12_x86_64.whl

Download URL net_mesh_cli-0.38.1-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
de0a059980602f01d50b01ca1be3121a7581c534b39271b67f8cfc5bfe5bd87b
BLAKE2b-256 checksum
How to use checksums
62dc2fa19ceabfce8fed3d83591102c6cd0c33cd3be950e5735592c10470e632
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

This release

0.38.1 This release

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