How to use Jupyter notebooks like a pro
Background
Notebooks get a bad rap, but not without reason. They can lead to bloated git diffs, merge conflicts, confusing pull requests, reproducibility issues, etc. These can appear like huge issues, and we observe that many people prematurely write off notebooks or only use them for a small subset of their software development activity.
We think this is a huge mistake. The same root causes of these issues are what make notebooks amazing: the JSON file format lets it support rich display, and with the stateful environment, you avoid repeatedly rerunning expensive operations and thus iterate much faster, particularly on machine learning problems.
At fast.ai, we believe that notebooks are a revolutionary technology. So much so that we’ve been using notebooks exclusively to write all of our software for the last three years! It turns out all of these issues are easily avoidable if you adopt the right tools and processes.
In this first course of a three-part series, we reveal these tools and processes that will give you additional superpowers with notebooks. In this course, we will cover the following:
Course Outline
-
Introduction
- Our philosophy around notebooks and our results in practice.
- Common pain points & how to address them.
- Our goals for this course
-
Better notebook editor defaults
- Keyboard shortcuts
- Must-have extensions: toc2, collapsible headings
-
Collaborating with notebooks: version control & code review
- Jupyter/git integration: nbdev hooks, jupytext, nbdime
- Reviewing notebook pull requests: ReviewNB, jupytext
-
Reproducible notebooks
- Restart/run all
- Testing notebooks: nbdev (using flags)
- Setting Up CI/CD for notebooks w/GitHub Actions
- Debugging tricks
-
Notebook authoring best practices
- How to best structure and test notebooks
- Documenting code
- Important magic commands and advanced features
-
Creating a blog with notebooks using Quarto.
- How to get started quickly
- Our favorite quarto tricks
- Integrating tests into your blog
- Deployment targets and the best way to automate deployment with GitHub Actions.
When:
This course will be available starting on Dec 16th, 2022, at 10 am PST.
Your Instructors:
TODO
You'll get access to the course materials forever. Available December 16th, 2022 at 10am Pacific Time.