home-assistant / home-assistant/core
Missing runtime dependencies in Home Assistant Bluetooth dependency chain
- Dominant language
- Python
- Stars
- 90.5k
- Forks
- 38.6k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 597
Description
### The problem
### Description
A clean installation of Home Assistant does not install all dependencies required when importing the Bluetooth stack and its hard dependencies.
The affected dependency chain includes:
```
bluetooth → usb → serialx
```
During import, dependencies such as aioesphomeapi and aiohasupervisor are required, but they are not declared transitively. As a result, compatibility checks that install Home Assistant and then import the Bluetooth stack fail with ModuleNotFoundError.
### Reproduction
```bash
python -m pip install homeassistant
python -c "import homeassistant.components.bluetooth"
```
Alternatively, inspect the manifests for bluetooth, bluetooth_adapters, usb, and their dependencies, then import the Bluetooth integration in a clean environment.
### Workaround
Install the missing packages manually:
```bash
python -m pip install aioesphomeapi aiohasupervisor
```
### Expected behavior
Installing Home Assistant should install all runtime dependencies required to import its Bluetooth integration and dependency chain.
### Environment
- Home Assistant: affected stable/latest release
- Python: 3.14
- Installation: clean pip environment
### What version of Home Assistant Core has the issue?
2026.9.1
### What was the last working version of Home Assistant Core?
_No response_
### What type of installation are you running?
Home Assistant Core
### Integration causing the issue
_No response_
### Link to integration documentation on our website
_No response_
### Diagnostics information
_No response_
### Example YAML snippet
```yaml
```
### Anything in the logs that might be useful for us?
```txt
https://github.com/ThyMYthOS/unifi_ble/actions/runs/34118458540/job/101730672018
```
### Additional information
_No response_
Contributor guide
Research direction
Start by inspecting the manifests for bluetooth, bluetooth_adapters, usb, and their dependencies, then reproduce the failure in a clean environment with `python -m pip install homeassistant` followed by importing `homeassistant.components.bluetooth`. Done means the clean installation includes the runtime dependencies and the Bluetooth integration imports without ModuleNotFoundError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, embedded-iot
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100