This commit is contained in:
pdxlocations
2026-07-31 23:46:37 -07:00
parent 9eaf3ce1c4
commit d96435b7c4
14 changed files with 321 additions and 6 deletions
+27
View File
@@ -36,6 +36,12 @@ It can also be installed on CPython for development:
python -m pip install .
```
After the first PyPI release, install it by name with:
```sh
python -m pip install micromesh
```
## Quick start
```python
@@ -61,6 +67,9 @@ while True:
The UART baud rate and pins depend on the attached Meshtastic device. `poll()` is
non-blocking when the UART is configured with `timeout=0`.
Ready-to-run wiring and code for the Seeed Studio XIAO RP2040, Raspberry Pi Pico, and
generic ESP32 boards are in [`examples/`](examples/README.md).
Direct messages accept either an integer or Meshtastic's hexadecimal node ID:
```python
@@ -94,6 +103,24 @@ round trip, but their contents are not interpreted. A field named `from` is acce
python -m unittest discover -s tests
```
## Releasing to PyPI
PyPI publishing uses GitHub Trusted Publishing, so no API token is stored in the
repository. Configure a pending publisher at
[`pypi.org/manage/account/publishing`](https://pypi.org/manage/account/publishing/)
with these values:
- PyPI project name: `micromesh`
- GitHub owner: `pdxlocations`
- Repository: `micromesh`
- Workflow: `release.yaml`
- Environment: `pypi`
Keep the version in `pyproject.toml`, `package.json`, and `micromesh/__init__.py` in
sync. Push the change, create a matching GitHub release such as `v0.1.0`, and publish
the release. The workflow builds, validates, and uploads both the wheel and source
distribution.
The API protocol is defined by the
[`meshtastic/protobufs`](https://github.com/meshtastic/protobufs) project. Update the
field declarations in `micromesh/messages.py` when adopting newer schemas.