Dtsh

Latest version: v0.2.4

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

Scan your dependencies

Page 2 of 3

0.2.0

Mostly patch the DTSh v0.2.0-rc1 code base from the upstream RFC for a better behavior when not distributed as a Zephyr extension to West.
Make this the default project's branch, published as DTSh v0.2.0.

Validate ZEPHYR_BASE

When `ZEPHYR_BASE` isn't explicitly set, and can't be retrieved from a CMake cache file, DTSh eventually derived it from some `__file__` location. But when not distributed within Zephyr, this value is likely to be invalid. DTSh now validates this path by looking for a `ZEPHYR_BASE/Kconfig.zephyr` file.

Search binding directories for the vendors file

When no valid `ZEPHYR_BASE` can't be found, but the user has explicitly set some binding directories, search those for `vendor-prefixes.txt`.

Match dependency ordinals

The new criterion `--with-dts-ord EXPR` will *find* nodes whose dependency ordinal (aka DTS order) matches the integer expression `EXPR`. May help to figure out `__device_dts_ord_xxx` errors.

**Full Changelog**: https://github.com/dottspina/dtsh/compare/v0.2.0-rc1...v0.2.0

0.2.0rc1

Mirrors and packages [RFC - DTSh: DTS file viewer with a shell-like command line interface](https://github.com/zephyrproject-rtos/zephyr/pull/59863).

Should be compatible with Zephyr 3.5.x and 3.6.0-RC1.

Detailed documentation and examples: [DTSh User Guide](https://github.com/dottspina/dtsh/files/14217368/DTSh.pdf)

**This release is deprecated: if already installed please update to at least v0.2.0**

0.1.0b2

New and Noteworthy

Update the bundled python-devicetree library to Zephyr 3.5.0.

**Full Changelog**: https://github.com/dottspina/dtsh/compare/v0.1.0b1...v0.1.0b2

0.1.0b1

New and Noteworthy

Update the bundled python-devicetree library to Zephyr 3.4.0.

**Full Changelog**: https://github.com/dottspina/dtsh/compare/v0.1.0a6...v0.1.0b1

0.1.0a6

New and Noteworthy

Bundling the EDT library

This release bundles the EDT library (`edtlib`) from Zephyr 3.3.0, instead of installing the `devicetree` package from [PyPI](https://pypi.org/project/devicetree/): this approach allows to update the library implementation and API `dtsh` can depend on more frequently and reliably.

See [5e803eb ci: bundle devicetree Python package](https://github.com/dottspina/dtsh/commit/5e803ebdd3482db75dc752baa3cca6866750eff5).

Prefer gnureadline on macOS

On BSD-like systems (e.g. macOS), `dtsh` will try to install the [gnureadline](https://pypi.org/project/gnureadline/) package, and to load the `readline` implementation from there instead of from the Python standard library.

Should improve the overall user experience on these platforms.

See [14dc590 rl: do not assume readline is really a standard Python package](https://github.com/dottspina/dtsh/commit/14dc590db1dc1cba98d74143e7396bbe128ebd68).

Fix Python type hinting

Type hinting in `dtsh` should:

- be compatible with Python 3.8 (Zephyr minimal requirement)
- try to be compatible with at least Python 3.9

Alternative syntax for unions (e.g `T1 | T2`) requires Python 3.10: rewrite occurrences to Unions or Optionals.

Subscripting builtin classes (e.g. `list[T]`) requires Python 3.9: rewrite occurrences using the `typing` package (e.g. `typing.List[T]`), even if Python 3.9+ in turn deprecates this use of the `typing` package in favor of subscripting the builtin types (sic).

`dtsh` should now run fine on Python 3.8+ as expected.

See [aa0a96b ci: type hinting should be compatible with Python 3.8](https://github.com/dottspina/dtsh/commit/aa0a96b7091c70a5941a0f65fda5fbc432e17756).

Platform dependent paths to configuration directory and files

See [3c59fb0 config: expected configuration paths should be platform dependent](https://github.com/dottspina/dtsh/commit/3c59fb0121e731d3de3b7658610124a7280a4f09).

0.1.0a4

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.