Plotting Architecture Decision Record (ADR)#
Status: DRAFT
12/1/24
Context#
every time I’ve tried to fix something in JupyterHub recently, it seems to get worse, not better 😒 Remember when I said “you will want to throw your computer out a window at one or many points in the class”? That’s me with JupyterHub, Plotly, and nbconvert (the PDF exporting engine) this past week. Here’s the running list of walls we’ve run into.
A lot of the complication revolves around Plotly charts being interactive by default.
This is tied up with how assignments are submitted, as support for interactive plots (in notebooks/HTML) in those tools varies.
Options#
Non-exhaustive list.
Option |
Pros |
Cons |
---|---|---|
Plotly (interactive) |
No change required to course materials; interactive is cool |
|
Plotly (static) |
Minimal change required to course materials; safer for PDF export; easy to switch between interactive and non |
Students need to remember to switch; static isn’t as cool as interactive |
Less code; fewer packages; more native |
Requires changes throughout the materials; learning curve for me; static isn’t as cool as interactive |
|
More powerful charts take less code than pandas |
Learning curve for me; static isn’t as cool as interactive |
pandas can use Plotly as the plotting backend, which may be a way to split the difference between the options.
Decision#
TODO
Consequences#
TODO