sda.dashboard.pipeline#

Data Pipeline Framework for SDA Dashboard.


This module implements a simplified, efficient pipeline architecture using Flask-Caching:

  1. Load (& validate) → 2. Filter columns → 3. Filter rows → 4. Plot

The Flask-Caching Pipeline provides: - Automatic memoization of pipeline stages - Native Flask/Dash integration - Easy cache invalidation - Production-ready scaling (Redis support) - Elimination of callback loops through proper caching

Submodules#

Classes#

FlaskCachePipeline

Flask-caching based pipeline for SDA Dashboard.

Package Contents#

class sda.dashboard.pipeline.FlaskCachePipeline(app, verbose=False)#

Flask-caching based pipeline for SDA Dashboard.

verbose = False#
error_handler#
cache#
load_data(test_name)#

Load and validate test data (cached).

select_columns(test_name, user_selection=None)#

Apply column selection logic (cached).

configure_filters(test_name, user_selection=None)#

Configure filters for selected columns (cached).

apply_filters(test_name, user_selection=None, applied_filters=None)#

Apply row filters to data (cached).

Filter logic: Start with everything, remove what we don’t want. - filter_value contains the SELECTED values (what user wants to keep) - We exclude the UNSELECTED values (all options minus selected values) - User interaction: unselect values to remove them from view

create_plot(test_name, user_selection=None, applied_filters=None, plot_config=None)#

Create plot from filtered data (cached).

clear_cache(test_name=None)#

Clear cache for specific test or all cache.

get_cache_stats()#

Get cache statistics.