Skip to content

Managing packages and dependencies

When developing an analysis module, you will generally need to install packages and/or software tools. These are known as your module-specific dependencies, i.e., the collection of software languages, packages, or libraries required for your analysis to run.

OpenScPCA project contributors should use package management tools to track and manage module-specific dependencies, as well as pin those dependency versions to ensure long-term reproducibility:

  • Use the R package manager renv to manage and add new R package dependencies.
  • Use conda to manage and add new Python package dependencies, as well as standalone software tools.

When you create a module with create-analysis-module.py, you can use one (or more!) of several flags to establish your module with an initialized renv and/or conda software environment, depending on your needs.

As you develop your module, you'll also need to add documentation about how to activate your module's software environment.