Metadata-Version: 2.1
Name: django-mqtt
Version: 0.4.0
Summary: UNKNOWN
Home-page: http://github.com/kfdm/django-mqtt
Author: Paul Traylor
License: MIT License
Project-URL: Issues, http://github.com/kfdm/django-mqtt/issues
Project-URL: Source Code, http://github.com/kfdm/django-mqtt
Description: # django-mqtt
        
        MQTT tools for Django project
        
        [![PyPI](https://img.shields.io/pypi/v/django-mqtt)](https://pypi.org/project/django-mqtt/)
        
        # Usage
        
        - Add `"dmqtt"` to your `INSTALLED_APPS`
        - Add `MQTT_HOST`, `MQTT_USER`, `MQTT_PASS`, `MQTT_PORT`
        - Run with `python manage.py mqtt`
        
        ```python
        from dmqtt.signals import connect, regex, topic
        from django.dispatch import receiver
        
        @receiver(connect)
        def on_connect(sender, **kwargs):
            sender.subscribe("#")
        
        @topic("some/mqtt/topic")
        def simple_topic(sender, topic, data, **kwargs):
            print(topic)
            print(data)
        
        @regex("^some/(?P<username>[^/]+)/(?P<device>[^/]+)$")
        def regex_topic(match, data, **kwargs):
            device = match.groupdict()
            print(device['username'], device['device])
            print(data)
        ```
        
        # Authentication
        
        ## mosquitto-go-auth
        
        Used with <https://github.com/iegomez/mosquitto-go-auth>
        
        ```python
        # From example project urls
        from django.contrib import admin
        from django.urls import include, path
        
        urlpatterns = [
            path("mosquitto/", include("dmqtt.mosquitto")),
            path("account/", include(("django.contrib.auth.urls", "auth"), namespace="auth")),
            path("admin/", admin.site.urls),
        ]
        ```
        
        ```
        # mosquitto configuration
        # https://github.com/iegomez/mosquitto-go-auth#http
        auth_plugin /mosquitto/go-auth.so
        auth_opt_backends http
        auth_opt_check_prefix false
        
        auth_opt_http_host example.com
        auth_opt_http_getuser_uri /mosquitto/getuser
        auth_opt_http_aclcheck_uri /mosquitto/aclcheck
        
        # If using https
        auth_opt_http_port 443
        auth_opt_http_with_tls true
        ```
        
Keywords: django mqtt
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
