--- id: dbus-python version: "1.4.0" license: Expat (MIT/X11) license_treatment: permissive maintenance: aging --- # dbus-python — Python bindings for libdbus License: permissive · Maintenance: aging · Downloads: 254.6K/mo ## What it is and what it does dbus-python is the original Python binding for D-Bus, the reference implementation of the D-Bus protocol used for inter-process communication on Linux systems. It allows Python programs to call methods on, and receive signals from, system services and other applications connected to the D-Bus message bus. The package wraps libdbus directly and requires careful main-loop integration; it does not follow a strict "refuse to guess" principle and has known limitations with multi-threaded code. The description itself lists several alternative bindings (dasbus, dbussy, dbus-next, dbus-fast, jeepney) that may better suit modern use cases, particularly if you need asyncio support or higher-level abstractions. Use it for: - Integrate Python applications with systemd services or other system daemons via D-Bus method calls - Monitor system events (power state, network changes, device hotplug) by subscribing to D-Bus signals - Build desktop applications that need to interact with GNOME, KDE, or other D-Bus-using desktop environments - Expose Python services on the D-Bus message bus for other applications to call ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides Python bindings to libdbus, allowing Python programs to communicate over the D-Bus message bus protocol used by Linux desktop and system services. Yes, but with conditions. Install if you need to integrate with existing D-Bus services on a Linux system and are comfortable with the high install friction (compiled dependencies) and aging codebase. If you are starting a new project, consider the alternatives listed in the package documentation—particularly dbus-next or jeepney for asyncio support, or dasbus for a higher-level interface. No known security vulnerabilities. ## Install pip install dbus-python uv add dbus-python poetry add dbus-python ## Installing dbus-python Before you install: High install friction due to compiled C dependencies on libdbus development headers. Package is aging (519 days since last release) with inactive development status, though it remains the original reference binding and receives occasional maintenance. License in practice: Licensed under MIT (Expat), a permissive license with no restrictions on commercial or private use, modification, or redistribution. Quickstart: import dbus bus = dbus.SystemBus() object_path = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus') interface = dbus.Interface(object_path, 'org.freedesktop.DBus') Requires libdbus development headers and C compiler to build; D-Bus daemon must be running on the system. Verify before relying: - Whether the package's known limitations with multi-threaded use and main-loop selection affect your specific use case - Current state of the GitLab repository and whether maintenance is truly inactive or episodic ## Package facts - License: Expat (MIT/X11) (permissive) - Python support: supports_current - Install friction: high - Maintenance: aging - Downloads: 254.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags d-bus python bindings, dbus message bus communication, system service ipc python, libdbus python wrapper, desktop service integration, dbus protocol python, inter-process communication dbus, ipc, system-integration, linux-desktop [View on SkillFed](https://skillfed.io/packages/dbus-python) · [View on PyPI](https://pypi.org/project/dbus-python/)