Metadata-Version: 2.4
Name: fastapi-mqtt
Version: 3.0.0
Summary: fastapi-mqtt is extension for MQTT protocol
License-Expression: MIT
License-File: LICENSE
Author: Sabuhi Shukurov
Author-email: sabuhi.shukurov@gmail.com
Requires-Python: >=3.12
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: OS Independent
Requires-Dist: gmqtt (>=0.8.0)
Requires-Dist: pydantic (>=2.14.1)
Project-URL: Homepage, https://github.com/sabuhish/fastapi-mqtt
Project-URL: Repository, https://github.com/sabuhish/fastapi-mqtt
Description-Content-Type: text/markdown

# fastapi-mqtt

MQTT is a lightweight publish/subscribe messaging protocol designed for M2M (machine to machine) telemetry in low bandwidth environments.
Fastapi-mqtt is the client for working with MQTT.

For more information about MQTT, please refer to here: [MQTT](https://sabuhish.github.io/fastapi-mqtt/mqtt/)

Fastapi-mqtt wraps around the [gmqtt](https://github.com/wialon/gmqtt) module, a Python async MQTT client.
The module supports the MQTT version 5.0 protocol.

[![MIT licensed](https://img.shields.io/github/license/sabuhish/fastapi-mqtt)](https://github.com/sabuhish/fastapi-mqtt/blob/master/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/sabuhish/fastapi-mqtt.svg)](https://github.com/sabuhish/fastapi-mqtt)
[![GitHub forks](https://img.shields.io/github/forks/sabuhish/fastapi-mqtt.svg)](https://github.com/sabuhish/fastapi-mqtt/forks)
[![GitHub issues](https://img.shields.io/github/issues-raw/sabuhish/fastapi-mqtt)](https://github.com/sabuhish/fastapi-mqtt/issues)

---

## **Documentation**: [FastApi-MQTT](https://sabuhish.github.io/fastapi-mqtt/)

The key features are:

- Subscribe to topics with decorated handlers, publish to topics
- Pydantic models for message payloads, to receive and publish typed messages
- MQTT 5.0, with callbacks for connection events
- MQTT settings with a `pydantic` class, authentication to the broker with credentials

### 🔨 Installation

Requires Python 3.12 or newer.

```sh
pip install fastapi-mqtt
```

Next: [Getting Started](https://sabuhish.github.io/fastapi-mqtt/getting-started/),
[Configuration](https://sabuhish.github.io/fastapi-mqtt/configuration/),
[Pydantic Models](https://sabuhish.github.io/fastapi-mqtt/models/),
[Advanced](https://sabuhish.github.io/fastapi-mqtt/advanced/).

# Contributing

Feel free to open issues and send pull requests.

Thanks To [Contributors](https://github.com/sabuhish/fastapi-mqtt/graphs/contributors).
Contributions of any kind are welcome!

Before you start please read [CONTRIBUTING](https://github.com/sabuhish/fastapi-mqtt/blob/master/CONTRIBUTING.md),
which also explains how to run the tests and the examples.

