Learn how to manage your conda- and pip-based Python dependencies with pixi.
With its declarative approach, pixi provides a reliable way for reproducible
Python environments.
Its design is based on experiences drawn from tools such as pip
,
conda
and mamba
as well as Rust's cargo
.
Managing dependencies can be a complex task,
especially when it comes to multi-platform support and extensions written in
compiled languages, such as C/C++ or Rust, are involved.
There are many tools for Python that can help to take care of different aspects
of this problem.
These tools are external Python packages that are not distributed with Python
itself.
Only pip
is installed by default.
Other, more recent languages such as Rust, include the tooling for dependency
management as part of the core language.
On the other hand, the Python ecosystem for dependency management is very
fragmented.
In general, there are two main approaches
(a) based on pip packages and
(b) based on conda packages.
Pixi offers an approach that can work with both package types.
Its design is inspired by Rust's cargo.
In addition to Python packages, pixi can also manage software written in other
languages.
For example, using conda-forge as the default conda repository,
pixi can install tools such as gcc
, pandoc
, or git
.
Pixi can work tother with existing tools such as setuptools
or poetry
.
In fact, it uses uv
internally to install pip packages.