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

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.2
File Size Uploaded
net_mesh_cli-0.38.2.tar.gz 10.3 MB Details

Built distributions (wheels)

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

Download URL net_mesh_cli-0.38.2.tar.gz
Size 10.3 MB
Tags Source
SHA-256 checksum
How to use checksums
da9b58fefaf51a571f41e5cbb55db4db845328a66311190ac0c5ad4896793e60
BLAKE2b-256 checksum
How to use checksums
f78031e774e78eeb44cc94fad79981ef3787ea028661f34282ba15cd482b76b2
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.2-py3-none-win_arm64.whl

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

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

Download URL net_mesh_cli-0.38.2-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
52797fb1aec3ec8061fbdd186597999658f7c69681f319c858073d45abebfd83
BLAKE2b-256 checksum
How to use checksums
deecc574085ed7bfea5eee7cc749c4f56cb3c06c8476e945cc9b123c2e8c673f
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.2-py3-none-musllinux_1_2_aarch64.whl

Download URL net_mesh_cli-0.38.2-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
8f78461bfe93766fb21a1da54ddc2a32643732c7ec2a14bdefd4823848e0bd01
BLAKE2b-256 checksum
How to use checksums
42af9fadc84f9cfa66c0a4b6aace47232caba0336451998a4ecc9ec21581455d
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.2-py3-none-manylinux_2_28_x86_64.whl

Download URL net_mesh_cli-0.38.2-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
f4ad22061e9306b377e2e17385b6f7cc497445e7171a348a2b0edef31d8faff8
BLAKE2b-256 checksum
How to use checksums
14b187c6682f411d897eb2daab0b2cc483bb415f4581365c170f3554b7b26574
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.2-py3-none-manylinux_2_28_aarch64.whl

Download URL net_mesh_cli-0.38.2-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
42d6f7bc22cf8db59f693b5a30860b55d3ea7dbdc7721fd2e16846fb630b4027
BLAKE2b-256 checksum
How to use checksums
1510bf8b9fd82dd6ed99e796f7cc1171a9d125e6789ab0d6cde1c5350a745ea7
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.2-py3-none-macosx_11_0_arm64.whl

Download URL net_mesh_cli-0.38.2-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
6e3b5b27c3d28313ac35cc429236fa1053fa6d3e400a880e7ca2903e64a4f5cb
BLAKE2b-256 checksum
How to use checksums
271d4912762c2003d919a1dda4beedf99188f6aec5aefe8e4a85e4d692aeaf1b
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.2-py3-none-macosx_10_12_x86_64.whl

Download URL net_mesh_cli-0.38.2-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
d95ec7f2718d104ada3b452752a499353a19f7c8da6a87f9ad296ee8a7150383
BLAKE2b-256 checksum
How to use checksums
8ee141cce10efc1d974475cbc32c26a62b13731486ed356dc5fa7fce621bebe1
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.38.2 This release

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