--- id: pusher version: "3.3.4" license: MIT license_treatment: permissive maintenance: active --- # pusher — A Python library to interract with the Pusher Channels API License: permissive · Maintenance: active · Downloads: 3.3M/mo ## 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 above — verify before relying. Pusher is a Python client library for the Pusher Channels API, enabling you to trigger real-time events to clients, query channel state, validate webhooks, and authenticate private or presence channels from a server. 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 pip install pusher uv add pusher poetry add pusher ## Installing pusher 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. 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'}) Requires a Pusher Channels account with valid app credentials (app_id, key, secret, cluster). Python 3.6 or above is required. 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: unspecified - Install friction: low - Maintenance: active - Downloads: 3.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags pusher channels python client, real-time event triggering, websocket channel management, pusher webhook validation, presence channel authentication, server-side push notifications, channel state querying, real-time-messaging, websockets, rest-client [View on SkillFed](https://skillfed.io/packages/pusher) · [View on PyPI](https://pypi.org/project/pusher/)