skillfed

dbus-next

A zero-dependency DBus library for Python with asyncio support

dbus-next v0.2.3 411.6K downloads/30d#6,856 on PyPI223
Permissive license MIT DORMANT released

What it is and what it does

dbus-next is a pure-Python DBus library designed for integrating applications into Linux desktop and mobile environments. It provides three interface layers: a high-level client API for calling methods and listening to signals on DBus services, a high-level service API for exporting DBus interfaces with decorated methods and properties, and a low-level message API for direct DBus message handling. The library supports both asyncio and GLib main loops, making it suitable for GUI applications and long-running services.

The package has no runtime dependencies and targets modern Python (3.6+) with full type hints. It aims to improve on older DBus libraries by avoiding type guessing, providing complete DBus type system support, and offering nonblocking I/O suitable for responsive applications. Common use cases include controlling media players via MPRIS, automating desktop environments, and building custom DBus services for system integration.

Use it for:

  • Control media players or other DBus services from Python scripts using the high-level client interface.
  • Export custom DBus services to integrate Python applications into desktop environments.
  • Build desktop automation utilities that interact with system services via DBus.
  • Create asyncio-based daemon services that respond to DBus method calls and emit signals.
  • Inspect and interact with arbitrary DBus services using the low-level message interface.

Worth the install?

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

A pure-Python DBus library for Linux desktop and mobile environments that supports asyncio and GLib main loops, enabling applications to call DBus methods, access properties, listen to signals, and export services.

Yes, if you need DBus integration on Linux. The library is stable, dependency-free, and well-documented. However, be aware it is dormant—no active maintenance since July 2021—so expect no updates for new Python versions or DBus protocol changes. Suitable for stable use cases; risky if you need ongoing support or compatibility with future Python releases.

Install

dbus-next on PyPI

pip

pip install dbus-next

uv

uv add dbus-next

poetry

poetry add dbus-next

Installing dbus-next

Before you install

Installation is straightforward with no runtime dependencies. The package is dormant (last commit June 2024, no release since July 2021), so expect no active maintenance or bug fixes, though the codebase is stable for existing use cases.

License in practice

MIT license is permissive, allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects.

Quickstart

pip install dbus-next

from dbus_next.aio import MessageBus
import asyncio

async def main():
    bus = await MessageBus().connect()
    introspection = await bus.introspect('org.mpris.MediaPlayer2.vlc', '/org/mpris/MediaPlayer2')
    obj = bus.get_proxy_object('org.mpris.MediaPlayer2.vlc', '/org/mpris/MediaPlayer2', introspection)
    player = obj.get_interface('org.mpris.MediaPlayer2.Player')
    await player.call_play()

asyncio.run(main())

Requires a running DBus daemon (standard on Linux desktops and mobile environments); Python 3.6 or later.

Verify before relying

  • Whether dormancy since July 2021 poses compatibility risks with modern DBus protocol versions or Python 3.12+.
  • Whether GLib main loop support is production-ready or primarily asyncio-focused in practice.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6.0)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 1,846 days since the last release
Last repo commit
First released
Downloads 411,567/month — #6,856 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: dbus_next-0.2.3-py3-none-any.whl

Development Status :: 3 - AlphaEnvironment :: X11 ApplicationsEnvironment :: X11 Applications :: GnomeFramework :: AsyncIOLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Desktop Environment :: GnomeTopic :: Software Development :: Embedded SystemsTyping :: Typed

Tags

dbus python libraryasyncio dbus clientlinux desktop ipcdbus service interfacegnome dbus integrationdbus method callsdesktop environment automation
dbusasynciolinux-desktop

More Embedded Systems packages