New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
POC - External packages as component libraries #957
Conversation
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Hey there, just looking at this... is there any other way to get the extra component besides cloning the repo and doing the Reason I ask is because most people uses ESPHome with dashboard inside Hass "supervisor" May be, the dashboard could install more "stuff"? like a new option in the dashboard where you give it the git repos url and it will take care of installing the thing, i.e. cloning and running the setup.py Then you could see on the dashboard which "extras" you had installed, maybe some other thing needs to be done there? like requiring some metadata on the setup.py? I really don't know much of setup.py stuff this is all magic for me. Another option I'd like maybe more will be adding the git urls inside the yaml itself, much more like you tell esphome additional libraries or files to include, etc. |
If the package is published, you can just pip install them. Either from PyPI or directly to a git repo. Behind the scenes, most of the work is handled by the The main advantages I can see is this would allow for components to be decoupled from the core application, letting components get released more often. As to being inside the Hass supervisor, that is fine, I would assume that esphome is installed via pip, the install would the change to |
Is this still relevant with the introduction of external components? They both seem to provide the same functionality, albeit in a different way. |
Agree @oxan , we can close this. |
Description:
This pull request implements support for multiple component libraries and loading additional packages via entry points (more details in the feature request linked below).
The existing component locations are given priority (in the existing order).
A sample component library package:
https://github.com/timsavage/esphome-poc-component-lib
Related issue (if applicable): implementation of esphome/feature-requests#542
Pull request in esphome-docs with documentation (if applicable): Docs will be written to go with this.
Checklist:
tests/
folder).If user exposed functionality or configuration variables are added/changed: