Skip to main content

Notify when your process finished

Project description

# easy_notifier


truly easily notify your process information when it finished

## Description

* Easy_notifier is a decorator that supports time-consuming, trial-and-error integrations.
* It can tell the start time, finish time, status, and return value when your process finished.
* It can tell your process end with slack, e-mail, or mac pop-up.
* Usage is very easy. only write `@easy_notifier` on your method.

Japanese document is [here](http://chie8842.hatenablog.com/entry/2018/01/21/152626).

## Installation

`pip install easy_notifier` or build from source.

```
git clone https://github.com/chie8842/easy_notifier
cd easy_notifier
pip install . -r requirements.txt
```

## Usage

Only three steps to use easy-notifier.

1. put config.ini at your current directory
2. write `@easy_notifier` on the method at your python script
3. execute your python script

```
@easy_notifier
def example_func()
...
...

```

You can use another file name with args as below.

```
@easy_notifier(~/.easy_notifier.cfg)
def example_func()
...
...

```

## Configurations

Put configuration file and set according to [config.ini.sample](https://github.com/chie8842/easy_notifier/blob/master/easy_notifier/config.ini.sample)

Explaination for each parameter is below.

* env
you can set ec2 or gce or local.
If you set ec2, `Name` tag is used for instance_name at notification.
Else if you set local, `hostname` is used for instance_name at notification.
gce is not integrated now.

* process_name
You can set any string which explain your process.
If you don't set this parameter, `func.__name__` will used as the process_name.

* notify_slack
Notify slack when this parameter is true/yes.

* notify_mac
Notify mac pop-up when this parameter is true/yes.
This parameter is ignored on Linux and Windows.

* notify_gmail
Notify from your gmail address to any other email address.
It is needed to go to this link and select Turn On when you first use with your gmail account.
https://www.google.com/settings/security/lesssecureapps

* incoming_webhook
Set your incoming webhook of Slack here whe you set notify_slack on.

* slack_id
Specify slack_id to mention when you set notify_slack on.

* channel
Set the channel for notification when you set notify_slack on.

* from_address
Set your gmail address when you set notify_gmail on.

* from_password
Set your gmail password when you set notify_gmail on.

* to_address
Set any email address to notify when you set notify_gmail on

Here is example of config file.

```
[easy_notifier]
env = ec2
incomming_webhook_url = https://hooks.slack.com/services/aaa/bbb
slack_id = chie-hayashida
process_name = test
channel = chie_test
```

## Notification Result Sample
![Slack succeeded](img/notify_slack_succeeded.png)
![Slack failed](img/notify_slack_failed.png)
![Gmail succeeded](img/notify_gmail_succeeded.png)
![mac pop-up](img/notify_mac_popup_succeeded.png)

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

easy_notifier-0.1.5.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file easy_notifier-0.1.5.tar.gz.

File metadata

File hashes

Hashes for easy_notifier-0.1.5.tar.gz
Algorithm Hash digest
SHA256 ad79bdfd0a8b401630e47e98cb6043e235d5a295f25b38cd5a95b1c5a809b0d9
MD5 3b8c79e9c9101c637aa07f58af367e7a
BLAKE2b-256 ed248b42d4276e433830c843c43e3fcbb5e9243d4ebc5db0ffded571a212f299

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