Jupyter Notebooks play a critical role in in the workflow of many users. Notebooks are used to document existing code, to quickly prototype and iterate on ideas, and as a medium of technical communication. However, package developers typically use an entirely separate set of more traditional development tools, and the context switching between these tools and notebooks can be frustrating. Not only do you lose the ability to iterate fast, but you lose the ability to document and test your code in-situ, requiring you to create documentation and tests separately from source code.
Nbdev is a literate programming framework that allows you to develop Python libraries within Jupyter Notebooks. In this talk, Hamel will describe the integration between Nbdev amd Quarto, which enables library developers to author their documentation right alongside their code, and automatically produce a Quarto website for their package. The result is a seamless workflow for developing, documenting, and testing software packages all within Jupyter Notebooks, with no context-switching required.
Talk materials are available at https://github.com/fastai/nbdev-demo.
Hamel Husain is head of Data Science and ML at Outerbounds (the developers of Metaflow). Previous to Outerbounds, Hamel has built ML infrastructure and deployed data products at Airbnb, GitHub, and DataRobot. Hamel is also very active in open source communities and is currently a core contributor of fastai, and is involved in projects such as Jupyter, Kubeflow,and Great Expectations.