fdt
Flattened Device Tree Python Module
Decision gist · record as of 2026-08-14
Yes, with conditions. Install if you need to manipulate device trees programmatically in Python and can accept dormant maintenance (last release 2022-07-08). The package is stable, dependency-free, and carries no known vulnerabilities, making it suitable for embedded systems work where active development is not expected. Avoid if you require ongoing feature development or support for Python versions beyond 3.10.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with no runtime dependencies.
- Maintenance is dormant—last release was 2022-07-08, over 1498 days ago, though the repository remains active with a recent commit on 2024-09-22.
- Suitable for stable, embedded-systems use cases where active development is not expected.
License · maintenance · safety
Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. No notable licensing constraints for typical adoption.
last release 2022-07-08 (1498 days) · last repo commit 2024-09-22 · 41 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 126,594 downloads/mo, #11,772 on PyPI
Alternatives
Verify before relying
import fdt
with open('example.dtb', 'rb') as f:
dtb_data = f.read()
dt = fdt.parse_dtb(dtb_data)
with open('example.dts', 'w') as f:
f.write(dt.to_dts())- Whether the package is actively maintained despite dormant status and 1498-day gap since last release
- Compatibility with Python versions beyond 3.10 (classifiers list 3.5–3.10 only)
What it is and what it does
fdt is a Python module for working with Device Tree data structures, commonly used in embedded systems and bootloaders. It provides parsing and serialization of both binary (.dtb) and source (.dts) formats, allowing developers to read device tree configurations, modify nodes and properties, and convert between formats programmatically. The module includes a command-line tool, pydtc, for batch operations like packing, unpacking, merging, and diffing device tree files.
The package has no external runtime dependencies and supports Python 3.5 and later. It is designed for scenarios where the device tree compiler (dtc) is not available or where programmatic manipulation within Python is preferred. The API provides classes for nodes, properties (with typed variants like PropStrings, PropWords, PropBytes), and methods to search, merge, and diff tree structures.
Use it for
- Convert binary device tree blobs (.dtb) to human-readable source format (.dts) for inspection and debugging
- Programmatically modify device tree nodes and properties in embedded system build pipelines
- Merge multiple device tree files into a single tree for complex hardware configurations
- Compare two device tree files to identify differences in node and property definitions
- Replace the device tree compiler (dtc) tool in environments where a Python-based solution is preferred
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install if you need to manipulate device trees programmatically in Python and can accept dormant maintenance (last release 2022-07-08). The package is stable, dependency-free, and carries no known vulnerabilities, making it suitable for embedded systems work where active development is not expected. Avoid if you require ongoing feature development or support for Python versions beyond 3.10.
Install
fdt on PyPI
Before you install
Low install friction with no runtime dependencies. Maintenance is dormant—last release was 2022-07-08, over 1498 days ago, though the repository remains active with a recent commit on 2024-09-22. Suitable for stable, embedded-systems use cases where active development is not expected.
License in practice
Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. No notable licensing constraints for typical adoption.
Quickstart
import fdt
with open('example.dtb', 'rb') as f:
dtb_data = f.read()
dt = fdt.parse_dtb(dtb_data)
with open('example.dts', 'w') as f:
f.write(dt.to_dts())
Verify before relying
- Whether the package is actively maintained despite dormant status and 1498-day gap since last release
- Compatibility with Python versions beyond 3.10 (classifiers list 3.5–3.10 only)
Package facts
| License | Apache 2.0 permissive |
| Python support | Supports the current Python release >=3.5 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 1,498 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 126,594 / month, #11,772 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: ConsoleLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development :: Embedded SystemsTopic :: Utilities |
Evidence: fdt-0.3.3-py3-none-any.whl
Tags
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 › “device tree parser”
- fdtParses, manipulates, and converts between Device Tree binary (.dtb)…
- pydevicetreeParses, queries, and modifies Devicetree Source v1 files according to…
- pylibfdtProvides Python bindings to libfdt, the device tree compiler library,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
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.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also pylibfdt · pydevicetree · bitstruct · hepconvert · cbitstruct · pyubx2 · hexrec · jxmlease · x690 · plum-py