skillfed

pylibfdt

Python binding for libfdt

pylibfdt v1.7.2.post1 262.9K downloads/30d#8,365 on PyPI
License unclear AGING released

What it is and what it does

pylibfdt is a Python binding to libfdt, the device tree compiler library from the upstream dtc project. It allows you to work with device tree binary files programmatically from Python, which is essential for embedded systems development, bootloader configuration, and hardware description workflows. The package is a direct wrapper around the C library.

The package requires compilation against system libraries (swig and Python development headers) at install time, which adds friction compared to pure-Python packages. It has no runtime dependencies beyond the compiled extension itself. The project is maintained as a PyPI mirror of upstream sources. With 492 days since the last release and aging maintenance status, the package is stable but not actively developed.

Use it for:

  • Parse device tree binaries in embedded Linux build systems or bootloader configuration tools.
  • Programmatically inspect and validate device tree structures during hardware bring-up or testing.
  • Integrate device tree manipulation into Python-based firmware or kernel development workflows.
  • Extract hardware configuration data from binary files for system inventory or documentation generation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python bindings to libfdt, the device tree compiler library, enabling programmatic parsing and manipulation of device tree binary files.

Yes, if you need to work with device tree binaries in Python and can satisfy the system dependencies (swig, Python dev headers). The package is stable and has no known vulnerabilities. However, verify the license terms first due to unclear metadata, and be aware that install friction is high and maintenance is aging—expect no rapid updates if issues arise.

Install

pylibfdt on PyPI

pip

pip install pylibfdt

uv

uv add pylibfdt

poetry

poetry add pylibfdt

Installing pylibfdt

Before you install

High install friction: requires swig and Python development files to be present on the system before installation. Package is aging with no visible recent commit history, suggesting limited active maintenance.

License in practice

License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms before use, particularly if integrating into proprietary or copyleft-sensitive projects.

Quickstart

pip install pylibfdt
# Then import and use the compiled module
import pylibfdt

Requires swig and Python development files (python3-dev on Debian) installed before pip install will succeed.

Verify before relying

  • Actual license terms and SPDX classification—metadata shows unclear treatment.
  • Python version compatibility—requires_python is unspecified in package metadata.
  • Whether the package tracks upstream dtc project changes and update frequency.
  • Specific API surface and capabilities of the Python binding.

Package facts

License not declared (unclear)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance aging — 492 days since the last release
First released
Downloads 262,910/month — #8,365 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pylibfdt-1.7.2.post1.tar.gz

Tags

device tree parsing pythonlibfdt python bindingsdtb file manipulationdevice tree binary pythonembedded device tree toolsdtc python wrapper
embedded-systemsdevice-treec-bindings

More Software Development packages