Skip to content

Commit 9942285

Browse files
authored
Update minimum supported Python to 3.7 (#134)
This ought to be possible now that Gecko CI is all using 3.7+.
1 parent ff3e21d commit 9942285

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

rfcs/python_37.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# RFC 134: Bump minimum supported Python to 3.7
2+
3+
## Summary
4+
5+
Increase the minimum supported Python version to 3.7.
6+
7+
## Details
8+
9+
Currently we support Python 3.6+. However 3.6 was EOL in December
10+
2021, and the Python ecosystem has generally moved away from offering
11+
3.6 support. Practically this means that we have been unable to update
12+
many dependencies which depend on 3.7+.
13+
14+
Previously the blocker for updates was the downstream integration with
15+
Gecko's CI which still used Python 3.6. This has recently been updated
16+
to use [3.7](https://bugzilla.mozilla.org/show_bug.cgi?id=1734402),
17+
which unblocks updating to that version.
18+
19+
Practically this requires several manual changes:
20+
21+
* Change the CI jobs running under Python 3.6 to instead use 3.7.
22+
* Update any outdated vendored dependencies that are being held back
23+
due to lack of 3.6 support.
24+
* Retrigger CI runs for dependabot PRs. Hopefully this allow many
25+
dependencies to be updated, although there may be some for which
26+
the latest versions require 3.8+. In these cases we should manually
27+
try to update to the latest 3.7 compatible release.
28+
29+
30+
## Risks
31+
32+
3.7 itself is near the end of its support period, so there is some
33+
risk that we end up in a similar situation again soon, with libraries
34+
requiring 3.8+. However given the requirement to support vendors, and
35+
the fact that Gecko depends on 3.7, bumping the minimum version
36+
further is not possible at this time.
37+
38+
Some unknown external users may depend on 3.6 support. This is
39+
hopefully reasonably unlikely as they would both need to be using wpt
40+
in a large system where Python updates are challenging, and also not
41+
be participating in the RFC process. However if this does happen we
42+
will need to work with the external user to determine a viable path
43+
forward.

0 commit comments

Comments
 (0)