Skip to main content

Programmable, extensible and easy to use notification system

Project description

Programmatically send notifications!

About

Have you ever been in a situation where you’ve been simply twiddling your thumbs, waiting for your program to finish compiling/running? Are you into Deep Learning and need a way to notify yourself when your program crashes or is done learning to do the impossible?

Then Herald is for you!

With a simple, extensible and pythonic interface, you can get setup with a programmatic way of notifying yourself and/or your teammates about different events in your code.

The following platforms are currently supported:

  • GMail
  • Twilio

Need to use it with a custom platform? You can easily write your own notifier and plug it in to handle that, making Herald infinitely extensible.

Installation

The easy pip install herald-notify.

Usage

The primary way to use Herald is like a context manager. E.g.

import herald
from herald import notifiers

# Send yourself a mail in Gmail to notify you
# Assumes your Gmail tokens have been set up properly
notifier = notifiers.GmailNotifier()

with Herald(notifier, message="Model Trained!"):
    # super long running process
    train_model()
    ...

You should get an email in your registered Gmail account at the end of the program.

You can also specify notifications at arbitrary points via the notifier call:

import herald
from herald import notifiers

notifier = notifiers.TerminalNotifier("Whoop de doo!")

notifier.notify("A new custom message")

# Send the original message from the constructor
notifier.notify()

Contributing

If you find bugs, please feel free to submit an Issue, or even better, a Pull Request!

Development

To set up your dev environment, perform the following steps: - Clone Herald - Inside the root directory, run pipenv shell to open a shell. - Finally run pipenv install to install all the dependencies.

At this point, you should be good to go!

Testing

WIP

Project details


Download files

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

Files for herald-notify, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size herald_notify-1.0.1-py2.py3-none-any.whl (8.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size herald-notify-1.0.1.tar.gz (4.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page