Spaces:
Runtime error
Runtime error
| class AppState: | |
| df = None | |
| node_features = None | |
| graph = None | |
| louvain_partition = None | |
| pagerank_scores = None | |
| betweenness_scores = None | |
| full_features = None | |
| alerts = [] | |
| xgb_bundle = None | |
| model_metrics = None | |
| gnn_metrics = None | |
| # Pre-built caches for fast API responses | |
| features_by_account = {} # account_id -> feature dict (O(1) lookup) | |
| cached_channel_stats = [] # pre-computed channel breakdown | |
| cached_overview = {} # pre-computed overview numbers | |
| cached_typo_counts = {} # pre-computed alerts typologies | |
| cached_crit_alerts = 0 # pre-computed critical count | |
| accounts_by_number = {} # account_number -> {bank_name, bank_id, entity_id, entity_name} (O(1) lookup from accounts.csv) | |
| # Entity/bank network intelligence — built once from accounts_by_number (no second CSV read) | |
| entities_by_id = {} # entity_id -> {entity_id, entity_name, entity_type, account_numbers, bank_ids, bank_names} | |
| banks_by_id = {} # bank_id -> {bank_id, bank_name, country_label, account_numbers, entity_ids} | |
| network_summary_cache = {} # pre-computed /network/summary payload | |
| bank_profiles_cache = {} # bank_id -> pre-computed /bank/{id}/profile payload | |
| clusters_by_id = {} # community_id -> pre-computed /network/cluster/{id} aggregate (Louvain-derived "mule ring" groups) | |
| alerts_by_account = {} # account_id -> [alert dict, ...] (O(1) index into AppState.alerts for entity-level typology breakdowns) | |
| # Uploaded-dataset tracking — when the user ingests their own data via the | |
| # Upload page, validation metrics (F1, AUC-ROC, confusion matrices) are no | |
| # longer meaningful because the upload carries no ground-truth labels. | |
| is_uploaded_dataset = False # True once a user dataset replaces the IBM data | |
| uploaded_dataset_name = None # original filename of the uploaded dataset | |
| uploaded_has_labels = False # True if the upload included an 'Is Laundering' column | |
| # Startup tracking — lets the frontend show a loading screen | |
| startup_ready = False # dashboard data ready | |
| graph_ready = False # graph built; investigation/subgraph endpoints available | |
| startup_status = { | |
| 'current_step': 'Initializing...', | |
| 'steps_done': 0, | |
| 'total_steps': 7, | |
| 'errors': [] | |
| } | |