Reproducible research software development using Python (ML example)
Software environment
Software install instructions
Episodes
Example project: 2D classification task using a nearest-neighbor predictor
Introduction to version control with Git and GitHub
Where to start with documentation
Collaborative version control and code review
Reproducible environments and dependencies
Notebooks and version control
Other useful tooling for notebooks
Sharing notebooks
Tools and useful practices
Profiling
Automated testing
Concepts in refactoring and modular code design
How to parallelize independent tasks using workflows (example: Snakemake)
Choosing a software license
How to publish your code
Creating a Python package and deploying it to PyPI
Reference
PDF version
Credit
All lessons
CodeRefinery
Reusing
Reproducible research software development using Python (ML example)
Index
Edit on GitHub
Index