Modern, reliable and async-ready client for SignalR protocol
Project description
pysignalr
pysignalr is a modern, reliable and async-ready client for SignalR protocol. This project started as an asyncio fork of mandrewcito's signalrcore library.
Usage
Let's connect to TzKT, indexer and explorer of Tezos blockchain, and subscribe to all operations:
import asyncio
from contextlib import suppress
from typing import Any, Dict, List
from pysignalr.client import SignalRClient
from pysignalr.messages import CompletionMessage
async def on_open() -> None:
print('Connected to the server')
async def on_close() -> None:
print('Disconnected from the server')
async def on_message(message: List[Dict[str, Any]]) -> None:
print(f'Received message: {message}')
async def on_error(message: CompletionMessage) -> None:
print(f'Received error: {message.error}')
async def main():
client = SignalRClient('https://api.tzkt.io/v1/events')
client.on_open(on_open)
client.on_close(on_close)
client.on_error(on_error)
client.on('operations', on_message)
await asyncio.gather(
client.run(),
client.send('SubscribeToOperations', [{}]),
)
with suppress(KeyboardInterrupt, asyncio.CancelledError):
asyncio.run(main())
Roadmap to the stable release
- More documentation, both internal and user.
- Integration tests with containerized ASP hello-world server.
- Ensure that authentication works correctly.
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
pysignalr-0.1.0.tar.gz
(11.8 kB
view hashes)
Built Distribution
pysignalr-0.1.0-py3-none-any.whl
(14.1 kB
view hashes)
Close
Hashes for pysignalr-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aff25fa4cc2cf1ef5a8d855a9d95fb2cc55006146541dd76ad3117598a87d7d8 |
|
MD5 | a22fcbd78500c98eef674577cf411706 |
|
BLAKE2b-256 | 1a8be9313b77b0afc1b84bd126bc718a2e422a7a2dd09880e4a7b8acff43cc32 |