diff --git a/README.md b/README.md index dbac078..ff300e5 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ **A tiny, dependency-free Meshtastic client for MicroPython.** +[![PyPI](https://img.shields.io/pypi/v/micromesh.svg)](https://pypi.org/project/micromesh/) + MicroMesh lets a small MicroPython board talk to a Meshtastic radio over UART. Use it to receive messages, send text and position packets, inspect the node list, or power a full-screen terminal dashboard. @@ -9,10 +11,9 @@ full-screen terminal dashboard. No protobuf compiler runs on the board. No threads. No `google.protobuf`. Just a UART, three wires, and regular Python. -> [!NOTE] -> MicroMesh is young and intentionally small. It supports the most useful Meshtastic -> client operations, but it is not yet a complete replacement for the official desktop -> [`meshtastic`](https://github.com/meshtastic/python) package. +MicroMesh intentionally provides a focused, lightweight client for embedded projects. +For the complete desktop feature set, use the official +[`meshtastic`](https://github.com/meshtastic/python) package. ## What can it do? @@ -204,7 +205,7 @@ package is present on the board. ```sh source .venv/bin/activate -python -m pip install -e . pyserial +python -m pip install micromesh pyserial ``` Windows users also need: @@ -255,7 +256,7 @@ If the Meshtastic radio itself is connected to your computer over USB, the deskt talk directly to it. Do not use `--xiao-bridge` in this mode. ```sh -python -m pip install -e . pyserial +python -m pip install micromesh pyserial python -m serial.tools.list_ports -v python examples/curses_dashboard.py /dev/cu.YOUR_RADIO_PORT ``` @@ -426,18 +427,18 @@ Or copy the package directory manually: mpremote fs cp -r micromesh :lib/ ``` -For CPython development: - -```sh -python -m pip install -e . -``` - -After the first PyPI release: +Install the published package from PyPI: ```sh python -m pip install micromesh ``` +For editable CPython development from a repository checkout: + +```sh +python -m pip install -e . +``` + ## Supported scope MicroMesh currently models the most useful portions of the Meshtastic API: @@ -469,8 +470,8 @@ sending, input validation, and configuration state. ## Releasing to PyPI -Maintainers publish with GitHub Trusted Publishing; no long-lived PyPI token is stored -in the repository. Configure the pending publisher with: +MicroMesh publishes with GitHub Trusted Publishing, so no long-lived PyPI token is +stored in the repository. The publisher configuration is: | Setting | Value | | --- | --- | @@ -481,7 +482,7 @@ in the repository. Configure the pending publisher with: | Environment | `pypi` | Keep the version in `pyproject.toml`, `package.json`, and `micromesh/__init__.py` in -sync. Publishing a matching GitHub release, such as `v0.1.0`, builds, validates, and +sync. Publishing a matching GitHub release, such as `0.1.0`, builds, validates, and uploads the wheel and source distribution. ## License diff --git a/examples/README.md b/examples/README.md index 40cb223..17129a7 100644 --- a/examples/README.md +++ b/examples/README.md @@ -18,7 +18,7 @@ connection statistics, known nodes, and received messages, and it can send broad messages. It can connect directly to a radio or through a XIAO RP2040 UART bridge. ```sh -python -m pip install -e . pyserial +python -m pip install micromesh pyserial python examples/curses_dashboard.py /dev/cu.usbmodem123456 ```