Hello all,
I would like to get your opinion on automatic update of requirements in the manifest.json file of an integration. The integration has a requirement which is released frequently enough. It is critical to make sure the latest release version of the requirement is used in the integration.
I learned that instead of hardcoding release version of the external library in the requirements array of manifest.json you could point to the release branch or release tag instead. I have not figured out out how to point to latest release tag yet without hardcode version. However I could point to the release branch. The outcome would be that at the Home Assistant startup, the integration will download the HEAD of the release branch of the Git repository of external library required by the integration
https://developers.home-assistant.io/docs/creating_integration_manifest/#requirements
https://pip.pypa.io/en/stable/topics/vcs-support/#supported-vcs
The requirements line in the manifest.json file would be:
"requirements": ["yt-dlp@ git+https://github.com/yt-dlp/yt-dlp.git@release"]
instead of
"requirements": ["yt-dlp[default]==2025.12.08"]
In my understanding, this would mean that whenever there will be a newer release on the Git repository yt-dlp/yt-dlp.git in release branch, then a reload of Home Assistant core would pull the HEAD of the release branch and ensure the latest version of yt-dlp would be used in Home Assistant integration which has yt-dlp in the requirements line of manifest.json file
Thanks for time for looking into this!