pusher
A Python library to interract with the Pusher Channels API
Decision gist · record as of 2026-08-14
Yes. Pusher is actively maintained, has no known vulnerabilities, and offers low install friction with a pure-Python wheel. It is well-suited for any Python backend that needs to integrate with Pusher Channels for real-time messaging. The main condition is that you have a Pusher account and are willing to depend on the Pusher service; it is not a standalone real-time library but a client for a hosted platform.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a Pusher Channels account with valid app credentials (app_id, key, secret, cluster).
- Python 3.6 or above is required.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
MIT (permissive) — MIT license is permissive and imposes minimal restrictions. You can use, modify, and distribute this package freely in commercial and private projects with only attribution required.
last release 2026-03-19 (148 days) · last repo commit 2026-08-05 · 392 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,297,984 downloads/mo, #2,668 on PyPI
Alternatives
Verify before relying
pip install pusher
import pusher
pusher_client = pusher.Pusher(app_id=u'4', key=u'key', secret=u'secret', cluster=u'cluster')
pusher_client.trigger(u'a_channel', u'an_event', {u'some': u'data'})- Whether the aiohttp and tornado adapters mentioned in the description are fully functional or require additional setup beyond the base install.
- Performance characteristics and rate limits when triggering events to many channels or with large payloads.
- End-to-end encryption support stability and whether encryption_master_key_base64 is production-ready.
What it is and what it does
Pusher is a Python HTTP client for the Pusher Channels real-time messaging service. It lets you send events from your server to connected clients over WebSocket channels, query the state of those channels (user counts, subscriber lists), and manage authentication for private and presence channels. The library handles webhook validation, signature generation for socket subscriptions, and supports multiple HTTP backends (requests, urlfetch, aiohttp, tornado) to fit different deployment environments.
You instantiate a Pusher client with your app credentials, then call methods like trigger() to broadcast events, channels_info() to inspect channel state, or authenticate_subscription() to validate client channel joins. The library manages HTTP communication, JSON serialization, and cryptographic signing internally. It requires a free Pusher account and valid application credentials to function.
Use it for
- Broadcast real-time notifications to web or mobile clients when server-side events occur (e.g., order status updates, chat messages).
- Query active channel subscriptions and user presence to display live user counts or online status in your application.
- Validate webhook payloads from Pusher to ensure they originated from your account and process them securely.
- Authenticate private or presence channel subscriptions from clients, controlling who can join which channels.
- Send targeted messages to specific users by user ID rather than broadcasting to a channel.
- Batch multiple events in a single HTTP request to reduce overhead when triggering many events at once.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Pusher is actively maintained, has no known vulnerabilities, and offers low install friction with a pure-Python wheel. It is well-suited for any Python backend that needs to integrate with Pusher Channels for real-time messaging. The main condition is that you have a Pusher account and are willing to depend on the Pusher service; it is not a standalone real-time library but a client for a hosted platform.
Install
pusher on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release and no known vulnerabilities. Seven runtime dependencies (six, requests, urllib3, pyopenssl, ndg-httpsclient, pyasn1, pynacl) are all well-established libraries, though the cryptography stack adds some complexity.
Requires a Pusher Channels account with valid app credentials (app_id, key, secret, cluster). Python 3.6 or above is required.
License in practice
MIT license is permissive and imposes minimal restrictions. You can use, modify, and distribute this package freely in commercial and private projects with only attribution required.
Quickstart
pip install pusher
import pusher
pusher_client = pusher.Pusher(app_id=u'4', key=u'key', secret=u'secret', cluster=u'cluster')
pusher_client.trigger(u'a_channel', u'an_event', {u'some': u'data'})
Verify before relying
- Whether the aiohttp and tornado adapters mentioned in the description are fully functional or require additional setup beyond the base install.
- Performance characteristics and rate limits when triggering events to many channels or with large payloads.
- End-to-end encryption support stability and whether encryption_master_key_base64 is production-ready.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagessixrequestsurllib3pyopensslndg-httpsclientpyasn1pynacl |
| Maintenance | Actively maintained 148 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,297,984 / month, #2,668 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Internet :: WWW/HTTP |
Evidence: pusher-3.3.4-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pusher channels python client”
- pusherPusher is a Python client library for the Pusher Channels API,…
- PysherPysher is a Python client library for consuming Pusher WebSocket…
- centPython SDK for communicating with Centrifugo v5 and v6 servers via…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also Pysher · channels-redis · django-eventstream · pubnub · twitchAPI · realtime · ably · aiochannel · apns2-up · standardwebhooks