Skip to content

Install dependencies based on core, dev, doc or test use case #130

@EwoutH

Description

@EwoutH

Currently everything in requirements.txt is always installed no matter the use case. For essential usage (core) a lot less dependencies are needed than for development or docs generation. sphinx and nbsphinx (and pyscaffold?) are for example only needed when building docs. The jupyter and ipython stuff is also only needed in some cases.

I was thinking of using Extras as defined in PEP 508.

Suggested options for PyPI:

  • pip install ema-workbench installs the ema-workbench and core dependencies (numpy etc.)
  • pip install ema-workbench[jupyter] installs all the Jupyter stuff to run in notebooks including parallel
  • pip install ema-workbench[dev] installs everything needed for development and testing
  • pip install ema-workbench[docs] installs everything for doc generation
  • pip install ema-workbench[all] installs a superset of all of the above.

Combinations can be used, like pip install ema-workbench[jupyter,dev].

I need a bit of time to sort out how to structure all this, but if agreed this is useful I can create a draft PR.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions