Create a product#

With Jupyter Notebooks you can quickly build prototypes for data analysis. You can also use them to document and present your results. However, they are not well suited for reproducing your results with Kernel ‣ Restart and Run All in a few days or years. For example, the notebooks contain very little information about the environment, the kernel, with which they have been able to run successfully in the past. Although you can use pd.show_versions() to display Information about the host operating system and the versions of installed Python packages, this is unfortunately not sufficient to reproduce such an environment.

«Non-reproducible single occurrences are of no significance to science.»[1]

In order for others to be able to use your code, it should meet some conditions:

  • You should not silently rely on specific resources and environments

  • Required software packages and hardware should be specified in the requirements

  • Path information will only work in a different context within your package or in previously generated directories and files

  • Do not share secrets like login details or internal IP numbers in your published product

There are various tools that support you in creating shareable products. These can be tools on the one hand for the versioning of the source code and the training data as well as for the reproducibility of the execution environments, on the other hand for Testing, Logging, documenting and creating packages.