
The term “Jupyter notebook” can refer to different things: a Jupyter notebook document or the web application that can be used to edit Jupyter notebook documents. This blog post is about the notebook document. This can be used not only in the web application, but also in VS Code, for example.
The greatest strength of Jupyter notebooks lies in their structure. They are interactive and consist of a list of input and output blocks. Written code can therefore be broken down into small pieces and executed section by section. The output (e.g., a visualization) can then be seen directly below the code section that generated it. In addition, text blocks can be used to add explanatory content. These functionalities make notebooks particularly interesting for tutorials and initial experiments. Small changes can be easily tested without having to re-execute the entire code.
Jupyter notebooks also have two sides. They scale poorly and are difficult to integrate into standard software development processes. But what exactly can go wrong?
For small experiments, proof of concept, or knowledge exchange, the advantages of Jupyter Notebooks outweigh the disadvantages. This is where interactive code cells can be used to their fullest potential. However, when it comes to developing productive systems with version control, CI/CD pipelines, and long-term maintenance, it is better to switch to classic Python scripts. At that point, at the latest, the disadvantages mentioned above will become apparent sooner or later.
Would you like to turn a data project into reality? Our experts will support you every step of the way, from the initial idea to finding the right technology for your application.