$npx skillfedfor your agent

meshtastic

Python API & client shell for talking to Meshtastic devices

With conditionsPyPI NetworkingReleased Jul 2026113.2K downloads / moGPL-3.0-onlyPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — meshtastic-2.7.11-py3-none-any.whl
v2.7.11 · released 2026-07-17 · Python <3.15,>=3.9 · 8 runtime deps: bleak, packaging, protobuf, pypubsub, pyserial, pyyaml, requests, tabulate

Yes, if you own or plan to use Meshtastic devices and need Python integration. The library is actively maintained, has low install friction, and provides both programmatic and CLI access to device functionality. The GPL-3.0 copyleft license is a hard blocker for proprietary projects; open-source or internal-use projects face no barrier. No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a connected Meshtastic device accessible via serial port or Bluetooth; bleak (for Bluetooth) or pyserial (for USB/serial) must be able to communicate with the device.
  • Low install friction with a pure-Python wheel distribution.
  • Actively maintained with a release 28 days ago.

License · maintenance · safety

GPL-3.0-only (copyleft) — GPL-3.0-only copyleft license means any code that links this library must also be released under GPL-3.0 or a compatible license. Proprietary or permissively-licensed projects cannot use it without legal review.

last release 2026-07-17 (28 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 113,227 downloads/mo, #12,350 on PyPI

Verify before relying

pip install meshtastic

import meshtastic
import meshtastic.serial_interface

# Connect to device via serial
iface = meshtastic.serial_interface.SerialInterface()

# Define a callback for received messages
def on_receive(packet):
    print(f"Received: {packet}")

# Subscribe to receive events
iface.on_receive = on_receive

# Send a message
iface.sendText("Hello mesh", destinationId=0xFFFFFFFF)
  • Whether the library works with all Meshtastic device models and firmware versions currently in circulation.
  • Performance characteristics when handling high message volumes or many simultaneous subscriptions.
  • Stability of the async-friendliness roadmap item and whether async support is currently available.
Same gist for agents: .md · .json

What it is and what it does

Meshtastic is a Python interface to Meshtastic mesh radio devices, which are low-power LoRa-based radios that form self-healing mesh networks. The library wraps the device protocol and exposes it through a publish-subscribe event system, so you can subscribe to message types you care about and react to them in your code. It also provides a command-line tool that mirrors the capabilities of the official Android and device UI applications.

The library depends on bleak for Bluetooth communication, pyserial for USB/serial connections, protobuf for message serialization, and several utility libraries. It's designed to work with the device's native mesh protocol, so you can build applications that integrate mesh messaging into Python workflows—from simple scripts that relay messages to external systems, to more complex monitoring or logging applications.

Use it for

  • Build a Python script that receives mesh radio messages and logs them to a database or cloud service.
  • Create a CLI tool that queries device status, node information, and mesh topology from connected Meshtastic radios.
  • Integrate mesh messaging into a larger application using the publish-subscribe event model to react to incoming messages.
  • Monitor mesh network health by subscribing to device telemetry and position updates from multiple nodes.
  • Automate device configuration and firmware updates across a fleet of Meshtastic radios via serial or Bluetooth.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you own or plan to use Meshtastic devices and need Python integration.

The library is actively maintained, has low install friction, and provides both programmatic and CLI access to device functionality. The GPL-3.0 copyleft license is a hard blocker for proprietary projects; open-source or internal-use projects face no barrier. No known security vulnerabilities.

Install

meshtastic on PyPI

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained with a release 28 days ago. Supports Python 3.9 through 3.14. Eight runtime dependencies are all common, stable libraries (bleak, protobuf, pypubsub, pyserial, pyyaml, requests, packaging, tabulate).

Requires a connected Meshtastic device accessible via serial port or Bluetooth; bleak (for Bluetooth) or pyserial (for USB/serial) must be able to communicate with the device.

License in practice

GPL-3.0-only copyleft license means any code that links this library must also be released under GPL-3.0 or a compatible license. Proprietary or permissively-licensed projects cannot use it without legal review.

Quickstart

pip install meshtastic

import meshtastic
import meshtastic.serial_interface

# Connect to device via serial
iface = meshtastic.serial_interface.SerialInterface()

# Define a callback for received messages
def on_receive(packet):
    print(f"Received: {packet}")

# Subscribe to receive events
iface.on_receive = on_receive

# Send a message
iface.sendText("Hello mesh", destinationId=0xFFFFFFFF)

Verify before relying

  • Whether the library works with all Meshtastic device models and firmware versions currently in circulation.
  • Performance characteristics when handling high message volumes or many simultaneous subscriptions.
  • Stability of the async-friendliness roadmap item and whether async support is currently available.

Package facts

LicenseGPL-3.0-only copyleft
Python supportSupports the current Python release <3.15,>=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
8 packages
bleakpackagingprotobufpypubsubpyserialpyyamlrequeststabulate
MaintenanceActively maintained 28 days since the last release
First released
Downloads113,227 / month, #12,350 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: GNU General Public License v3 (GPLv3)Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9

Evidence: meshtastic-2.7.11-py3-none-any.whl

Tags

Capabilities
mesh radio communication pythonmeshtastic device controllora mesh networkingradio message apimesh network python librarydevice serial communicationpubsub radio events
Topics
mesh-networkingradio-communicationiot-devices

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “mesh radio communication python”

  • meshtasticA Python library and CLI for communicating with Meshtastic mesh radio…
  • zhaZHA is a hardware-independent Zigbee gateway implementation that…
  • ciris-edgeA Rust-based transport and replication layer for the CIRIS Epistemic…

Give your agent the search over MCP, or paste the wish link into any chat.

More Networking packages

h11 With conditions
PyPI · WWW/HTTP · released Apr 2025

h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.

MITpure Python · 3.8+aging
894.9Mdownloads / mo
psutil Worth it
PyPI · Libraries · released Jan 2026

psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.

permissive licensecompiled wheel · 3.6+
387.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
uvloop With conditions
PyPI · Networking · released Oct 2025

uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.

Apache-2.0compiled wheel · 3.8.1+
257.9Mdownloads / mo
execnet With conditions
PyPI · Libraries · released Nov 2025

execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.

However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…

MITpure Python · 3.8+aging
172.1Mdownloads / mo
pyzmq Worth it
PyPI · Networking · released Sep 2025

PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.

BSD-3-Clausecompiled wheel · 3.8+
109.5Mdownloads / mo

See also zigpy-xbee · zigpy · pymysensors · rf-protocols · zigpy-zigate · airthings-cloud · radios · wiim · afsapi · google-cloud-pubsub