sdbus is a modern, asynchronous Python D-Bus library built upon `sd-bus` from `libsystemd`. It provides a robust, low-level interface for D-Bus communication, supporting both system and session buses. Currently at version 0.14.2, it maintains an active release cycle with regular updates addressing bug fixes and feature enhancements.
pip install sdbusVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to create and export a simple D-Bus service using `sdbus`. It connects to the SystemBus, defines an interface with a method, exports an instance of that interface, and requests a D-Bus name, keeping the service alive until interrupted. This allows other D-Bus clients to call its methods.
Upgrade your Python environment to 3.9 or later. If you must use Python 3.8, pin your sdbus version to `<0.14.0` (e.g., `sdbus<0.14.0`).
Explicitly manage your bus connections. Ensure you're connecting and using `SystemBus()` or `SessionBus()` instances as intended, rather than relying on implicit context-local behavior for the default bus.
Review your code for direct usage of `sdbus`'s internal, undocumented APIs. Update your code to use the officially documented public API. Using a type checker like `mypy` can help identify affected areas.
Ensure your system meets the `glibc` and `pip` version requirements if you rely on binary wheels. If not, you might need to compile `sdbus` from source, or use an older `sdbus` version.
Upgrade to sdbus 0.14.2 or newer to prevent potential segmentation faults when managing object lifetimes, especially in scenarios where exported objects might be garbage collected before their corresponding D-Bus handles.
No dependency data recorded yet.