signalrcore
Python SignalR Core full client (transports and encodings).Compatible with azure / serverless functions.Also with automatic reconnect and manually reconnect.
What it is and what it does
Signalrcore is a Python client for ASP.NET Core SignalR, the real-time communication framework used in .NET applications. It implements the full SignalR protocol, allowing Python code to connect to and communicate with SignalR hubs on remote servers. The library handles connection negotiation, message framing, and automatic reconnection with configurable strategies.
The package supports three transport mechanisms (WebSockets, Server-Sent Events, and long polling) and two message encodings (plain text and msgpack binary), letting you choose the best fit for your network and performance requirements. It includes authentication via access tokens, custom headers, SSL certificate pinning, and logging hooks for debugging. The single runtime dependency is msgpack, used only when binary encoding is enabled.
Use it for:
- Connect a Python application to an Azure SignalR Service or on-premises ASP.NET Core SignalR hub for real-time notifications.
- Build a Python client that receives server-pushed updates from a .NET backend without polling.
- Implement bidirectional messaging between Python and .NET microservices using WebSocket or long-polling fallback.
- Integrate Python workers or scripts into a larger .NET ecosystem that relies on SignalR for event distribution.
- Test or mock SignalR server behavior from Python test suites or integration environments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python client library for connecting to ASP.NET Core SignalR servers, supporting multiple transports (WebSockets, Server-Sent Events, long polling) and message encodings (text and msgpack binary).
Yes, if you need to connect Python to an ASP.NET Core SignalR server. The library is actively maintained, has low install friction, and covers the full protocol surface. However, verify the license terms first—the metadata does not declare one—and confirm that the AsyncIO layer meets your concurrency needs if you plan to use it in production.
Install
signalrcore on PyPI
pip
pip install signalrcoreuv
uv add signalrcorepoetry
poetry add signalrcoreInstalling signalrcore
Before you install
Low friction: pure Python wheel with a single runtime dependency (msgpack). Actively maintained with a recent release and ongoing commits; the repository is not archived and shows steady development activity.
License in practice
License status is unclear—no SPDX identifier or raw license text is declared in the package metadata. Verify the actual license before use in proprietary or restricted contexts.
Quickstart
pip install signalrcore
from signalrcore.hub_connection_builder import HubConnectionBuilder
import logging
hub_connection = HubConnectionBuilder()\
.with_url("http://server_url")\
.configure_logging(logging.DEBUG)\
.build()
hub_connection.start()
Requires Python 3.9 or later; a running SignalR server is needed to test connections.
Verify before relying
- Exact license terms—metadata shows no SPDX or raw license field; check the repository for LICENSE file.
- Whether automatic reconnection strategies and custom SSL context support are production-ready or still in development.
- Current state of AsyncIO transport layer implementation and whether it is suitable for high-concurrency use.
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — msgpack |
| Maintenance | actively maintained — 170 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 233,140/month — #9,043 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: signalrcore-1.0.2-py3-none-any.whl
Keywords: signalr, core, client, 3.1+
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
pysignalrAsync-ready client library for connecting to…
permissive · top 15,000 on PyPI
websocket-clientwebsocket-client provides a Python WebSocket…
permissive · top 1,000 on PyPI
azure-mgmt-signalrManages Azure SignalR resources—creation,…
permissive · top 5,000 on PyPI
centrifuge-pythonWebSocket real-time client SDK for Centrifugo…
permissive · top 15,000 on PyPI
tornadoTornado is a Python web framework and…
permissive · top 1,000 on PyPI
websockifyTranslates WebSocket connections to normal TCP…
copyleft · top 15,000 on PyPI
aiohttp-sse-clientProvides an async Python client for consuming…
permissive · top 15,000 on PyPI
aiohttp-sse-client2Provides an async Python client for consuming…
permissive · top 15,000 on PyPI
mattermostdriverPython client library for the Mattermost API…
permissive · top 15,000 on PyPI
sse-starletteProvides Server-Sent Events streaming for…
permissive · top 1,000 on PyPI