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.

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

Changelog

0.2.0 (2018-04-21)

  • Add PyPI badge to README

0.2.0 (2018-04-21)

  • Initial release

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

Uploaded Source

Built Distribution

aiocometd-0.2.1-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

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

Hashes for aiocometd-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8db70e4ccaec56e25fd55334b4e352e8f2ff4251f973fbd92cef1820c35e3973
MD5 d9b92d5b124bf02970c1f26f812d096d
BLAKE2b-256 39a79ee0b7a513fd9049dd9b4ac5c35ad7e2475f285ea363baf9c17734677580

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiocometd-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e13cb3866b9f9c95e6af5e5b4834c7d8f6672cc2466ec348e57071ca64579b8
MD5 a4b593fda2348ef09f5b0d1f0548623b
BLAKE2b-256 3ffb3eb0193efcafa3a8e8b7ddb6c7ecd2dfbf0a8dfb7a2e53e22c60dcde39f8

See more details on using hashes here.

Supported by

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