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.
Development
git clone git@github.com:knowsuchagency/klaxon.git
cd klaxon
# create a virtualenv and activate it
python3 -m venv .venv
source .venv/bin/activate
# install poetry and use it to install project dependencies
pip install -U pip
pip install poetry
poetry install
# this will install `invoke` which will let you use the tasks defined in `tasks.py`
# install pre-commit hooks
inv install-hooks
# from now on, as you make changes to the project, the pre-commit hooks and
# github workflows will help make sure code is formatted properly and tests
# are invoked as you commit, push, and submit pull requests
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.
Source Distribution
Built Distribution
File details
Details for the file klaxon-1.1.1.tar.gz
.
File metadata
- Download URL: klaxon-1.1.1.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-1020-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d125d9f63c800354e0fc1d65d74dccae08211d5e747c9a2c80d40d852c39f1c5 |
|
MD5 | 6687cf3b04b1e754e23ecb092bc68809 |
|
BLAKE2b-256 | 50aabcd55693e02900d08cc87dbd88b1b499c6de7b14f2ecc4334a4f65cbbcb0 |
File details
Details for the file klaxon-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: klaxon-1.1.1-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-1020-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 715c2fcc7d2ae96926b7a491b0d6245b3a18db5efc524b70cd9ea9b241959389 |
|
MD5 | a83d56d7b0bf66d5ac2922af2d9e13f2 |
|
BLAKE2b-256 | ba8f8107aef4475317b07d750f01add98f7cc0e6f0f83d6c238fc4f13f6b3d2d |