Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
edk2-pytool-extensions
Advanced tools
Getting Started? Check out our documentation at https://www.tianocore.org/edk2-pytool-extensions!
This is a Tianocore maintained project consisting of command line and other python tools and extensions for building and maintaining an Edk2 based UEFI firmware code tree. Part of these tools include "invocables" that can be used to build EDK2 Platforms and these tools are known as "stuart". This package's intent is to provide tools, scripts, and a plugin based environment for use within the tools and scripts. This environment has command line interfaces to support building a product, building CI, running tests, and downloading dependencies. This environment also provides the building blocks for developers to write their own tools to launch in the environment and leverage the capabilities provided by the environment. The unique capabilities provided help support building products with multiple repositories and having each repository contribute/plugin to the build process in a scalable way. The environment will scan the files in the code tree (multiple repos) and discover plugins, dependencies, path adjustments, environment variable settings, etc. This provides easy methods for common repositories to share build tools/steps.
Inclusion of this package is best managed using Pip/Pypi. This package makes use of edk2-pytool-library.
This is a supplemental package and is not required to be used for edk2 builds.
The code coverage and CI badges represent unit test status and the code coverage of those unit tests. We require 100% unit test success (Hence the pass / fail) and that code coverage percentage does not lower.
All release information is now tracked with Github tags, releases and milestones.
The package contains cli tools and a basic common environment for running tools. This common environment supports extensions, sub-classing, and plugin to allow great flexibility for building and maintaining a code tree.
Examples:
All content in this repository is licensed under BSD-2-Clause Plus Patent License.
NOTE: It is strongly recommended that you use python virtual environments. Virtual environments avoid changing the global python workspace and causing conflicting dependencies. Virtual environments are lightweight and easy to use. Learn more
To install run pip install --upgrade edk2-pytool-extensions
To use in your python code
from edk2toolext.<module> import <class>
This project and functionality was ported from Project Mu. For history and documentation prior to this see the original Project Mu projects https://github.com/microsoft/mu_pip_environment and https://github.com/microsoft/mu_pip_build
This project welcomes all types of contributions. For issues, bugs, and questions it is best to open a github issue.
For code contributions this project leverages github pull requests. See github tutorials, help, and documentation for complete descriptions. For best success please follow the below process.
See the github team for more details.
Documentation for maintainers on how to publish a release can be found here
Documentation for the most recent release of edk2-pytool-extensions is hosted on
tianocore.org/edk2-pytool-extensions.
Raw documentation is located in the docs/
folder and is split into two
separate categories. The first is located at docs/user/
and is
documentation and API references for those that are using this package in their
own project. Users can generate a local copy of the documentation by executing the
following command from the root of the project:
pip install --upgrade -e .[docs]
mkdocs serve
The second is located at docs/contributor/
and is documentation for
contributing to the edk2-pytool-extensions repository.
FAQs
Python tools supporting UEFI EDK2 firmware development
We found that edk2-pytool-extensions demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.