PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
February 6, 20260 citationsOpen Access

Can others reproduce your results? Recipes for using uv and pixi to manage Python dependencies

View Full Paper
JTJames P. Thomas

Key Points

  • The aim is to improve reproducibility in software projects through effective environment management tools.
  • Demonstrates common pitfalls of using pip and conda for Python dependencies.
  • Explores the use of environment management tools like uv and pixi.
  • Includes practical steps and examples for implementation in projects.
  • Highlights issues like package conflicts and inconsistent states when using traditional tools.
  • Suggests uv and pixi as solutions to enhance reproducibility and accessibility for varied users.

Abstract

Reproducible environments are crucial for ensuring consistent and reliable software development. They enable RSEs to recreate exact configurations, facilitating the long-term maintenance of projects that may include collaborators with varied levels of software engineering experience. But they're not always easy to achieve. In the worst case scenario, a complicated or difficult pathway during the setup of a project make the whole thing inaccessible to entry-level coders. This walkthrough will demonstrate the common pitfalls experienced when using pip or conda alone (package conflicts, inconsistent state, and the inability to work across platforms and architectures), and use these to motivate a desire for something better. It will then explore how environment management tools like uv and pixi can help. It will include practical steps and examples of how an RSE, data scientist or scientific coder might incorporate them into a project. The sharing of advice and experiences of attendees would also be welcome! This walkthrough will be of interest to people that use pip or conda/mamba to install packages for a Python project, or a more established tool like poetry, Pipenv or pip-tools. It will be especially useful to people that collaborate with researchers that have less software engineering experience, but still need to run and develop the project.Acknowledgements This work was developed with support and funding from the Jean Golding Institute at the University of Bristol. I am grateful to colleagues at the Institute and across the University for helpful conversations when preparing this material.A recording of this session is available on YouTube: https://youtu.be/m1qAVEqN3rY

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

James P. Thomas (2025) studied this question.

synapsesocial.com/papers/698586118f7c464f23009e85https://doi.org/10.5281/zenodo.17967441
Ask AI
Helpful
Bookmark
Share
View Full Paper