Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. pigeon

pigeon

MITElixirv2.0.1

An Elixir library for sending iOS (APNS), Android (FCM), and Amazon Android (ADM) push notifications.

Visit WebsiteGitHubGitHub
675 stars155 forks0 contributors

What is pigeon?

Pigeon is an Elixir library that enables sending push notifications to iOS (via APNS), Android (via FCM), and Amazon Android (via ADM) devices. It abstracts the platform-specific protocols and connection management, providing a clean API for integrating mobile notifications into Elixir applications.

Target Audience

Elixir developers building backend services or applications that need to send push notifications to iOS and Android mobile devices.

Value Proposition

Developers choose Pigeon for its comprehensive multi-platform support, extensible adapter system for custom services, and ability to create dynamic runtime dispatchers for advanced notification workflows—all within a native Elixir interface.

Overview

iOS and Android push notifications for Elixir

Use Cases

Best For

  • Elixir Phoenix apps that need to send mobile push notifications
  • Backend services managing notifications for iOS and Android apps
  • Applications requiring dynamic notification dispatcher configurations
  • Projects needing to support APNS, FCM, and ADM from a single codebase
  • Teams wanting to extend push support to custom notification services
  • Server-side Elixir systems with advanced connection pooling needs for notifications

Not Ideal For

  • Projects exclusively needing web push notifications, as Pigeon focuses on mobile platforms (APNS, FCM, ADM).
  • Teams not using Elixir or the BEAM ecosystem for backend development.
  • Simple prototypes or MVPs where managed services like Firebase Cloud Messaging console reduce operational complexity.
  • Applications requiring built-in analytics dashboards for tracking notification delivery and engagement metrics.

Pros & Cons

Pros

Unified Multi-Platform API

Supports APNS, FCM, and ADM from a single library, abstracting the complexities of each service's protocol and connection management.

Dynamic Dispatcher Flexibility

Allows spinning up runtime dispatchers for custom configurations or connection pools, enabling advanced use cases as highlighted in the README.

Extensible Adapter System

Provides a framework for writing custom adapters to support additional push notification services, ensuring long-term adaptability beyond built-in options.

Automatic Connection Handling

Manages HTTP/2 connections and token renewal for each service, reducing boilerplate code and minimizing connection-related errors.

Cons

Breaking Changes Burden

Version 2.0 introduced breaking changes from v1.6, requiring a migration effort that can disrupt existing implementations, as noted in the upgrade guide.

Complex Credential Setup

Testing requires setting various environment variables for credentials, adding overhead to local development and CI/CD pipelines, as mentioned in the testing section.

Elixir Ecosystem Dependency

Tightly coupled to Elixir and BEAM, making it unsuitable for polyglot projects or teams using other backend languages or frameworks.

No Integrated Monitoring

Lacks built-in tools for analytics or dashboards to track notification delivery and engagement, necessitating external solutions for comprehensive monitoring.

Frequently Asked Questions

Quick Stats

Stars675
Forks155
Contributors0
Open Issues38
Last commit11 months ago
CreatedSince 2015

Tags

#hex#ios#elixir#fcm#amazon#android#erlang#backend#mobile-development#apns#push-notifications#hex-package

Built With

E
Erlang
E
Elixir

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 1 day ago

Related Projects

google-cloudgoogle-cloud

Elixir client libraries for accessing Google APIs.

Stars1,074
Forks463
Last commit2 months ago
stripity_stripestripity_stripe

An Elixir Library for Stripe

Stars1,067
Forks375
Last commit6 days ago
slackslack

Slack real time messaging and web API client in Elixir

Stars681
Forks182
Last commit1 year ago
gringottsgringotts

A complete payment library for Elixir and Phoenix Framework

Stars499
Forks54
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub