python-dbus-next
python-dbus-next copied to clipboard
🚌 The next great DBus library for Python with asyncio support
Is it possible to fall back to ensure_future() instead create_task() in order to support python 3.6? The create_task() function is currently called in 1 place in file proxy_object.py Thanks!
This change reduces the overhead of unmarshalling with the goal of having bleak scanners not overwhelming the system. See related issue: https://github.com/hbldh/bleak/issues/236#issuecomment-789055069 ``` (speed_up_unmarsh) % python3 bench/unmarshall.py Unmarshalling 1000000 bluetooth...
Seems that the following pattern repeats frequently: 1. Get introspection 2. Get proxy object 3. Get interface Is it possible to have a shortcut for this? Something like: ``` Class...
How can I create a service with many objects, implementing the same interface, if the method for those objects depend on the object path? I can't find a way to...
```python from dbus_next.aio import MessageBus import asyncio loop = asyncio.get_event_loop() async def main(): bus = await MessageBus().connect() loop.run_until_complete(main()) ``` First time using this library. Tried the example code above and...
This adds options to the `@method`, `@dbus_property` and `@signal` decorators that can be used to explicitly specify the DBus signature. While I find the use of the type annotations to...
The wrapped method in `service.method()` (service.py line 91) does not return the value from the original method. This is confusing and limits the utility of the interface. conciser the following:...
Implements the change discussed in issue #119. Enables more flexible use of methods using the @method decorator.
This code: ```python from dbus_next.aio import MessageBus import asyncio loop = asyncio.get_event_loop() async def main(): bus = await MessageBus().connect() introspection = await bus.introspect("org.freedesktop.portal.Desktop", "/org/freedesktop/portal/desktop") loop.run_until_complete(main()) ``` results in this error:...
The dbus specification states that its authentication mechanism is a SASL profile. Unless (empty) data is provided with the mechanism right away (i.e. `AUTH ANONYMOUS `), SASL compliant authentication responds...