Back to Projects List
Python Package Management for Slicer Extensions
Key Investigators
  - Sam Horvath (Kitware)
 
  - Jean Christophe Fillion-Robin (Kitware)
 
  - Steve Pieper (Isomics)
 
  - Andras Lasso (Queen’s University)
 
Project Description
This project will focus on improving the python package management in Slicer (i.e. pip install)
Objective
The objective is to have a consistent interface / process for installing patyhon packages across Slicer (extensions and in the python interactor)
Approach and Plan
  - Create a slicer.util.pip function (or equivalent architecture) for accessing pip install from scripts or the interactor
    
      - Investigate use of virtual environments in Slicer
 
    
   
  - Extension python package automatic install
    
      - Post-install packages using a hook for requirements.txt
 
    
   
  - Document experience installing and using various python packages in Slicer
    
      - which ones work well with no problems
 
      - what properties of some packages lead to problems (e.g. conflicting dependencies)
 
    
   
Progress and Next Steps
  - Andras has already implemented the slicer.util.pip_install()
 
  - Discussed plans for python package management during a dedicated breakout session
 
  - We will be continuing with the plan to pip install packages after extension install, not during the build process
 
  - We need to look into blacklisting packages though pip
 
Illustrations
Background and References
Discourse Dicussions