File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed
Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ # Default to Python 3.6 or newer for new development
2+
3+ * Status: accepted
4+ * Date: 2020-10-20
5+
6+ Technical Story: https://github.com/theupdateframework/tuf/issues/1125
7+
8+ ## Context and Problem Statement
9+
10+ We do not want to try and support end-of-life versions of the language.
11+ We want to use modern language features, such as typing.
12+ We want to ease maintainer burden, by reducing the major language versions supported.
13+
14+ ## Decision Drivers
15+
16+ * Python 2.7 is end-of-life
17+ * Python 3.5 is end-of-life
18+ * Modern Python allows use of desirable features such as type hints
19+ * Supporting end-of-life Python versions adds maintenance overhead
20+
21+ ## Considered Options
22+
23+ * Support Python 2.7 and 3.5+
24+ * Support Python 2.7 and 3.6+
25+ * Support Python 2.7 and 3.6+ (with polyfill modules)
26+ * Support only Python 3.6+
27+
28+ ## Decision Outcome
29+
30+ Chosen option: "Support only Python 3.6+", because we want modern features and lower
31+ maintainer effort as we work to improve our codebase through the refactor effort.
32+
33+ Using modules to polyfill standard library features from Python 3.6+ feels
34+ untenable as more libraries are dropping support for EOL Python releases.
35+
36+ ### Negative Consequences
37+
38+ * Leaves major adopter and contributor without an actively developed client for some of
39+ their customers stuck on older Python versions.
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ This log lists the architectural decisions for tuf.
55<!-- adrlog -- Regenerate the content by using "adr-log -i". You can install it via "npm install -g adr-log" -->
66
77- [ ADR-0000] ( 0000-use-markdown-architectural-decision-records.md ) - Use Markdown Architectural Decision Records
8+ - [ ADR-0001] ( 0001-python-version-3-6-plus.md ) - Default to Python 3.6 or newer for new development
89
910<!-- adrlogstop -->
1011
You can’t perform that action at this time.
0 commit comments