Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Breaking change
Python 3.9 support has previously been deprecated and has now been removed. Home Assistant now requires Python 3.10 to run.
If you are using Home Assistant OS, Home Assistant Container, or Home Assistant Supervised installation method, you don't have to do anything. In those cases, we all handle this for you. Your system has been using Python 3.10 for quite some time already.
Proposed change
Drops support for Python 3.9, which was deprecated in #82193
Getting close to the beta cut for 2023.2.0, it becomes time to drop it from dev. I've just shipped the Home Assistant Core 2023.1.7 patch release, which we are now assuming will be the last patch release of 2023.1.x.
This PR focuses on dropping Python support in a minimal way. Additional refactoring has been left out of scope. It removes CI for Python 3.9, and enforces Python 3.10.
Additionally, there is a change in hassfest, since stdlib-list has been unmaintained and is no longer compatible. However, Python 3.10 now has a built-in replacement. The downside to this replacement is that it only supports the Python version it is run against. Yet, this is better than dropping it completely IMHO.
Nb: Refactoring and cleanups are left out of scope for this PR; as those should be done independently in separate PRs.
Type of change
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.To help with the load of incoming pull requests: