sda.dashboard.pipeline.flask_cache_pipeline#

Flask-Caching Based Pipeline Implementation.


This module implements a simplified, robust pipeline using flask_caching instead of custom caching logic. This approach provides:

  1. Automatic memoization of pipeline stages

  2. Native Flask/Dash integration

  3. Easy cache invalidation

  4. Production-ready scaling (Redis support)

  5. Elimination of callback loops through proper caching

Classes#

FlaskCachePipeline

Flask-caching based pipeline for SDA Dashboard.

Module Contents#

class sda.dashboard.pipeline.flask_cache_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.