$npx skillfedfor your agent

dbus-python

Python bindings for libdbus

With conditionsPyPI Object BrokeringReleased Mar 2025254.6K downloads / moExpat (MIT/X11)Source build

Decision gist · record as of 2026-08-14

sdist only — dbus-python-1.4.0.tar.gz · builds from source
v1.4.0 · released 2025-03-13 · Python >=3.7

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires libdbus development headers and C compiler to build; D-Bus daemon must be running on the system.
  • 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 · maintenance · safety

Expat (MIT/X11) (permissive) — Licensed under MIT (Expat), a permissive license with no restrictions on commercial or private use, modification, or redistribution.

last release 2025-03-13 (519 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 254,565 downloads/mo, #8,492 on PyPI

Verify before relying

import dbus
bus = dbus.SystemBus()
object_path = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
interface = dbus.Interface(object_path, 'org.freedesktop.DBus')
  • 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
Same gist for agents: .md · .json

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 on this page. Verify before relying on it.

With conditions

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

dbus-python on PyPI

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.

Requires libdbus development headers and C compiler to build; D-Bus daemon must be running on the system.

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')

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

LicenseExpat (MIT/X11) permissive
Python supportSupports the current Python release >=3.7
Install frictionHigh. Source build required
Runtime dependenciesNone
MaintenanceAging 519 days since the last release
First released
Downloads254,565 / month, #8,492 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 7 - InactiveLicense :: OSI Approved :: MIT LicenseProgramming Language :: CProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Object Brokering

Evidence: dbus-python-1.4.0.tar.gz

Tags

Capabilities
d-bus python bindingsdbus message bus communicationsystem service ipc pythonlibdbus python wrapperdesktop service integrationdbus protocol pythoninter-process communication dbus
Topics
ipcsystem-integrationlinux-desktop
PyPI keywords
dbusD-Bus

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “d-bus python bindings”

  • dbus-pythonProvides Python bindings to libdbus, allowing Python programs to…
  • jeepneyJeepney is a pure Python implementation of D-Bus messaging with an…
  • dbus-fastdbus-fast is a Python library for D-Bus communication that provides…

Give your agent the search over MCP, or paste the wish link into any chat.

More Object Brokering packages

py4j With conditions
PyPI · Libraries · released Jan 2025

Py4J enables Python programs to dynamically call Java objects and methods as if they were local, and allows Java programs to call back into Python objects.

However, its dormant status (576 days since last release) means no recent bug fixes or feature updates; confirm it works with your target Python and JVM versions…

BSD-3-Clausepure Pythondormant
111.3Mdownloads / mo
celery Worth it
PyPI · Distributed Computing · released Mar 2026

Celery is a distributed task queue that lets you run Python functions asynchronously across multiple workers, communicating through message brokers like RabbitMQ or Redis.

Install it if you need background job processing, task scheduling, or distributed work coordination.

permissive licensepure Python · 3.9+
58.2Mdownloads / mo
jsonconversion With conditions
PyPI · Python Modules · released Nov 2025

Converts arbitrary Python objects to JSON strings and back, extending the standard json module with support for custom classes, numpy arrays, and nested structures through JSONEncoder and JSONDecoder subclasses.

However, maintenance is aging (last release 275 days ago), so verify that its feature set meets your needs before adopting it for new projects.

BSD-3-Clausepure Python · 3.9+aging
14.1Mdownloads / mo
autobahn Worth it
PyPI · Libraries · released Jul 2026

Autobahn provides WebSocket and WAMP (Web Application Messaging Protocol) implementations for Python, enabling bidirectional real-time messaging and remote procedure calls over WebSocket on Twisted and asyncio.

Install it if you need WebSocket or WAMP for real-time messaging.

MITcompiled wheel · 3.11+
7.1Mdownloads / mo
celery-redbeat Worth it
PyPI · Distributed Computing · released Jul 2026

RedBeat is a Celery Beat scheduler that persists scheduled tasks and runtime state in Redis instead of the local filesystem, enabling dynamic task management and multi-instance coordination.

Install it if you need dynamic task scheduling or multi-instance Beat coordination; skip it if you're using a single Beat instance with a static task set.

Apache-2.0pure Python · 3.9+
5.4Mdownloads / mo
Pyro5 With conditions
PyPI · Distributed Computing · released Jun 2026

Pyro5 enables remote method calls on Python objects across a network, letting you invoke methods on objects running on other machines as if they were local.

permissive licensepure Python · 3.7+
374.1Kdownloads / mo

See also dbus-fast · jeepney · sdbus · dbus-next · notify2 · PyGObject · dlinfo · python-xlib · spidev · pyobjc-framework-libxpc