skillfed

dbus-fast

A faster version of dbus-next

dbus-fast v5.0.22 2.3M downloads/30d#3,149 on PyPI98
Permissive license MIT Active released

What it is and what it does

dbus-fast is a D-Bus library for Python that lets you communicate with system services and desktop environments on Linux. It provides three layers: a high-level client interface for calling methods and listening to signals on remote services, a high-level service interface for exporting your own D-Bus objects with decorated methods and properties, and a low-level message API for direct D-Bus protocol work. The library emphasizes performance through an optional Cython extension for marshalling, supports multiple I/O backends including asyncio and GLib, and requires zero runtime dependencies in pure-Python mode.

Typical use cases include desktop application integration (implementing standard interfaces like MPRIS for media players), scripting system services, and building custom D-Bus interfaces for inter-process communication. The library targets modern Python versions and aims for complete D-Bus type system coverage without type guessing.

Use it for:

  • Control media players or other desktop services via standard D-Bus interfaces like MPRIS
  • Export custom D-Bus services from Python applications for other processes to call
  • Write system administration scripts that interact with D-Bus services like NetworkManager or systemd
  • Integrate Python applications into Linux desktop environments via D-Bus standard interfaces
  • Build asyncio-based D-Bus clients for non-blocking GUI application development

Worth the install?

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

dbus-fast is a Python library for D-Bus communication that provides high-level client and service interfaces, plus low-level message handling, with optional Cython acceleration for marshalling performance.

Yes. dbus-fast is actively maintained, has no runtime dependencies, supports current Python versions, carries permissive MIT licensing, and fills a genuine need for performant D-Bus integration on Linux. Install friction is modest (optional Cython extension with pure-Python fallback). Suitable for production use in desktop and system integration projects.

Install

dbus-fast on PyPI

pip

pip install dbus-fast

uv

uv add dbus-fast

poetry

poetry add dbus-fast

Installing dbus-fast

Before you install

Medium install friction due to optional Cython extension bundled in wheels; pure-Python fallback available via SKIP_CYTHON=1. Actively maintained with recent commits and no runtime dependencies. Supports Python 3.10 through 3.14 with prebuilt wheels across multiple architectures.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations—only attribution required.

Quickstart

pip install dbus-fast

from dbus_fast.aio import MessageBus
import asyncio

async def main():
    bus = await MessageBus().connect()
    # Use bus to call methods, get properties, or listen to signals

asyncio.run(main())

Requires a running D-Bus daemon (typically present on Linux desktop/mobile systems); not functional on systems without D-Bus.

Verify before relying

  • Performance improvement magnitude compared to dbus-next or other D-Bus libraries
  • Compatibility with non-Linux systems or Windows Subsystem for Linux
  • Whether GLib main loop backend is fully production-ready

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 70 days since the last release
Last repo commit
First released
Downloads 2,310,046/month — #3,149 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: dbus_fast-5.0.22-cp310-cp310-macosx_11_0_arm64.whl; dbus_fast-5.0.22-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; dbus_fast-5.0.22-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; dbus_fast-5.0.22-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl; dbus_fast-5.0.22-cp310-cp310-musllinux_1_2_aarch64.whl; dbus_fast-5.0.22-cp310-cp310-musllinux_1_2_riscv64.whl; dbus_fast-5.0.22-cp310-cp310-musllinux_1_2_x86_64.whl; dbus_fast-5.0.22-cp311-cp311-macosx_11_0_arm64.whl; dbus_fast-5.0.22-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; dbus_fast-5.0.22-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; dbus_fast-5.0.22-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl; dbus_fast-5.0.22-cp311-cp311-musllinux_1_2_aarch64.whl; dbus_fast-5.0.22-cp311-cp311-musllinux_1_2_riscv64.whl; dbus_fast-5.0.22-cp311-cp311-musllinux_1_2_x86_64.whl; dbus_fast-5.0.22-cp312-cp312-macosx_11_0_arm64.whl; dbus_fast-5.0.22-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; dbus_fast-5.0.22-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; dbus_fast-5.0.22-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl; dbus_fast-5.0.22-cp312-cp312-musllinux_1_2_aarch64.whl; dbus_fast-5.0.22-cp312-cp312-musllinux_1_2_riscv64.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries

Tags

dbus python libraryd-bus client service interfacelinux ipc messagingdesktop environment integrationasyncio dbusdbus marshallingsystem service communication
ipclinux-desktopasyncio

More Libraries packages