skillfed

idf-component-manager

Espressif IDF Component Manager

idf-component-manager v3.1.0 1.5M downloads/30d#3,832 on PyPI63
Permissive license Apache-2.0 Active released

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

Automatically downloads and manages ESP-IDF component dependencies for embedded projects, resolving versions from the ESP Component Registry or Git repositories during the CMake build process.

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

pip

pip install idf-component-manager

uv

uv add idf-component-manager

poetry

poetry add idf-component-manager

Installing idf-component-manager

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).

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/

Requires ESP-IDF environment to be set up and active; CMake integration is automatic but only works within an ESP-IDF project structure.

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 — psutil, rich, rich-click, esp-pylib, pyparsing, ruamel.yaml, requests, requests-file, requests-toolbelt, jsonref, pydantic, pydantic-core, pydantic-settings, pathvalidate, typing-extensions, truststore
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)

Evidence: idf_component_manager-3.1.0-py3-none-any.whl

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

Tags

esp-idf dependency managercomponent version resolverembedded project build toolesp32 component registrycmake dependency automation
esp-idfembedded-systemsdependency-management

More Build Tools packages