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 http://www.astropython.org 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: http://dx.doi.org/10.5281/zenodo.17666), 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)