CometD client for asyncio
Project description
aiocometd
aiocometd is a CometD client built using asyncio.
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
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())
Install
pip install aiocometd
Requirements
Python 3.6+
Changelog
0.2.0 (2018-04-21)
Add PyPI badge to README
0.2.0 (2018-04-21)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiocometd-0.2.1.tar.gz
(44.8 kB
view details)
Built Distribution
aiocometd-0.2.1-py3-none-any.whl
(22.6 kB
view details)
File details
Details for the file aiocometd-0.2.1.tar.gz
.
File metadata
- Download URL: aiocometd-0.2.1.tar.gz
- Upload date:
- Size: 44.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8db70e4ccaec56e25fd55334b4e352e8f2ff4251f973fbd92cef1820c35e3973 |
|
MD5 | d9b92d5b124bf02970c1f26f812d096d |
|
BLAKE2b-256 | 39a79ee0b7a513fd9049dd9b4ac5c35ad7e2475f285ea363baf9c17734677580 |
File details
Details for the file aiocometd-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: aiocometd-0.2.1-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e13cb3866b9f9c95e6af5e5b4834c7d8f6672cc2466ec348e57071ca64579b8 |
|
MD5 | a4b593fda2348ef09f5b0d1f0548623b |
|
BLAKE2b-256 | 3ffb3eb0193efcafa3a8e8b7ddb6c7ecd2dfbf0a8dfb7a2e53e22c60dcde39f8 |