Pixi

Modern, fast package manager built on conda-forge

Research Infrastructure & Reproducibility Intermediate Core Tool Recommend Provisional Teaching

Our View

Recommend Provisional Teaching

The repository already uses Pixi to manage its toolchain. Project dependency declarations, lock files, and tasks make it a practical candidate for reproducible research environments.

Provisional positions are editorial proposals awaiting group review.

Teaching — Recorded in topic offerings; consult the dated event links for availability.

2 topics with recorded teaching · 9 past offerings · 1 upcoming offerings

Related themes: Scientific Computing

Related topics: Automating Research WorkflowsDeveloper Environment

Common use cases

  • Fast package installation for Python projects
  • Manage project dependencies with lock files
  • Run project tasks (testing, building, serving)
  • Ensure exact reproducibility across systems

Getting started

Pixi is a modern package manager that simplifies the installation of scientific software. It’s built on top of the conda-forge ecosystem but is significantly faster and provides better dependency resolution.

Why Pixi?

  • Fast: 5-10x faster than conda for most operations
  • Reproducible: Uses lock files to ensure exact environment reproduction
  • Task Runner: Built-in task management (like npm scripts)
  • Modern Design: Clean CLI with better error messages
  • Conda Compatible: Uses the conda-forge repository

Installation

Follow the installation instructions on the official Pixi website. The installer will set up Pixi and configure your PATH automatically.

Getting Started

Initialize a new project:

pixi init
pixi add python
pixi shell

Add packages:

pixi add numpy pandas matplotlib

Define and run tasks in pixi.toml:

[tasks]
dev = "python main.py"
test = "pytest tests/"

Run tasks:

pixi run dev
pixi run test

Advantages Over Conda

  • Much faster package resolution and installation
  • Lock files ensure reproducibility by default
  • Better support for managing multiple projects
  • Built-in task runner eliminates need for separate tools

Tips

  • Use pixi shell to activate the environment
  • Define common tasks in pixi.toml for easy project workflows
  • Lock files (pixi.lock) should be committed to version control
  • Use pixi global install for system-wide tools