Juliacon 2024

Renovating Automated Dependency Management in Julia
2024-07-10 , REPL (2, main stage)

A deep dive into dependency management processes, associated tooling, and lessons learned integrating with Julia’s package management system from a different technology stack.


For the longest time, dependency management in Julia, for all its pros and cons, has had a single answer - CompatHelper. However, there is a much larger ecosystem built around dependency management tooling in general, which doesn’t support Julia.

This talk is primarily about dependency management processes, the current state of dependency management in Julia, and how we added Julia support to Renovate, a very popular dependency management tool.

We will be giving an overview of the landscape of dependency management tools, highlighting standardised dependency management processes, while emphasising the need for a standardised and popular system that has a wider scope. We will evaluate the merits (and demerits) of the popular options available, keeping in mind their scope of dependency management.

In particular, we will talk about Renovate, and the efforts to add Julia support to it. We will discuss what “adding Julia support to Renovate'' entails. This covers the underlying structure of how Renovate works giving insight into the processes and workflows it would support, and more importantly, how we integrated it to work with Julia (specifically, with Julia's package management system).

Of course, any such endeavour to add tooling support is not without challenges, and as such, we will discuss the challenges we’ve faced and what it would take to overcome them.

Joris is the technical team lead for the JuliaSim applications and product team. He has been building reactive apps in Julia and managing their respective codebases for over a decade.

This speaker also appears in:

Anant is a software engineer at JuliaHub, where he works on the JuliaSim suite of products and contributes to open-source Julia ecosystems, primarily SciML. Anant is also easily nerd-sniped.