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, Gitter, Pushbullet, Join, Hipchat, Zulip, Twilio, Pagerduty, Mailgun, PopcornNotify, StatusPage.io
- 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!
Via pip:
$ pip install notifiers Or Dockerhub:
$ docker pull liiight/notifiers >>>fromnotifiersimportget_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:
>>>fromnotifiersimportnotify>>>notify('pushover', user='foo', token='bar', message='test') <NotificationResponse,provider=Pushover,status=Success>$ notifiers pushover notify --user foo --token baz "This is so easy!" Directly add to your existing stdlib logging:
>>>importlogging>>>fromnotifiers.loggingimportNotificationHandler>>>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!')- Mentioned in Python Bytes podcast
- Many more providers!
- Low level providers (Amazon SNS, Google FCM, OS Toast messages) via
extradependencies
See 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.
