Scientific Report


The Python in Astronomy workshop took place from April 20-24th 2015 at the Lorentz Center in Leiden. This aim was to bring together Python developers, users, and educators in Astronomy to share information about state-of-the art Python Astronomy packages and resources, and some of the concrete goals we outlined when applying for the workshop were:

•  improving interoperability between astronomical Python packages

•  providing training for new contributors

•  developing a common set of educational materials for Python in Astronomy.

In total, 54 participants attended the meeting. The format of the meeting was designed to include presentations in the mornings, and free-form unconference sessions in the afternoons. The idea of the unconference time was to allow participants to propose and vote for sessions during the workshop itself. Individual unconference sessions were typically one hour long, and there were usually at least three parallel sessions. The main categories of unconference sessions were tutorials and demos, discussions about future plans for development of packages, discussions on educational resources, discussions on community aspects, and finally coding sprints/hacks.

During the workshop, we were able to make significant progress towards the above goals:

•  From the point of view of interoperability, we had a number of discussion sessions and hands-on sessions to define common data structures that could be used across many projects. For example, we were able to agree on a roadmap for having all tools that deal with astronomical spectra share a common type of data object, and we also had an extensive discussion on how to represent regions on the sky, which is something that is needed by a number of different packages. Essentially, by agreeing on common data structures such as these that can be implemented in core packages, we were able to ensure that many tools will then automatically work together in future.

•  In terms of training new contributors, we held a number of tutorials aimed at training people with existing programming experience on how to use version control systems, how to build packages, and how to publish them. Most participants who had never contributed to open-source software previously made contributions to real open-source packages for the first time during the week, and several participants were able to publish their own software for the first time.

•  As far as developing a common set of educational materials, we laid the foundations for this by first collaboratively compiling a census of existing resources which can be found on the Astrobetter wiki. We also laid out plans for re-designing and re-launching the website, which is intended to be a portal for all things related to Python in Astronomy, including educational resources, but was not actively maintained prior to the meeting. The Astropy project has a student funded by Google who will now work on creating this new website over the summer.

Talks and unconference sessions covered a number of other topics, including modeling tools, statistics, photometry, observation planning, and so on. Several hands-on/sprint sessions made concrete progress on various issues.

The talks given in the morning sessions have been collected in a Github repository (DOI:, and the videos are beeing posted to a Python in Astronomy Youtube channel. We are currently also writing a proceedings document that will be published online, and which contains detailed summaries of all the ‘unconference’ sessions.

The workshop has already had a significant impact beyond simply those present. The meeting was followed via social media by a number of people who were not able to attend. In total, over 2,500 tweets were sent by people at the workshop and other people in the community (using the hashtag #pyastro15). We also created a new “Python in Astronomy” community group on Facebook, where over 500 people signed up within a week of the end of the workshop. There was unanimous agreement amongst participants that this type of meeting should be repeated on a yearly basis, and we are now in the process of planning the 2016 meeting!

We are extremely grateful to the Lorentz center for making this meeting possible, and we were also fortunate to have generous sponsors (GitHub, LCOGT, NumFOCUS, and the Python Software Foundation) who provided generous travel support. This allowed us to ensure that no one was prevented from attending the meeting for financial reasons.

Scientific Organizers:


Pauline Barmby (London, Canada)
Eric Jeschke (Hilo, Hawaii)
Sarah Kendrew (Oxford, United Kingdom)
Stuart Mumford (Sheffield, United Kingdom)
Magnus Persson (Leiden, The Netherlands)
Thomas Robitaille (Heidelberg, Germany)