Minimum Supported Python version #550
-
About a month after ADR-0002 was published PEP 602 came out, moving Python to an annual release schedule. Many Linux distributions (including any number of Debian derivatives like Raspbian) use a biannual release cycle. Combined with the above, this guarantees that these distros will inevitably have a Python version that is two minor versions behind current when the next OS version releases, meaning these distros effectively skip every other minor Python version entirely. ADR-0002 currently restricts Python support to only a single minor version behind the current. The effect of this is that, for ~6-8 months every two years, Home Assistant Core will not be install-able on these distros using native Python3 packages (not coincidentally we happen to be in one of those periods at the moment). I understand the desire to ease the maintenance headache of supporting multiple versions of Python, but in light of the changes to Python's release schedule after ADR-0002 was decided I'm wondering if, moving forward, it might be worth considering supporting the last three released Python versions (i.e. right now that would be 3.7-3.9) in an effort to bridge this gap? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I think that should not be needed. If one is using a Python environment directly, it should not be a problem for those users at all (considering the target audience). E.g., using pyenv. As for the project, we recommend using containerized distributions of Home Assistant (as provided by our OS, Container, or Supervised installation methods), which currently covers around 96% of our userbase. |
Beta Was this translation helpful? Give feedback.
I think that should not be needed. If one is using a Python environment directly, it should not be a problem for those users at all (considering the target audience). E.g., using pyenv.
As for the project, we recommend using containerized distributions of Home Assistant (as provided by our OS, Container, or Supervised installation methods), which currently covers around 96% of our userbase.