%global _empty_manifest_terminate_build 0 Name: python-klaxon Version: 1.1.1 Release: 1 Summary: Use osascript to send notifications. License: Apache-2.0 URL: https://pypi.org/project/klaxon/ Source0: https://mirrors.aliyun.com/pypi/web/packages/50/aa/bcd55693e02900d08cc87dbd88b1b499c6de7b14f2ecc4334a4f65cbbcb0/klaxon-1.1.1.tar.gz BuildArch: noarch Requires: python3-notifiers Requires: python3-toml %description # klaxon ![](https://github.com/knowsuchagency/klaxon/workflows/black/badge.svg) ![](https://github.com/knowsuchagency/klaxon/workflows/mypy/badge.svg) ![](https://github.com/knowsuchagency/klaxon/workflows/unit%20tests/badge.svg) Send Mac OS (or [notifiers][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][terminal-notifier], but posix-compliant and able to send notifications via the [notifiers][notifiers] library. ![hello-klaxon](static/recording.gif) ## Installation For command-line use, the recommended method of installation is through [pipx]. ```bash pipx install klaxon ``` Naturally, klaxon can also be pip-installed. ```bash pip install klaxon ``` ## Usage ### terminal ```bash # 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 ```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. ```bash 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` ```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 ```bash 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 ``` [terminal-notifier]: https://github.com/julienXX/terminal-notifier [pipx]: https://github.com/pipxproject/pipx [osascript]: https://apple.stackexchange.com/questions/57412/how-can-i-trigger-a-notification-center-notification-from-an-applescript-or-shel/115373#115373 [notifiers]: https://github.com/notifiers/notifiers %package -n python3-klaxon Summary: Use osascript to send notifications. Provides: python-klaxon BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-klaxon # klaxon ![](https://github.com/knowsuchagency/klaxon/workflows/black/badge.svg) ![](https://github.com/knowsuchagency/klaxon/workflows/mypy/badge.svg) ![](https://github.com/knowsuchagency/klaxon/workflows/unit%20tests/badge.svg) Send Mac OS (or [notifiers][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][terminal-notifier], but posix-compliant and able to send notifications via the [notifiers][notifiers] library. ![hello-klaxon](static/recording.gif) ## Installation For command-line use, the recommended method of installation is through [pipx]. ```bash pipx install klaxon ``` Naturally, klaxon can also be pip-installed. ```bash pip install klaxon ``` ## Usage ### terminal ```bash # 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 ```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. ```bash 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` ```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 ```bash 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 ``` [terminal-notifier]: https://github.com/julienXX/terminal-notifier [pipx]: https://github.com/pipxproject/pipx [osascript]: https://apple.stackexchange.com/questions/57412/how-can-i-trigger-a-notification-center-notification-from-an-applescript-or-shel/115373#115373 [notifiers]: https://github.com/notifiers/notifiers %package help Summary: Development documents and examples for klaxon Provides: python3-klaxon-doc %description help # klaxon ![](https://github.com/knowsuchagency/klaxon/workflows/black/badge.svg) ![](https://github.com/knowsuchagency/klaxon/workflows/mypy/badge.svg) ![](https://github.com/knowsuchagency/klaxon/workflows/unit%20tests/badge.svg) Send Mac OS (or [notifiers][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][terminal-notifier], but posix-compliant and able to send notifications via the [notifiers][notifiers] library. ![hello-klaxon](static/recording.gif) ## Installation For command-line use, the recommended method of installation is through [pipx]. ```bash pipx install klaxon ``` Naturally, klaxon can also be pip-installed. ```bash pip install klaxon ``` ## Usage ### terminal ```bash # 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 ```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. ```bash 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` ```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 ```bash 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 ``` [terminal-notifier]: https://github.com/julienXX/terminal-notifier [pipx]: https://github.com/pipxproject/pipx [osascript]: https://apple.stackexchange.com/questions/57412/how-can-i-trigger-a-notification-center-notification-from-an-applescript-or-shel/115373#115373 [notifiers]: https://github.com/notifiers/notifiers %prep %autosetup -n klaxon-1.1.1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-klaxon -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 1.1.1-1 - Package Spec generated