View on GitHub

sustainable_development_course

Course material for "Scientific Software Development"

Unit 6: Continuous integration - GitHub actions

In unit 6, you will learn about GitHub actions and how to publish a Python package in the Python package index, PyPi.

When you publish your package, it can be pip installed and then used in ie. jupyter notebooks or more complex software.

Please look here for a few notes on how to publish scientific software.

If you run into problems at any point, please contact us via inga.ulusoy@uni-heidelberg.de or open an issue on github.

The slides for this session are found here. The necessary commands for the live lession are listed here.

1. Unit 6, Part 1

We will learn about the basics of GitHub actions and publishing Python packages.

2. Try out GitHub actions

Use the assignment repository to try out GitHub actions. Try creating branches, opening pull requests and manually triggering the workflow to see when it runs. Look at the output of the runs and try to follow the steps.

3. Publishing a Python package: Optional

Follow the steps in this tutorial to learn how to publish a python package and what you need to consider (ie., proper naming of your package and modules).

4. Synchronous and asynchronous work in your team

Continue working on your packages and complete the pytest test suite and sphinx documentation, as well as the set-up for GitHub actions. Collaborate through GitHub, and use branches, pull request, and request reviews from your team members before merging any branches into main.

I would ask you to finish your work on this by March 10th. If for some reason you will need more time, please let me know.