The core SciPy Stack projects all support Python 3, but teaching and new code still often use Python 2. If a matrix multiplication operator (PEP 465) is accepted, Python 3.5 will be much more interesting for scientific use. We will look at how the SciPy community can take advantage of language features like function annotations, and whether we should propose any further improvements to Python.
The core projects of the SciPy stack now all have robust Python 3 support. However, it is still common for new code to be written and new programmers taught using Python 2, because developers are familiar with it, more specialised codebases may not have been ported, and there is a body of examples and teaching materials written for Python 2. As a result, for some time yet, project maintainers will need to expend time and effort supporting both major versions of Python, and will be unable to take advantage of new language features. The separation is also offputting to new programmers: questions about which version to learn are common in online discussions. However, if the matrix multiplication operator proposed in PEP 465 is accepted, Python 3.5 will be substantially more interesting for scientific use. The aim of this BoF will be to discuss how the SciPy community can best take advantage of new language features like function annotations, and whether we should propose any further improvements to Python in the 3.5 development cycle.