Pixi in the enterprise


pixi is a great package manager. It offers access to both conda packages and normal pip-based python modules. In additon, it offers:
- fast resolution of dependencies
- lockfiles
- multi-environment handling
- task runner
See the local modern data stack template as an example.
These properties of pixi are also desirable in an enterprise scenario. See this recording from a meetup as per how this can work at scale and this pixi deepdive.
But how does it work? How can pixi be used in an enterprise setting with a corporate artifact proxy?
Using pixi in the enterprise
The documentation is a bit sparse on this topic. This github issue has some more details https://github.com/prefix-dev/pixi/issues/474.
But in short it is quite simple:
For the main pyproject.toml
file, housing the basic pixi configuration of the project, you need to add the following lines:
conda-pypi-map = {}
[tool.pixi.pypi-options]
index-url = https://bin.mycompany.com/artifactory/api/pypi/pypi/simple
In addtion, you need to add a ./.pixi/config.toml
file to the project root.
[pypi-config]
index-url = https://bin.mycompany.com/artifactory/api/pypi/pypi/simple
[mirrors]
https://conda.anaconda.org = [
https://bin.mycompany.com/artifactory/api/conda/conda
]
This example assumes:
- bin.mycompany.com points to the artifact proxy of your company
- the artifact proxy is configured to proxy the conda and pypi repositories
Commonly enterprises use for an artifact proxy: