The easy way to send notifications
Project description
Notifiers
=========
![Full logo](https://raw.githubusercontent.com/notifiers/notifiers/develop/assets/images/circle_full_logo.png)
[![Travis CI](https://img.shields.io/travis/notifiers/notifiers/master.svg?style=flat-square) ](https://travis-ci.org/notifiers/notifiers) [![Codecov](https://img.shields.io/codecov/c/github/notifiers/notifiers/master.svg?style=flat-square) ](https://codecov.io/gh/notifiers/notifiers) [![image](https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat-square) ](https://gitter.im/notifiers/notifiers) [![PyPi version](https://img.shields.io/pypi/v/notifiers.svg?style=flat-square) ](https://pypi.python.org/pypi/notifiers) [![Supported Python versions](https://img.shields.io/pypi/pyversions/notifiers.svg?style=flat-square) ](https://pypi.org/project/notifiers) [![License](https://img.shields.io/pypi/l/notifiers.svg?style=flat-square) ](https://choosealicense.com/licenses) [![Status](https://img.shields.io/pypi/status/notifiers.svg?style=flat-square) ](https://pypi.org/project/notifiers/) [![Docker build](https://img.shields.io/docker/build/liiight/notifiers.svg?style=flat-square) ](https://hub.docker.com/r/liiight/notifiers/) [![RTD](https://img.shields.io/readthedocs/notifiers.svg?style=flat-square) ](https://readthedocs.org/projects/notifiers/badge/?version=latest) [![Paypal](https://img.shields.io/badge/Donate-PayPal-green.svg?style=flat-square) ](https://paypal.me/notifiers) [![Downloads](http://pepy.tech/badge/notifiers)](http://pepy.tech/count/notifiers)
[![Twitter Follow](https://img.shields.io/twitter/follow/liiight.svg?style=flat-square&logo=twitter&label=Follow) ](https://twitter.com/liiight)
See [changelog](http://notifiers.readthedocs.io/en/latest/changelog.html) 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](https://pushover.net/), [SimplePush](https://simplepush.io/), [Slack](https://api.slack.com/), [Gmail](https://www.google.com/gmail/about/), Email (SMTP), [Telegram](https://telegram.org/), [Gitter](https://gitter.im), [Pushbullet](https://www.pushbullet.com), [Join](https://joaoapps.com/join/), [Hipchat](https://www.hipchat.com/docs/apiv2), [Zulip](https://zulipchat.com/), [Twilio](https://www.twilio.com/), [Pagerduty](https://www.pagerduty.com), [Mailgun](https://www.mailgun.com/), [PopcornNotify](https://popcornnotify.com), [StatusPage.io](https://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](https://pypi.python.org/pypi/requests), [jsonschema](https://pypi.python.org/pypi/jsonschema/2.6.0) and [click](https://pypi.python.org/pypi/click/6.7)) 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
-----------
```python
>>> 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:
```python
>>> from notifiers import notify
>>> notify('pushover', user='foo', token='bar', message='test')
<NotificationResponse,provider=Pushover,status=Success>
```
From CLI
--------
```text
$ notifiers pushover notify --user foo --token baz "This is so easy!"
```
As a logger
-----------
Directly add to your existing stdlib logging:
```python
>>> 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
--------
- Mentioned in [Python Bytes](https://pythonbytes.fm/episodes/show/67/result-of-moving-python-to-github) podcast
In the near future
------------------
- Many more providers!
- Low level providers (Amazon SNS, Google FCM, OS Toast messages) via `extra` dependencies
See [Docs](http://notifiers.readthedocs.io/) 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](https://paypal.me/notifiers) ☕
=========
![Full logo](https://raw.githubusercontent.com/notifiers/notifiers/develop/assets/images/circle_full_logo.png)
[![Travis CI](https://img.shields.io/travis/notifiers/notifiers/master.svg?style=flat-square) ](https://travis-ci.org/notifiers/notifiers) [![Codecov](https://img.shields.io/codecov/c/github/notifiers/notifiers/master.svg?style=flat-square) ](https://codecov.io/gh/notifiers/notifiers) [![image](https://img.shields.io/gitter/room/nwjs/nw.js.svg?style=flat-square) ](https://gitter.im/notifiers/notifiers) [![PyPi version](https://img.shields.io/pypi/v/notifiers.svg?style=flat-square) ](https://pypi.python.org/pypi/notifiers) [![Supported Python versions](https://img.shields.io/pypi/pyversions/notifiers.svg?style=flat-square) ](https://pypi.org/project/notifiers) [![License](https://img.shields.io/pypi/l/notifiers.svg?style=flat-square) ](https://choosealicense.com/licenses) [![Status](https://img.shields.io/pypi/status/notifiers.svg?style=flat-square) ](https://pypi.org/project/notifiers/) [![Docker build](https://img.shields.io/docker/build/liiight/notifiers.svg?style=flat-square) ](https://hub.docker.com/r/liiight/notifiers/) [![RTD](https://img.shields.io/readthedocs/notifiers.svg?style=flat-square) ](https://readthedocs.org/projects/notifiers/badge/?version=latest) [![Paypal](https://img.shields.io/badge/Donate-PayPal-green.svg?style=flat-square) ](https://paypal.me/notifiers) [![Downloads](http://pepy.tech/badge/notifiers)](http://pepy.tech/count/notifiers)
[![Twitter Follow](https://img.shields.io/twitter/follow/liiight.svg?style=flat-square&logo=twitter&label=Follow) ](https://twitter.com/liiight)
See [changelog](http://notifiers.readthedocs.io/en/latest/changelog.html) 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](https://pushover.net/), [SimplePush](https://simplepush.io/), [Slack](https://api.slack.com/), [Gmail](https://www.google.com/gmail/about/), Email (SMTP), [Telegram](https://telegram.org/), [Gitter](https://gitter.im), [Pushbullet](https://www.pushbullet.com), [Join](https://joaoapps.com/join/), [Hipchat](https://www.hipchat.com/docs/apiv2), [Zulip](https://zulipchat.com/), [Twilio](https://www.twilio.com/), [Pagerduty](https://www.pagerduty.com), [Mailgun](https://www.mailgun.com/), [PopcornNotify](https://popcornnotify.com), [StatusPage.io](https://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](https://pypi.python.org/pypi/requests), [jsonschema](https://pypi.python.org/pypi/jsonschema/2.6.0) and [click](https://pypi.python.org/pypi/click/6.7)) 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
-----------
```python
>>> 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:
```python
>>> from notifiers import notify
>>> notify('pushover', user='foo', token='bar', message='test')
<NotificationResponse,provider=Pushover,status=Success>
```
From CLI
--------
```text
$ notifiers pushover notify --user foo --token baz "This is so easy!"
```
As a logger
-----------
Directly add to your existing stdlib logging:
```python
>>> 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
--------
- Mentioned in [Python Bytes](https://pythonbytes.fm/episodes/show/67/result-of-moving-python-to-github) podcast
In the near future
------------------
- Many more providers!
- Low level providers (Amazon SNS, Google FCM, OS Toast messages) via `extra` dependencies
See [Docs](http://notifiers.readthedocs.io/) 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](https://paypal.me/notifiers) ☕
Project details
Release history Release notifications | RSS feed
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.3.tar.gz
(30.6 kB
view hashes)
Built Distribution
notifiers-0.7.3-py3-none-any.whl
(50.5 kB
view hashes)
Close
Hashes for notifiers-0.7.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13ad74c307510633d2579f96d1e36cc2eec2b87cf048c3d511fa425c26b363e5 |
|
MD5 | 88d374a72fcd31d7ab7aa4d747a91145 |
|
BLAKE2b-256 | 4e61baf51a1f63f614e0049909f6c3ebb1ca1ce2bf885f48c81fbb6693f868c1 |