Leibniz MMS Days 2025 - Mini Workshop

Fuhrmann, Jürgen (Weierstrass Institute for Applied Analysis and Stochastics)

The Julia language: Reproducibility infrastructure and project workflows

The Julia language is advertised for its vision to provide a programming environment for scientific computing and data science which allows to implement algorithms using a syntax similar to Python and Matlab but without sacrifying performance. Another aspect of the Julia ecosystem ist its infrastructure supporting reproducibility and reusability of code.

Julia's built-in package manager Pkg provides tools to exactly reproduce the combination of code packages used in a given project. Semantic Versioning and maintenance of compatibility constraints are mandatory for code available from the Julia package registry. Automatic package management is built as well into Julia's Pluto.jl computational notebooks. Julia's BinaryBuilder allows to maintain binary packages managed by Pkg for all relevant platforms supported by Julia itself. An artifact addressing system handles large artifacts and their versioning while the corresponding data are stored outside traditional version control systems.

The workshop will provide an overview about these topics, give recommendations on the workflows for collaborative software projects realized in Julia and demonstrate their realization in a hands-on session.

Link for access to material you'll need during this mini workshop: https://github.com/j-fu/MMSDays25Julia