explaingit

prefix-dev/pixi

7,045RustAudience · developerComplexity · 2/5Setup · easy

TLDR

A fast cross-platform package manager built on the Conda ecosystem that always generates a lock file for reproducible environments on Linux, macOS, and Windows including Apple Silicon.

Mindmap

mindmap
  root((repo))
    What it does
      Package manager
      Reproducible environments
    Key Features
      Lock file always
      Per-project or global
    Platforms
      Linux macOS Windows
      Apple Silicon support
    Installation
      Single shell command
      Homebrew winget pacman
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a reproducible Python or multi-language project environment that installs identically on every team member's machine.

USE CASE 2

Isolate project dependencies per-folder so different projects never interfere with each other.

USE CASE 3

Replace conda or mamba with a faster tool that uses familiar npm and Cargo-style commands.

Tech stack

RustCondaPython

Getting it running

Difficulty · easy Time to first run · 5min

Available via a single shell command, Homebrew, winget, and Linux distro package managers.

No license information is mentioned in the explanation.

In plain English

Pixi is a package manager that works on Linux, macOS, and Windows. It is built on the Conda ecosystem, which is a system originally created for managing Python environments but has since grown to handle packages in many languages including Python, C++, and R. Pixi is written in Rust and aims to be fast and reliable across all three major operating systems, including Apple Silicon Macs. The main problem Pixi solves is reproducibility: when a project depends on specific software packages, it can be difficult to ensure that everyone on a team (or a server) has exactly the same versions installed. Pixi handles this by always generating a lock file, which records the exact version of every package used. Anyone who installs the project later gets the same environment, reducing the classic situation where code works on one machine but not another. Packages can be installed per-project (isolated to a folder and not shared with other projects) or system-wide (available everywhere on the computer). The command-line interface is designed to feel similar to Cargo, the Rust package manager, or npm, the JavaScript package manager, so developers familiar with those tools will find the commands familiar. Installation is straightforward: a single shell command on macOS and Linux, or a PowerShell command on Windows. Pixi is also available through Homebrew, winget, and distribution package managers like pacman on Arch Linux and apk on Alpine Linux. Shell completion is supported for Bash, Zsh, PowerShell, Fish, Nushell, and Elvish. The project is described as production-ready. Planned future features include the ability to build and publish a project as a Conda package and support for dependencies installed from source code. A GitHub Action is also available for running Pixi in CI pipelines.

Copy-paste prompts

Prompt 1
How do I install pixi on macOS and set up a new Python project with a lock file that ensures everyone gets the same package versions?
Prompt 2
Show me how to use pixi to add numpy and pandas to a project, then share the lock file so a teammate gets the exact same environment.
Prompt 3
How do I run pixi in a GitHub Actions CI pipeline using the official pixi GitHub Action?
Prompt 4
How does pixi differ from conda and mamba? Walk me through the commands to create and activate a project environment.
Open on GitHub → Explain another repo

← prefix-dev on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.