Instructor Notes

This lesson is a process-oriented tutorial on creating a Python package for Research Software Engineers.

After giving an overview of all the files we’re going to touch (on the index page), it follows the process of creating a package: - Create a new repository (setup), - Create a virtual environment, - Add some code and tests, - Add important metadata files, - Configure the pyproject.toml file with detailed metadata, - Decide on and implement a versioning scheme, - Add automated checks like code linting, - Add continuous integration support, - Publish the package and make it citeable by adding an additional metadata file.

The lesson is intentionally more challenging than an entry-level how-to guide on packaging. At each step when a new concept is introduced, it dives deeper into the detail than a how-to guide would – for instance, we only get to code after setting up an environment and initializing the infrastructure needed for reproducible builds.