Metadata-Version: 2.1
Name: aiocometd
Version: 0.4.2
Summary: CometD client for asyncio
Home-page: https://github.com/robertmrk/aiocometd
Author: Róbert Márki
Author-email: gsmiko@gmail.com
License: MIT
Project-URL: CI, https://travis-ci.org/robertmrk/aiocometd
Project-URL: Coverage, https://coveralls.io/github/robertmrk/aiocometd
Project-URL: Docs, http://aiocometd.readthedocs.io/
Description: aiocometd
        =========
        
        .. image:: https://badge.fury.io/py/aiocometd.svg
            :target: https://badge.fury.io/py/aiocometd
            :alt: PyPI package
        
        .. image:: https://readthedocs.org/projects/aiocometd/badge/?version=latest
            :target: http://aiocometd.readthedocs.io/en/latest/?badge=latest
            :alt: Documentation Status
        
        .. image:: https://travis-ci.org/robertmrk/aiocometd.svg?branch=develop
            :target: https://travis-ci.org/robertmrk/aiocometd
            :alt: Build status
        
        .. image:: https://coveralls.io/repos/github/robertmrk/aiocometd/badge.svg
            :target: https://coveralls.io/github/robertmrk/aiocometd
            :alt: Coverage
        
        .. image:: https://img.shields.io/badge/License-MIT-yellow.svg
            :target: https://opensource.org/licenses/MIT
            :alt: MIT license
        
        aiocometd is a CometD_ client built using asyncio_, implementing the Bayeux_
        protocol.
        
        CometD_ is a scalable WebSocket and HTTP based event and message routing bus.
        CometD_ makes use of WebSocket and HTTP push technologies known as Comet_ to
        provide low-latency data from the server to browsers and client applications.
        
        Features
        --------
        
        - Supported transports:
           - ``long-polling``
           - ``websocket``
        - Automatic reconnection after network failures
        - Extensions
        
        Usage
        -----
        
        .. code-block:: python
        
            import asyncio
        
            from aiocometd import Client
        
            async def chat():
                nickname = "John"
        
                # connect to the server
                async with Client("http://example.com/cometd") as client:
        
                        # subscribe to channels to receive chat messages and
                        # notifications about new members
                        await client.subscribe("/chat/demo")
                        await client.subscribe("/members/demo")
        
                        # send initial message
                        await client.publish("/chat/demo", {
                            "user": nickname,
                            "membership": "join",
                            "chat": nickname + " has joined"
                        })
                        # add the user to the chat room's members
                        await client.publish("/service/members", {
                            "user": nickname,
                            "room": "/chat/demo"
                        })
        
                        # listen for incoming messages
                        async for message in client:
                            if message["channel"] == "/chat/demo":
                                data = message["data"]
                                print(f"{data['user']}: {data['chat']}")
        
            if __name__ == "__main__":
                loop = asyncio.get_event_loop()
                loop.run_until_complete(chat())
        
        Documentation
        -------------
        
        https://aiocometd.readthedocs.io/
        
        .. _aiohttp: https://github.com/aio-libs/aiohttp/
        .. _CometD: https://cometd.org/
        .. _Comet: https://en.wikipedia.org/wiki/Comet_(programming)
        .. _asyncio: https://docs.python.org/3/library/asyncio.html
        .. _Bayeux: https://docs.cometd.org/current/reference/#_bayeux
        .. _ext: https://docs.cometd.org/current/reference/#_bayeux_ext
        
        Changelog
        =========
        
        0.4.2 (2019-01-15)
        ------------------
        
        - Fix the handling of invalid websocket transport responses
        - Fix the handling of failed subscription responses
        
        0.4.1 (2019-01-04)
        ------------------
        
        - Add documentation links
        
        0.4.0 (2019-01-04)
        ------------------
        
        - Add type hints
        - Add integration tests
        
        0.3.1 (2018-06-15)
        ------------------
        
        - Fix premature request timeout issue
        
        0.3.0 (2018-05-04)
        ------------------
        
        - Enable the usage of third party JSON libraries
        - Fix detection and recovery from network failures
        
        0.2.3 (2018-04-24)
        ------------------
        
        - Fix RST rendering issues
        
        0.2.2 (2018-04-24)
        ------------------
        
        - Fix documentation typos
        - Improve examples
        - Reorganise documentation
        
        0.2.1 (2018-04-21)
        ------------------
        
        - Add PyPI badge to README
        
        0.2.0 (2018-04-21)
        ------------------
        
        - Supported transports:
           - ``long-polling``
           - ``websocket``
        - Automatic reconnection after network failures
        - Extensions
Keywords: asyncio aiohttp comet cometd bayeux push streaming
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Framework :: AsyncIO
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.6.0
Provides-Extra: examples
Provides-Extra: docs
Provides-Extra: tests
Provides-Extra: dev
