Tags: python-sdbus/python-sdbus
Tags
Version 0.12.0 This version significantly reworked the internal undocumented classes and functions. If you used the undocumented API you would probably need to adjust your code. Type checker like `mypy` can be very useful for this. Features: * `@setter_private` can now be used in overrides. * Added `assertDbusSignalEmits` method to `IsolatedDbusTestCase`. Can be used to assert that a D-Bus signal was emitted inside the `async with` block. * Added `sdbus.utils.parse_get_managed_objects` function. Can be used to parse the ObjectManager's `get_managed_objects` method data to classes and Python attribute names. * Added a handle that is returned by `export_to_dbus` and `export_with_manager` methods. This handle can be used to explicitly control when object is accessible from D-Bus. (requested by @dragomirecky) Fixes: * Fixed async D-Bus properties not having a proper generic typing. (reported by @ValdezFOmar) * Fixed build not working when systemd has a minor version suffix. * Fixed being unable to name arguments in D-Bus introspection when method has no return arguments. (reported by @colazzo) * Fixed serving D-Bus methods that return a single struct. (reported by @colazzo) * Fixed sending extremely large D-Bus messages getting stuck. (reported by @colazzo)
Version 0.12.RC1 This version significantly reworked the internal undocumented classes and functions. If you used the undocumented API you would probably need to adjust your code. Type checker like `mypy` can be very useful for this. Features: * `@setter_private` can now be used in overrides. * Added `assertDbusSignalEmits` method to `IsolatedDbusTestCase`. Can be used to assert that a D-Bus signal was emitted inside the `async with` block. * Added `sdbus.utils.parse_get_managed_objects` function. Can be used to parse the ObjectManager's `get_managed_objects` method data to classes and Python attribute names. * Added a handle that is returned by `export_to_dbus` and `export_with_manager` methods. This handle can be used to explicitly control when object is accessible from D-Bus. (requested by @dragomirecky) Fixes: * Fixed async D-Bus properties not having a proper generic typing. (reported by @ValdezFOmar) * Fixed build not working when systemd has a minor version suffix. * Fixed being unable to name arguments in D-Bus introspection when method has no return arguments. (reported by @colazzo) * Fixed serving D-Bus methods that return a single struct. (reported by @colazzo) * Fixed sending extremely large D-Bus messages getting stuck. (reported by @colazzo)
Version 0.11.1 Features: * Improved interface generator handling of multiple uppercase letters sequences. For example, `ACTIVATE_CONNECTION` would before be converted to `a_c_t_i_v_a_t_e__c_o_n_n_e_c_t_i_o_n` and after to `activate_connection`. (reported by @bhattarabi) * Improved python formatting generated by interface code generator. * Added option `--block` to generate blocking interface code. (requested by @zhanglongqi and @MathisMARION) Fixes: * Fixed docstrings still being present even if python was configured with `--without-doc-strings`. * Fixed interface generator crashing when a rare write-only property is encountered. (reported by @gotthardp) * Fixed async interfaces iterating over all members during initialization. (reported by @gotthardp) * Fixed `TypeError: Dbus type '\x00' is unknown` being raised when trying to read from a message more than one time. (reported by @IB1387 and @asmello) * Fixed missing class body when generating code for interface without members.
Version 0.11.0 * Added support for `None` signals without data. * Added boolean flags for the name request functions which can be used to specify replacements or queueing. * Added `sdbus.utils.parse_properties_changed` helper function. Parses signal data to python member names and values. * Added `sdbus.utils.parse_interfaces_added` helper function. Parses signal data to path, python class and python member names and values. * Added `sdbus.utils.parse_interfaces_removed` helper function. Parses signal data to path and python class. * Added `setter_private` decorator to async properties. Private setter can only be called locally but to D-Bus property will appear as read only. * Added new exceptions for when D-Bus name requests fail. * `SdBusRequestNameExistsError`: Someone already owns name. * `SdBusRequestNameAlreadyOwnerError`: Caller already owns name. * `SdBusRequestNameInQueueError`: Name request queued up. * Moved all exceptions to `sdbus.exceptions` module. For backwards compatibility old exceptions will be available from the root module until the version `1.0.0`. * Fixed autodoc adding `dbus_method` to dbus methods names * Fix async D-Bus name requests not raising appropriate exceptions. * Fixed `request_default_bus_name` being an async function. For backwards compatibility it returns an awaitable that raises a warning.
Version 0.10.2 Features: * Added `on_unknown_member` option to the `properties_get_all_dict` method. Specifies the action on what to do with unknown property. (`"error"` (default), `"ignore"`, `"reuse"`) Fixes: * Fixed autodoc regressions introduced in `0.10.1`. Properties and signals headers have been redesigned. * Fixed PropertiesChanged signal emitting only the newest object path.
Version 0.10.1 * Added `catch_anywhere` method to dbus signals. Creates an async iterator which yields object path that emitted signal and signal data. Can be called from class but requires explicit service name in that case. * Added `properties_get_all_dict()` method to `DbusInterfaceCommonAsync` and `DbusInterfaceCommon` classes. Retrieves all D-Bus object properties as a dictionary where keys are member names translated to Python names and values are property values.
PreviousNext