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
Metadata
Release files for klaxon 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| klaxon-1.1.1.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| klaxon-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.7 kB
Release files / klaxon-1.1.1.tar.gz
| Download URL | klaxon-1.1.1.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d125d9f63c800354e0fc1d65d74dccae08211d5e747c9a2c80d40d852c39f1c5
|
|
BLAKE2b-256 checksum How to use checksums |
50aabcd55693e02900d08cc87dbd88b1b499c6de7b14f2ecc4334a4f65cbbcb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-1020-azure
|
Release files / klaxon-1.1.1-py3-none-any.whl
| Download URL | klaxon-1.1.1-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
715c2fcc7d2ae96926b7a491b0d6245b3a18db5efc524b70cd9ea9b241959389
|
|
BLAKE2b-256 checksum How to use checksums |
ba8f8107aef4475317b07d750f01add98f7cc0e6f0f83d6c238fc4f13f6b3d2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.5 CPython/3.6.10 Linux/5.3.0-1020-azure
|