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.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.37.1
File Size Uploaded
net_mesh_cli-0.37.1.tar.gz 10.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for net-mesh-cli 0.37.1
File
net_mesh_cli-0.37.1-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
net_mesh_cli-0.37.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
net_mesh_cli-0.37.1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
net_mesh_cli-0.37.1-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
net_mesh_cli-0.37.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
net_mesh_cli-0.37.1-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
net_mesh_cli-0.37.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
net_mesh_cli-0.37.1-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.1.tar.gz

Download URL net_mesh_cli-0.37.1.tar.gz
Size 10.2 MB
Tags Source
SHA-256 checksum
How to use checksums
9a3d65a989ddea84dbdf6318be9cbe3478356bebbbb9a19c6e8d019622e1ec44
BLAKE2b-256 checksum
How to use checksums
d944b266ed792c526225f7cf6e1aaa8de2d3548e5024b882fd3bd6525440c2bb
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.1-py3-none-win_arm64.whl

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

Download URL net_mesh_cli-0.37.1-py3-none-win_amd64.whl
Size 5.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f32a6284db80608f65052e4d8c12dd33359125d3a64dc1ac91a7ea81c91f4880
BLAKE2b-256 checksum
How to use checksums
688b533e0eae40d61f706c33445a9c232da7bab7408ddee6c329fe682e34e9d0
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.1-py3-none-musllinux_1_2_x86_64.whl

Download URL net_mesh_cli-0.37.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
c68f5898c94577c79bb6e7a7284209fe23a00950fea26c4168a5c7d09301134c
BLAKE2b-256 checksum
How to use checksums
265919027616d1a41aeb8b744dc63621c1bd032f698c2b8ac24fc7e9c4d6d388
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.1-py3-none-musllinux_1_2_aarch64.whl

Download URL net_mesh_cli-0.37.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
cf597df6e93db00f44dd873a7570657dd731343739c5684debcc15044270b493
BLAKE2b-256 checksum
How to use checksums
82129f786183bc1f726cac99e71053baf2ce560bb5dd48b9c473b0f16ac6515e
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.1-py3-none-manylinux_2_28_x86_64.whl

Download URL net_mesh_cli-0.37.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
245294fa69977e8b86a90ae4fdd3497562a540dcb67c4fe3ebd121c31bee7eba
BLAKE2b-256 checksum
How to use checksums
cabf0941f390a98dadd467c58e642014115872f6c90b531b5a9d13685759ec2b
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.1-py3-none-manylinux_2_28_aarch64.whl

Download URL net_mesh_cli-0.37.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
d062187471757a44d75351342a3dac9d807e17e38054e555e0b28a8d8b6baea5
BLAKE2b-256 checksum
How to use checksums
b43bd977dab71e8175da499dd96eec923f11ad93496ec78c76c2ef19cb1bfd04
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.1-py3-none-macosx_11_0_arm64.whl

Download URL net_mesh_cli-0.37.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
2090a6430d22912f1bf7761ba22382a2353c6978aaee4c42362efa4debc214be
BLAKE2b-256 checksum
How to use checksums
3e3dcbc1756f0eb2b2ee87463420aaa49e4be9fcd57969a233b7d949af177d0e
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.1-py3-none-macosx_10_12_x86_64.whl

Download URL net_mesh_cli-0.37.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
7483faaa923d4a1a0cf2142f8c7abec126293afc7e21273bf77ff3f882d97f4c
BLAKE2b-256 checksum
How to use checksums
d49204e74215459dae07e8ccf5cf7c68638ef7c4ab9be6a169eff54dbc9d3ae4
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

This release

0.37.1 This release

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