Welcome

Modern astronomical research is tightly related to data analysis and writing software. While many university curriculums include introductory courses on programming, most astronomers never get a proper training on tools and best practices that help to develop reliable, reusable and maintainable software.

Intermediate Python for Astronomical Software Development (aka InterPython) workshop aims to mitigate this problem. The InterPython workshop is being developed by the team of the TVS SC members, using the Carpentries Intermediate Research Software Development workshop materials as a foundation. Our goal is to create a short but comprehensive software development workshop that would be astronomy-specific and at the same time would teach the core skill set necessary for the professional programming.

The materials are intended for mainly self-mastering mode of learning with the instructors' help when needed. The workshop can be taught as a whole or in parts, in an online or offline mode.

The workshop is being developed following the Carpentries standards and the materials are available under the Creative Commons Attribution License. Anyone can share and adapt them to their own needs, and we encourage everyone to use these lessons for organizing your own workshops.

Fast Facts

Dates

1st InterPython workshop:

February 05-09, 2024

Git Intro Workshop:

June 26, 2024

2nd InterPython workshop:

July 01-04, 2024

Demographics

1st InterPython workshop:

~20 registered participants from the TVS SC community from all over the world, ~50% of them are undergraduate and PhD students

Funding

LSST DA grant $7500 for workshop developers and instructors honorariums

Commitment

Develop astronomical software workshop materials and organize at least two workshops in 2024-2025.

The materials

InterPython workshop website

Contacts

LSSTSC Slack server, email: shr.razim at gmail.com

Workshop Overview

The 1st InterPython workshop took five 4-hours sessions, one session per day. In the first three days the lessons implied self-mastering the materials with a lot of practical exercises. In the last two days the attendees worked in groups of several people, mastering collaborative tools and best practices.

The 2nd InterPython workshop has been rearranged to even out the learning load. The Git related materials have been extracted into a separate 1-day mini-workshop, and the collaborative exercises are now included in every session instead of being left for the last days.

The curriculum included the following topics:

  • Virtual environments;
  • Jupyter Lab IDE
  • Best practices for Jupyter Lab (and Notebooks)
  • Basics of Git and GitHub
  • Python code style conventions
  • Verifying code style with linters
  • Unit testing
  • Continuous integration with GitHub
  • Debugging
  • Software requirements
  • Software architectures
  • Programming paradigms
  • Code review
  • Creating a Python package
  • Collaborative tools of GitHub

The workshop developers, instructors and helpers

  • Alex Razim, Ruder Boscovic Institute, Zagreb, Croatia
  • Markus Hundertmark, Astronomisches Rechen-Institut, Heidelberg, Germany
  • Riley Clarke, University of Delaware, USA
  • Angelica Kovacevic, University of Belgrade, Serbia
  • Konstantin Malanchev, Carnegie Mellon University/LINCC, Pittsburgh, USA
  • Rachel Street, Las Cumbres Observatory, USA
  • Jennifer Sobeck, The California Institute of Technology, USA,
  • Federica Bianco, University of Delaware, USA
  • Azalee Bostroem, University of Arizona, USA
  • Sid Chaini, University of Delaware, USA

If you are interested in contributing to the development of materials or joining the instructors' team, feel free to contact us!

Future plans

The next InterPython workshop is going to take place on June 1-4, 2024. Unlike the first workshop, the second one will be open for participation for the whole LSST community. We also plan to additionally improve the materials of the workshop, e.g. add episodes on using project templates and writing software documentation.