idf-component-manager
Espressif IDF Component Manager
Decision gist · record as of 2026-08-14
Yes. This is the official Espressif dependency manager for ESP-IDF projects. It is actively maintained, has no known vulnerabilities, supports current Python versions, and is widely used (top 5000 PyPI packages). Install it if you are developing ESP-IDF firmware and want automated component dependency management; it is the standard tool for this workflow.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires ESP-IDF environment to be set up and active; CMake integration is automatic but only works within an ESP-IDF project structure.
- Low install friction with a pure-Python wheel distribution.
- Actively maintained with a recent release (31 days ago) and current commits.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
last release 2026-07-14 (31 days) · last repo commit 2026-08-10 · 63 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,497,795 downloads/mo, #3,832 on PyPI
Alternatives
Verify before relying
pip install idf-component-manager
# In your ESP-IDF project, create idf_component.yml:
# dependencies:
# component: "~2.0.0"
# username/component: ">=1.0.0"
# Then run: idf.py reconfigure
# Component Manager downloads dependencies to managed_components/- Whether the tool works offline or requires network access to the ESP Component Registry for typical workflows.
- Performance characteristics when resolving large dependency graphs or working with many components.
What it is and what it does
IDF Component Manager is a dependency resolver and downloader for ESP-IDF embedded projects. It reads `idf_component.yml` manifest files to identify component dependencies, resolves version constraints, and automatically downloads components from the ESP Component Registry or Git repositories into a `managed_components` directory during CMake configuration. The tool caches a `dependencies.lock` file to avoid re-downloading unchanged components on subsequent builds.
The package integrates directly into the ESP-IDF build pipeline and supports version constraints, optional dependencies, conditional inclusion rules, pre-release versions, local paths, and custom registries. It is intended for developers building firmware for Espressif chips (ESP32, ESP32-C3, etc.) who want to reuse and share modular components without manually managing versions.
Use it for
- Manage multiple ESP-IDF component dependencies in a single project manifest without manual version tracking.
- Share reusable embedded components across projects via the ESP Component Registry or private Git repositories.
- Automatically resolve and download transitive dependencies during the build process to ensure reproducible firmware builds.
- Conditionally include components based on IDF version or target chip using manifest rules.
- Cache component metadata to reduce registry requests when building frequently on the same machine.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
This is the official Espressif dependency manager for ESP-IDF projects. It is actively maintained, has no known vulnerabilities, supports current Python versions, and is widely used (top 5000 PyPI packages). Install it if you are developing ESP-IDF firmware and want automated component dependency management; it is the standard tool for this workflow.
Install
idf-component-manager on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release (31 days ago) and current commits. Supports modern Python versions (3.10–3.14).
Requires ESP-IDF environment to be set up and active; CMake integration is automatic but only works within an ESP-IDF project structure.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install idf-component-manager
# In your ESP-IDF project, create idf_component.yml:
# dependencies:
# component: "~2.0.0"
# username/component: ">=1.0.0"
# Then run: idf.py reconfigure
# Component Manager downloads dependencies to managed_components/
Verify before relying
- Whether the tool works offline or requires network access to the ESP Component Registry for typical workflows.
- Performance characteristics when resolving large dependency graphs or working with many components.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release <4.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 16 packagespsutilrichrich-clickesp-pylibpyparsingruamel.yamlrequestsrequests-filerequests-toolbeltjsonrefpydanticpydantic-corepydantic-settingspathvalidatetyping-extensionstruststore |
| Maintenance | Actively maintained 31 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,497,795 / month, #3,832 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPython |
Evidence: idf_component_manager-3.1.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 › “esp-idf dependency manager”
- idf-component-managerAutomatically downloads and manages ESP-IDF component dependencies…
- esp-idf-sizeAnalyzes statically allocated RAM and binary size of ESP-IDF firmware…
- esp-idf-diagCollects ESP-IDF environment, system, and project information into a…
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 esp-idf-kconfig · esp-idf-monitor · esp-idf-nvs-partition-gen · idf-build-apps · esp-idf-diag · esp-idf-panic-decoder · esp-bool-parser · esp-idf-size · conan · keboola.component