An Elixir library for sending iOS (APNS), Android (FCM), and Amazon Android (ADM) push notifications.
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.
Elixir developers building backend services or applications that need to send push notifications to iOS and Android mobile devices.
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.
iOS and Android push notifications for Elixir
Supports APNS, FCM, and ADM from a single library, abstracting the complexities of each service's protocol and connection management.
Allows spinning up runtime dispatchers for custom configurations or connection pools, enabling advanced use cases as highlighted in the README.
Provides a framework for writing custom adapters to support additional push notification services, ensuring long-term adaptability beyond built-in options.
Manages HTTP/2 connections and token renewal for each service, reducing boilerplate code and minimizing connection-related errors.
Version 2.0 introduced breaking changes from v1.6, requiring a migration effort that can disrupt existing implementations, as noted in the upgrade guide.
Testing requires setting various environment variables for credentials, adding overhead to local development and CI/CD pipelines, as mentioned in the testing section.
Tightly coupled to Elixir and BEAM, making it unsuitable for polyglot projects or teams using other backend languages or frameworks.
Lacks built-in tools for analytics or dashboards to track notification delivery and engagement, necessitating external solutions for comprehensive monitoring.
Elixir client libraries for accessing Google APIs.
An Elixir Library for Stripe
Slack real time messaging and web API client in Elixir
A complete payment library for Elixir and Phoenix Framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.