dbus-fast
A faster version of dbus-next
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-fastuv
uv add dbus-fastpoetry
poetry add dbus-fastInstalling 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
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
dbus-nextA pure-Python DBus library for Linux desktop…
permissive · top 15,000 on PyPI
dbus-pythonProvides Python bindings to libdbus, allowing…
permissive · top 15,000 on PyPI
sdbusPython library for D-Bus communication with…
copyleft · top 15,000 on PyPI
jeepneyJeepney is a pure Python implementation of…
permissive · top 1,000 on PyPI
ovos-bus-clientProvides a Python client to connect to…
permissive · top 15,000 on PyPI
notify2notify2 creates and displays desktop…
permissive · top 15,000 on PyPI
azure-servicebusAzure Service Bus client library for Python…
unclear · top 1,000 on PyPI
lcmLCM provides publish/subscribe message passing…
unclear · top 15,000 on PyPI
aiohttp-fast-zlibReplaces aiohttp's default zlib compression…
permissive · top 5,000 on PyPI
bubusBubus is a Pydantic-powered event bus library…
permissive · top 5,000 on PyPI