Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

NotiHub - Plug-and-Play Notification Library

Python Version License

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 messages
  • send_email_notification(): For sending email notifications
  • send_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)

Source distribution for notihub 0.1.8rc0
File Size Uploaded Provenance
notihub-0.1.8rc0.tar.gz 10.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for notihub 0.1.8rc0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page