uv and pixi 2025-09-09
uv and pixi in your projectsuv and pixi do?pip and condauv and pixiuv and pixi do?Like venv/pip or conda
uv: PyPIpixi: conda-forge (or PyPI)Like poetry, pipenv or pip-tools
Like pyenv
python versionsLike pipx
And… a shared cache…
pip?pip will allow you to install incompatible dependencies
if you don’t install them all at the same time
pip install -r requirements.txt
pip install matplotlib # don't do this!
pip will allow you to install incompatible dependencies
if you don’t install them all at the same time
conda?conda has a faster solver to determine version compatibility (libmamba)but
conda ecosystemdeveloping across different platforms is difficult
uv and pixi uv |
pixi |
|
|---|---|---|
| Configuration and lockfile |
pyproject.toml uv.lock |
pixi.toml or pyproject.toml pixi.lock |
uv |
pixi |
|
|---|---|---|
| Configuration and lockfile |
pyproject.toml uv.lock |
pixi.toml or pyproject.toml pixi.lock |
| Init a project | uv init --python 3.x |
pixi init |
| Add a package | uv add pandas |
pixi add python=3.x pandas |
| Run python a script |
uv run python uv run my_script.py |
pixi run python pixi run python my_script.py |
uv |
pixi |
|
|---|---|---|
| Configuration and lockfile |
pyproject.toml uv.lock |
pixi.toml or pyproject.toml pixi.lock |
| Init a project | uv init --python 3.x |
pixi init |
| Add a package | uv add pandas |
pixi add python=3.x pandas |
| Run python a script |
uv run python uv run my_script.py |
pixi run python pixi run python my_script.py |
| List packages | uv pip list uv tree |
pixi list pixi tree |
Update .lock/env and packages |
uv sync uv sync --upgrade |
pixi install pixi update |
uv| Install | Init | Add | Run |
|---|---|---|---|
| docs.astral.sh/uv | uv init --python 3.x |
uv add PACKAGE |
uv run python uv run my_script.py |
pixi| Install | Init | Add | Run |
|---|---|---|---|
| pixi.sh | pixi init |
pixi add python pixi add PACKAGE |
pixi run python pixi run python my_script.py |
pixipixi workspace platform add ...
uv| Init project | Project script | Inject packages |
|---|---|---|
uv init --package |
uv run test-coin |
uv run --with jupyter jupyter-lab |
pixi| Init project | Project tasks |
|---|---|
pixi init --format pyproject |
pixi run test-coin (uses typer) pixi run lab |
| Without installing | Install system-wide |
|---|---|
uvx COMMAND |
uv tool install PACKAGE |
pixi exec COMMAND |
pixi global install PACKAGE |
| List | Tree (why do I have this package?) |
|---|---|
uv pip list |
uv tree [--package PACKAGE] [--invert] |
pixi list |
pixi tree [PACKAGE] [--invert] |
uv init --script my_script.py
uv add --script my_script.py PACKAGE
Find out more: 🔗 docs.astral.sh/uv, 🔗 pixi.sh
Use for new projects
uv if PyPI, pixi if Condasrc/uv run analysis, pixi run analysisWhen working with someone
new to Python
uv run ... could be in a scriptpixi run dashboardEasier than conda/pip by themselves