Software Updates: The Latest from the Astropy Project

If producing new results in astronomy research is like constructing a house, different pieces of software used in the process are like the builder’s tools. One of the most fundamental of these tools, a screwdriver of the astronomy world, just got a major update.

The Python Era

Over the past 30 years, the common workflows used to analyze and present scientific findings in astronomy have evolved. While Fortran was the most common programming language discussed in peer-reviewed astronomy publications in the 1990s, IDL overtook this long-leading language to become the dominant method in the early 2000s. Most recently, this top position was usurped again just prior to 2016 when Python became the most-mentioned language. Since its reign began, Python’s popularity has only grown, and now it is regularly used in over 1,000 publications per year.

A plot showing the number of times a given programming language mentioned in refereed astronomy articles per year between 1990 and present. Five languages are shown, and Python has been the most popular since 2016.

A plot illustrating the trends in usage of various programming languages in refereed astronomical literature over time. [The Astropy Collaboration et al.]

One driver for this ascendence in popularity is the ease of creating, modifying, and tweaking major software libraries. In 2013, a loose network of collaborators unveiled one of these libraries that aimed to handle many routine tasks in astronomical research, like unit manipulation, coordinate transforms, and more. Called Astropy, it was quickly adopted by the community, and as of this writing its release publication is the fifth most cited refereed astronomy article from the last decade

In the intervening years, the Astropy Collaboration and the software it maintains have both grown in scope. Astropy now underpins an “ecosystem” of other more specialized astronomy packages, and many new features have been added to the original core. In August of this year, a team of over 100 Collaboration members published the third article in the Astropy series which details their latest efforts and announces the newest major release of Astropy, version 5.0.

New Features

According to the authors, the core Astropy package is designed to stay as broadly applicable to as many subfields of astronomy as possible. As such, most domain-specific updates live in one of more than 50 “affiliated” packages, some of which are maintained by the central Astropy Collaboration, others by independent groups. 

However, there were still several updates deemed useful for the entire community that made it into v5.0, including a new subpackage to handle uncertainties and invoke various statistical distributions, and a new subpackage for manipulating time series data directly within the Astropy environment. Other major additions are listed in Section 2 of the Collaboration’s article.

Collaboration Updates

Besides documenting the new feature additions, the authors also included an update on the governance and health of the Collaboration. Astropy is not maintained by one central institution, but rather by interested members of the community who interact via its GitHub repositories. Until recently, the over 1,500 contributors have worked together without a formal charter, but in fall 2021 the collaboration adopted a more explicit governance structure.

A two-panel plot showing the number of commits to the Astropy core package per month over time on top, and the number of unique Collaboration members submitting those commits on the bottom. Both curves are relatively flat between 2011 and present.

A plot illustrating the number of active collaborators and the number of their additions to the Astropy code base. [The Astropy Collaboration et al.]

Additionally, the Collaboration pursued and acquired several large grants for the first time in its history, both from private foundations and from NASA, which it intends to use to seed longer-term stability.

This useful experiment in open-source, collaborative research code continues to evolve, and further additions are rolled out regularly.

Citation

“The Astropy Project: Sustaining and Growing a Community-oriented Open-source Project and the Latest Major Release (v5.0) of the Core Package,” The Astropy Collaboration et al 2022 ApJ 935 167 doi:10.3847/1538-4357/ac7c74