meshcorectl
This is an AI-generated application. The design, code, tests, and documentation in this repository were produced by an AI coding agent (Claude), directed and reviewed by a human maintainer.
A non-interactive, kubectl-style CLI for MeshCore companion radios:
meshcorectl VERB [TYPE] [NAME] [flags], named connection contexts (BLE/serial/TCP), and
-o table|json|yaml|wide|name output on every read command.
For design rationale and architecture, see PLAN.md.
Install
pip install -e ".[dev]" # from a checkout, until this is published
Quickstart
# Point a named context at your device (BLE, serial, or TCP)
meshcorectl config set-context home --ble-address AA:BB:CC:DD:EE:FF
meshcorectl config use-context home
# Read
meshcorectl get contacts
meshcorectl get contact alice -o yaml
meshcorectl describe device
meshcorectl logs -f
# Write
meshcorectl send message alice "hello"
meshcorectl create channel 1 "#general"
meshcorectl delete contact -l 't=client,u>30d' # -l selectors batch across matches
# Shell completion
source <(meshcorectl completion bash) # or zsh / fish
Every command has real --help text; docs/command-reference.md is
the same text generated into one file. Nothing here is interactive — no REPL, no prompts on the
happy path (an exception: login without --password/--password-stdin prompts securely for
one, the same as ssh or git) — every command is a single invocation that connects, does one
thing, and exits, which is what makes it scriptable.
Status
Every command in this README is implemented and tested. A background-agent daemon for
low-latency repeated invocations (meshcored) is planned but not yet built.
Development
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest # 100% line+branch coverage enforced
ruff check .
mypy
After adding or changing a command, regenerate the reference doc:
python3 scripts/generate_command_reference.py
A test (tests/unit/test_command_reference.py) fails if it's out of date.
License
MIT — same license as the original meshcore-cli.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 meshcorectl-0.1.0.tar.gz.
File metadata
- Download URL: meshcorectl-0.1.0.tar.gz
- Upload date:
- Size: 72.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2b4dbb659122b35d8658a2e3f9e8e9d44677d2a3d3c982dba8043b4f4d57d68
|
|
| MD5 |
00e6c3eb0274e6e849f67cd3be81620b
|
|
| BLAKE2b-256 |
bf149f79ae744c69a5c962d7f2ca249aa048fe6143db834f3a09b90cd832f8a4
|
Provenance
The following attestation bundles were made for meshcorectl-0.1.0.tar.gz:
Publisher:
ci.yml on Faradome/meshcorectl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshcorectl-0.1.0.tar.gz -
Subject digest:
c2b4dbb659122b35d8658a2e3f9e8e9d44677d2a3d3c982dba8043b4f4d57d68 - Sigstore transparency entry: 2810765887
- Sigstore integration time:
-
Permalink:
Faradome/meshcorectl@eac16afa0616dfa09429665de4f8159f913ab63c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Faradome
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@eac16afa0616dfa09429665de4f8159f913ab63c -
Trigger Event:
push
-
Statement type:
File details
Details for the file meshcorectl-0.1.0-py3-none-any.whl.
File metadata
- Download URL: meshcorectl-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0b7f15b149b718b7a9290e710d265d5b75a3021b5116294c791e62fb424c9c7
|
|
| MD5 |
e8610bd25d5b1899acb6f57604956426
|
|
| BLAKE2b-256 |
b3a727e81c9b7159e080b82e05446452470e27c77f650d4c873ef6ee243ed654
|
Provenance
The following attestation bundles were made for meshcorectl-0.1.0-py3-none-any.whl:
Publisher:
ci.yml on Faradome/meshcorectl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
meshcorectl-0.1.0-py3-none-any.whl -
Subject digest:
d0b7f15b149b718b7a9290e710d265d5b75a3021b5116294c791e62fb424c9c7 - Sigstore transparency entry: 2810765895
- Sigstore integration time:
-
Permalink:
Faradome/meshcorectl@eac16afa0616dfa09429665de4f8159f913ab63c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Faradome
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@eac16afa0616dfa09429665de4f8159f913ab63c -
Trigger Event:
push
-
Statement type: