Skip to main content

The easy way to send notifications

Project description

Notifiers

Full logo

Travis CI Codecov image PyPi version Supported Python versions License Status Docker build RTD Paypal Downloads Twitter Follow

See changelog for recent changes

Got an app or service and you want to enable your users to use notifications with their provider of choice? Working on a script and you want to receive notification based on its output? You don't need to implement a solution yourself, or use individual provider libs. A one stop shop for all notification providers with a unified and simple interface.

Supported providers

Pushover, SimplePush, Slack, Gmail, Email (SMTP), Telegram, Gitter, Pushbullet, Join, Hipchat, Zulip, Twilio, Pagerduty, Mailgun, PopcornNotify, StatusPage.io

Advantages

  • Spend your precious time on your own code base, instead of chasing down 3rd party provider APIs. That's what we're here for!
  • With a minimal set of well known and stable dependencies (requests, jsonschema and click) you're better off than installing 3rd party SDKs.
  • A unified interface means that you already support any new providers that will be added, no more work needed!
  • Thorough testing means protection against any breaking API changes. We make sure your code your notifications will always get delivered!

Installation

Via pip:

$ pip install notifiers

Or Dockerhub:

$ docker pull liiight/notifiers

Basic Usage

>>> from notifiers import get_notifier
>>> p = get_notifier('pushover')
>>> p.required
{'required': ['user', 'message', 'token']}
>>> p.notify(user='foo', token='bar', message='test')
<NotificationResponse,provider=Pushover,status=Success>

Or:

>>> from notifiers import notify
>>> notify('pushover', user='foo', token='bar', message='test')
<NotificationResponse,provider=Pushover,status=Success>

From CLI

$ notifiers pushover notify --user foo --token baz "This is so easy!"

As a logger

Directly add to your existing stdlib logging:

>>> import logging
>>> from notifiers.logging import NotificationHandler

>>> log = logging.getLogger(__name__)

>>> defaults = {
        'token': 'foo,
        'user': 'bar
    }
>>> hdlr = NotificationHandler('pushover', defaults=defaults)
>>> hdlr.setLevel(logging.ERROR)

>>> log.addHandler(hdlr)
>>> log.error('And just like that, you get notified about all your errors!')

Mentions

In the near future

  • Many more providers!
  • Low level providers (Amazon SNS, Google FCM, OS Toast messages) via extra dependencies

See Docs for more information

Donations

If you like this and want to buy me a cup of coffee, please click the donation button above or click this link

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

notifiers-0.7.4.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

notifiers-0.7.4-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

Details for the file notifiers-0.7.4.tar.gz.

File metadata

  • Download URL: notifiers-0.7.4.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for notifiers-0.7.4.tar.gz
Algorithm Hash digest
SHA256 218aa7c09c769afa7822802c1b3392d0eca1448653772c0d9a5e37fb038132e6
MD5 051953b6a3c468f290b710ac1866674f
BLAKE2b-256 b76e2c4fa6f0799435124a2fd25642297f879b07c058acf03136f64b7827d3ec

See more details on using hashes here.

File details

Details for the file notifiers-0.7.4-py3-none-any.whl.

File metadata

File hashes

Hashes for notifiers-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5a6aac07a60579622b5821e02622196ffb78ca11552d0e333683a147d4be3765
MD5 32206f3274362c3ffa62ecf3741a1856
BLAKE2b-256 3c8c1e8b23456fd149e9eb49fb391d4883737e8d551d21125d01ca063d924a6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page