tslumen.report.dashboard package

tslumen.report.dashboard.base module

Base classes for building the dashboard.

class tslumen.report.dashboard.base.BaseDash(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: abc.ABC

Base class for dash objects.

property app
property callbacks
abstract property layout
run_server(mode: Optional[str] = None, width: Any = '100%', height: Any = 650, inline_exceptions: Optional[Any] = None, **kwargs: Any)Any[source]
property server
class tslumen.report.dashboard.base.DashBlock(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.BaseDash

Base class for dash independent blocks, then composed into sections and the dashboard.

property block_id
property body
property controls
property layout
property style
property title
class tslumen.report.dashboard.base.DashInput(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Base class for dash input blocks.

property layout
class tslumen.report.dashboard.base.DashSection(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.BaseDash

Base class for independent sections, then composed into the dashboard.

property anchors
abstract property body
property controls
property layout
property section_id
abstract property title
class tslumen.report.dashboard.base.TslumenDash(name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: jupyter_dash.jupyter_app.JupyterDash

Extends JupyterDash in order to put in the default configurations.

tslumen.report.dashboard.report module

Module with the main class Dashboard.

class tslumen.report.dashboard.report.Dashboard(df: pandas.core.frame.DataFrame, meta: Optional[dict] = None, result: Optional[tslumen.profile.base.BundledResult] = None, profiler: Optional[tslumen.profile.base.BundledProfiler] = None, profiler_config: Optional[dict] = None, scheduler: Optional[tslumen.scheduling.Scheduler] = None, scheduler_config: Optional[dict] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.base.Report

Renders the profiling results as an interactive Dash application, either directly in/from a Jupyter notebook or as a standalone web app. Requires a live kernel or server.

Parameters
  • df (pd.DataFrame) – Timeseries data.

  • meta (Optional[dict]) – Timeseries metadata, a 2-level dictionary, first level indexed by {'frame': {<key>: <value>}, {'series': {<series name>: <desc>}}.

  • result (Optional[BundledResult]) – For instantiating the report with pre-computed results from a profiler.

  • profiler (Optional[BundledProfiler]) – The BundledProfiler to run the profiling, defaults to DefaultProfiler.

  • profiler_config (Optional[dict]) – Profiler’s configurations.

  • scheduler (Optional[Scheduler]) – A Scheduler, default’s to Scheduler.

  • scheduler_config (Optional[dict]) – Scheduler’s configurations.

  • name (Optional[str]) – The name Flask should use for your app. Even if you provide your own server, name will be used to help find assets. Typically __name__ (the magic global var, not a string) is the best value to use. Default '__main__', env: DASH_APP_NAME

  • server_url (Optional[str]) – The base URL that the app will be served at, from the perspective of the client. If not specified, will default to the host argument passed to the run_server method.

  • kwargs – Refer to dash.Dash documentation.

SECTIONS = [<class 'tslumen.report.dashboard.sections.summary.SectionSummary'>, <class 'tslumen.report.dashboard.sections.timeseries.SectionTimeSeries'>, <class 'tslumen.report.dashboard.sections.features.SectionFeatures'>, <class 'tslumen.report.dashboard.sections.relations.SectionRelations'>]
property app
run_server(mode: Optional[str] = None, width: Any = '100%', height: Any = 650, inline_exceptions: Optional[Any] = None, **kwargs: Any)Any[source]

Serve the app using flask in a background thread. You should not run this on a production server, use gunicorn/waitress instead.

Parameters
  • mode (Optional[str]) – Display mode. One of: "external": The URL of the app will be displayed in the notebook output cell. Clicking this URL will open the app in the default web browser; "inline": The app will be displayed inline in the notebook output cell in an iframe; "jupyterlab": The app will be displayed in a dedicate tab in the JupyterLab interface. Requires JupyterLab and the jupyterlab-dash extension.

  • width – Width of app when displayed using mode=”inline”

  • height – Height of app when displayed using mode=”inline”

  • inline_exceptions – If True, callback exceptions are displayed inline in the the notebook output cell. Defaults to True if mode==”inline”, False otherwise.

  • kwargs – Additional keyword arguments to pass to the superclass Dash.run_server method.

property server

tslumen.report.dashboard.sections.features module

Features section and blocks.

class tslumen.report.dashboard.sections.features.BlockTSFTSelect(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashInput

Block for selecting which timeseries details to display

property body
class tslumen.report.dashboard.sections.features.BlockTSFeaturesHeatmap(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with ts features heatmap

property body
property callbacks
style = {'height': '100%', 'minWidth': '400px'}
title = 'Heatmap'
class tslumen.report.dashboard.sections.features.BlockTSFeaturesRadar(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with ts features radar

property body
property callbacks
style = {'height': '100%', 'minWidth': '400px'}
title = 'Radar'
class tslumen.report.dashboard.sections.features.SectionFeatures(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashSection

Class holding the contents of the “Features” section

property body
title = 'Features'

tslumen.report.dashboard.sections.relations module

Relations section and blocks.

class tslumen.report.dashboard.sections.relations.BlockTSCorrelations(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with correlations

property body
property callbacks
property controls
style = {'height': '100%', 'minWidth': '400px'}
title = 'Correlations'
class tslumen.report.dashboard.sections.relations.BlockTSGranger(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with Granger causality matrix

property body
property callbacks
property controls
style = {'height': '100%', 'minWidth': '500px'}
title = 'Granger Causality'
class tslumen.report.dashboard.sections.relations.BlockTSRelSelect(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashInput

Block for selecting which timeseries details to display

property body
title = 'Select series'
class tslumen.report.dashboard.sections.relations.SectionRelations(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashSection

Class holding the contents of the “Relations” section

property body
title = 'Relations'

tslumen.report.dashboard.sections.summary module

Summary section and blocks.

class tslumen.report.dashboard.sections.summary.BlockPreview(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with a preview of the time series on a line plot

property body
property callbacks
property controls
style = {'height': '100%', 'minWidth': '600px'}
title = 'Preview'
class tslumen.report.dashboard.sections.summary.BlockStats(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with the dataframe’s summary stats

property body
style = {'height': '100%', 'width': '350px'}
title = 'Frame statistics'
class tslumen.report.dashboard.sections.summary.BlockStatus(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with metadata, execution stats, config and issues

property layout
class tslumen.report.dashboard.sections.summary.SectionSummary(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashSection

Class holding the contents of the “Summary” section

property body
controls = ['BlockStatus']
title = 'Summary'

tslumen.report.dashboard.sections.timeseries module

Time series section and blocks.

class tslumen.report.dashboard.sections.timeseries.BlockTSAutoCorrelation(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with ACF and PACF plot

property body
property callbacks
style = {'height': '100%', 'minWidth': '500px'}
title = 'Auto Correlation'
class tslumen.report.dashboard.sections.timeseries.BlockTSComponents(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with a time series decomposition

property body
property callbacks
style = {'height': '100%', 'minWidth': '500px'}
title = 'Decomposition'
class tslumen.report.dashboard.sections.timeseries.BlockTSDetails(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with the time series details

property body
property callbacks
style = {'height': '100%', 'width': '225px'}
title = 'Series Details'
class tslumen.report.dashboard.sections.timeseries.BlockTSDist(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with the distribution plots

property body
property callbacks
property controls
style = {'height': '100%', 'minWidth': '300px'}
title = 'Distribution'
class tslumen.report.dashboard.sections.timeseries.BlockTSLagPlots(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with a lag (scatter) plots

property body
property callbacks
style = {'height': '100%', 'minWidth': '500px'}
title = 'Lag Plots'
class tslumen.report.dashboard.sections.timeseries.BlockTSPlot(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with a preview of the time series on a line plot

property body
property callbacks
style = {'height': '100%', 'minWidth': '500px'}
title = 'Preview'
class tslumen.report.dashboard.sections.timeseries.BlockTSSeasonality(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with seasonality plots

property body
property callbacks
style = {'height': '100%', 'minWidth': '500px'}
title = 'Seasonality'
class tslumen.report.dashboard.sections.timeseries.BlockTSSelect(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashInput

Block for selecting which timeseries details to display

property body
title = 'Select a series'
class tslumen.report.dashboard.sections.timeseries.BlockTSSmoothing(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with smooth series

property body
property callbacks
property controls
style = {'height': '100%', 'minWidth': '300px'}
title = 'Smoothing'
class tslumen.report.dashboard.sections.timeseries.BlockTSStats(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashBlock

Block with the dataframe’s statistics and stats tests

property body
property callbacks
style = {'height': '100%', 'width': '450px'}
title = 'Statistics'
class tslumen.report.dashboard.sections.timeseries.SectionTimeSeries(result: tslumen.profile.base.BundledResult, meta: dict, df: pandas.core.frame.DataFrame, app: Optional[tslumen.report.dashboard.base.TslumenDash] = None, name: Optional[str] = None, server_url: Optional[str] = None, **kwargs: Any)[source]

Bases: tslumen.report.dashboard.base.DashSection

Class holding the contents of the “TimeSeries” section

property anchors
property body
title = 'Time Series'