-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get our apps off of Python 3.6 #1199
Comments
jon-betts
changed the title
Upgrade all our apps to Python 3.9
Get our apps off of Python 3.6
Mar 31, 2021
This was referenced Apr 2, 2021
Closed
This was referenced Apr 16, 2021
This was referenced Apr 23, 2021
This was referenced May 4, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Background
Outcomes
Desired technical outcomes
Incidental technical outcomes
Technical consequences
Desired documentation outcomes
Desired policy outcomes
Implementation overview
Phase 1 - Information gathering
The aim of this phase is to:
Phase 2 - Raise the ceiling
The aim of this phase is to:
Phase 3 - Raise the floor
The aim of this phase is to:
Phase 4 - Documentation and policy
The aim of this phase is to:
It is likely and desirable that many of the documentation goals might be wholly or in part achieved in earlier phases, but this gives an opportunity to recap and ensure they are met.
Implementation details
Sequencing
We should attempt to order our efforts in such a way as to result in the largest number of applications no longer being on Python 3.6 in a given time period. This means:
Determining library compatibility
We can determine that a library supports Python 3.x in the following ways (in order of preference):
Handling incompatible libraries
In the event that a particular library supports a version of Python higher than 3.6, but lower than 3.9, we may decide to only partially upgrade the product in question. This:
If we decide to upgrade or in the event that a library supports at most Python 3.6 we should:
If a library has support for Python 3.5 or lower we should:
Working with maintainers of packages to update Python compatibility
Working with every package maintainer to update their Python compatibility is likely impractical as:
Therefore we should concentrate our efforts on:
Determining readiness for updates
For any given product (library or application) if we have determined that:
Then the product can be deemed to be compatible with the target version and the classifiers should be updated to match.
Note this can be achieved a number of ways including:
Python version support in our applications and libraries
Applications should:
Libraries should:
cookiecutter
library templateAppendix
Product list for upgrading python
Applications:
Libraries:
3rd-party PRs: #1204
Product list for removing Python < 3.8 support:
The text was updated successfully, but these errors were encountered: