Prototyping to tested code

Developing prototypes and their tests both in Jupyter notebooks.

Tags: Data Science, Machine Learning

Scheduled on friday 11:55 in room lecture


Christopher Prohm (@c_prohm)

I am a physicist by training and am now working as a data scientist. In my work, I focus on building robust software and putting code in production. Python has been my tool of choice for about 8 years.


Jupyter notebooks are a great environment to prototype solutions and explore their design. Turning these solutions into reusable components usually requires moving them out of the notebook environment into external python packages. Often, at this stage, the code is refactored and test are written.

In this talk, I will demo ipytest, a small tool to run tests inside notebooks. It supports pytest as well as the standard unittest framework. It allows to start prototypes in a notebook and to develop the tests with the code in an highly interactive environment. As the code grows, it can be transparently moved outside notebooks and transformed into reusable components. By bringing support for tests to the notebook environment, ipytest bridges the artificial gap between notebooks and reusable components.