Programmable, extensible and easy to use notification system
Programmatically send notifications!
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:
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.
The easy pip install herald-notify.
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()
If you find bugs, please feel free to submit an Issue, or even better, a Pull Request!
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!
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for herald_notify-1.0.1-py2.py3-none-any.whl