starterkit-lessons is an open source project, and we welcome contributions of all kinds:

  • New lessons;

  • Fixes to existing material;

  • Bug reports; and

  • Reviews of proposed changes.

By contributing, you are agreeing that we may redistribute your work under these licenses. You also agree to abide by our contributor code of conduct.

Getting Started

  1. We use the fork and pull model to manage changes. More information about forking a repository and making a Pull Request.

  2. To build the lessons please install the dependencies.

  3. For our lessons, you should branch from and submit pull requests against the master branch.

  4. When editing lesson pages, you need only commit changes to the Markdown source files.

  5. If you’re looking for things to work on, please see the list of issues for this repository. Comments on issues and reviews of pull requests are equally welcome.


To build the lessons locally, create the analysis-essentials conda environment using environment.yml

$ conda env create --file environment.yml

which you can use by activating it

conda activate analysis-essentials

(or create an environment with the dependencies listed in the environment file using your favorite environment manager).

Then build the pages:

$ starterkit_ci build --allow-warnings
$ starterkit_ci check --allow-warnings

and start a web server to host them:

$ cd build
$ python -m http.server 8000

You can see your local version by using a web-browser to navigate to http://localhost:8000 or wherever it says it’s serving the book.

Contributing notebooks

Notebooks should contain no output to help keep the size of this repository manageable. The output for each cell will be filled automatically as part of the deployment process.