skillfed

notify2

Python interface to DBus notifications

notify2 v0.3.1 175.9K downloads/30d#10,258 on PyPI
Permissive license Abandoned released

What it is and what it does

notify2 is a pure-Python library for sending desktop notifications through DBus, the standard notification mechanism on Linux and other freedesktop-compliant systems. It replaces the older pynotify library and provides a simpler, more direct interface to the notifications server without requiring gobject bindings. You initialize it once with your application name, then create Notification objects with a summary, body text, and optional icon, and call show() to display them.

The package supports callbacks for user interactions with notifications if you tell it about your event loop (by passing 'glib' or 'qt' to init), making it suitable for desktop applications that need to respond to notification clicks or dismissals. However, the project has been abandoned since 2017 with no active maintenance, so it may have compatibility issues with modern Python versions or contemporary desktop environments.

Use it for:

  • Send system notifications from a Python desktop or server application running on Linux.
  • Display user alerts or status updates in the notification area without requiring a GUI window.
  • Handle notification callbacks in Gtk 3 or Qt 4 applications to respond to user clicks.
  • Replace pynotify in legacy applications while maintaining DBus-based notification delivery.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

notify2 creates and displays desktop notifications via DBus, compatible with Python 2 and 3, with optional callback support for Gtk 3 or Qt 4 applications.

Yes, if you are maintaining legacy Python 2/3 code on Linux that already uses notify2 or pynotify and need minimal notification support. No, if you are starting a new project—the package is abandoned and will not receive security or compatibility updates. Consider alternatives if you need active maintenance or support for modern Python versions.

Install

notify2 on PyPI

pip

pip install notify2

uv

uv add notify2

poetry

poetry add notify2

Installing notify2

Before you install

Package is abandoned as of 2017-04-28 with no recent maintenance. Install friction is low (pure Python, no runtime dependencies), but the lack of active development means security issues and compatibility problems with modern Python or desktop environments will not be addressed.

License in practice

Licensed under BSD (permissive), so you can use, modify, and distribute it freely with minimal restrictions.

Quickstart

pip install notify2

import notify2
notify2.init('app name')
n = notify2.Notification('Summary', 'Body text', 'notification-message-im')
n.show()

Requires a running DBus session and a notification server (typically provided by the desktop environment on Linux).

Verify before relying

  • Whether notify2 works reliably with modern Python versions (3.9+) given the 2017 last release date.
  • Current compatibility with contemporary desktop notification servers and DBus implementations.
  • Whether the package's callback mechanism still works with modern Gtk 3 and Qt 4 versions.

Package facts

License not declared (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 3,395 days since the last release
First released
Downloads 175,932/month — #10,258 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: notify2-0.3.1-py2.py3-none-any.whl

License :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Desktop EnvironmentTopic :: Software Development :: Libraries :: Python Modules

Tags

desktop notifications dbuspython notification librarysystem tray notificationsdbus notification servercross-desktop notificationsgtk qt notification callbacksfreedesktop notifications
dbusdesktop-notificationsabandoned

More Python Modules packages