Pathway

Maintaining & Sustaining Software

For maintainers, project leads, and tech stewards.

Project Management

Packaging

Beginner7h 25m

course

Contributor, Maintainer

R Packaging

This workshop will provide you with the basics for writing your own packages in R.

Prerequisites

Introduction to Git
Updated 18d ago
Intermediate2h 2m

workshop

Contributor, Maintainer

Python Packaging

This lesson teaches how to create and publish packages in Python. We assume a basic understanding of Python, and assume learners are comfortable using simple commands in a Bash shell.

Updated 1y ago
Intermediate10h 5m

course

Contributor, Maintainer

Building Better Research Software

This short course is teaching tools and practices for producing and sharing quality, sustainable and FAIR (Findable, Accessible, Interoperable and Reusable) research software to support open and reproducible research. The course can be delivered over 2 full or 4 half days.

Prerequisites

Introduction to Git
Updated 18d ago

Testing

Intermediate17h 15m

course

Contributor, Maintainer

Intermediate Research Software Development

This course aims to teach a core set of established, intermediate-level software development skills and best practices for working as part of a team in a research environment using Python as an example programming language (see detailed learning objectives below).

Updated 18d ago
Intermediate1h 40m

workshop

Maintainer, Contributor

Testing and Test-Driven Development

This lesson covers how to write tests for your code, understand test-driven development, and use testing frameworks like pytest in Python.

Prerequisites

Introduction to Git
Updated 2mo ago

Open Source Literacy

Community Management

Intermediate6m

guide

Maintainer, Contributor

Metrics

Tracking the success of your project helps you make informed decisions and communicate impact effectively.

Prerequisites

Building Community
Updated 23d ago
Intermediate2h 30m

workshop

Maintainer, Contributor

Effective Code Review

This lesson teaches best practices for conducting and participating in code reviews, emphasizing clear communication and collaborative problem solving.

Updated 18d ago

Reproducible Research

Beginner3h 15m

workshop

Contributor, Maintainer

Introduction to Docker and Podman

This lesson covers the fundamentals of Docker, including creating containers, managing Docker images, and using Docker for software reproducibility and deployment.

Updated 2mo ago
Beginner3h 39m

workshop

Contributor, Maintainer

Good Enough Practices in Scientific Computing

A set of practical computing habits every researcher can adopt — covering data management, code organization, collaboration, version control, and project structure.

Intermediate1h

guide

Contributor, Maintainer

Reproducible Research

A comprehensive reference guide covering all aspects of reproducible research — version control, testing, data management, CI/CD, open research, licensing, and more. Part of The Turing Way open handbook.

Prerequisites

Introduction to Git
Updated 19d ago

Software Design Patterns

Intermediate2h 25m

workshop

Contributor, Maintainer

Modular Programming with Python

This lesson covers modular programming in Python, explaining how to write reusable code in modules, organize codebases, and test them to improve collaboration and maintainability.

Prerequisites

Introduction to Git
Updated 3mo ago

Inclusivity

Security

Sustainability