Home

Awesome

pixi_rocker

Continuous Integration Status

Ci Codecov GitHub issues GitHub pull-requests merged GitHub release License Python Pixi Badge

Intro

This is a rocker extension for adding pixi to an existing docker image. Look at the rocker GitHub page for more context of how rocker and rocker extensions work, but in a nutshell rocker lets you add custom capabilities to existing docker containers. Rocker extensions

Pixi is a cross-platform package manager based on the conda ecosystem. It provides a simple and performant way of reproducing a development environment and running user defined tasks and workflows. It is more lightweight than docker, but does not provide the same level of isolation or generality.

But Why??

The most common question I get is is why would you need to use pixi in docker as pixi is already taking care of your environment for you. Unfortunately there are some packages/configuration that pixi is not able to handle yet and so one way of handling that is managing those dependencies/configuration in docker and leave the the rest up to pixi.

Another benefit of pixi in docker is that you are more isolated from your host machine and have more flexibility to make changes without worrying about conflicting with other projects.

If you use vscode to attach to your development container it makes it easier to set up specific extensions for each project that don't need to be installed globally.

Installation

pip install pixi-rocker

Usage

To install pixi in an image use the --pixi flag

#add pixi to the ubuntu:22.04 image
rocker --pixi ubuntu:22.04

# add pixi to the nvidia/cuda image
rocker --pixi nvidia/cuda