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 and ended up as a complete rewrite.
Usage
Let's connect to TzKT, an API and block explorer of Tezos blockchain, and subscribe to all operations:
import asyncio
from contextlib import suppress
from typing import Any
from typing import Dict
from typing import 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() -> None:
client = SignalRClient('https://api.tzkt.io/v1/ws')
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.2.0.tar.gz
(12.8 kB
view hashes)
Built Distribution
pysignalr-0.2.0-py3-none-any.whl
(14.7 kB
view hashes)
Close
Hashes for pysignalr-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf723f26c9af20542821cf46b6ff6bf6c61d0ff31ec2407e4b6dd49184985106 |
|
MD5 | fcceb89a4c3c1bd09b5af55f751ff587 |
|
BLAKE2b-256 | 6aeba8acef3a1f22e01da917eea214bac1e01f7db41bc627ab850814ba2d16d4 |