algomancy-gui 0.3.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. algomancy_gui/__init__.py +0 -0
  2. algomancy_gui/admin_page/__init__.py +1 -0
  3. algomancy_gui/admin_page/admin.py +362 -0
  4. algomancy_gui/admin_page/sessions.py +57 -0
  5. algomancy_gui/appconfiguration.py +291 -0
  6. algomancy_gui/compare_page/__init__.py +1 -0
  7. algomancy_gui/compare_page/compare.py +360 -0
  8. algomancy_gui/compare_page/kpicard.py +236 -0
  9. algomancy_gui/compare_page/scenarioselector.py +99 -0
  10. algomancy_gui/componentids.py +177 -0
  11. algomancy_gui/contentregistry.py +167 -0
  12. algomancy_gui/cqmloader.py +58 -0
  13. algomancy_gui/data_page/__init__.py +1 -0
  14. algomancy_gui/data_page/data.py +77 -0
  15. algomancy_gui/data_page/datamanagementdeletemodal.py +260 -0
  16. algomancy_gui/data_page/datamanagementderivemodal.py +201 -0
  17. algomancy_gui/data_page/datamanagementdownloadmodal.py +193 -0
  18. algomancy_gui/data_page/datamanagementimportmodal.py +438 -0
  19. algomancy_gui/data_page/datamanagementsavemodal.py +191 -0
  20. algomancy_gui/data_page/datamanagementtopbar.py +123 -0
  21. algomancy_gui/data_page/datamanagementuploadmodal.py +366 -0
  22. algomancy_gui/data_page/dialogcallbacks.py +51 -0
  23. algomancy_gui/data_page/filenamematcher.py +109 -0
  24. algomancy_gui/defaultloader.py +36 -0
  25. algomancy_gui/gui_launcher.py +183 -0
  26. algomancy_gui/home_page/__init__.py +1 -0
  27. algomancy_gui/home_page/home.py +16 -0
  28. algomancy_gui/layout.py +199 -0
  29. algomancy_gui/layouthelpers.py +30 -0
  30. algomancy_gui/managergetters.py +28 -0
  31. algomancy_gui/overview_page/__init__.py +1 -0
  32. algomancy_gui/overview_page/overview.py +20 -0
  33. algomancy_gui/py.typed +0 -0
  34. algomancy_gui/scenario_page/__init__.py +0 -0
  35. algomancy_gui/scenario_page/delete_confirmation.py +29 -0
  36. algomancy_gui/scenario_page/new_scenario_creator.py +104 -0
  37. algomancy_gui/scenario_page/new_scenario_parameters_window.py +154 -0
  38. algomancy_gui/scenario_page/scenario_badge.py +36 -0
  39. algomancy_gui/scenario_page/scenario_cards.py +119 -0
  40. algomancy_gui/scenario_page/scenarios.py +596 -0
  41. algomancy_gui/sessionmanager.py +168 -0
  42. algomancy_gui/settingsmanager.py +43 -0
  43. algomancy_gui/stylingconfigurator.py +740 -0
  44. algomancy_gui-0.3.16.dist-info/METADATA +71 -0
  45. algomancy_gui-0.3.16.dist-info/RECORD +46 -0
  46. algomancy_gui-0.3.16.dist-info/WHEEL +4 -0
@@ -0,0 +1,71 @@
1
+ Metadata-Version: 2.3
2
+ Name: algomancy-gui
3
+ Version: 0.3.16
4
+ Summary: Dash components for the Algomancy library
5
+ Author: Pepijn Wissing
6
+ Author-email: Pepijn Wissing <Wsg@cqm.nl>
7
+ Requires-Dist: dash
8
+ Requires-Dist: dash-bootstrap-components
9
+ Requires-Dist: dash-auth>=2.3.0
10
+ Requires-Dist: algomancy-data
11
+ Requires-Dist: algomancy-scenario
12
+ Requires-Dist: algomancy-content
13
+ Requires-Dist: algomancy-utils
14
+ Requires-Dist: waitress>=3.0.2
15
+ Requires-Dist: strenum>=0.4.15
16
+ Requires-Python: >=3.14
17
+ Description-Content-Type: text/markdown
18
+
19
+ ### algomancy-gui
20
+
21
+ UI components and configuration utilities for Algomancy dashboards built on Plotly Dash and Dash Bootstrap Components.
22
+
23
+ #### Features
24
+ - `StylingConfigurator` to control layout, theme colors, button styles, and card highlighting
25
+ - Page modules (home, data, scenario, compare, overview, admin) with helpers for building common UI
26
+ - Utilities such as `SettingsManager` and data‑page filename matching tools
27
+
28
+ #### Installation
29
+ ```
30
+ pip install -e packages/algomancy-gui
31
+ ```
32
+
33
+ Requires Python >= 3.14. Dependencies: `dash`, `dash_bootstrap_components`.
34
+
35
+ #### Quick start: configure styling
36
+ ```python
37
+ from algomancy_gui.stylingconfigurator import (
38
+ StylingConfigurator,
39
+ LayoutSelection,
40
+ ColorConfiguration,
41
+ CardHighlightMode,
42
+ ButtonColorMode,
43
+ )
44
+
45
+ styling = StylingConfigurator(
46
+ layout_selection=LayoutSelection.SIDEBAR,
47
+ color_configuration=ColorConfiguration(
48
+ background_color="#FFFFFF",
49
+ theme_color_primary="#1F271B",
50
+ theme_color_secondary="#6DA34D",
51
+ theme_color_tertiary="#FEFAE0",
52
+ text_color="#424242",
53
+ text_color_highlight="#6DA34D",
54
+ text_color_selected="#FFFFFF",
55
+ button_color_mode=ButtonColorMode.UNIFIED,
56
+ button_colors={
57
+ "unified_color": "#6DA34D",
58
+ "unified_hover": "#8FBE74",
59
+ },
60
+ ),
61
+ logo_path="CQM-logo-white.png",
62
+ button_path="cqm-button-white.png",
63
+ card_highlight_mode=CardHighlightMode.SUBTLE_DARK,
64
+ )
65
+ ```
66
+
67
+ Use this `styling` in your `AppConfiguration` (see `example/main.py`).
68
+
69
+ #### Related docs and examples
70
+ - Example application wiring: `example/main.py`
71
+ - Root documentation: UI is referenced throughout `documentation/3_dash_contents.md`
@@ -0,0 +1,46 @@
1
+ algomancy_gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ algomancy_gui/admin_page/__init__.py,sha256=vENiSaoBwDxNyVTbaxf07nnx4hQM07UIcZLIGR-8cXs,80
3
+ algomancy_gui/admin_page/admin.py,sha256=7oMU3gb8wLi8Fs40CW_P9z7w9VmzOGqOEEsolh7kaK0,11488
4
+ algomancy_gui/admin_page/sessions.py,sha256=Exegbqe6do7gbkcZVYPWnuxozrIBE5dMNZdGNvW8lb0,1885
5
+ algomancy_gui/appconfiguration.py,sha256=MLjGyW6BHETsa_2DrFbizcvoXSERH478lyTXcxIo7O4,12065
6
+ algomancy_gui/compare_page/__init__.py,sha256=vENiSaoBwDxNyVTbaxf07nnx4hQM07UIcZLIGR-8cXs,80
7
+ algomancy_gui/compare_page/compare.py,sha256=HSgOrhRUg2UbSt2aCpYUbdwm7r1sNIpgNUVNb7WW-PI,11299
8
+ algomancy_gui/compare_page/kpicard.py,sha256=APRkjuDe7yprbgyAwhXQZLvoUaiAkyoMoHUcI4lZJn0,7571
9
+ algomancy_gui/compare_page/scenarioselector.py,sha256=wQsO0ZsYlhmP9cqjxSxbb6M_38c9a7xFF8pZ4dQNn8o,2887
10
+ algomancy_gui/componentids.py,sha256=WtvdI0dv1MCzKPBZeSG6HD-uV0cc14ZPrHoSImWMQzw,6501
11
+ algomancy_gui/contentregistry.py,sha256=E9KO5Ue-wNkvJq1hEugE7tU8zYgsVmzbaydmrEiW7Sw,5403
12
+ algomancy_gui/cqmloader.py,sha256=j5Yq4zmhUnJ_lqWb2XDlqXv0P5YAXPyn4GYzJolB2xo,1832
13
+ algomancy_gui/data_page/__init__.py,sha256=vENiSaoBwDxNyVTbaxf07nnx4hQM07UIcZLIGR-8cXs,80
14
+ algomancy_gui/data_page/data.py,sha256=TEq3t9Sz_wAEY2UNb41jbT5BfetsX6IcTfHKSQkAnZE,2135
15
+ algomancy_gui/data_page/datamanagementdeletemodal.py,sha256=-rAMCa3edkqMF3jeUel6rWMZiR_L7YV6gFMKSPfOqPI,8965
16
+ algomancy_gui/data_page/datamanagementderivemodal.py,sha256=ZZNcX_kSKUp5XUgIZn-Dq0QHQR4i2-0BW6SmfpiwLnU,7156
17
+ algomancy_gui/data_page/datamanagementdownloadmodal.py,sha256=gZCYOBbcuVJUsveBaF4x-RrZazT2spHAvbyyP_8Dkzo,6115
18
+ algomancy_gui/data_page/datamanagementimportmodal.py,sha256=KKljYOKz3YvgValr03QzhxRT948wLkYCkIC29mezMiY,14546
19
+ algomancy_gui/data_page/datamanagementsavemodal.py,sha256=I0StrnGS7T9NYONRJzfj9hZK1Mq9vRD6U3eyKqwefIE,5695
20
+ algomancy_gui/data_page/datamanagementtopbar.py,sha256=KBr0DB7GyXsrRU5CpcOtAff3OWdOHqgnwm6jvwVRfms,4155
21
+ algomancy_gui/data_page/datamanagementuploadmodal.py,sha256=2Q9qv8VD50QSpDY33FI4TfzPiwbFzylMkXBn5OVoZ4k,12120
22
+ algomancy_gui/data_page/dialogcallbacks.py,sha256=z_ft1AFSSppeww9FsK_uZs3A8uUyIZ8nlPXLQjcp8B4,1654
23
+ algomancy_gui/data_page/filenamematcher.py,sha256=wIzC3bfrpM6WI48JUfU6XtbbHof2QfaC_F8L1nu7Qkg,3966
24
+ algomancy_gui/defaultloader.py,sha256=ZnFcK1QoD-vUW_7t4xWoW2P-GR7pUrIReorxv9m0dxw,1103
25
+ algomancy_gui/gui_launcher.py,sha256=5sSLJJd4McodiDIIuVAMgwPmyYvPu3g2-rsK01ysGjE,6158
26
+ algomancy_gui/home_page/__init__.py,sha256=vENiSaoBwDxNyVTbaxf07nnx4hQM07UIcZLIGR-8cXs,80
27
+ algomancy_gui/home_page/home.py,sha256=dG28IOXduaiWX-zGW4yATTRTZ01T4abDvToE4N_K2VI,407
28
+ algomancy_gui/layout.py,sha256=RnTHj1QGnZmYU17d-0Qa3Slhw3b2CxWTCKByOQ86uLE,6847
29
+ algomancy_gui/layouthelpers.py,sha256=RxQpj8DfLL2gIyWyljNjxJZWPyQLQF1rDiVN5DFCM9o,810
30
+ algomancy_gui/managergetters.py,sha256=ewWiNRQcKZKeBuKPJkykybV6hIoVKDugvyn8fbwnE7M,1043
31
+ algomancy_gui/overview_page/__init__.py,sha256=vENiSaoBwDxNyVTbaxf07nnx4hQM07UIcZLIGR-8cXs,80
32
+ algomancy_gui/overview_page/overview.py,sha256=EOsFrFw8kJAx53ahUotHi1XB8ILrhW1QSTwv6cu1Tvk,612
33
+ algomancy_gui/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ algomancy_gui/scenario_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ algomancy_gui/scenario_page/delete_confirmation.py,sha256=kd8IBVw_S27wy_oOG3WynQvoIDdY06WuKNdFP_W-tcc,841
36
+ algomancy_gui/scenario_page/new_scenario_creator.py,sha256=_m3m_zT4-sCCYkMgYqj1PNSz6ev6-d_6anne8-9bDrk,3823
37
+ algomancy_gui/scenario_page/new_scenario_parameters_window.py,sha256=Mr8mNDElVsydvhKYaoNZeaQSutSJwn_11UbmfPiONzc,5060
38
+ algomancy_gui/scenario_page/scenario_badge.py,sha256=c3H5D6Mnh1zDLelByHc5Okwr3t9yEcGbPxjpwHnJA30,1162
39
+ algomancy_gui/scenario_page/scenario_cards.py,sha256=ieOK1KuZThMXzjhPrETyU9MWd5X0w42H-VTubMunVsc,4321
40
+ algomancy_gui/scenario_page/scenarios.py,sha256=MdbS4keAs08faIZzp3lEb07KJP0QeuTbOq0MW_acmIc,20535
41
+ algomancy_gui/sessionmanager.py,sha256=GvhQqTvQk_IPHk0UUWjS7JB0VJEVClunlK0tfOjwEa4,6773
42
+ algomancy_gui/settingsmanager.py,sha256=fiprmRyDNBIqpAAP3c-yFOco-3yDXsguVthbAa9s420,1250
43
+ algomancy_gui/stylingconfigurator.py,sha256=NMNVPz3caVeyFH9kqnC5MpG8WF2VzdggqXB20Z7H2iM,26665
44
+ algomancy_gui-0.3.16.dist-info/WHEEL,sha256=fAguSjoiATBe7TNBkJwOjyL1Tt4wwiaQGtNtjRPNMQA,80
45
+ algomancy_gui-0.3.16.dist-info/METADATA,sha256=5vwM6hf9wAziwQDfCNHtMi1J2GkNLOs4XN_fJuYSZzA,2234
46
+ algomancy_gui-0.3.16.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.9.28
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any