Skip to content

Commit

Permalink
Merge pull request #35 from conan-io/proposal/python_support_updates
Browse files Browse the repository at this point in the history
[Update proposal] Propose Python minimum version support updates
  • Loading branch information
memsharded committed Jun 7, 2022
2 parents 2bf5ed3 + fb8ea42 commit 0674d8c
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion design/003-codebase-python.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
---

## Summary
Declare **Python 3.6** as the minimum Python version supported.
Declare **Python 3.6** as the minimum Python version supported for Conan 2.0 launch.
Declare a Python version support policy for 12 months after the minimum supported version has officially become End Of Life (EOL).


## Motivation
Expand All @@ -24,6 +25,11 @@ that will help to improve the codebase and write more maintainable source:
* Formatted string literals a.k.a. _f-strings_.
* Type hints for classes and instance variables.

There is also a support problem when Python officially declares versions EOL, because
dependencies stop supporting those versions and can break the Conan application. Conan
can pin and restrict the usage of those dependencies newer versions, but that also has security implications,
so it is not something that should be extended too much over time.


## Proposal
Python 3.6 will be the minimal supported version. Conan 2.0 is expected to be released
Expand All @@ -33,6 +39,10 @@ on 2021, by that date Python 3.6 will be the oldest release alive (EOL on Decemb
About Linux distros: starting on Debian 10 Buster (July 2019), the [Python 3
version installed is Python 3.7](https://wiki.debian.org/Python). Ubuntu 18.04 (April 2018) already included Python 3.6.

Conan will drop support for Python versions 12 months **after** their official EOL date, that is,
it will continue testing and supporting one year beyond that date. When one version support
becomes deprecated, the next Python version will be used as the minimum tested and supported one.


## Alternative Approaches
Newer Python versions provide several enhancements on type annotation that could help
Expand Down

0 comments on commit 0674d8c

Please sign in to comment.