Use osascript to send notifications.
Project description
klaxon
Send Mac OS (or notifiers) notifications from the terminal or Python programs.
This is especially useful for when you want a push notification for some long-running background task.
Similar to the terminal-notifier ruby gem, but posix-compliant and able to send notifications via the notifiers library.
Installation
For command-line use, the recommended method of installation is through pipx.
pipx install klaxon
Naturally, klaxon can also be pip-installed.
pip install klaxon
Usage
terminal
# blank notification
klaxon
# with custom message
klaxon --message "this is the message body"
# pipe message from other program
echo "this is the message body" | klaxon --
python
from klaxon import klaxon, klaxonify
# send a notification
klaxon(
title='hello, klaxon',
subtitle='hola',
message='it me'
)
# we can decorate our functions to have
# them send notifications at termination
@klaxonify
def hello(name='world'):
return f'hello, {name}'
@klaxonify(title='oh hai', output_as_message=True)
def foo():
return "This will be the message body."
Non-MacOS Notifications
i.e. mobile | email | slack
You'll need to install klaxon with the notifiers
extra.
pipx install klaxon[notifiers]
You will need a ~/.config/klaxon/config.toml
or pyproject.toml
file with the
tool.klaxon
namespace configured at the top level. Values from the latter will
override values in the former.
enable-notifiers
will need to be set to true
and you will need a [[notifiers]]
key.
The latter will determine the parameters passed to the notifiers.notify
method.
For example:
~/.config/klaxon/config.toml
enable-notifiers = true
[[notifiers]]
name = 'slack'
# see https://api.slack.com/incoming-webhooks#getting-started
webhook_url = {{your webhook url}}
[[notifiers]]
name = 'pushover'
user = {{your user token}}
token = {{your application token}}
Voila! Now messages sent from klaxon will be pushed to slack and pushover.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.