Clarification on Home Assistant python dependencies location

I just migrated from a full core installation, which was a pain to maintain, to a container installation which has been working perfectly.

I have a question regarding the way python dependencies/packages for HA are stored in the container. I’m talking about the dependencies that HA will install when it needs to set up a new integration or something like that, so not the default python dependencies that are needed to run HA in the first place.

When using core in a venv the dependecies are installed directly in the virtual environment folder. Instead, if the default python is used, the dependencies get installed in the /config directory (inside /config/deps). This was the case for my previous core installation.

I think this was also the case for this container, as I see on the release notes that after version 13.02.24 the dependencies location was moved out from the /config directory. In fact, poking inside the container, they seem to be installed in /usr/local/lib/python3.12/site-packages, as for a default system python installation.

Can I ask what is the rationale behind this? Doesn’t this mean that the depencies will need to be re-installed every time the container is either restarted or updated as they’re not stored in the only non-ephemereal storage for this container (the /config directory)? I can imagine this to be a problem for installations that have many different integrations. Or am I interpreting this wrong?

Thanks and keep up the good work

Our HA image did run in a venv for brief period but it no longer does.

The short answer is, Build time installed packages are within the container, but runtime installed packages should be in /config/.local/lib/python3.12/site-packages

Ah ok I see, thanks for the reply.
I do see some stuff installed in .local. so it means that the other packages present in /var/lib are already there at runtime? Then i guess everything makes sense.
The deps folder in home assistant will be deprecated anyway soon