paho-mqtt
MQTT version 5.0/3.1.1 client class
Decision gist · record as of 2026-08-14
Yes, with conditions. paho-mqtt is a stable, well-established MQTT client with no known vulnerabilities and low installation friction. However, maintenance is dormant (837 days since last release), so expect no active support or bug fixes. Install it if you need a reliable, mature MQTT client for production IoT or M2M applications and can tolerate the lack of ongoing development. Avoid it if you require active maintenance, recent security patches, or help with migration from version 1.x to 2.x.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later.
- Breaking changes introduced in version 2.0; existing code may need migration.
- Low installation friction with no runtime dependencies.
License · maintenance · safety
EPL-2.0 OR BSD-3-Clause (copyleft) — Dual-licensed under EPL-2.0 or BSD-3-Clause (copyleft treatment). Users may choose the more permissive BSD-3-Clause for proprietary projects, but EPL-2.0 requires source disclosure if modifications are distributed.
last release 2024-04-29 (837 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,532,451 downloads/mo, #1,609 on PyPI
Alternatives
Verify before relying
pip install paho-mqtt
import paho.mqtt.client as mqtt
mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
mqttc.connect("mqtt.eclipseprojects.io", 1883, 60)
mqttc.loop_forever()- Whether dormant status reflects stable maturity or abandoned maintenance—no recent commits or activity data provided.
- Extent of real-world production use and community support despite 837 days since last release.
- Whether session persistence limitations (in-memory only when clean_session=False) are acceptable for your use case.
What it is and what it does
paho-mqtt is the Eclipse Paho MQTT Python client library, a reference implementation for connecting applications to MQTT brokers. It provides a Client class and helper functions to publish messages, subscribe to topics, and receive published messages over the MQTT protocol. The library supports MQTT versions 5.0, 3.1.1, and 3.1, making it compatible with a wide range of brokers and IoT platforms.
The package is designed for lightweight, bandwidth-constrained environments typical of machine-to-machine (M2M) and Internet of Things (IoT) applications. It offers multiple network loop modes—threaded (loop_start/loop_stop), blocking (loop_forever), and manual (loop)—to fit different application architectures. Callbacks handle connection, message receipt, and publish acknowledgment events. However, the library has known limitations: session state is stored in memory only, not persisted, which can result in message loss on client restart; QoS 2 message delivery guarantees are not fully compliant with the MQTT standard.
Use it for
- Build IoT sensor applications that publish temperature, humidity, or other metrics to a central MQTT broker for aggregation.
- Create home automation systems where devices subscribe to control topics and publish status updates.
- Implement remote monitoring dashboards that subscribe to device topics and display real-time data.
- Develop lightweight edge applications on resource-constrained devices using the minimal code footprint MQTT provides.
- Connect legacy systems to modern IoT platforms via MQTT publish/subscribe messaging.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
paho-mqtt is a stable, well-established MQTT client with no known vulnerabilities and low installation friction. However, maintenance is dormant (837 days since last release), so expect no active support or bug fixes. Install it if you need a reliable, mature MQTT client for production IoT or M2M applications and can tolerate the lack of ongoing development. Avoid it if you require active maintenance, recent security patches, or help with migration from version 1.x to 2.x.
Install
paho-mqtt on PyPI
Before you install
Low installation friction with no runtime dependencies. Maintenance status is dormant—last release was 837 days ago—so expect no active bug fixes or feature development, though the library remains functional for existing use.
Requires Python 3.7 or later. Breaking changes introduced in version 2.0; existing code may need migration.
License in practice
Dual-licensed under EPL-2.0 or BSD-3-Clause (copyleft treatment). Users may choose the more permissive BSD-3-Clause for proprietary projects, but EPL-2.0 requires source disclosure if modifications are distributed.
Quickstart
pip install paho-mqtt
import paho.mqtt.client as mqtt
mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
mqttc.connect("mqtt.eclipseprojects.io", 1883, 60)
mqttc.loop_forever()
Verify before relying
- Whether dormant status reflects stable maturity or abandoned maintenance—no recent commits or activity data provided.
- Extent of real-world production use and community support despite 837 days since last release.
- Whether session persistence limitations (in-memory only when clean_session=False) are acceptable for your use case.
Package facts
| License | EPL-2.0 OR BSD-3-Clause copyleft |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 837 days since the last release |
| First released | |
| Downloads | 8,532,451 / month, #1,609 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI ApprovedNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: CommunicationsTopic :: Internet |
Evidence: paho_mqtt-2.1.0-py3-none-any.whl
Tags
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 › “mqtt client library”
- paho-mqttProvides an MQTT client library for connecting to MQTT brokers to…
- tb-paho-mqtt-clientProvides an MQTT client library implementing protocol versions 5.0,…
- gmqttgmqtt is an async Python MQTT client that connects to MQTT brokers,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also gmqtt · kuksa-client · tb-paho-mqtt-client · aiomqtt · asyncio-mqtt · tb-mqtt-client · types-paho-mqtt · pymysensors · victron-mqtt · awsiotsdk