Skip to content

Dashboard Docker image installs unused instrument extras #906

@SimonHeybrock

Description

@SimonHeybrock

The dashboard target in `Dockerfile` installs `pip install -e ".[${INSTRUMENT},dashboard]"` (line 63), pulling the instrument extra (e.g. `essdiffraction`, `essspectroscopy`, ...) into the dashboard image.

Per `pyproject.toml`, the `[dashboard]` extra only declares `bokeh`, `holoviews`, `panel`, `param` — no instrument-specific scientific packages. The dashboard code likewise should not (and per spot-check does not) import any instrument-specific science package at startup.

If that is correct, the `${INSTRUMENT}` portion of the dashboard install is unnecessary and bloats the image with reduction packages that are never used.

Suggested action

  • Verify (e.g. via the upcoming `--check` smoke test) that `pip install ".[dashboard]"` is sufficient for the dashboard to start for every supported instrument.
  • If yes, change the dashboard `RUN pip install` line to drop `${INSTRUMENT}`.
  • If no, document the runtime path that requires the instrument extra (and consider whether the dashboard's deps in `pyproject.toml` should be updated instead).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions