Skip to main content
Change of provenance

The repository or configuration that created this release differ from a previous release. View details.

Binman

Binman firmware packager

Test status PyPI version Documentation status Supported Python versions

Binman packages firmware. Building firmware should be separate from packaging it: build all the pieces you need, using whatever projects and build systems they require, then use binman to stitch everything together into an image. It:

  • reads an image description from a devicetree and works out what to place where, with padding, alignment, compression and hashing;

  • supports hierarchical images and a large set of entry types, including FIT, CBFS, ARM Trusted Firmware FIP and many SoC-specific formats;

  • lets firmware find other binaries in the image, using linker symbols or the devicetree description of the image;

  • inspects existing images, extracting and replacing their contents and repacking where needed;

  • copes with missing binary blobs and fetches the external tools it needs.

Binman is designed primarily for use with U-Boot and associated binaries such as ARM Trusted Firmware, but is general enough to be used with other projects.

Installation

Install the latest release from PyPI:

pip install binary-manager

The pylibfdt dependency is built from source, so this needs swig, a C compiler and the Python development headers (on Debian and Ubuntu: apt install swig build-essential python3-dev).

The binman command is then on your path.

Quick start

Build an image from the description in a devicetree, taking the input files from the current directory:

binman build -d u-boot.dtb

List the contents of an existing image:

binman ls -i image.bin

Binman runs external tools for some entry types. To install any which are missing:

binman tool -f missing

See binman -H for the complete manual, or the documentation linked below.

Documentation

Full documentation is hosted on Read the Docs:

https://binman.readthedocs.io/

There is a short introduction, with a demo, at https://deinde.dev/binman/

Development

Run the test suite from a checkout:

pip install -r requirements.txt
pip install -e .[test]
binman tool -f missing
binman test

The tests build some small x86 ELF programs, so they need make and a gcc which can produce 32-bit x86 code (gcc-multilib), or set CROSS_COMPILE to a suitable cross-compiler. They also need a recent mkimage from U-Boot, since the expected output tracks its development; pass --toolpath to point binman at a U-Boot tools/ build directory. binman test -T checks that the tests cover all of the code.

The dtoc library is vendored from the U-Boot tree and u_boot_pylib is installed from PyPI as u-boot-pylib, so no surrounding U-Boot source is required.

Metadata

Release files for binary-manager 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Change of provenance

The repository or configuration that created these release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Source distribution (sdist)

Source distribution for binary-manager 0.1.3
File Size Uploaded Provenance
binary_manager-0.1.3.tar.gz 388.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for binary-manager 0.1.3
File Interpreter ABI Platform
binary_manager-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 997.3 kB

Release files / binary_manager-0.1.3.tar.gz

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Download URL binary_manager-0.1.3.tar.gz
Size 388.6 kB
Tags Source
SHA-256 checksum
How to use checksums
45822f92d734e2e16a589f435a2545aed8d3f534b48cf0a39cc1286dd8751bc5
BLAKE2b-256 checksum
How to use checksums
69d0b94723ae23e2f49c1898ad80d16b70cc72311ae588245f8b0199fbb39534
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / binary_manager-0.1.3-py3-none-any.whl

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Download URL binary_manager-0.1.3-py3-none-any.whl
Size 608.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dfab5ee170832369106935361f21b813eddfe5487f5f7fa01a9777abacd927ad
BLAKE2b-256 checksum
How to use checksums
c778dee9807e672c2d776c58bf458b92a87fb5f5af29ae6ef0879cc565795e5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Security for binary-manager 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Change of provenance

The repository that created this release differs from a previous release.

While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.

Repository

  • Removed 0.1.2 GitHub: nxtboot/binman
  • Added 0.1.3 GitHub: deinde-dev/binman
Select from 2 files

Attestation for binary_manager-0.1.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page