Skip to main content

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.

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 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-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
  • 2 — usage / parse error
  • 3 — config / identity load failure
  • 4 — substrate refused the action (auth, ICE threshold, etc.)
  • 5 — timeout
  • 6 — transport error

License

Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

net_mesh_cli-0.25.0.tar.gz (5.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

net_mesh_cli-0.25.0-py3-none-win_arm64.whl (2.1 MB view details)

Uploaded Python 3Windows ARM64

net_mesh_cli-0.25.0-py3-none-win_amd64.whl (2.3 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.25.0-py3-none-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

net_mesh_cli-0.25.0-py3-none-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.25.0-py3-none-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.25.0-py3-none-manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.25.0-py3-none-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.25.0-py3-none-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file net_mesh_cli-0.25.0.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.25.0.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

Hashes for net_mesh_cli-0.25.0.tar.gz
Algorithm Hash digest
SHA256 6dd7f438012c34edeafb59d85bef1798093ee481e4eca34756b5832bd2d9cb93
MD5 5ed4b8eb653eb20135118840f1709f74
BLAKE2b-256 0a94e9a89dc978ba47d67e65010ef90d9ecfe1f2b8eca318855e81b0a3c059d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0.tar.gz:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 c1f9ff719fae978311642cf29f5f200b1e569904f57d93dc64b79244ef5d057f
MD5 e7a324de4a91aa10cc76b5f2c9627142
BLAKE2b-256 88684505b094bdac08bbc2d1dfbd0d83262e825cc969501e24e76eebdcd6f9c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-win_arm64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 53e35fb34e72b2bfac488825d70b413709ae28e113668feb4c973fba3fe9a252
MD5 7bd46a456376372e9f9ad57836d9b6c2
BLAKE2b-256 969aa88b00fabba0ba9ea45a8fde10769c773e4332fabe5e341d7571a9586d4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-win_amd64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c04323f646d3a9a4ae9ed1fb33860d98e3288e4357bab2fc08ffc86b1e26e0dd
MD5 b944e5f06ba8e5b887ce7601d06db5a3
BLAKE2b-256 b27316d90fe14fbbce5b32cccca928cb72a971534b2c91fb7780c088e796c71e

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 04b53c4f4e1690f55b898941277e8944451f5afec14a970ae2372c385fc34c08
MD5 b960da0ae53edc0629ec938c418e06e8
BLAKE2b-256 cc67483ebc8c7e1a4c1fc1d4fbf7e316ab3b66ce476da724c5c093723e4a28a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b58471b6777ed2aa745185b8f36c499d4d4767f36fde824f09dbf0e0eb8075c0
MD5 3072e414661e1c6394973edc9b11f4ca
BLAKE2b-256 ce978d906574c724f2398e95a6f6e443f5a488f303ae4cfec2ea50b864d42efb

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-manylinux_2_28_x86_64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ab9a0bba1d8757fbf913b6e07c5939bc4c32acbb2c0686a70c2f6ebc34a50fa7
MD5 bb685ce64335ff66080faaff273a08fd
BLAKE2b-256 374391fc1748f2b501f67fdf258978b9a49daee070a89d4734e6df933c235971

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-manylinux_2_28_aarch64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f72e02bd7a2c841c57d9022c8893d4aa3b134ffaa3cf891a870da5cc98a1a15
MD5 26d6cff7f2da45d371d60ca159c695ee
BLAKE2b-256 fb2f3585f080ea4244f049df740aa76d0dbe58a7393bf79f6b160b8edc1c5075

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net_mesh_cli-0.25.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.25.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 41c2f805af0a9200ab911c9c02c55c4f610c888395df4ffa98ee314a550b970d
MD5 f1d7a758c408f3befc827321ac84be96
BLAKE2b-256 b812cf2a4b9b8c9a2839cc2b210d0a78c6d2a40f213e2c0a0d3df85d29208a1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_mesh_cli-0.25.0-py3-none-macosx_10_12_x86_64.whl:

Publisher: release-pypi-cli.yml on ai-2070/net

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page