uefi-firmware
Various data structures and parsing tools for UEFI firmware.
Decision gist · record as of 2026-08-14
Yes, if you work with UEFI firmware analysis, security research, or BIOS reverse engineering. The package is actively maintained, has no known vulnerabilities, and provides both programmatic and CLI interfaces. Install friction is moderate due to compilation requirements, but pre-built wheels are available for common platforms. Not relevant for general application development.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.10; compression/decompression features need Python development headers and gcc installed on the system.
- Medium install friction due to compiled wheels for multiple platforms; requires Python development headers and gcc for compression/decompression features.
- Active maintenance with recent release (71 days ago) and 919 repository stars.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive, allowing commercial and private use with attribution; no significant restrictions for most use cases.
last release 2026-06-04 (71 days) · last repo commit 2026-06-04 · 919 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 281,727 downloads/mo, #8,093 on PyPI
Alternatives
Verify before relying
import uefi_firmware
with open('/path/to/firmware.rom', 'rb') as fh:
file_content = fh.read()
parser = uefi_firmware.AutoParser(file_content)
if parser.type() != 'unknown':
firmware = parser.parse()
firmware.showinfo()- Whether all supported vendor firmware formats (ASRock, Dell, Gigabyte, etc.) parse reliably in current version 1.16
- Performance characteristics when processing large firmware files or performing byte-by-byte brute-force scanning
- Completeness of GUID injection functionality and whether it remains non-scriptable as documented
What it is and what it does
uefi-firmware is a Python module for analyzing and manipulating UEFI firmware binaries. It provides parsing and extraction capabilities for UEFI firmware volumes, capsules, Intel ME modules, Dell PFS updates, and other firmware formats commonly found in BIOS updates from major vendors. The module includes both a programmatic API (via classes like AutoParser) and command-line tools (uefi-firmware-parser script) for common tasks.
The package is designed for firmware security research, reverse engineering, and analysis workflows. It can detect firmware types automatically, extract nested structures to disk, inject or replace sections within firmware files, and generate firmware descriptors. It supports multiple compression schemes including Tiano/EFI and LZMA, and includes utilities for GUID extraction and IDA Python integration.
Use it for
- Analyze BIOS/UEFI updates from vendors to identify firmware structure and embedded components before deployment
- Extract Intel ME firmware modules from system images for security auditing and vulnerability research
- Inject or replace firmware sections for testing, patching, or security research on UEFI volumes
- Batch-process firmware files to catalog GUIDs and generate reverse-engineering reference data for IDA
- Detect and parse firmware objects in binary blobs or unknown firmware images using brute-force scanning
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with UEFI firmware analysis, security research, or BIOS reverse engineering.
The package is actively maintained, has no known vulnerabilities, and provides both programmatic and CLI interfaces. Install friction is moderate due to compilation requirements, but pre-built wheels are available for common platforms. Not relevant for general application development.
Install
uefi-firmware on PyPI
Before you install
Medium install friction due to compiled wheels for multiple platforms; requires Python development headers and gcc for compression/decompression features. Active maintenance with recent release (71 days ago) and 919 repository stars.
Requires Python >= 3.10; compression/decompression features need Python development headers and gcc installed on the system.
License in practice
BSD-3-Clause is permissive, allowing commercial and private use with attribution; no significant restrictions for most use cases.
Quickstart
import uefi_firmware
with open('/path/to/firmware.rom', 'rb') as fh:
file_content = fh.read()
parser = uefi_firmware.AutoParser(file_content)
if parser.type() != 'unknown':
firmware = parser.parse()
firmware.showinfo()
Verify before relying
- Whether all supported vendor firmware formats (ASRock, Dell, Gigabyte, etc.) parse reliably in current version 1.16
- Performance characteristics when processing large firmware files or performing byte-by-byte brute-force scanning
- Completeness of GUID injection functionality and whether it remains non-scriptable as documented
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagefuture |
| Maintenance | Actively maintained 71 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 281,727 / month, #8,093 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: System AdministratorsProgramming Language :: Python :: 3Topic :: Security |
Evidence: uefi_firmware-1.16-cp310-abi3-macosx_10_9_universal2.whl; uefi_firmware-1.16-cp310-abi3-macosx_10_9_x86_64.whl; uefi_firmware-1.16-cp310-abi3-macosx_11_0_arm64.whl; uefi_firmware-1.16-cp310-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; uefi_firmware-1.16-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; uefi_firmware-1.16-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; uefi_firmware-1.16-cp310-abi3-musllinux_1_2_aarch64.whl; uefi_firmware-1.16-cp310-abi3-musllinux_1_2_i686.whl; uefi_firmware-1.16-cp310-abi3-musllinux_1_2_x86_64.whl; uefi_firmware-1.16-cp310-abi3-win32.whl; uefi_firmware-1.16-cp310-abi3-win_amd64.whl; uefi_firmware-1.16-cp310-abi3-win_arm64.whl; uefi_firmware-1.16-cp314-cp314t-macosx_10_15_universal2.whl; uefi_firmware-1.16-cp314-cp314t-macosx_10_15_x86_64.whl; uefi_firmware-1.16-cp314-cp314t-macosx_11_0_arm64.whl; uefi_firmware-1.16-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; uefi_firmware-1.16-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; uefi_firmware-1.16-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; uefi_firmware-1.16-cp314-cp314t-musllinux_1_2_aarch64.whl; uefi_firmware-1.16-cp314-cp314t-musllinux_1_2_i686.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 › “uefi firmware parsing”
- uefi-firmwareParses, extracts, and recreates UEFI firmware volumes, including…
- edk2-pytool-libraryProvides Python classes and utilities for UEFI firmware development,…
- edk2-pytool-extensionsProvides command-line tools and a plugin-based environment for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Security packages
Provides Python bindings to the FreeDesktop.org Secret Service API for securely storing and retrieving passwords and secrets through GNOME Keyring, KWallet, or KeePassXC.
MSAL for Python handles OAuth2 and OpenID Connect authentication with Microsoft identity services, managing token acquisition, caching, and refresh for applications integrating with Microsoft Entra ID, Microsoft Accounts, and Azure AD B2C.
joserfc implements JOSE standards (JWS, JWE, JWK, JWT, and related RFCs) for signing, encrypting, and managing JSON-based cryptographic tokens in Python.
Authlib provides a complete implementation of OAuth 1.0, OAuth 2.0, and OpenID Connect 1.0 for building both authentication clients and servers, with built-in support for JWS, JWK, JWA, and JWT standards.
Provides low-level CFFI bindings to the official Argon2 password hashing algorithm for use by libraries and applications that need direct access to Argon2 without higher-level abstractions.
ADAL for Python authenticates applications with Azure Active Directory to obtain tokens for accessing Azure AD-protected resources.
Install only if maintaining existing code that already depends on it, and plan a migration.
See also edk2-pytool-library · universal-silabs-flasher · ipsw-parser · esp-idf-size · membrowse · extractcode · bincopy · esp-idf-nvs-partition-gen · zigpy-zigate · edk2-pytool-extensions