we would like to introduce to you a new tool for the ESP-IDF - the IDF Component Manager (Beta).
The purpose of IDF Component Manager is to simplify the process of publishing and installation of ESP-IDF components. It does roughly the same thing as npm in Node.js or pip in Python ecosystems.
Several components have already been uploaded by Espressif to the component registry: https://components.espressif.com/.
The component manager is in the beta phase at the moment. We will be collecting the feedback and use it to guide further development. If you have ideas or suggestions about this feature, please let us know in this forum thread.
Installing IDF Component Manager
IDF component manager can be used with ESP-IDF v4.1 and later.
In the latest ESP-IDF master branch and in the upcoming v4.4 release, idf-component-manager package is installed by default and no extra action is necessary.
In ESP-IDF v4.1 — v4.3, you need to install the following Python package to use the component manager:
Code: Select all
source $IDF_PATH/export.sh
pip install idf-component-manager --upgrade
Using IDF Component Manager to add components to the project.
You can add idf_component.yml manifest files with the list of dependencies to any component in your project.
IDF Component Manager will download dependencies automatically during the project build process. The downloaded components will be put into managed_component directory at the root of your project. Additionally, dependencies.lock file will be created to store exact versions of the dependencies. This file is used to make the subsequent project builds repeatable.
You can use the following example in an ESP-IDF project to give this feature a try: https://github.com/espressif/esp-idf/tr ... nt_manager.
Publishing components at https://components.espressif.com
At this time, the service is not yet open for registrations, so you can't upload your components to the registry yet. This is something we are working on and we will try to open the component registry for everyone as soon as possible. We know of many awesome components developed by the community which are already available on Github, and we hope to bring them to the IDF Component Manager soon!
If there is a notable component you would like us to publish in the meantime, please let us know.
Documentation and source code
The source code of the Component Manager is published on GitHub: https://github.com/espressif/idf-component-manager. As always, contributions are welcome.
For more docs go through the readme in the repo. Also, see the page about IDF Component Manager in the ESP-IDF Programming Guide.
Any questions or suggestions are welcome!