The problem
In a custom component that I maintain (It overrides official integration husqvarna_automower_ble to support the more up to date library/bleeding edge developments) I've struggled with the maintainers methodology for using external python libraries loading via manifest.json
In my repo I use hassfest/validate and often found that the working representation in manifest.json requirements (Working as in, HASS loads the custom github repo python library correctly) failed hassfest validation. This also mirrored what was in your documentation for integrations at:
https://developers.home-assistant.io/docs/creating_integration_manifest/#requirements
According to this, I should be using the following:
"requirements": ["AutoMower-BLE@git+https://github.com/alistair23/AutoMower-BLE.git@main"],
in manifest.json. However, by using this, HASS will not pull the external library in at all, failing when the custom component tries to initialise, the library simply isn't there:
2025-08-01 19:16:43.732 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading flow for integration husqvarna_automower_ble: No module named 'automower_ble'
File "/config/custom_components/husqvarna_automower_ble/__init__.py", line 9, in <module>
from automower_ble.mower import Mower
ModuleNotFoundError: No module named 'automower_ble'
I have used several different methods by trial and error and found the following works:
"requirements": ["automower_ble @ git+https://github.com/alistair23/AutoMower-BLE.git@main"],
(Again, works means that at HASS startup, the external library is retrieved from the current 'main' branch of the github repo).
I therefore think there is a mismatch between the documented correct method (And the method that hassfest uses for validation) and the python validated method of importing requirements from github repo.
In the past I've pushed a change to the home-assistant documentation on the creating_integration_manifest/#requirements
However I see this has been reverted due to this PR from another user - https://github.com/home-assistant/developers.home-assistant/pull/2528/files
As opposed to my original correction back in November 2024:
home-assistant/developers.home-assistant#2438
Can this be confirmed/investigated as to the correct published method, to sync hassfest to correctly validate and documentation corrected?
What version of Home Assistant Core has the issue?
core-2025.7.3
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
husqvarna_automower_ble
Link to integration documentation on our website
https://developers.home-assistant.io/docs/creating_integration_manifest/#requirements
Diagnostics information
No response
Example YAML snippet
Anything in the logs that might be useful for us?
Integration husqvarna_automower_ble - /github/workspace/custom_components/husqvarna_automower_ble:
Error: R] [REQUIREMENTS] Requirement "automower_ble @ git+https://github.com/alistair23/AutoMower-BLE.git@main" contains a space
Warning: G] [MANIFEST] Domain collides with built-in core integration
Error: Process completed with exit code 1.
Additional information
No response
The problem
In a custom component that I maintain (It overrides official integration husqvarna_automower_ble to support the more up to date library/bleeding edge developments) I've struggled with the maintainers methodology for using external python libraries loading via manifest.json
In my repo I use hassfest/validate and often found that the working representation in manifest.json requirements (Working as in, HASS loads the custom github repo python library correctly) failed hassfest validation. This also mirrored what was in your documentation for integrations at:
https://developers.home-assistant.io/docs/creating_integration_manifest/#requirements
According to this, I should be using the following:
in manifest.json. However, by using this, HASS will not pull the external library in at all, failing when the custom component tries to initialise, the library simply isn't there:
I have used several different methods by trial and error and found the following works:
(Again, works means that at HASS startup, the external library is retrieved from the current 'main' branch of the github repo).
I therefore think there is a mismatch between the documented correct method (And the method that hassfest uses for validation) and the python validated method of importing requirements from github repo.
In the past I've pushed a change to the home-assistant documentation on the creating_integration_manifest/#requirements
However I see this has been reverted due to this PR from another user - https://github.com/home-assistant/developers.home-assistant/pull/2528/files
As opposed to my original correction back in November 2024:
home-assistant/developers.home-assistant#2438
Can this be confirmed/investigated as to the correct published method, to sync hassfest to correctly validate and documentation corrected?
What version of Home Assistant Core has the issue?
core-2025.7.3
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
husqvarna_automower_ble
Link to integration documentation on our website
https://developers.home-assistant.io/docs/creating_integration_manifest/#requirements
Diagnostics information
No response
Example YAML snippet
Anything in the logs that might be useful for us?
Additional information
No response