phenotypic.gui.analysis package#

Analysis sub-app — composes phenotypic.analysis chain over a CLI output.

Mounts at MOUNT_ANALYSIS (/analysis/) under the unified GUI hub. Exposes a create_app() factory that returns a Dash instance configured to read/write <output>/pipeline.json and emit <output>/analysis.{csv,parquet} when the pipeline has a model configured.

phenotypic.gui.analysis.create_app(*, output_root: OutputRoot | None = None, url_prefix: str = '/', api_url_prefix: str = '/') Dash[source]#

Build a configured Dash instance for the analysis sub-app.

Parameters:
  • output_root (OutputRoot | None) – Validated CLI output root; when None (e.g. the hub mounted /analysis/ before the user picked an output directory), the factory returns a Dash whose layout is the empty-state placeholder and which has no callbacks registered.

  • url_prefix (str) – Mount-point prefix passed to dash.Dash as both requests_pathname_prefix and routes_pathname_prefix. Standalone launches collapse to MOUNT_HOME (“/”); compose_hub() passes MOUNT_ANALYSIS.

  • api_url_prefix (str) – Browser-visible base prefix for shell-level Flask APIs. Defaults to "/"; the hub passes the external proxy prefix when configured.

Returns:

Configured dash.Dash instance.

Return type:

Dash