At my company, we have a major Python package which is written in Python 2. We are now planning to migrate it to Python 3 (we don't care about keeping it Python 2 compatible).
I am a junior developer and my coworkers are senior people, who don't have a strong computer science background.
During the planning process, we needed to answer the question of the minimal Python version we want to support. The chosen answer was Python 3.4, for some internal reasons. However, Python 3.4 will reach end-of-life in 5 months (so probably even before this package is ported to Python 3)
I don't like the idea of supporting a Python version which is not supported by the Python organisation anymore but I can't find concrete arguments against it, others than "it just doesn't feel right".
Arguments I thought about are:
- we'll have less Python versions to support: if we start on 3.5, we have to support one less version, 3.6 two less versions, etc.
- we can use new language features
About the first one, others said that we will test only the minimum supported version on our CI and that developers of this package will use the latest as our local development environment. It's unsafe in terms of testing, but I have to admit differences between Python 3.X versions are not breaking so much stuff, especially given what this package does.
About the second argument, people are not really aware of the new features from Python 3.5 and higher and they tend to say: "we do it today in Python 2, so I don't see the point of having new features". Also, in the context of this package, there are no new features I can really advertise as being super nice (like
async stuff for instance).
- What are the consequences of using a Python 3.X version which has reached end-of-life? I can find resources about Python 2 vs Python 3, but can't really find anything specific to old Python 3.X releases vs new ones.
- What are strategies to raise awareness about keeping software up to date? How to change people's mindset so that they don't find it normal to use outdated tools?