This release is a pre-release and may not be stable for production use.
NotiHub - Plug-and-Play Notification Library
A unified, plug-and-play solution for sending notifications through various providers.
Introduction
NotiHub is a Python library designed to manage and use different notification services through a unified, plug-and-play interface. The library's core philosophy centers around providing a consistent abstraction layer over various notification providers, allowing developers to switch between services or use multiple providers simultaneously with minimal code changes.
Why NotiHub?
The plug-and-play design philosophy of NotiHub offers several key benefits:
- Consistency: All notification providers implement the same interface, ensuring consistent behavior across different services.
- Flexibility: Easy to add new notification providers or switch between existing ones without changing application code.
- Maintainability: Centralized configuration and error handling reduces code duplication.
- Extensibility: Simple to extend functionality for new notification channels or providers.
- Testability: Consistent interfaces make unit testing straightforward and provider-agnostic.
Quick Start
Install NotiHub using pip:
pip install notihub
Basic usage with AWS:
from notihub.client import NotifierClient
# Initialize AWS notifier
aws_notifier = NotifierClient.get_aws_notifier(
aws_access_key_id="your_access_key",
aws_secret_access_key="your_secret_key",
region_name="us-east-1"
)
# Send SMS via AWS SNS
aws_notifier.send_sms_notification(
phone_number="+1234567890",
message="Hello from NotiHub!"
)
Core Concepts
BaseNotifier Abstract Class
The BaseNotifier abstract class serves as the foundation for all notification providers in NotiHub. It defines the standard interface that all notifiers must implement, ensuring consistency across different services.
All notifiers in NotiHub inherit from the BaseNotifier abstract class, which defines three core methods:
send_sms_notification(): For sending SMS messagessend_email_notification(): For sending email notificationssend_push_notification(): For sending push notifications
This abstraction allows developers to write code that works with any supported notification provider without modification.
Supported Notifiers
NotiHub currently supports the following notification providers:
AWS Notifier
The AWS notifier provides integration with multiple AWS services:
- Amazon SNS: For SMS and push notifications
- Amazon SES: For email notifications
- Amazon Pinpoint: For advanced messaging capabilities
Twilio Notifier
The Twilio notifier provides integration with Twilio's communication platform, primarily focused on SMS messaging.
Further Documentation
For complete documentation, including installation instructions, usage examples, API references, and detailed configuration guides, please visit our Read the Docs documentation.
Contributing
We welcome contributions to NotiHub! Whether you're fixing bugs, adding new features, or improving documentation, your help is appreciated.
Please see our full contributing guidelines for details on our development workflow, code style guidelines, and how to add new providers.
Metadata
Release files for notihub 0.1.8rc0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| notihub-0.1.8rc0.tar.gz | 10.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| notihub-0.1.8rc0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.6 kB
Release files / notihub-0.1.8rc0.tar.gz
| Download URL | notihub-0.1.8rc0.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
17d5a61fbdc77eeff8d60917c14c24255ed3c89ae7cc231f9165a604fd4d4003
|
|
BLAKE2b-256 checksum How to use checksums |
c4723f750fdd98bfe4570251111ad6ff207edacbeb4cd2d080b4016401537640
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / notihub-0.1.8rc0-py3-none-any.whl
| Download URL | notihub-0.1.8rc0-py3-none-any.whl |
|---|---|
| Size | 13.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
458e4a52a98e3b7e684e91397c2a19d957531722a2b261e8380ce4b32495f8e5
|
|
BLAKE2b-256 checksum How to use checksums |
9bab33bd71d1e0c130e455f4951d5e633aa8318aacf0cb2a58525a2fbd3cfcea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Security for notihub 0.1.8rc0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.