As per PEP 373, Python 2.7 will cease to be supported in 2020, though no exact date has been officially selected yet. Like many projects, the Numba team has to consider how to time its own end of Python 2.7 support. Given how deeply Numba must interface with the Python interpreter, supporting both Python 2 and 3 creates quite a development and testing burden. In addition, Numba (specifically via llvmlite) has to deal with some specifically tricky compiler issues on Windows, where LLVM requires Visual Studio 2015 or later, but Python 2.7 extensions must be built with Visual Studio 2008. Needless to say, the goal with this plan is to support our Python 2.7 user base (~30% of downloads as of February 2018), but also clearly signal that now is the time to switch to Python 3 if you have not already.
Python 2.7 users of Numba should also be aware of NumPy’s timeline for ending Python 2.7 support. Due to Numba’s tight coupling with NumPy, the NumPy timeline has strongly informed the Numba timeline below.
The end of Python 2.7 support in Numba will be staged:
If there are concerns about the above timeline, please raise an issue in our issue tracker.