Sdbus

Latest version: v0.13.0

Safety actively analyzes 682471 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.13.0

Code generator improvements

* Added interface and member renaming CLI options. `--select-interface`, `--select-method`,
`--select-property` and `--select-signal` will select a particular interface or member and
`--set-name` will set the selected interface or member Python name.
* Fix generated D-Bus properties not using emits changed flag by default.
* Fix generated D-Bus methods not using unprivileged flag by default. (reported by damienklotz77)
* Generated methods and signals will now have result argument names set which will be shown
in the introspection. (requested by colazzo)

New `sdbus.utils.inspect` submodule

Contains inspection utilities.

Current only provides the `inspect_dbus_path` function which will return
the D-Bus path of either proxy or exported object. (requested by )

New `sdbus.utils.parse` submodule

The existing `parse_properties_changed`, `parse_interfaces_added`, `parse_interfaces_removed` and
`parse_get_managed_objects` have been moved from from `sdbus.utils` to `sdbus.utils.parse`.

For backwards compatibility `sdbus.utils` re-exports those functions but no new exports will be
added to it.

Fixes

* Fix bus timeouts not being processed on time. (requested by ofacklam)

0.12.0

No changes since 0.12.RC1.

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)

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.

0.11.0

Features:

* 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.

Deprecations:

* 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`.

Fixes:

* 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.

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.

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.