idf-build-apps
Tools for building ESP-IDF related apps.
What it is and what it does
idf-build-apps is a command-line tool and Python library for discovering and building Espressif microcontroller projects at scale. It automates the process of building ESP-IDF and ESP8266 RTOS applications across multiple configurations—different sdkconfig files and target chips—from a single project structure. Instead of manually building each combination, you define a matrix of build parameters and the tool generates all the resulting binaries in one operation.
The package works both as a CLI with three subcommands (find, build, completions) and as a library exposing find_apps and build_apps functions plus CMakeApp and MakeApp classes. It depends on common utilities like pyyaml for configuration, pydantic for validation, argcomplete for shell completion, and rich for terminal output. It supports Python 3.10 through 3.14 and is actively maintained by Espressif.
Use it for:
- Build multiple ESP32 firmware variants with different feature configurations from a single codebase.
- Automate CI/CD pipelines that need to generate binaries for multiple Espressif chip targets.
- Discover all buildable applications in a large monorepo of ESP-IDF examples or test projects.
- Generate test binaries across a matrix of sdkconfig permutations for regression testing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Finds and builds ESP-IDF and ESP8266 RTOS projects at scale, generating multiple application binaries from a single project using different sdkconfig files and target chips.
Yes. This is a production-stable, actively maintained tool from Espressif with low install friction, no security vulnerabilities, and a permissive license. Install it if you build multiple ESP-IDF or ESP8266 RTOS applications or need to automate multi-configuration builds; skip it if you only build single, one-off projects.
Install
idf-build-apps on PyPI
pip
pip install idf-build-appsuv
uv add idf-build-appspoetry
poetry add idf-build-appsInstalling idf-build-apps
Before you install
Low friction install with a pure-Python wheel. Active maintenance with recent commits and stable production status. Nine runtime dependencies are all common utilities (pyparsing, pyyaml, packaging, pydantic, argcomplete, rich) with no known compilation requirements.
License in practice
Permissive Apache license means you can use, modify, and distribute this tool freely in commercial and private projects without copyleft obligations.
Quickstart
pip install idf-build-apps
idf-build-apps build -p /path/to/project --target esp32
Requires Python 3.10 or later. Expects an ESP-IDF or ESP8266 RTOS project structure with CMake or Make build recipes and optional sdkconfig files.
Verify before relying
- Whether the tool can be used programmatically via the find_apps and build_apps functions without invoking the CLI.
- Performance characteristics when building projects with many sdkconfig variants or target combinations.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — pyparsing, pyyaml, packaging, toml, pydantic, pydantic_settings, argcomplete, esp-bool-parser, rich |
| Maintenance | actively maintained — 119 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 171,702/month — #10,358 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: idf_build_apps-3.0.2-py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
idf-component-managerAutomatically downloads and manages ESP-IDF…
permissive · top 5,000 on PyPI
esp-idf-nvs-partition-genGenerates binary NVS (Non-Volatile Storage)…
permissive · top 15,000 on PyPI
esp-idf-monitorProvides serial communication monitoring and…
permissive · top 15,000 on PyPI
esp-idf-sizeAnalyzes statically allocated RAM and binary…
permissive · top 5,000 on PyPI
platformioPlatformIO Core is a command-line build system…
permissive · top 5,000 on PyPI
esp-idf-diagCollects ESP-IDF environment, system, and…
permissive · top 15,000 on PyPI
esp-idf-kconfigProvides kconfig language support and IDE…
permissive · top 5,000 on PyPI
esp-bool-parserParses and evaluates boolean expressions from…
permissive · top 15,000 on PyPI
esp-idf-panic-decoderParses ESP-IDF panic handler output (registers…
permissive · top 15,000 on PyPI