edk2-pytool-extensions
Python tools supporting UEFI EDK2 firmware development
Decision gist · record as of 2026-08-14
Yes, if you are developing or maintaining EDK2-based UEFI firmware. The package is actively maintained, has low install friction, and passes integration tests on Python 3.12–3.14 across Windows and Linux. Verify the license treatment (BSD-2-Clause Plus Patent) against your project's requirements, and note that it is a supplemental tool—not required for basic EDK2 builds.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; pywin32 is a runtime dependency that may require system configuration on Windows.
- Low friction installation as a pure Python wheel.
- Actively maintained with recent commits and passing integration tests across Python 3.12–3.14 on Windows and Linux.
License · maintenance · safety
(unclear) — License treatment is unclear in the fact sheet; the description mentions BSD-2-Clause Plus Patent License in the repository, but this is not formally declared in package metadata. Verify the actual license terms before adopting in proprietary or restricted environments.
last release 2026-03-30 (137 days) · last repo commit 2026-07-27 · 77 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 375,707 downloads/mo, #7,135 on PyPI
Alternatives
Verify before relying
pip install edk2-pytool-extensions
from edk2toolext import <module>
# Use tools for EDK2 build orchestration, dependency resolution, or plugin-based workflows- Exact scope and API surface of the plugin framework and how to write custom tools.
- Whether omnicache and nuget publishing tools are fully documented and production-ready.
- Compatibility and tested workflows with specific EDK2 platform configurations beyond the integration test matrix.
- Complete module structure and import paths available from edk2-pytool-extensions.
What it is and what it does
edk2-pytool-extensions is a Tianocore-maintained toolkit for building and maintaining EDK2-based UEFI firmware projects. It provides command-line interfaces (known as "stuart") and a plugin-based environment that handles build orchestration, CI integration, test execution, and dependency downloading. The package is designed to support multi-repository firmware projects where each repository can contribute build tools and steps through a plugin mechanism.
The toolkit includes loggers, binary dependency resolution (nuget, URLs, git repos), environment management, pre/post-build hooks, and utilities like nuget publishing and omnicache for git repository caching. Built on edk2-pytool-library, it is a supplemental package not required for basic EDK2 builds but provides infrastructure for scalable, multi-repository firmware development workflows.
Use it for
- Orchestrating multi-repository EDK2 firmware builds with plugin-based contribution from each repository.
- Setting up CI/CD pipelines for UEFI firmware projects with automated dependency resolution and build validation.
- Managing binary dependencies (NuGet packages, external URLs, git repositories) for firmware builds.
- Running pre- and post-build hooks and custom build steps through the plugin framework.
- Caching and reusing git repositories across multiple firmware workspaces using omnicache.
- Publishing firmware build artifacts and dependencies via NuGet from a centralized build environment.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are developing or maintaining EDK2-based UEFI firmware.
The package is actively maintained, has low install friction, and passes integration tests on Python 3.12–3.14 across Windows and Linux. Verify the license treatment (BSD-2-Clause Plus Patent) against your project's requirements, and note that it is a supplemental tool—not required for basic EDK2 builds.
Install
edk2-pytool-extensions on PyPI
Before you install
Low friction installation as a pure Python wheel. Actively maintained with recent commits and passing integration tests across Python 3.12–3.14 on Windows and Linux. Requires Python 3.10 or later.
Requires Python 3.10 or later; pywin32 is a runtime dependency that may require system configuration on Windows.
License in practice
License treatment is unclear in the fact sheet; the description mentions BSD-2-Clause Plus Patent License in the repository, but this is not formally declared in package metadata. Verify the actual license terms before adopting in proprietary or restricted environments.
Quickstart
pip install edk2-pytool-extensions
from edk2toolext import <module>
# Use tools for EDK2 build orchestration, dependency resolution, or plugin-based workflows
Verify before relying
- Exact scope and API surface of the plugin framework and how to write custom tools.
- Whether omnicache and nuget publishing tools are fully documented and production-ready.
- Compatibility and tested workflows with specific EDK2 platform configurations beyond the integration test matrix.
- Complete module structure and import paths available from edk2-pytool-extensions.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 9 packagesedk2-pytool-librarypyyamlpefilesemantic_versionGitPythonopenpyxlXlsxWriterpywin32setuptools |
| Maintenance | Actively maintained 137 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 375,707 / month, #7,135 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 :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: edk2_pytool_extensions-0.31.0-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 › “firmware development environment”
- edk2-pytool-extensionsProvides command-line tools and a plugin-based environment for…
- edk2-pytool-libraryProvides Python classes and utilities for UEFI firmware development,…
- pyimg4PyIMG4 parses Apple's Image4 format through a Python library and CLI…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also edk2-pytool-library · pwntools · uefi-firmware · akracer · colcon-metadata · winrt-Windows.Devices.Bluetooth · winrt-Windows.Devices.Enumeration · pyjoulescope-driver · scikit-learn-extra · winrt-Windows.Devices.Bluetooth.Advertisement