Scientific Computing with Python 2012

Austin, USA, 16-21 July 2012.

Event website.

By Aleksandra Pawlik, PhD student, the Open University.

Highlights

The tutorial and the presentation of IPython Notebook - a flexible interactive environment for scientists using Python

New tools and solutions for High Performance Computing with Python

"Lessons from middle age. Or, how you too can turn a hundred lines of patch rejection into two hundred thousand lines of code." - presentation by Matplotlib's main developer John Hunter

One programming language (Python), a number of tools based on it and a diverse research community - ranging from mathematicians and physicists to bioinformatics and even criminology

Conference report

How Scientific Python enhances interdisciplinary communication.

Between 16th and 21st July 2012 I attended the SciPy Conference in Austin, Texas. The conference brings together scientists from a range of different disciplines: from mathematics and physics to geosciences and bioinformatics. What connects all these researchers is a number of, constantly developed, advanced scientific software packages written in Python. It should be noted that Scientific Python refers not only to the SciPy library but also to a wide range of other tools (such as Chaco, Matplotlib, OpenCv, scikit-learn to mention a few). However, SciPy is probably one of the most commonly used, among scientists, Python-based tools since it includes modules of a wide range of applicability (linear algebra, integration, signal and image processing and so on) and enables scientists to build on the top of them. The main aim of the SciPy Conference is to exchange the experiences of use of these tools, to present newly developed packages as well as to discuss further work undertaken by the community. A vast number of Scientific Python packages, including SciPy and Numpy (on which SciPy builds), are open-source tools developed thanks to the sustainable scientific community effort.

6 days of the conference were divided into three sections: 2 days of tutorials, 2 days of presentations (including mini-symposia) and 2 days of sprints. This set up enabled to accommodate different needs of the diverse group of participants. Most attendees were academics, however a number of researchers working in the industry were also present. The latter were often academics that decided to change their career paths but stayed in touch with the SciPy community and, in some cases, still contributed to the open-source projects. The conference was certainly a great networking opportunity and true evidence that interdisciplinary research takes the lead nowadays.

The conference started with 2 days of intensive tutorials (http://conference.scipy.org/scipy2012/tutorials.php ). There were two types of tutorials offered: introductory and advanced. All tutorials were heavily attended. However, probably the most popular, when it comes to the number of participants, were three introductory ones: ‘Introducion to NymPy (http://numpy.scipy.org/), Matplotlib (http://matplotlib.sourceforge.net/)’ and ‘IPython (http://ipython.org/) in-depth: Interactive Tools for Scientific Computing’. NumPy, Matplotlib and IPython are all constantly developed by the core teams of developers supported the community. Whilst NumPy and Matplotlib have been out there for several years now, IPython is a relatively new toolkit. It provides a flexible interactive environment which accommodates well the exploratory nature of writing scientific code. The main developers of IPython (Fernando Perez) and Matplotlib (John Hunter) also gave talks later during the conference. The attendees could also contribute to the development of NumPy, Matplotlib and IPython by taking part in the sprints.

The conference presentations were divided into two parallel sessions. There were two specialized tracks: “High Performance Computing with Python” and “Visualization”. The first topic seemed to receive a lot of interest which should not be surprising considering how much science nowadays relies on large-scale calculations and data processing. The panel discussion on the first day of the presentations also focused on Performance in Python. The panellist - Travis Oliphant (who founded SciPy along with Eric Jones and
Pearu Peterson), Kurt Smith (the author of tools for simplifying the integration of Python with performance-oriented languages, such as Fwrap http://fwrap.sourceforge.net/) and Jeff Bezanson (the co-author of Julia language http://julialang.org/) – did emphasize that for many projects built in the scientific community Python is fast enough and for more demanding projects solutions such as PyPy are available. However, in some cases these options may not be sufficient and hence there is a constant need to find new solutions for improving scientific software performance.

Four mini-symposia at the conference focused on: Geophysics, Astronomy, Meteorology and Bioinformatics. Not only did the speakers talk about the highly specialized tools which were developed in their projects but they also touched on the subjects such as reproducibility of scientific results and best practices in scientific software development.

The SciPy Conference was much more than just a great networking opportunity. The presentations given by researchers from different scientific domains enabled the participants to find new ideas for their work. In addition to that, the attendees could directly talk to the developers of the packages demonstrated during the conference. The fact that the developers were researchers themselves enhanced the communication as both parties of the discussion understand each other’s main goal which is advancing science using Python-based tools.