Metadata-Version: 2.1
Name: rohrpost
Version: 3.0.0a2
Summary: rohrpost WebSocket protocol for ASGI
Home-page: https://github.com/axsemantics/rohrpost
Author: Tobias Kunze
Author-email: tobias.kunze@ax-semantics.com
License: MIT
Project-URL: Documentation, https://rohrpost.readthedocs.io/en/stable/
Project-URL: Changelog, https://github.com/axsemantics/rohrpost/blob/main/CHANGELOG.rst
Project-URL: Source, https://github.com/axsemantics/rohrpost
Project-URL: Tracker, https://github.com/axsemantics/rohrpost/issues
Description: rohrpost |ghactions| |coveralls| |pypi|
        =======================================
        
        `rohrpost` is a simple WebSocket protocol that works well with Django_ using
        Channels_. It will interface with every service implementing the ASGI_
        specification (which, at the moment, is primarily Channels_ with Daphne_).
        
        The client implementation is rohrpost-js_.
        
        Capabilities
        ------------
        
        `rohrpost` specifies a very simple protocol with messages looking like this:
        
        .. code:: JSON
        
            {
                "id": 123,
                "type": "ping",
                "data": "something",
            }
        
        This message will be handled by the ping handler (which rohrpost provides out
        of the box). You can add custom handlers using a method decorator. Please see
        `our documentation`_ for details on the protocol and handler implementation.
        
        `rohrpost` also provides a mixin for Django_ models to push notifications on
        changes (create, update, delete).
        
        Installation
        ------------
        
        From the command line::
        
            pip install rohrpost
        
        Or add this line to your `requirements.txt`::
        
            rohrpost==3.*
        
        Development
        -----------
        
        For development you'll need to have the test environment installed. This is
        rather large since `rohrpost` works mainly in conjunction with Channels_,
        Daphne_, Django_ and so on. ::
        
            pip install -r requirements/dev.txt
        
        Run tests and style checks in this directory::
        
            py.test
            pylava
            isort .
            black rohrpost tests
        
        
        .. _ASGI: https://channels.readthedocs.io/en/latest/asgi.html
        .. _Channels: https://github.com/django/channels
        .. _Daphne: https://github.com/django/daphne/
        .. _Django: https://www.djangoproject.com/
        .. _rohrpost-js: https://github.com/axsemantics/rohrpost-js
        .. _our documentation: https://rohrpost.readthedocs.io
        .. |ghactions| image:: https://github.com/axsemantics/rohrpost/workflows/Tests/badge.svg
            :target: https://github.com/axsemantics/rohrpost/actions/workflows/tests.yml
        .. |coveralls| image:: https://coveralls.io/repos/github/axsemantics/rohrpost/badge.svg?branch=main
            :target: https://coveralls.io/github/axsemantics/rohrpost?branch=main
        .. |pypi| image:: https://img.shields.io/pypi/v/rohrpost.svg
            :target: https://pypi.python.org/pypi/rohrpost/
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
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 :: Only
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
