Skip to main content

ESP Board Manager Python package for idf.py extensions

Project description

esp-bmgr-assist

PyPI package: esp-bmgr-assist
Python package: esp_bmgr_py

esp-bmgr-assist injects into the idf.py startup flow through a .pth hook, then discovers and loads the ESP Board Manager extension automatically.

PyPI 包名:esp-bmgr-assist
Python 包目录:esp_bmgr_py

esp-bmgr-assist 通过 .pth 注入 idf.py 启动流程,帮助工程自动发现并加载 ESP Board Manager 扩展。

Features / 功能

  • Automatically appends the detected board manager path to IDF_EXTRA_ACTIONS_PATH.

  • Supports local and managed component discovery:

    • components/esp_board_manager
    • components/espressif__esp_board_manager
    • managed_components/espressif__esp_board_manager
  • Supports first-use bootstrap on idf.py bmgr ... and the legacy idf.py gen-bmgr-config ....

  • Resolves the real project directory correctly for -C / --project-dir.

  • Can locate board manager through direct dependencies or transitive dependencies resolved by the project dependency graph.

  • 自动把可用的 board manager 路径加入 IDF_EXTRA_ACTIONS_PATH

  • 支持本地组件和托管组件发现:

    • components/esp_board_manager
    • components/espressif__esp_board_manager
    • managed_components/espressif__esp_board_manager
  • 支持在 idf.py bmgr ... 和兼容旧命令 idf.py gen-bmgr-config ... 首次使用时自动自举。

  • 支持正确处理 -C / --project-dir 等项目目录参数。

  • 支持通过直接依赖或项目依赖图解析出的传递依赖定位 board manager。

Installation / 安装

Install this package into the Python environment used by ESP-IDF.

请安装在 ESP-IDF 对应的 Python 虚拟环境中。

Install from PyPI:

pip install esp-bmgr-assist

Install from source:

pip install /path/to/esp-bmgr-py

Upgrade an existing installation from PyPI:

pip install --upgrade esp-bmgr-assist

Upgrade from a local checkout after new changes:

pip install --upgrade /path/to/esp-bmgr-py

Usage / 使用方法

Recommended command:

idf.py bmgr

Legacy command kept for compatibility:

idf.py gen-bmgr-config

Debug mode:

export ESP_BMGR_DEBUG=1
idf.py bmgr

Assist preflight warnings are enabled by default for build-like commands:

idf.py build

Disable them when needed:

export ESP_BMGR_ASSIST_PREFLIGHT=0
idf.py build

Assist can warn about:

  • missing components/gen_bmgr_codes/* generated artifacts
  • CONFIG_IDF_TARGET mismatch between sdkconfig and board_manager.defaults

The assist-side preflight currently focuses on build-like commands and intentionally skips interactive/config-only commands such as set-target, menuconfig, confserver, and config-report.

推荐命令:

idf.py bmgr

兼容旧命令:

idf.py gen-bmgr-config

调试模式:

export ESP_BMGR_DEBUG=1
idf.py bmgr

assist 侧预检查默认会在 build 一类命令上启用:

idf.py build

如需关闭,可设置:

export ESP_BMGR_ASSIST_PREFLIGHT=0
idf.py build

开启时,assist 会额外提示:

  • components/gen_bmgr_codes/* 生成物缺失
  • sdkconfigboard_manager.defaultsCONFIG_IDF_TARGET 不匹配

当前 assist 预检查只针对 build 一类命令,不会对 set-targetmenuconfigconfserverconfig-report 这类交互/配置命令输出这些 warning。

Compatibility And Known Issues / 兼容与已知问题

Older package behavior / 旧版本行为

Starting from 0.3.1, this package no longer declares core dependencies managed by ESP-IDF itself, such as idf-component-manager. This avoids accidentally upgrading key packages inside the IDF environment during pip install.

0.3.1 起,本包不再声明 idf-component-manager 等由 ESP-IDF 自身管理的核心依赖,避免在 pip install 时误升级 IDF 环境中的关键包。

If you installed 0.3.0 before and later saw check-python-dependencies failures, repair the current IDF environment first, then reinstall a newer esp-bmgr-assist.

如果之前安装过 0.3.0,之后出现 check-python-dependencies 失败,请先修复当前 IDF 环境,再重新安装更新版本的 esp-bmgr-assist

InvalidVersion / 4.0.0-unsupported

This is usually caused by broken third-party package metadata already present in the current Python environment, often in mixed or Conda-based environments. It is not caused by esp-bmgr-assist itself.

这通常是当前 Python 环境里已有第三方包的元数据不符合 PEP 440,常见于混用或 Anaconda 环境,不是 esp-bmgr-assist 自身逻辑导致的。

Recommended actions:

  1. Use the official ESP-IDF Python environment.
  2. Reinstall or remove the package named in the error log.
  3. Create a clean virtual environment if needed.

建议按下面顺序处理:

  1. 优先使用 ESP-IDF 官方 Python 虚拟环境。
  2. 重装或卸载报错中点名的包。
  3. 必要时新建干净的虚拟环境后再安装。

IDF_EXTRA_ACTIONS_PATH separator / 多路径分隔符

Use ; as the separator for multiple IDF_EXTRA_ACTIONS_PATH entries, matching ESP-IDF behavior on all platforms. Do not use :.

多个 IDF_EXTRA_ACTIONS_PATH 路径请使用分号 ; 分隔,与 ESP-IDF 在各平台上的行为保持一致。不要使用 :

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

esp_bmgr_assist-0.6.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

esp_bmgr_assist-0.6.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file esp_bmgr_assist-0.6.0.tar.gz.

File metadata

  • Download URL: esp_bmgr_assist-0.6.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for esp_bmgr_assist-0.6.0.tar.gz
Algorithm Hash digest
SHA256 a0421bce1de70b11aecbc2fe007b449e44e612edb6cb38c06f5a863276c83607
MD5 0ad7dd569900ca46ed023e869fb20466
BLAKE2b-256 b0faaf83b8e7bb3b44891e6b3b30eda42693f8371af30a28457574224b5457d7

See more details on using hashes here.

File details

Details for the file esp_bmgr_assist-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for esp_bmgr_assist-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 364de7e686d8095486c683513a1966ad9ae799389ca0e947e4c98443c43a6887
MD5 da13669eb55f7f2eded24d802d28833f
BLAKE2b-256 40a051bc527b22970bd81ab6458288ecce2e24f7117fc0e022e501ff4913db72

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page