EuroSciPy 2024

A Hitchhiker's Guide to Contributing to Open Source
2024-08-27 , Room 6

Open-source projects are essential for scientific programming. They provide many tools and resources that can be customized for different scientific needs. However, sometimes the existing tools in a package don't meet all the requirements of a project. This is when contributing to open-source packages becomes important. By contributing, you can implement new functionalities, improve the software and help keep the open-source community strong.

This workshop will make contributing to open-source projects easier to understand. It will guide participants from just using the software to actively contributing to it. The workshop will address technical challenges such as interacting with web-based hosting services (like GitHub and GitLab), branching, and opening pull requests. Additionally, it will cover how to contribute documentation and ensure the correctness of the code.

We will use the following repository during the workshop: https://github.com/Nikoleta-v3/HitchCos.

You can find a checklist of prerequisites and installation notes here: https://github.com/Nikoleta-v3/HitchCos/wiki/Prerequisites.


In this tutorial, we will introduce the process of contributing to open source projects. The workshop will begin by covering basic Git commands, and we will demonstrate how to interact with GitHub, fork and clone repositories.

Moreover, we will discuss how to implement functions in a Pythonic way, how to document and test them. We will also cover topics such as online documentation and Continuous Integration (CI) systems.

For each part, there will be associated exercises that will ultimately lead participants to contribute to a repository we have set up for the workshop. Participants can choose what to work on from a list of issues. These issues will include implementing functions, testing current functions, documenting current functions, and correcting typos in online documentation material.

Finally, we will discuss and demonstrate, through the online repository we will have set up, how to interact with the open-source community, look for guidelines to follow styles, and testing guidelines. To also familiarize participants with the process of reviewing and commenting, we will comment on and provide feedback to the pull requests opened by the participants during the workshop as well as in the following days.


Abstract as a tweet

We will introduce the process of contributing to open-source projects! This workshop will help you transition from user to contributor. Learn to use Git, document and test code, improve documentation, and master GitHub.

Category [Community, Education, and Outreach]

Learning and Teaching Scientific Python

Expected audience expertise: Domain

none

Expected audience expertise: Python

some

Sebastian has been a NumPy developer for about 10 years now. After a PhD in phsyics he worked at as a postdoc at the Berkeley Institute for Datascience on NumPy as grants byt the Alfred P. Sloan Foundation and the Gordon and Betty Moore Foundation. Since 2022 he has been a software engineer at NVIDIA where he continues to contribute to NumPy.

This speaker also appears in:

I am an applied mathematician and research software developer, currently employed as a postdoc in the research group Dynamics of Social Behavior.

I actively contribute to open-source projects. I am a fellow of the Software Sustainability Institute and serve as a topic editor for the Journal of Open Source Software.