The easy way to send notifications
See the code
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.
Pushover, SimplePush, Slack, Gmail, Email (SMTP), Telegram, Pushbullet, Join, Zulip, Twilio, Pagerduty, Mailgun, StatusPage.io, iCloud, VictorOps (Splunk), Notify
Requires Python 3.10 or newer.
As a library, add it to your project with uv:
$ uv add notifiers
To use the CLI, run it with uvx without installing anything:
$ uvx notifiers --help
Or install the notifiers command once:
$ uv tool install notifiers
Via pip:
$ pip install notifiers
Via homebrew:
$ brew install notifiers
Or run the CLI with Docker:
$ docker run --rm ghcr.io/liiight/notifiers pushover notify --user foo --token baz "This is so easy!"
>>> from notifiers import get_notifier
>>> p = get_notifier('pushover')
>>> p.required
{'required': ['user', 'message', 'token']}
>>> p.notify(user='foo', token='bar', message='test')
<Response,provider=Pushover,status=Success, errors=None>
Or:
>>> from notifiers import notify
>>> notify('pushover', user='foo', token='bar', message='test')
<Response,provider=Pushover,status=Success, errors=None>
$ uvx notifiers pushover notify --user foo --token baz "This is so easy!"
Or, after uv tool install notifiers:
$ notifiers pushover notify --user foo --token baz "This is so easy!"
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!')
extra dependenciesSee Docs for more information
If you like this and want to buy me a cup of coffee, please click the donation button above or click this link ☕
Everyone interacting in the Notifiers project's codebases, issue trackers and chat rooms is expected to follow the PyPA Code of Conduct.
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
686 followers · starred Mar 2018
2,207 followers · starred Apr 2019
498 followers · starred Dec 2017
65 followers · starred Aug 2017
The easy way to send notifications
See the code
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.
Pushover, SimplePush, Slack, Gmail, Email (SMTP), Telegram, Pushbullet, Join, Zulip, Twilio, Pagerduty, Mailgun, StatusPage.io, iCloud, VictorOps (Splunk), Notify
Requires Python 3.10 or newer.
As a library, add it to your project with uv:
$ uv add notifiers
To use the CLI, run it with uvx without installing anything:
$ uvx notifiers --help
Or install the notifiers command once:
$ uv tool install notifiers
Via pip:
$ pip install notifiers
Via homebrew:
$ brew install notifiers
Or run the CLI with Docker:
$ docker run --rm ghcr.io/liiight/notifiers pushover notify --user foo --token baz "This is so easy!"
>>> from notifiers import get_notifier
>>> p = get_notifier('pushover')
>>> p.required
{'required': ['user', 'message', 'token']}
>>> p.notify(user='foo', token='bar', message='test')
<Response,provider=Pushover,status=Success, errors=None>
Or:
>>> from notifiers import notify
>>> notify('pushover', user='foo', token='bar', message='test')
<Response,provider=Pushover,status=Success, errors=None>
$ uvx notifiers pushover notify --user foo --token baz "This is so easy!"
Or, after uv tool install notifiers:
$ notifiers pushover notify --user foo --token baz "This is so easy!"
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!')
extra dependenciesSee Docs for more information
If you like this and want to buy me a cup of coffee, please click the donation button above or click this link ☕
Everyone interacting in the Notifiers project's codebases, issue trackers and chat rooms is expected to follow the PyPA Code of Conduct.
Overall
Maintained
Code review
PyPI
Latest release
Releases this year
686 followers · starred Mar 2018
2,207 followers · starred Apr 2019
498 followers · starred Dec 2017
65 followers · starred Aug 2017