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.

Source Distribution

herald-notify-1.0.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

herald_notify-1.0.1-py2.py3-none-any.whl (8.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file herald-notify-1.0.1.tar.gz.

File metadata

File hashes

Hashes for herald-notify-1.0.1.tar.gz
Algorithm Hash digest
SHA256 6c70306325a3f6ec617095c22d6ac85e69a0dca9969c6ad175edb2921cddfbe0
MD5 954c9cb78822a56618032faf37d0ad8f
BLAKE2b-256 72b11b2a9894ca159478d7e274d2a279a1da507d0a2ae92dd85dcd79e4cf5ec7

See more details on using hashes here.

File details

Details for the file herald_notify-1.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for herald_notify-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dcf7363240a5056bbbabdc8d622e2e9d6dbd530fac9b93ad1afe6c5835db8308
MD5 f7ad37a422b3e7e1e392d426c3d9b6cc
BLAKE2b-256 af5246074601d4bd1f30a3bdd8a30cc2725511e448a7d3c753dc661a3ee25964

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page