pixi: Solving 9 environments for 4 platforms in parallel!

by rarts
GNU/Linux ◆ xterm-256color ◆ bash 286 views

pixi.sh

It takes 3 seconds to solve 36 complete platform-specific environments. Including: python, polars, pytorch, torchvision

This results in 697 total dependencies in the lockfile.

You see it removes the environments and all solving caches. It has the downloaded repo data and package data, available. It does check all those caches for integrity.

This pixi.toml file was used:

[project]
name = "polarify-use-case"
channels = ["conda-forge", "pytorch"]
platforms = ["linux-64", "osx-arm64", "osx-64", "win-64"]

[dependencies]
python = ">=3.9"
polars = ">=0.14.24,<0.21"
pytorch = {version = ">=2.0.1", channel = "pytorch"}
torchvision = {version = ">=0.15", channel = "pytorch"}
matplotlib-base = ">=3.8.2,<3.9"
ipykernel = ">=6.28.0,<6.29"


[feature.py39.dependencies]
python = "3.9.*"
[feature.py310.dependencies]
python = "3.10.*"
[feature.py311.dependencies]
python = "3.11.*"
[feature.py312.dependencies]
python = "3.12.*"
[feature.pl017.dependencies]
polars = "0.17.*"
[feature.pl018.dependencies]
polars = "0.18.*"
[feature.pl019.dependencies]
polars = "0.19.*"
[feature.pl020.dependencies]
polars = "0.20.*"

[feature.test.dependencies]
pytest = "*"
pytest-md = "*"
pytest-emoji = "*"
hypothesis = "*"

[feature.lint.dependencies]
pre-commit = "*"

[environments]
pl017 = ["pl017", "py310", "test"]
pl018 = ["pl018", "py39", "test"]
pl019 = ["pl019", "py39", "test"]
pl020 = ["pl020", "py312", "test"]
py39 = ["py39", "test"]
py310 = ["py310", "test"]
py311 = ["py311", "test"]
py312 = ["py312", "test"]