Reproducible research software development using Python
Software environment
Conda environment
Virtual environment
Episodes
Example project: Simulating the motion of planets
Introduction to version control with Git and GitHub
Code 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
Conflict resolution, rebasing, and organizational strategies
Automated testing
How to make the project more reusable
Concepts in refactoring and modular code design
Demo: From a script towards a workflow
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
Collaborative version control and code review
Conflict resolution, rebasing, and organizational strategies
Edit on GitHub
Conflict resolution, rebasing, and organizational strategies
(40 min demo and discussion)