notipi is a python library to send custom notifications on Telegram and MacOS
Use cases include:
- Getting notified whenever a long running scripts finishes execution
- Knowing whenever a milestone is reached during ML / DL trainings
$ pip install notipi
If you wish to use just the MacOS notifications and not Telegram - you don't need anymore steps and start using the library right away. Refer the Usage examples below.
To use Telegram - you would be needing two environment variables: BOT_API_TOKEN and CHAT_ID
To get BOT_API_TOKEN:
- In the telegram app, initiate conversation with
@BotFather(you can also click here). - Send
/newbotas the message to@BotFatherand provide a new name and username for your bot account as per the instructions. @BotFatherwill reply with a unique api token - this is yourBOT_API_TOKEN
(Note: Detailed instructions to create a new bot can be found at Telegram website)
To get CHAT_ID:
- Once a new bot is created, send a dummy message to the bot via Telegram app so that your chat gets assigned an ID.
- Run the following script with your
BOT_API_TOKENto get yourCHAT_ID
from notipi.notipi import get_chat_id
get_chat_id(BOT_API_TOKEN)This will give the following output:
Your CHAT ID: 1234567890
Once the BOT_API_TOKEN and CHAT_ID are obtained, set the environment variables
export BOT_API_TOKEN=<bot_api_token>
export CHAT_ID=<chat_id>
Once the required environment variables are in place, you can use notipi in the following ways to send messages via Telegram.
(NOTE: If the environment variables are not set - the messages will be sent only via MacOS notifications by default)
from notipi.notipi import notify
def func():
for i in range(1000):
if i%100==0:
notify(f"Currently at {i}")from notipi.notipi import notify
@notify
def func():
for i in range(1000):
passWhen func() is invoked - you will be notified once it finishes execution
NOTE: Both Approaches (1) and (2) are compatible inside Jupyter Notebook as well
Once func3() is invoked - you will receive two notifications - first one after func1() is processed and second one after func2() is executed.
$ noticli -c python example.py
A notification will be sent once example.py finishes execution
- Extend compatibility to Windows platforms


