Skip to content

Latest commit

 

History

History
16 lines (13 loc) · 1.83 KB

File metadata and controls

16 lines (13 loc) · 1.83 KB

Suggestions for Future Improvements

Code Performance

  • Efficient Data Processing: For very large datasets, consider using pyarrow as the engine for pd.read_excel if applicable, or migrating internal data processing to Polars for faster aggregations in views like Metric and Map.
  • Selective Loading: The API currently fetches all fields. Implementing field selection in the UI could reduce payload size and memory usage.

New Streamlit Features (Post-1.37)

  • st.status: Replace some st.spinner blocks with st.status for the API and Archive loading processes. This allows for a more detailed, multi-step progress report (e.g., "Connecting...", "Downloading...", "Processing...").
  • st.dataframe Column Configuration: Use the column_config API in the Table View to add progress bars for impact metrics or interactive links for Disaster Numbers directly within the data table.
  • st.fragment: Wrap individual visualization components (like the Map or Time charts) in fragments. This would allow users to change visualization settings (e.g., color scales) without rerunning the entire page logic, significantly improving responsiveness.
  • Custom Theming with st.logo: You are already using st.logo, but you could further leverage the dynamic sidebar with st.sidebar.container and st.popover for advanced filter settings to declutter the sidebar.

Feature Enhancements

  • Comparison Mode: Allow users to load two datasets (e.g., Archive vs. Recent File) and display side-by-side comparisons in the Metric and Time views.
  • Automated Reporting: Use st.download_button to export the currently filtered view as a PDF or specialized Excel report.
  • Persistent Settings: Implement st.query_params to allow users to share specific filtered views (region, year range, etc.) via the URL.