How we used Rust to modernize the conda ecosystem
10-26, 13:45–14:10 (Europe/Berlin), Main stage

We build tools for the conda ecosystem. We've build a new package manager (pixi), a website that indexes conda packages (https://prefix.dev), a tool to build conda packages from source (rattler-build) and much more. All of these tools are powered by Rattler, a complete reimplementation of the conda ecosystem in Rust. In this talk we will walk you through some of the technical feats that went into the library like a completely Rust based SAT solver, the different components of the library and how the library might also benefit you!


In this talk we will walk through how conda works. We will walk through what happens in the background when you try to install a conda environment, how Rattler approaches these problems and how Rust made this easier. In particular we will talk about our libsolv Rust port (the only SAT solver that provides decend performance in our use case). The use of serde to statically define common datatypes. The different rattler packages that are available. How we perform "linking". Some cool crates that we use (like serde, insta, self-replace). Why we think Rust is a good choice for these kinds of workloads. Async and how for us it didn't really help much.

Building awesome tools @prefix.dev