Skip to main content

Tools for building ESP-IDF related apps.

Project description

idf-build-apps

Documentation Status pypi_package_version supported_python_versions

idf-build-apps is a tool that helps users find and build ESP-IDF projects faster.

What is an app?

An ESP-IDF project would typically contain:

  • Build recipe in CMake and the main component with app sources
  • (Optional) One or more sdkconfig files

app is the abbreviation for application. An application is the binary that is being built with the specified sdkconfig and the target chip. idf-build-apps could build one project into a number of applications.

Installation

pip install idf-build-apps

or pipx

pipx install idf-build-apps

Basic Usage

idf-build-apps is a callable python package, and an executable script with the same name would also be installed. It contains two sub-commands.

  • find to find the buildable applications
  • build to build the found applications

For detailed explanation to all CLI options, you may run

idf-build-apps -h
idf-build-apps find -h
idf-build-apps build -h

Quick Example

To build the applications for all targets of the ESP-IDF hello world example project under ESP-IDF v5.0:

idf-build-apps build -p $IDF_PATH/examples/get-started/hello_world/ --target all --build-dir build_@t

It would get the default supported targets from your IDF version, build the hello world project with all targets and the default sdkconfig file.

Partial build log:

2023-02-22 12:14:58 INFO Found 5 apps in total
2023-02-22 12:14:58 INFO Total 5 apps. running build for app 1-5
2023-02-22 12:14:58 INFO Building the following apps:
2023-02-22 12:14:58 INFO   (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32 (preserve: True)
2023-02-22 12:14:58 INFO   (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32c2, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32c2 (preserve: True)
2023-02-22 12:14:58 INFO   (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32c3, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32c3 (preserve: True)
2023-02-22 12:14:58 INFO   (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32s2, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32s2 (preserve: True)
2023-02-22 12:14:58 INFO   (cmake) App /tmp/test/esp/esp-idf/examples/get-started/hello_world/, target esp32s3, sdkconfig (default), build in /tmp/test/esp/esp-idf/examples/get-started/hello_world/build_esp32s3 (preserve: True)

For detailed information, please refer to our documentation site!

Contributing

Thanks for your contribution! Please refer to our Contributing Guide

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

idf_build_apps-1.1.3.tar.gz (52.3 kB view hashes)

Uploaded Source

Built Distribution

idf_build_apps-1.1.3-py2.py3-none-any.whl (35.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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