python-alert

Multi-Platform Python tool to send notifications to your devices


Keywords
python-alert, alert-me, notify-me, email, notification
License
MIT
Install
pip install python-alert==0.1.0

Documentation

alert-me

Multi-Platform Python tool to send notifications to your devices. alert-me allows you to send notifications to your devices using different services.

📝 Table of Contents

📕 About

alert-me is a multi-platform Python tool to send notifications to your devices. It supports different plugins to send notifications via different services.

Available plugins:

  • Email
  • Telegram
  • Url

Creating additional plugins is easy. Just create a new class that inherits from Plugin and implements the notify method.

⚙️ Installation

Python repository

The easiest way to get alert-me is through the pypi.org repository. Install it by running the following command:

pip install python-alert

Building from source

To install alert-me from source, clone this repository and run pip install . as follows:

git clone https://github.com/NeverMendel/alert-me.git
cd alert-me
pip install .

📖 Usage

Command line

alert-me can be used from the command line by invoking the alert-me command. It accepts a number of arguments to configure the alert.

alert-me -p telegram <TOKEN> <CHAT_ID> "Hello!"

alert-me -c telegram "Hello!"
alert-me -c email to_email@example.com "subject" "body"

Python

alert-me can be used as a Python module by importing AlertMe.

from alert_me.alert_me import AlertMe
from alert_me.plugins.telegram import TelegramPlugin
from alert_me.config import get_config

alert_me = AlertMe([TelegramPlugin("<TOKEN>", "<CHAT_ID>")])
alert_me.notify("Hello!")

alert_me = AlertMe([get_config("email")])
alert_me.notify("to_email@example.com", "subject", "body")

Config

alert-me can be used to fetch the configuration from a file. The file must be in the INI format and be located in the user home directory (~/.alert-me.ini).

Here is an example of a configuration file:

[telegram]
plugin = telegram
token = <TOKEN>
chat_id = <CHAT_ID>

[email]
plugin = email
smtp_server = <SMTP_SERVER>
smtp_port = <SMTP_PORT>
sender_email = <SENDER_EMAIL>
sender_password = <SENDER_PASSWORD>

Command line arguments

usage: alert-me [-h] (-c CONFIG_UNPROCESSED | -p PLUGIN) [-v] [-vv] [-V] ...

Multi-Platform Python tool to send notifications to your devices

positional arguments:
  args                  Plugin and/or notify arguments

options:
  -h, --help            show this help message and exit
  -c CONFIG_UNPROCESSED, --config CONFIG_UNPROCESSED
                        Configuration name
                        syntax: --config=[config_name1],[config_name2],...
                        example: --config=telegram,email
  -p PLUGIN, --plugin PLUGIN
                        Plugin name
  -v, --verbose         enable verbose logging
  -vv, --extra-verbose  enable extra verbose logging
  -V, --version         show program's version number and exit

License

MIT License