HumanCellAtlas/data-consumer-vignettes

Notebooks need consistent dependency install process

Opened this issue · 2 comments

Intended platform and installation process should be clearly specified.

When Natan and I discussed this, I suggested using conda as a way to provide consistent, cross-platform installation instructions. conda is intended to provide Python users with a way to install non-Python dependencies in a way that is sane, cross-platform, and reproducible (and will help solve problems like #22).

Quick update on the state of this issue.

Current status with pip:

  • PR #87 (rename sphinx notebook folders to have no spaces) will put each notebook in its own folder, with its own requirements.txt file (if one is needed)
  • the CI/CD system will look for all requirements.txt files in the repo and install them all into one big virtual environment before running treon tests

Current status with conda:

  • conda is not currently necessary
  • several dependencies do require compiling C/C++ code, but this is all handled by pip
  • if a new package that is not pip installable is used in a notebook, we will probably need to switch to conda

Considerations for switching to conda:

  • not clear how treon step of CI will handle initializing/loading a conda environment
  • may need to create one big conda environment in CI and install treon into it before running treon tests