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
    • Concepts around collaboration
    • Collaborating within the same repository
    • Practicing code review
    • How to contribute changes to repositories that belong to others
  • 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)
  • Collaborative version control and code review
  • Edit on GitHub

Collaborative version control and code review

  • Concepts around collaboration
  • Collaborating within the same repository
  • Practicing code review
  • How to contribute changes to repositories that belong to others
Previous Next

© Copyright CodeRefinery contributors (CC-BY license).

Built with Sphinx using a theme provided by Read the Docs.