Collaboration on Shared Codebases

CI: – Dr. J. Carlin

The requested training aims to improve our ability to work collaboratively on a shared Python codebase. There are four main skills that we wish to focus on: i) how to build and maintain appropriate unit tests, ii) how to construct clear, comprehensive documentation, iii) how to set up a continuous integration/development environment, especially when integrating packages managed by external collaborators, and iv) best practises for concurrent development on a shared Git repository.
The ability for our team to work with the same codebase will improve our efficiency, reduce the amount of boiler-plate code that is reproduced by each team-member, and decrease the probability of bugs sneaking in to our pipelines. Improving the codebase with the help of this training will also allow easier on-boarding of new students and postdocs, and easier collaboration with others from outside of the group.
The above material will be delivered in a series of workshops, with accompanying notebooks and worked examples for later reference and teaching. ADACS has advised us that it will require approximately 3 weeks in total to develop and deliver the teaching materials. This would not be a re-run of existing ADACS workshop material.

The workshop uses python and gitlab examples to demonstrate good coding practices and collaborative code development strategies.

The training materials are all available online:

This training was delivered as a three part series on the 1st, 8th, and 15th of October 2021, via webex.