ReCirq icon indicating copy to clipboard operation
ReCirq copied to clipboard

Separate extra requirements for specific experiments

Open mpharrigan opened this issue 2 years ago • 0 comments

Right now: requirements are "best effort" separated in a single requirements.txt file by arranging them under comment-headings for the various sub-packages

We could use pip's support for extras-require, e.g. pip install recirq[qaoa] so the extra requirements could be specified in a structured way. Specifically: I propose an extra-requirements.txt file in each submodule (i.e. experiment) containing that sub-packages extra requirements. These files could be parsed in setup.py to generate the extras_require argument to setuptools.setup.

Currently our notebooks pip install +github.com/quantumlib/recirq so that they work in a colab environment. We'll need to do the change stepwise to make sure the notebooks don't break

  1. add extra_requires but don't remove those requirements from install_requires
  2. update notebooks to pip install recirq with requisite extras, i.e. pip install +github/recirq[qaoa]
  3. Remove the extra requirements from install_requires so pip install recirq only gets you the minimal, base requirements.

cc @dstrain115

mpharrigan avatar Nov 12 '21 23:11 mpharrigan