dara-core 1.20.2__py3-none-any.whl → 1.21.0__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.
@@ -16,31 +16,35 @@ limitations under the License.
16
16
  """
17
17
 
18
18
  from inspect import isclass
19
- from typing import Optional # needed for model_rebuild # noqa: F401
19
+ from typing import Optional, Union # needed for model_rebuild # noqa: F401
20
20
 
21
21
  from pydantic import BaseModel
22
22
 
23
+ from dara.core.definitions import BaseFallback # needed for model_rebuild # noqa: F401
23
24
  from dara.core.interactivity import Variable # needed for model_rebuild # noqa: F401
24
- from dara.core.visual.components.dynamic_component import (
25
+
26
+ from .dynamic_component import (
25
27
  DynamicComponent,
26
28
  DynamicComponentDef,
27
29
  )
28
- from dara.core.visual.components.fallback import (
30
+ from .fallback import (
29
31
  DefaultFallbackDef,
30
32
  Fallback,
31
33
  RowFallbackDef,
32
34
  )
33
- from dara.core.visual.components.for_cmp import For, ForDef
34
- from dara.core.visual.components.invalid_component import InvalidComponent
35
- from dara.core.visual.components.menu import Menu, MenuDef
36
- from dara.core.visual.components.progress_tracker import (
35
+ from .for_cmp import For, ForDef
36
+ from .invalid_component import InvalidComponent
37
+ from .menu import Menu, MenuDef
38
+ from .menu_link import MenuLink, MenuLinkDef
39
+ from .powered_by_causalens import PoweredByCausalens, PoweredByCausalensDef
40
+ from .progress_tracker import (
37
41
  ProgressTracker,
38
42
  ProgressTrackerDef,
39
43
  )
40
- from dara.core.visual.components.raw_string import RawString
41
- from dara.core.visual.components.router_content import RouterContent, RouterContentDef
42
- from dara.core.visual.components.sidebar_frame import SideBarFrame, SideBarFrameDef
43
- from dara.core.visual.components.topbar_frame import TopBarFrame, TopBarFrameDef
44
+ from .raw_string import RawString
45
+ from .router_content import RouterContent, RouterContentDef
46
+ from .sidebar_frame import SideBarFrame, SideBarFrameDef
47
+ from .topbar_frame import TopBarFrame, TopBarFrameDef
44
48
 
45
49
  __all__ = [
46
50
  'DynamicComponent',
@@ -62,6 +66,10 @@ __all__ = [
62
66
  'DefaultFallbackDef',
63
67
  'RowFallbackDef',
64
68
  'Fallback',
69
+ 'PoweredByCausalens',
70
+ 'PoweredByCausalensDef',
71
+ 'MenuLink',
72
+ 'MenuLinkDef',
65
73
  ]
66
74
 
67
75
  for symbol in list(globals().values()) + [Fallback.Default, Fallback.Row]:
@@ -18,12 +18,16 @@ limitations under the License.
18
18
  from typing import List
19
19
 
20
20
  from pydantic import ConfigDict
21
+ from typing_extensions import deprecated
21
22
 
22
23
  from dara.core.definitions import ComponentInstance, JsComponentDef, TemplateRouterLink
23
24
 
24
25
  MenuDef = JsComponentDef(name='Menu', js_module='@darajs/core', py_module='dara.core')
25
26
 
26
27
 
28
+ @deprecated(
29
+ 'Legacy component used with templates and config.add_page API. Use dara.core.visual.components.MenuLink or NavLink instead.'
30
+ )
27
31
  class Menu(ComponentInstance):
28
32
  routes: List[TemplateRouterLink]
29
33
  model_config = ConfigDict(extra='forbid')
@@ -0,0 +1,36 @@
1
+ from dara.core.definitions import ComponentInstance, JsComponentDef
2
+ from dara.core.router import Link
3
+
4
+ MenuLinkDef = JsComponentDef(name='MenuLink', js_module='@darajs/core', py_module='dara.core')
5
+
6
+
7
+ class MenuLink(Link):
8
+ """
9
+ Styled version of Link component, ready to be used with e.g. the built-in SideBarFrame component.
10
+ Accepts all the same props as the Link component, can be used as a drop-in replacement.
11
+
12
+ ```python
13
+ from dara.core.visual.components import MenuLink, SideBarFrame
14
+ from dara.core.router import Router, Outlet
15
+
16
+ router = Router()
17
+
18
+ def RootLayout():
19
+ routes = router.get_navigable_routes()
20
+
21
+ return SideBarFrame(
22
+ side_bar=Stack(
23
+ *[MenuLink(Text(path['name']), to=path['path']) for path in routes],
24
+ ),
25
+ content=Outlet(),
26
+ )
27
+
28
+ root = router.add_layout(content=RootLayout)
29
+ ```
30
+ """
31
+
32
+ def __init__(self, *children: ComponentInstance, **kwargs):
33
+ els = list(children)
34
+ if 'children' not in kwargs:
35
+ kwargs['children'] = els
36
+ super().__init__(**kwargs)
@@ -0,0 +1,9 @@
1
+ from dara.core.definitions import ComponentInstance, JsComponentDef
2
+
3
+ PoweredByCausalensDef = JsComponentDef(name='PoweredByCausalens', js_module='@darajs/core', py_module='dara.core')
4
+
5
+
6
+ class PoweredByCausalens(ComponentInstance):
7
+ """
8
+ PoweredByCausalens logo component
9
+ """
@@ -34,4 +34,5 @@ class SideBarFrame(ComponentInstance):
34
34
  side_bar_padding: Optional[str] = None
35
35
  side_bar_position: Optional[str] = None
36
36
  side_bar_width: Optional[str] = None
37
+ powered_by_causalens: Optional[bool] = False
37
38
  model_config = ConfigDict(extra='forbid')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dara-core
3
- Version: 1.20.2
3
+ Version: 1.21.0
4
4
  Summary: Dara Framework Core
5
5
  Home-page: https://dara.causalens.com/
6
6
  License: Apache-2.0
@@ -21,10 +21,10 @@ Requires-Dist: cachetools (>=5.0.0,<6.0.0)
21
21
  Requires-Dist: certifi (>=2024.7.4)
22
22
  Requires-Dist: click (==8.1.3)
23
23
  Requires-Dist: colorama (>=0.4.6,<0.5.0)
24
- Requires-Dist: create-dara-app (==1.20.2)
24
+ Requires-Dist: create-dara-app (==1.21.0)
25
25
  Requires-Dist: croniter (>=1.0.15,<3.0.0)
26
26
  Requires-Dist: cryptography (>=42.0.4)
27
- Requires-Dist: dara-components (==1.20.2) ; extra == "all"
27
+ Requires-Dist: dara-components (==1.21.0) ; extra == "all"
28
28
  Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0)
29
29
  Requires-Dist: fastapi (>=0.115.0,<0.116.0)
30
30
  Requires-Dist: fastapi_vite_dara (==0.4.0)
@@ -55,7 +55,7 @@ Description-Content-Type: text/markdown
55
55
 
56
56
  # Dara Application Framework
57
57
 
58
- <img src="https://github.com/causalens/dara/blob/v1.20.2/img/dara_light.svg?raw=true">
58
+ <img src="https://github.com/causalens/dara/blob/v1.21.0/img/dara_light.svg?raw=true">
59
59
 
60
60
  ![Master tests](https://github.com/causalens/dara/actions/workflows/tests.yml/badge.svg?branch=master)
61
61
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
@@ -100,7 +100,7 @@ source .venv/bin/activate
100
100
  dara start
101
101
  ```
102
102
 
103
- ![Dara App](https://github.com/causalens/dara/blob/v1.20.2/img/components_gallery.png?raw=true)
103
+ ![Dara App](https://github.com/causalens/dara/blob/v1.21.0/img/components_gallery.png?raw=true)
104
104
 
105
105
  Note: `pip` installation uses [PEP 660](https://peps.python.org/pep-0660/) `pyproject.toml`-based editable installs which require `pip >= 21.3` and `setuptools >= 64.0.0`. You can upgrade both with:
106
106
 
@@ -117,9 +117,9 @@ Explore some of our favorite apps - a great way of getting started and getting t
117
117
 
118
118
  | Dara App | Description |
119
119
  | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
120
- | ![Large Language Model](https://github.com/causalens/dara/blob/v1.20.2/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
121
- | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.20.2/img/plot_interactivity.png?raw=true) | Demonstrates how to enable the user to interact with plots, trigger actions based on clicks, mouse movements and other interactions with `Bokeh` or `Plotly` plots |
122
- | ![Graph Editor](https://github.com/causalens/dara/blob/v1.20.2/img/graph_viewer.png?raw=true) | Demonstrates how to use the `CausalGraphViewer` component to display your graphs or networks, customising the displayed information through colors and tooltips, and updating the page based on user interaction. |
120
+ | ![Large Language Model](https://github.com/causalens/dara/blob/v1.21.0/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
121
+ | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.21.0/img/plot_interactivity.png?raw=true) | Demonstrates how to enable the user to interact with plots, trigger actions based on clicks, mouse movements and other interactions with `Bokeh` or `Plotly` plots |
122
+ | ![Graph Editor](https://github.com/causalens/dara/blob/v1.21.0/img/graph_viewer.png?raw=true) | Demonstrates how to use the `CausalGraphViewer` component to display your graphs or networks, customising the displayed information through colors and tooltips, and updating the page based on user interaction. |
123
123
 
124
124
  Check out our [App Gallery](https://dara.causalens.com/gallery) for more inspiration!
125
125
 
@@ -146,9 +146,9 @@ And the supporting UI packages and tools.
146
146
  - `ui-utils` - miscellaneous utility functions
147
147
  - `ui-widgets` - widget components
148
148
 
149
- More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.20.2/CONTRIBUTING.md) file.
149
+ More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.21.0/CONTRIBUTING.md) file.
150
150
 
151
151
  ## License
152
152
 
153
- Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.20.2/LICENSE).
153
+ Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.21.0/LICENSE).
154
154
 
@@ -1,4 +1,4 @@
1
- dara/core/__init__.py,sha256=wcVLfKdziyk6yH50o55A4kAsaJIBoIMGd9RR4igTttw,2159
1
+ dara/core/__init__.py,sha256=yTp-lXT0yy9XqLGYWlmjPgFG5g2eEg2KhKo8KheTHoo,1408
2
2
  dara/core/actions.py,sha256=rC5Tu79AFNWMv0CJuchBnoy6pETIFh_1RTSqxrolArI,947
3
3
  dara/core/auth/__init__.py,sha256=H0bJoXff5wIRZmHvvQ3y9p5SXA9lM8OuLCGceYGqfb0,851
4
4
  dara/core/auth/base.py,sha256=qxmiIzx-n2g4ZWicgxsYtHjiB14AemOWM_GNxcr98mE,3294
@@ -8,14 +8,14 @@ dara/core/auth/routes.py,sha256=0o5KXApRbkL0F5qFsarQk_cq5lbQ3QfIHR_mwLRgBEY,7217
8
8
  dara/core/auth/utils.py,sha256=iEWP5qwfH17Mi-5t3sP-DNMUrWN0oSRk96NhieY2Zw4,7334
9
9
  dara/core/base_definitions.py,sha256=ptc6OSx-qElWWSuZB4-06kWmnj6hekpKR47eeB36igQ,16915
10
10
  dara/core/cli.py,sha256=V__LAK3ozWGsVTEQHqvJwqSfpC3o6R76YGABJ-YVoSE,8185
11
- dara/core/configuration.py,sha256=gi5AmdxyRSgegcNKFtnHshsMRz8fznswt60JlNZp-3s,22374
11
+ dara/core/configuration.py,sha256=8gp2rsQBAigv6GD69Op0_xyW7d5WZEI3CcUYXgp7LTY,23381
12
12
  dara/core/css.py,sha256=UkNZ6n7RDBLsHmpZvn_a3K2nAwxVggQJbQMKNbgXONA,1753
13
13
  dara/core/data_utils.py,sha256=RD5_GdyGyGr1LVThCo8mpuOMWrd9_c1iyRqjuyoarXM,12578
14
- dara/core/defaults.py,sha256=Sa7ZU4QvPndaJm-oXrVn9gRfkdUgFtsX8RkSRhf16JQ,4306
15
- dara/core/definitions.py,sha256=ykxPR4qYXafzsDxN4j3AN-pScSm-1Tx3SS3OWdFJ_k8,18839
14
+ dara/core/defaults.py,sha256=Krd0NoZvF8ZW09Wr6ra8AfXHFRCS9YCbnUxe7r--wHw,4602
15
+ dara/core/definitions.py,sha256=-m2nrvEFo4P1mCkWu1m4UyEXsmZrxMj7LHk33L82T1I,18368
16
16
  dara/core/http.py,sha256=-OzbCHlYSnfVnw2492C_UmaWOI5oSONfWk03eEGxSRI,4761
17
17
  dara/core/interactivity/__init__.py,sha256=ZppwTvxaCsaAdf0qX6j1qTcmbj6wxVcbiaMZfwTVKtU,2679
18
- dara/core/interactivity/actions.py,sha256=1emp5K18R1DK1b8R_j_8wVrVlNdRlHe7D3mVOTfwb_o,48188
18
+ dara/core/interactivity/actions.py,sha256=ADLVhffplOcIWy7l74SrpZk8oCe3q12BJ9060rVDpfU,48170
19
19
  dara/core/interactivity/any_data_variable.py,sha256=GhT6lzCDRlQtYG2gNNUHq4th7K3RacqDfkjaq7o4mCc,317
20
20
  dara/core/interactivity/any_variable.py,sha256=b6aMOZZc9Q4IFPPjuIbFgqYdw52-6QRsxNRj5ohZeL0,13648
21
21
  dara/core/interactivity/client_variable.py,sha256=bFc4gmKKVfAvZHmv5Y2ME1VMTxSM_v_0lcmyRNTLOKk,2320
@@ -29,7 +29,7 @@ dara/core/interactivity/non_data_variable.py,sha256=I-Nm5nEbt06X62xiUeAZsiutH-nP
29
29
  dara/core/interactivity/plain_variable.py,sha256=MlfQpmI1HBrKI3xOI_BDlvrdXpoTKdqj4sQ0kZOqlr0,12603
30
30
  dara/core/interactivity/server_variable.py,sha256=jtE0BqfNXz9W4BaWuaP29hqNRW_LZpYPROV2Xv-JL1E,11223
31
31
  dara/core/interactivity/state_variable.py,sha256=1sSQjjjwedR9_IVPIk9h39ywR4hklYoTUMPy3FA6TVU,2487
32
- dara/core/interactivity/switch_variable.py,sha256=RTFVeB5joWh7-zjx-miP0OjYmDW8GbgkWZHLUsMasiY,14177
32
+ dara/core/interactivity/switch_variable.py,sha256=6vyYPdSk5gNahMq5kgRQt5c2xyt6fRyO7_cPNi0ho2A,14191
33
33
  dara/core/interactivity/tabular_variable.py,sha256=aw9wIzhkoWA-YyAfNWTZPmW0OAa-4yOb_dN55jrhu9w,3366
34
34
  dara/core/interactivity/url_variable.py,sha256=iJ78QC2J_fCJ1K_hjksMwyzGBHOywBLAHBWdw-PYL1I,2301
35
35
  dara/core/internal/__init__.py,sha256=QN0wbG9HPQ_vXh8BO8DnBXeYLIENVTNtRmYzZf1lx7c,577
@@ -45,7 +45,7 @@ dara/core/internal/dependency_resolution.py,sha256=7_M1Mrhdb17wuuOHnbKjnCu1a0okA
45
45
  dara/core/internal/devtools.py,sha256=kzbmkDd-PHc2epCQ6D-bTm7G_2algxDOiyhzJWK0QlI,2620
46
46
  dara/core/internal/download.py,sha256=_AciKp4ZsJxq60LRnvhLsA7KNWMDAXRbSKpin8-vBmU,3589
47
47
  dara/core/internal/encoder_registry.py,sha256=KTYBLIGHpJDOLzCp_9899D7EIISK0zxCKbn4Gktllxk,11200
48
- dara/core/internal/execute_action.py,sha256=luO5mTFj5Pl5H1Pxtsw5qNBnb64kL5fKBLad5tpzT6Q,7018
48
+ dara/core/internal/execute_action.py,sha256=K4lo3aQp2QS-IFzBqdDvWqhiSieNvhX4D6bzxZi-GNE,9339
49
49
  dara/core/internal/hashing.py,sha256=Iz3FyiroHc_bC8AEtSUFFAIHh6j4Bq_EvxLqInIkAUM,1124
50
50
  dara/core/internal/import_discovery.py,sha256=oyBZayWhfZma4bg-8bamnS4QO1Oba9geGtez_BHut38,8128
51
51
  dara/core/internal/multi_resource_lock.py,sha256=mUoc6KKk8mpLGCXfa6nFd60yNuas4b6wsAk8VrvGDxI,2496
@@ -61,18 +61,18 @@ dara/core/internal/port_utils.py,sha256=3NN94CubNrIYQKmPM4SEwstY-UMqsbbe1M_JhyPc
61
61
  dara/core/internal/registries.py,sha256=1lY9xrggiyUlM32pPyzFEfflW3_37QGOxTDrfWQ4CN4,3659
62
62
  dara/core/internal/registry.py,sha256=TJsD6eUQIBvcuTn_x3371pF-gxo6VtHUX5h-haca-00,4372
63
63
  dara/core/internal/registry_lookup.py,sha256=RlT6Np658GCykdOXeLA6Gm1BTBcdDbhtOJDwJUB3Tkc,2430
64
- dara/core/internal/routing.py,sha256=qe0U-gqXnzkm6osvpipJV6DE2ePqhtXBVGD1JSRrTOo,21148
64
+ dara/core/internal/routing.py,sha256=F1nnQE95pOtwrfw3dm_5Yp_SxXzM_9M5R1dhttkyZhY,19746
65
65
  dara/core/internal/scheduler.py,sha256=rmj-NnHHToWBPuteKlf0RmKcav2Hz0Z9-l4uyrAGKSI,13069
66
66
  dara/core/internal/settings.py,sha256=DxRvXcelawaKemTcX6JIVIilibn0XO5Bd98dCXau4zg,3937
67
67
  dara/core/internal/store.py,sha256=Z4EUMwHR0DR-TVCL9csSGYE3toxh15iRpBP2c7MUgr8,6442
68
68
  dara/core/internal/tasks.py,sha256=WgQcgyChnUe4Dy16dw4LpFAcSECVoxFjVJHkPnfZFaA,34790
69
69
  dara/core/internal/utils.py,sha256=nUnwy1BLW9HUQro9ASAYb-AlNJkbaT_bQ1bE2e1q1wo,9088
70
70
  dara/core/internal/websocket.py,sha256=rcipt5XY48akMuLHFdvUUIgNLqzJx7ovLeiPsYVMELM,21953
71
- dara/core/jinja/index.html,sha256=1gkCFiihXOUH7vp7tT5gH8mKeJB4KqNg394xO3a0usI,1208
72
- dara/core/jinja/index_autojs.html,sha256=u1diDUnRT4djZqN1T6lIE01GhlfL6SJ_yLYcyapruss,1342
71
+ dara/core/jinja/index.html,sha256=5Sq_FwXn0F4dOyRFprfoh_tn0GUq6_aLYyYdpzQLdeM,3312
72
+ dara/core/jinja/index_autojs.html,sha256=wkDPReUsMKfVvafFEawrj_3TdH8m_nliV0XuuGK8dyM,3884
73
73
  dara/core/js_tooling/custom_js_scaffold/index.tsx,sha256=FEzSV5o5Nyzxw6eXvGLi7BkEBkXf3brV34_7ATLnY7o,68
74
74
  dara/core/js_tooling/custom_js_scaffold/local-js-component.tsx,sha256=Ojsyeh9MYJnH_XJXGkSc8PAUZIqJcqcGTu_uRITo_88,709
75
- dara/core/js_tooling/js_utils.py,sha256=X8KZLGjdrVk7K8SEg-lrGbbT6W-rp81YMq9lHhK60Jo,26948
75
+ dara/core/js_tooling/js_utils.py,sha256=6097-dJIoDdgP626byMrP7s2rapFvmoBtd92qol6jpk,27547
76
76
  dara/core/js_tooling/statics/favicon.ico,sha256=CJP26erMMIwQB8FFmyhoUJ-Cx1cXEopiVGxFwyxcpo0,47068
77
77
  dara/core/js_tooling/statics/tsconfig.json,sha256=ubnFjwvPHbx2F7wVWsU2VHLDeEnnOwXkTIk7hLNY8ZM,446
78
78
  dara/core/js_tooling/templates/.npmrc,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -82,25 +82,31 @@ dara/core/js_tooling/templates/dara.config.json,sha256=RZG_R_xJv_5rYIoz2QZulcG49
82
82
  dara/core/js_tooling/templates/vite.config.template.ts,sha256=W-R9LtXPMv7vQkqMawMmeFrjaQ22xrGU0iYyS_nHkh4,1199
83
83
  dara/core/log_configs/logging.yaml,sha256=YJyD18psAmSVz6587dcEOyoulLuRFFu1g8yMXl1ylM0,706
84
84
  dara/core/logging.py,sha256=8kJPQfRpivxzJXpmsK6-sYnWjR_VBDHzIelD1rstIeM,13260
85
- dara/core/main.py,sha256=uw1BI4dSN-TowmnIUNLMDqL6I5t-3qeQsnVN9J73nGc,18507
85
+ dara/core/main.py,sha256=B3dst9KlXEV_Vgbm5uvfg-ZPhFHL3qx1cjhqxJ75C4g,24654
86
86
  dara/core/metrics/__init__.py,sha256=2UqpWHv-Ie58QLJIHJ9Szfjq8xifAuwy5FYGUIFwWtI,823
87
87
  dara/core/metrics/cache.py,sha256=c1PSst_oZZvuVzBXYWdpf8Sbb97u6q0HS2dlsEVLpQU,2632
88
88
  dara/core/metrics/runtime.py,sha256=YP-6Dz0GeI9_Yr7bUk_-OqShyFySGH_AKpDO126l6es,1833
89
89
  dara/core/metrics/utils.py,sha256=inR1Ab5hmWZY2lsgGwLCQOEdyhCD9PumU52X2JbwlKY,2251
90
90
  dara/core/persistence.py,sha256=10Hrvb2z5c9r0Hof7gpiiWfuKAAu6TLqLKoiZA9KpZo,18901
91
- dara/core/umd/dara.core.umd.js,sha256=mZnbectENbWRgl3S4j7DiDD6f14h0IIJoIj17Z3TMd8,4607946
92
- dara/core/umd/style.css,sha256=YQtQ4veiSktnyONl0CU1iU1kKfcQhreH4iASi1MP7Ak,4095007
91
+ dara/core/router/__init__.py,sha256=4e0g3jS1DMa2EftBEYAFTZxwH1r_mREzbTbIqEWxGPo,89
92
+ dara/core/router/compat.py,sha256=WAVzDcJFJOVoIQ5inplIhXD58TWsWwTTebTCqpG4nGs,3137
93
+ dara/core/router/components.py,sha256=venfZjfJIqttsn8ZmkcQzj_5W4txYKQ1BuPjDox3efo,3483
94
+ dara/core/router/router.py,sha256=KWefrstdXojN7GHiHbZcjRLgWMVPNbH_xX5fs0z9Lrs,29035
95
+ dara/core/umd/dara.core.umd.cjs,sha256=JruBmUGb8NENOHa4-7o_JOEd16-BJzTC-7_aVW4ZQIE,5032118
96
+ dara/core/umd/style.css,sha256=aywwY47sVAdfUt4q8c3xCi81TuHXoIJdwrWtppRGJrk,4095751
93
97
  dara/core/visual/__init__.py,sha256=QN0wbG9HPQ_vXh8BO8DnBXeYLIENVTNtRmYzZf1lx7c,577
94
- dara/core/visual/components/__init__.py,sha256=wuGRk8bogiLWPOXAF-Fo4F6_L__0tBrI2p2SqgH2lnE,2385
98
+ dara/core/visual/components/__init__.py,sha256=zAxlhI6ZCJYAPAwLPLc435NMgANaoZuQV--I6tA2ecY,2422
95
99
  dara/core/visual/components/dynamic_component.py,sha256=w7rxrM9ZTNvkHymkAto_s9UKg7EE8VrlpL9QdRe4sgY,692
96
100
  dara/core/visual/components/fallback.py,sha256=cnuPcblmQ1gyzZHrwHtrD5C5Bo7-JXeiMO0KZ1ACbPM,4764
97
101
  dara/core/visual/components/for_cmp.py,sha256=HykNfue2YzjZjWiWaJakLZmbdd_M7IfUi9kNhG2mLOE,6347
98
102
  dara/core/visual/components/invalid_component.py,sha256=Q6O9rAwVUNZXjEmliAKLfWf2lsyYK5JhgQvMM6jVco8,901
99
- dara/core/visual/components/menu.py,sha256=ied87GzIoZgmEINgX3WahBqofn-WK1PIBZAgMjR-Bxg,928
103
+ dara/core/visual/components/menu.py,sha256=hGBw6nj8_MKsYyD7sTL4687Y3-hYiIh6VsbT-cxyvDE,1113
104
+ dara/core/visual/components/menu_link.py,sha256=Sw2D3peHwNihzGrwwGZAcW478BgC19ZoXDf7RR7YVn8,1114
105
+ dara/core/visual/components/powered_by_causalens.py,sha256=AOeEDKCqRcLhdVDcpcXnAwGupfMvrJo2cZ26q3CYpMc,285
100
106
  dara/core/visual/components/progress_tracker.py,sha256=5p_nEJf7RK2oPimXL4YhAN7v0Jcx2HHQzlLxPr7Co38,1705
101
107
  dara/core/visual/components/raw_string.py,sha256=jtG9hDZz3s-sCg__Eg4__XkD80OhnNaWiRo-W88LK4M,921
102
108
  dara/core/visual/components/router_content.py,sha256=ZFJBuT-Vpn4yvbzgt5IGQbBqiWFhYfHa6mgB2O8Xt8I,978
103
- dara/core/visual/components/sidebar_frame.py,sha256=rXkPQF9TORuAgbMMx-BL_XDVE-CKcZHY9XV9-gZr_FI,1242
109
+ dara/core/visual/components/sidebar_frame.py,sha256=vUd8BM-VD3HvI4I1RssS1A2r5-4gtAl-UrMxLdz0sDI,1291
104
110
  dara/core/visual/components/topbar_frame.py,sha256=7L4Bi7Ba_gdfS6yoduXQ3k0-XQaNuahmkumyfzlpzzY,1255
105
111
  dara/core/visual/components/types.py,sha256=uH2IGufr4-I8cNbZgnEd3YbqoPFgyqG91rfNXZVG7a0,686
106
112
  dara/core/visual/css/Property.py,sha256=XJzlMeASyrquhXmaQZvrsgin3xlVfm94dHRY9aJkhXk,43028
@@ -112,8 +118,8 @@ dara/core/visual/themes/__init__.py,sha256=aM4mgoIYo2neBSw5FRzswsht7PUKjLthiHLmF
112
118
  dara/core/visual/themes/dark.py,sha256=UQGDooOc8ric73eHs9E0ltYP4UCrwqQ3QxqN_fb4PwY,1942
113
119
  dara/core/visual/themes/definitions.py,sha256=nS_gQvOzCt5hTmj74d0_siq_9QWuj6wNuir4VCHy0Dk,2779
114
120
  dara/core/visual/themes/light.py,sha256=-Tviq8oEwGbdFULoDOqPuHO0UpAZGsBy8qFi0kAGolQ,1944
115
- dara_core-1.20.2.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
116
- dara_core-1.20.2.dist-info/METADATA,sha256=aqSKjfLbqsYjBjmhCQyFv77rMuShcIPHv7sbPdyAhLs,7534
117
- dara_core-1.20.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
118
- dara_core-1.20.2.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
119
- dara_core-1.20.2.dist-info/RECORD,,
121
+ dara_core-1.21.0.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
122
+ dara_core-1.21.0.dist-info/METADATA,sha256=dXFFQ3A7LdKjE2tzh3Cj0KnbgQUN5rrX-s1xVBE027w,7534
123
+ dara_core-1.21.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
124
+ dara_core-1.21.0.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
125
+ dara_core-1.21.0.dist-info/RECORD,,