We are going to be spending about and hour and a half working through how we might design code as a python package rather than as a jupyter notebook.
We are going to be working from a concrete example, but, given the time available, we will have to focus on big-picture points.
The objectives here are pretty simple
To reach these objectives we are going to break this down as follows
Please have a look at the slides from Dark Energy School session on design code libraries and abstract public interfaces (APIs), slides are here
If you want to set up the software package and try running both versions of the notebook and the command line tool for comparison, here are instructions on how to do so. It should only take 10-15’ minutes following these instructions:
On the other hand, you can also just follow along this documentation:
https://kipac.github.io/NBToPackage/
First off, you probably want a quick round of introductions with the people you are sitting or sharing a breakout room with.
Here is a handy link to a google doc template with the questions copied out, you can do “File -> make a copy” to make your own doc that you can use to work together to come up with answers to some of those questions: doc template I’d recommend making one copy of the file, and setting it up so you can all edit it.
Ok, Let’s get started, here are some times for guidance:
25’ Total: 10’ Intro/Overhead, 10’ Breakout discussion, 5’ Full group, Original Notebook
30’ Total: 5’ Intro/Overhead, 15’ Breakout discussion, 10’ Full group Software Goals Designing our Package
35’ Total: 10’ Intro/Overhead 15’ Breakout discussion, 10’ Full group Implementation of our Package
Extras: Python package description