net-mesh — unified command-line interface for the Net mesh
Project description
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.
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 force-drain / evict / restart / cutover. |
snapshot |
One-shot MeshOsSnapshot reads (and --watch for streaming). |
audit |
Read-only queries against the RedEX-committed audit ledger. |
log tail |
Substrate log stream (--follow, --daemon, --level). |
failures tail |
Substrate failure stream — same shape as log tail. |
cap |
Capability advertisement + discovery. |
peer |
Peer + NAT-traversal helpers. |
daemon |
Per-daemon listing from the local snapshot. |
netdb |
NetDB local KV adapter — Cortex-backed tasks + memories. |
subnet |
Hierarchical subnet inspection (show, ls, tree). |
gateway |
SubnetGateway stats + export-table operator surface. |
channel |
ChannelConfigRegistry inspection (visibility, ls). |
aggregator |
AggregatorDaemon inspection + remote query. |
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.--output (json|yaml|ndjson|table|text)— auto-detectstable/texton TTY andjson/ndjsonoff-TTY.--quiet/-q— suppress stderr diagnostics.--verbose/-v—-vinfo,-vvdebug,-vvvtrace.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). Default30s.
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— success2— usage / parse error3— config / identity load failure4— substrate refused the action (auth, ICE threshold, etc.)5— timeout6— transport error
License
Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file net_mesh_cli-0.25.2.tar.gz.
File metadata
- Download URL: net_mesh_cli-0.25.2.tar.gz
- Upload date:
- Size: 5.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85bcca1b7141223e845ba95294b66b1728cffe2bae3052bfbfc18db486f4fbc5
|
|
| MD5 |
68ab7d96cfdebd438e2a2ff9bd848311
|
|
| BLAKE2b-256 |
e9a094965e20840424cad4f7de932ae525e5eecd930317001b8b523e2acf511b
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-win_arm64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-win_arm64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bd18dee75daf86ba6540969a7e1128afc7db484c1dc9d4a6264df605b7d474d
|
|
| MD5 |
8bd92c5837f75d5a7b57620aec75565b
|
|
| BLAKE2b-256 |
02fd495f361b23be200c844751b389924fa54abb2c05afb09e4b977024c5b570
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-win_amd64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-win_amd64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be7931c8d46b39de1f8d00a0d894874ec2992f709d2659aa1afedca896b913b4
|
|
| MD5 |
c6c0bf2dd3c26eff527c3a0d080e03de
|
|
| BLAKE2b-256 |
58decd3ca0ff917ee28d747a70b7e39abf7c22a7b2ae328ef887ee0573371e0f
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e120de43748d2f9d65ef4e8b5ebb831859a0589fe36c410ee241658c6dbf7b09
|
|
| MD5 |
445fb5a9d14b7fb46da19b787050991c
|
|
| BLAKE2b-256 |
936272f9d10450f064735e3dd74317329c0189739d614583ab6b9b9837b8e858
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53cf04bb7e2e0220f1da57c348b1e9e2cee6e7c55200698da2cc8f3e27cabb57
|
|
| MD5 |
f5b37fe6429a7fcf547be6c21e6bc9fb
|
|
| BLAKE2b-256 |
54ed7d23449af9f091effd30e0f396914219fb8e9af3ccc146bdc2fbfc26f409
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cf0021b0b901a3b91a20bebfa9fb87e8cfee2529abf9687e87c38b7790f8519
|
|
| MD5 |
99dd9e2cc181c47d24d34bed825baeeb
|
|
| BLAKE2b-256 |
389ba996910081ea608d925a35ff987bb88dd355bb43e9b95e76cbbd7e80668a
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f493a469ff577bb029e2fc2327515749ed72d2d26d6863f87d5b644942816a0d
|
|
| MD5 |
62986259c50092c2538b7359ba79be0e
|
|
| BLAKE2b-256 |
91e3c82a65796c1a3dc274afcc2ba33529c24ce1555ea759b58b4b476c1254bb
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46b2f279b47540aa07178f681ce1f07e8af4d777e18612e52ac6ab549e2bc038
|
|
| MD5 |
c8f4b06db0de416cefad91a8e18c5ec1
|
|
| BLAKE2b-256 |
548d48309ca6c52a943e0c0f73be2ab0b446968831931790b8e2ce947a75d17c
|
File details
Details for the file net_mesh_cli-0.25.2-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: net_mesh_cli-0.25.2-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01627c302f9a9a76bef738884c069d9133ce010ec83e8d1dd629916e0c846946
|
|
| MD5 |
a6de5f45cc57177923beef94e8b59103
|
|
| BLAKE2b-256 |
acc5e8bb15b2d28e723d74e6c90680a2995af8fc32fa48af8badb9f8e4832e1e
|