Skip to main content

Client Open Libraries

Channels API libraries

Sending and receiving messages with Channels-compatible APIs requires libraries.

Libraries are commonly split into two categories:

  • Client: mostly used to consume realtime events over WebSockets, and may also publish client events.
  • Server: used to publish events, call HTTP APIs, authenticate/authorize users, and process webhooks.

Official libraries

The following libraries are maintained by Pusher.

Client libraries

LibraryMaintainerDocsCode
Android (uses Java library)PusherGitHubpusher/pusher-websocket-android
AngularJS (uses JavaScript library)PusherGitHubpusher/pusher-angular
iOS: Swift and Objective-CPusherGitHubpusher/pusher-websocket-swift
iOS: Objective-CPusherDocspusher/libPusher
JavaPusherGitHubpusher/pusher-websocket-java
JavaScriptPusherDocspusher/pusher-js
.NETPusherGitHubpusher/pusher-websocket-dotnet
UnityPusherGitHubpusher/pusher-websocket-unity
FlutterPusherGitHubpusher/pusher-channels-flutter
React NativePusherGitHubpusher/pusher-websocket-react-native

Official server libraries

LibraryMaintainerDocsCode
GoPushergodoc.orgpusher/pusher-http-go
JavaPusherGitHubpusher/pusher-http-java
.NETPusherGitHubpusher/pusher-http-dotnet
Node.jsPusherGitHubpusher/pusher-http-node
PHPPusherGitHubpusher/pusher-http-php
PythonPusherGitHubpusher/pusher-http-python
RubyPusherGitHubpusher/pusher-http-ruby
SwiftPusherGitHubpusher/pusher-http-swift

Community libraries

These are community-maintained libraries. They may be incomplete and are not officially supported by Pusher.

ActionScript

LibraryTypeMaintainerDocsCode
PusherASClientrocketengine.ioGitHubrocketengineio/PusherAS
Pusher-ActionScript-LibraryClientShawn Makison-smakinson/Pusher-ActionScript-Library

Android

Also see Java.

LibraryTypeMaintainerDocsCode
titanium_pusher_androidClientRuben FonsecaGitHubpusher/titanium_pusher_android

Arduino

LibraryTypeMaintainerDocsCode
ArduinoPusherClientClientKevin RohlingGitHubkrohling/ArduinoPusherClient

C++

LibraryTypeMaintainerDocsCode
niv/pusher-websocket-cppClientnivGitHubniv/pusher-websocket-cpp
pusherppServerMazen AbdulazizGitHubparallelfold/pusherpp
BenPope/pusher-cppClient and ServerBenPopeGitHubBenPope/pusher-cpp

Clojure

LibraryTypeMaintainerDocsCode
clj-pusherServerBartosz BlimkeGitHubbblimke/clj-pusher

Coldfusion

LibraryTypeMaintainerDocsCode
Pusher.cfcServerBen NadelGitHubbennadel/Pusher.cfc

Dart

LibraryTypeMaintainerDocsCode
Dart PusherServerAdao Juniordartdocs.orgadaojunior/pusher

Elixir

LibraryTypeMaintainerDocsCode
PushestClientTomas Koutskyhexdocs.pmstepnivlk/pushest

Flutter

LibraryTypeMaintainerDocsCode
flutter_pusherClientGenertGitHubninjasolutions/flutter_pusher
pusher_clientClientchinloyalGitHubchinloyal/pusher_client

Grails

See Groovy.

Groovy

LibraryTypeMaintainerDocsCode
groovy-libpusherServerzenuevoGitHubzenuevo/groovy-libpusher
pusher-pluginServermicpangoGitHubmicpango/pusher-plugin

Haskell

LibraryTypeMaintainerDocsCode
pusher-http-haskellServerWill Sewellhackage.haskell.orgWillSewell/pusher-http-haskell
pusher-haskellServerSid RavalGitHubsidraval/pusher-haskell
pusher-wsClientbarrucaduhackage.haskell.orgbarrucadu/pusher-ws

iOS

Also see Objective-C.

LibraryTypeMaintainerDocsCode
titanium_pusher_iosClientRuben FonsecaGitHubpusher/titanium_pusher_ios

Java

Also see Android.

LibraryTypeMaintainerDocsCode
JavaPusherClientClientJustin SchultzGitHubjmschultz/JavaPusherClient
gae-java-libpusherServer-GitHubmarcbaechinger/gae-java-libpusher
Play2PusherServerTindr SolutionsGitHubtindr/Play2Pusher
Play-PusherServerregisbambaGitHubregisbamba/Play-Pusher

JavaScript

LibraryTypeMaintainerDocsCode
Laravel EchoClientLaravellaravel.comlaravel/echo

.NET

LibraryTypeMaintainerDocsCode
pusher-universalClientGateway AppsGitHubgatewayapps/pusher-universal
Pusher.NETClientDigital Creations ASGitHubdigitalcreations/Pusher.NET
JDI PusherClientClientJim Stabilejdipusherclient.codeplex.comjdipusherclient.codeplex.com

Node.js

Also see JavaScript.

LibraryTypeMaintainerDocsCode
pusher-node-clientClientAbhishiv SaxenaGitHubabhishiv/pusher-node-client

Objective-C

Also see iOS.

LibraryTypeMaintainerDocsCode
BullyClientSam SoffesGitHubsamsoffes/bully

Perl

LibraryTypeMaintainerDocsCode
WWW::PusherServerSqueeksGitHubpusher/pusher-perl-server

PHP

LibraryTypeMaintainerDocsCode
LaravelServerLaravellaravel.comlaravel/laravel
ZfrPusherServerMichael GallegoGitHubzf-fr/zfr-pusher
Channels PHP SDK for CodeIgniterServerMattias HedmanGitHubdarkwhispering/pusher-for-codeigniter
SymfonyServerPierre-Louis LaunayGitHublaupiFrpar/LopiPusherBundle
Zend Framework 2ServerMichael GallegoGitHubzf-fr/zfr-pusher-module
Yii PHP FrameworkServernk913yiiframework.comyiiframework.com
Kohana 3Server2bjGitHub2bj/Pushko
FuelPHPServerAhmad ShahGitHublembubintik/pusherapp
DrupalServerfabianderijkdrupal.orgdrupal.org

Python

LibraryTypeMaintainerDocsCode
PysherClientNils DiefenbachGitHubnlsdfnbch/Pysher

React

LibraryTypeMaintainerDocsCode
react-pusher-hocClientFelix WostalGitHubfel1xw/react-pusher-hoc

QML

LibraryTypeMaintainerDocsCode
qml-pusherClientJason BarronGitHubCutehacks/qml-pusher

Ruby

LibraryTypeMaintainerDocsCode
pusher-websocket-rubyClientLogan KoesterGitHubpusher/pusher-websocket-ruby

Scala

LibraryTypeMaintainerDocsCode
dtaniwaki/akka-pusherServerdtaniwakiGitHubdtaniwaki/akka-pusher