Skip to main content

CometD client for asyncio

Project description

aiocometd

PyPI package Documentation Status Build status Coverage 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

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())

Changelog

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

Project details


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.3.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiocometd-0.2.3-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file aiocometd-0.2.3.tar.gz.

File metadata

  • Download URL: aiocometd-0.2.3.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aiocometd-0.2.3.tar.gz
Algorithm Hash digest
SHA256 cf2b76d0b8e91bc345e309bb24d0d850590428f71051799daf7e1cb8d47be517
MD5 29f47396fecfa97408dc8863f0d1dd15
BLAKE2b-256 0538103d5411e53863a5be6a89e2d98448a3fc97e3198d8408f3858c946ae59d

See more details on using hashes here.

File details

Details for the file aiocometd-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for aiocometd-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d136c2a39a7e4fe3c22971625d7616187b822fc55651bf2dbcc6341d34cec062
MD5 6727342e3ef23ffc0fd5828f6e0c9d22
BLAKE2b-256 12189d91e2cb5656ee79700e540355459029573820a7b8c675de3197ab738e6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page