Metadata-Version: 2.1
Name: dtsh
Version: 0.2.1
Summary: Shell-like interface with Zephyr Devicetree
Home-page: https://github.com/dottspina/dtsh
Author: Christophe Dufaza
Author-email: chris@openmarl.org
License: Apache License version 2.0
Keywords: devicetree,zephyr,dts,embedded
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.8
License-File: LICENSE
Requires-Dist: PyYAML
Requires-Dist: rich
Requires-Dist: gnureadline; sys_platform == "darwin"
Provides-Extra: dev
Requires-Dist: pycodestyle; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Provides-Extra: lsp
Requires-Dist: python-lsp-server[all]; extra == "lsp"
Requires-Dist: pylsp-mypy; extra == "lsp"
Requires-Dist: python-lsp-black; extra == "lsp"
Provides-Extra: dist
Requires-Dist: build; extra == "dist"
Requires-Dist: twine; extra == "dist"

====
DTSh
====

**DTSh** is a Devicetree Source (DTS) files viewer with a shell-like command line interface:

- *navigate* and *visualize* the devicetree
- *search* for devices, bindings, buses or interrupts with flexible criteria
- redirect command output to files (text, HTML, SVG) to *document* hardware configurations
  or illustrate notes
- *rich* Textual User Interface, command line auto-completion, command history, user themes

::

   $ dtsh build/zephyr/zephyr.dts
   dtsh (0.2.1): A Devicetree Shell
   How to exit: q, or quit, or exit, or press Ctrl-D

   /
   > cd &flash_controller

   /soc/flash-controller@4001e000
   > tree -l
                                 Description
                                 ─────────────────────────────────────────────────────────────────
   flash-controller@4001e000     Nordic NVMC (Non-Volatile Memory Controller)
   └── flash@0                   Flash node
       └── partitions            This binding is used to describe fixed partitions of a flash (or…
            ├── partition@0      Each child node of the fixed-partitions node represents…
            ├── partition@c000   Each child node of the fixed-partitions node represents…
            ├── partition@82000  Each child node of the fixed-partitions node represents…
            └── partition@f8000  Each child node of the fixed-partitions node represents…

You can use it with:

- all DTS files generated by **Zephyr** at build-time (aka ``build/zephyr/zephyr.dts``)
- arbitrary DTS files with bindings compatible with Zephyr's `Devicetre bindings syntax <https://docs.zephyrproject.org/latest/build/dts/bindings-syntax.html>`_

Status
******

DTSh 0.2.x mirror and package the code base that serves as a proposal to upstream DTSh
as a new Zephyr extension to West: `RFC - DTSh, shell-like interface with Devicetree <https://github.com/zephyrproject-rtos/zephyr/pull/59863>`_

This is the stable and maintained branch: if you have DTSh 0.1.x installed, please upgrade with
e.g. ``pip install -U dtsh``.

Please refer to the `DTSh project documentation <http://dottspina.github.io/dtsh>`_.
