$npx skillfedfor your agent

pydevicetree

A library for parsing Devicetree Source v1

With conditionsPyPI Software DevelopmentReleased Jul 202380.3K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — pydevicetree-0.0.13-py3-none-any.whl
v0.0.13 · released 2023-07-21 · Python >=3.5 · 1 runtime deps: pyparsing

Yes, if you work with Devicetree Source files in embedded systems or firmware development. The package has low install friction, permissive licensing, and no known vulnerabilities. However, note that maintenance is aging—the last release was over two years ago—so consider whether you need active development support or can work with a stable, feature-complete implementation for DTS parsing and querying.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python >= 3.5; the package is designed for parsing .dts files conforming to Devicetree Specification v0.2.
  • Low install friction with a single runtime dependency (pyparsing).
  • Maintenance status is aging—last release was 2023-07-21 and the repository has not been updated since 2025-07-24, though it remains active and unarchived.

License · maintenance · safety

permissive license (permissive) — Licensed under Apache License 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.

last release 2023-07-21 (1120 days) · last repo commit 2025-07-24 · 27 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 80,338 downloads/mo, #14,297 on PyPI

Verify before relying

pip install pydevicetree

from pydevicetree import Devicetree
tree = Devicetree.parseFile("design.dts")
matches = tree.match("sifive,rocket0")
node = tree.get_by_path("/soc/uart@10000000")
  • Whether the package handles Devicetree Specification versions beyond v0.2 or only v0.2 strictly.
  • Performance characteristics when parsing large or deeply nested devicetree files.
  • Whether modifications to trees are persisted back to .dts files or remain in-memory only.
Same gist for agents: .md · .json

What it is and what it does

pydevicetree is a Python library for working with Devicetree Source (DTS) files, the standard format for describing hardware device configurations in embedded systems and firmware. It parses .dts files into an in-memory tree structure, then provides methods to query nodes by compatible string or path, retrieve and modify properties, and convert trees back to DTS format. The library depends only on pyparsing and supports Python 3.5 and later.

The package is primarily useful for embedded systems developers, firmware engineers, and hardware abstraction layer (HAL) developers who need to programmatically inspect or generate device tree configurations. Common operations include finding nodes by device type, extracting register addresses and memory ranges, and accessing device properties like interrupt configurations or clock frequencies. It handles Devicetree Specification v0.2 and supports standard DTS syntax including aliases, chosen nodes, and hierarchical device definitions.

Use it for

  • Automated validation of hardware device tree configurations in CI/CD pipelines for embedded projects.
  • Programmatic extraction of register addresses and memory mappings from .dts files for code generation.
  • Runtime modification of device tree properties to support dynamic hardware reconfiguration or testing.
  • Querying device compatibility strings to identify and configure specific hardware peripherals in firmware.
  • Converting between devicetree formats or generating device tree fragments from other configuration sources.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you work with Devicetree Source files in embedded systems or firmware development.

The package has low install friction, permissive licensing, and no known vulnerabilities. However, note that maintenance is aging—the last release was over two years ago—so consider whether you need active development support or can work with a stable, feature-complete implementation for DTS parsing and querying.

Install

pydevicetree on PyPI

Before you install

Low install friction with a single runtime dependency (pyparsing). Maintenance status is aging—last release was 2023-07-21 and the repository has not been updated since 2025-07-24, though it remains active and unarchived.

Requires Python >= 3.5; the package is designed for parsing .dts files conforming to Devicetree Specification v0.2.

License in practice

Licensed under Apache License 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.

Quickstart

pip install pydevicetree

from pydevicetree import Devicetree
tree = Devicetree.parseFile("design.dts")
matches = tree.match("sifive,rocket0")
node = tree.get_by_path("/soc/uart@10000000")

Verify before relying

  • Whether the package handles Devicetree Specification versions beyond v0.2 or only v0.2 strictly.
  • Performance characteristics when parsing large or deeply nested devicetree files.
  • Whether modifications to trees are persisted back to .dts files or remain in-memory only.

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.5
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
pyparsing
MaintenanceAging 1,120 days since the last release
Last repo commit
First released
Downloads80,338 / month, #14,297 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Evidence: pydevicetree-0.0.13-py3-none-any.whl

Tags

Capabilities
devicetree parsingdts file parserhardware device treedevicetree source manipulationembedded device configurationdts query and modifydevicetree specification
Topics
embedded-systemsdevicetreehardware-configuration

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “dts file parser”

  • pydevicetreeParses, queries, and modifies Devicetree Source v1 files according to…
  • fdtParses, manipulates, and converts between Device Tree binary (.dtb)…
  • INIToolsINITools parses and manipulates INI-style configuration files through…

Give your agent the search over MCP, or paste the wish link into any chat.

More Software Development packages

typing-extensions Worth it
PyPI · Software Development · released Jul 2026

Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.

PSF-2.0pure Python · 3.9+
1.9Bdownloads / mo
numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.

MITpure Python · 3.9+
456.2Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.

Install it if you are building CLIs in Python.

MITpure Python · 3.10+
369.3Mdownloads / mo
distlib With conditions
PyPI · Software Development · released Jun 2026

Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.

permissive licensepure Python
323.3Mdownloads / mo

See also devicetree · fdt · pyslang · pyftdi · crownstone-uart · rosdistro · pylspci · uart-devices · xdg-base-dirs · RPi.GPIO