Sends notifications using DBus
Project description
DBus Notification
This library provides a simple interface for creating and displaying desktop notifications with custom buttons using DBus.
Features:
- Send notifications with custom titles, messages, and images
- Interactive Buttons: Include clickable buttons that trigger callbacks
- Urgency & Sounds: Control urgency levels (0, 1, or 2) and trigger system sounds or file-based alerts
- Management: Replace, close, or clear all notifications sent by the application
- Unique Tracking: Use
uniqueidto update specific notifications without managing raw notification IDs Note: Some features might have limited support depending on your desktop environment.
Requirements
DBus Notification has minimal system dependencies:
- Python 3.7 or later
jeepneylibrary
Installation
Install the library using pip:
pip install dbus-notification
Usage
Command-Line Interaction
You can send quick notifications directly from your terminal using the following flags:
| Flag | Description |
|---|---|
-t, --title |
The bold heading of the notification. |
-m, --message |
The body text of the notification. |
-l, --logo |
Path to a small icon/logo. |
-i, --image |
Path to a large image preview. |
-s, --sound |
System sound name (e.g., message-new-instant) or full file path. |
-u, --urgency |
0 (Low), 1 (Normal), or 2 (Critical). |
-c, --timeout |
Milliseconds until the notification expires (-1 for default). |
Example:
dbus-notification -t "Hello" -m "This is a test" -u 1
Programmatic Control
The DBusNotification class allows for advanced interaction and button callbacks.
import time
from dbus_notification import DBusNotification
def callback(notification_type, notification):
if notification_type == "closed":
print(f"Notification {notification["id"]} has closed.")
elif notification_type == "button":
print(f"Notification {notification["id"]} has clicked on the button {notification["button"]}.")
dbus_app = DBusNotification(appname="dbus_notification", callback=callback)
notification_id = dbus_app.send(
title="Initial Message",
message="This message will be replaced in 3 seconds.",
logo="logo.png",
image="myimage.png",
sound="message-new-instant",
actions=["Test Button"],
urgency=1,
timeout=5000, # 5 seconds
uniqueid="test_notification",
)
time.sleep(3)
notification_id = dbus_app.send(
title="Updated Message",
message="This is the new message body.",
uniqueid="test_notification",
)
time.sleep(3)
dbus_app.close(notification_id)
dbus_app.send(title="N2", message="A second notification.")
dbus_app.send(title="N3", message="A third notification.")
time.sleep(3)
dbus_app.close_all()
Future Features
- Support for notification categories
- Resident or transient notification options
- Ability to specify notification position on the screen
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dbus_notification-2026.2.1.tar.gz.
File metadata
- Download URL: dbus_notification-2026.2.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2cb219243695b3e13aba351a2650fa257f320c5abf39715c277a856d6b81918
|
|
| MD5 |
6a2c2a8c9afdc17c7962adc2b4fcc634
|
|
| BLAKE2b-256 |
8625a8af2739ba55c42ce4e9cd449756e68bd492c68600c796f6fa7876d4de79
|
File details
Details for the file dbus_notification-2026.2.1-py3-none-any.whl.
File metadata
- Download URL: dbus_notification-2026.2.1-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb7bd51736aeb965bdb24f9ef67acb047ac862dd503da45fa1de225ffe5284ac
|
|
| MD5 |
ea57c39da1d35cbf1a9c05d16c8f2399
|
|
| BLAKE2b-256 |
6b5edef4f77eff82ec4c5e79b1256e11dc1c833a70ebb3fc6e597e68911a970a
|