Skip to main content

Cross-platform desktop notification library for Python

Project description


notify.py

Cross platform desktop notifications for Python scripts and applications.


Docs

You can read the docs on this Git's Wiki, or here

Supported Platforms.

  • Windows 10/11
  • macOS 10 >=10.10
  • Linux (libnotify)

No dependencies are required other than loguru & jeepney (Only for linux/DBUS).


Install

pip install notify-py

Usage

Send Simple Notification

from notifypy import Notify

notification = Notify()
notification.title = "Cool Title"
notification.message = "Even cooler message."
notification.send()

Send Notification With Icon

from notifypy import Notify

notification = Notify()
notification.title = "Cool Title"
notification.message = "Even cooler message."
notification.icon = "path/to/icon.png"

notification.send()

Send Notification With Sound

from notifypy import Notify

notification = Notify()
notification.title = "Cool Title"
notification.message = "Even cooler message."
notification.audio = "path/to/audio/file.wav"

notification.send()

Sending Notifications without blocking

from notifypy import Notify

notification = Notify()
notification.send(block=False)

Sending with Default Notification Titles/Messages/Icons

from notifypy import Notify

notification = Notify(
  default_notification_title="Function Message",
  default_application_name="Great Application",
  default_notification_icon="path/to/icon.png",
  default_notification_audio="path/to/sound.wav"
)

def your_function():
  # stuff happening here.
  notification.message = "Function Result"
  notification.send()

CLI

A CLI is available when you install notify-py

notifypy --title --message --applicationName --iconPath --soundPath

You may need to add python3 -m to the beginning.


Important Caveats

  • As it stands (May 18, 2020), this is simply a notification service. There is no support for embedding custom actions (buttons, dialogs) regardless of platform. Other then telling you if the shell command was sent, there is also no confirmation on user action on the notification.

  • macOS does not support custom icons on the fly.. You will need to bundle a customized version of the notifier embedded with your custom icon.


Windows Specific.

  • No support for balloon tips (pre Win10).. This will be changed in the future.

Contributors


Inspiration and Special Thanks


Contributing

Contributions are welcome!

Please base your changes on the latest development branch and open a PR to that branch. PR will not be accepted to the master branch. Tests are ran against all platforms.

Setting Up Environment

  • Install Poetry
    • poetry install
  • Add patches/new features/bug fiexes
  • Run tests
    • poetry run pytest tests/*
  • Run lints
    • poetry run pylint --errors-only notifypy/
  • Run Black Formatting
    • poetry run black notifypy
  • Open PR to dev branch.
  • Add your name to contributors list if you wish!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

notify_py-0.3.43.tar.gz (648.1 kB view details)

Uploaded Source

Built Distribution

notify_py-0.3.43-py3-none-any.whl (649.8 kB view details)

Uploaded Python 3

File details

Details for the file notify_py-0.3.43.tar.gz.

File metadata

  • Download URL: notify_py-0.3.43.tar.gz
  • Upload date:
  • Size: 648.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.6 Darwin/23.5.0

File hashes

Hashes for notify_py-0.3.43.tar.gz
Algorithm Hash digest
SHA256 16ee146d48f16bae5dad233db66014a387efd2c6ed2c4caf1e08aef432070513
MD5 6c191c3bfc406bc0b47ef9d63014757d
BLAKE2b-256 062bfc68aeed5108185922c5469484e15c192dff01d61eddfab0c1c256e4f54c

See more details on using hashes here.

File details

Details for the file notify_py-0.3.43-py3-none-any.whl.

File metadata

  • Download URL: notify_py-0.3.43-py3-none-any.whl
  • Upload date:
  • Size: 649.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.6 Darwin/23.5.0

File hashes

Hashes for notify_py-0.3.43-py3-none-any.whl
Algorithm Hash digest
SHA256 90da686b480bf05d033b21fb5118662bb7a4c68e68cb21d93a048ca7b867f9b4
MD5 52c230db637f5573464aa2360cba972e
BLAKE2b-256 87b4649f16520ed0a64c275861dcaf9c1291d079f742aa2bf9102fdd168e4197

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page