Python Versions
Scope: All Python based libraries
Policy - PyPi
Section titled “Policy - PyPi”Scope: All projects publishing to PyPi
For PyPi published libraries, maintain support for 2 or 3 major Python versions
- The primary version will be the version out for longer than 1 year
- Once latest version out for 1 year
- It becomes primary version
- Drop any latest-2 or before major versions
- If the latest version is less than a year old, don’t drop older version support yet
- Example
- Py3.15 came out October 2026
- Py3.13 will be supported until September 2027
- Py3.14 remains primary
## Policy - Dockerfiles
- Switch to the latest Python version after the first minor release
- e.g. Don’t use
3.15.0, start usage from3.15.1
- e.g. Don’t use
Policy - Home Assistant
Section titled “Policy - Home Assistant”Follow Home Assistants requirements. Maintain older versions of Python where required by the supported range of Home Assistant versions.
Exceptions
Section titled “Exceptions”homeassistant-replis aimed at expert developers, and has support limited to HA2026.8and later only
Policy - All
Section titled “Policy - All”- Use a test matrix on
ciGithub Action workflows that tests every major version in the range, e.g.3.13,3.14and3.15 - By exception, multiple minor versions may be added,e.g. separately test
3.14.3and3.14.4. This will happen only where there’s known issues introduced in the minor update. - ALways use the latest point release per major version
- Nothing in this policy covers a
4.0.0or similar Python release. Ignore all such releases until policy is reviewed to handle it. - New features in latest Python releases will not be exploited until that version is the last in the supported range
- Exception for high priority usage that can be gated for that version only, or more cumbersome workarounds for earlier releases
- Exception for development only usage, e.g. profiling
Responsibilities
Section titled “Responsibilities”- Python and Home Assistant issues are not the responsibility of the Rhizomatics custom components, unless there’s some specific vulnerable feature that is used by the components.
Reference
Section titled “Reference”Python 3.15
Section titled “Python 3.15”3.15.0 released Oct 14th 2026