dara-core 1.21.5__py3-none-any.whl → 1.21.7__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.
@@ -50,6 +50,7 @@ from starlette.status import HTTP_415_UNSUPPORTED_MEDIA_TYPE
50
50
  from dara.core.auth.routes import verify_session
51
51
  from dara.core.base_definitions import ActionResolverDef, BaseTask, NonTabularDataError, UploadResolverDef
52
52
  from dara.core.configuration import Configuration
53
+ from dara.core.interactivity.actions import ACTION_CONTEXT
53
54
  from dara.core.interactivity.any_data_variable import upload
54
55
  from dara.core.interactivity.filtering import FilterQuery, Pagination
55
56
  from dara.core.interactivity.server_variable import ServerVariable
@@ -615,6 +616,10 @@ def create_loader_route(config: Configuration, app: FastAPI):
615
616
  },
616
617
  ) from e
617
618
 
619
+ # Reset the action context after running actions
620
+ CURRENT_ACTION_ID.set('')
621
+ ACTION_CONTEXT.set(None)
622
+
618
623
  async def process_variables(send_stream: MemoryObjectSendStream[Chunk]):
619
624
  for payload in body.derived_variable_payloads:
620
625
  try:
@@ -71107,9 +71107,11 @@ Inferred class string: "${iconClasses}."`
71107
71107
  [paramsRef]
71108
71108
  );
71109
71109
  const writeStoreValue = React__namespace.useCallback(
71110
- ({ diff }) => {
71110
+ async ({ diff }) => {
71111
71111
  const newParams = mapValues({ ...paramsRef.current, ...Object.fromEntries(diff) }, (v) => String(v));
71112
- const fullPathname = matchesRef.current.at(-1).loaderData.data.route_definition.full_path;
71112
+ const loaderData = matchesRef.current.at(-1).loaderData;
71113
+ const data2 = loaderData.data instanceof Promise ? await loaderData.data : loaderData.data;
71114
+ const fullPathname = data2.route_definition.full_path;
71113
71115
  navigate({
71114
71116
  pathname: generatePath(fullPathname, newParams),
71115
71117
  // preserve current search
@@ -74060,6 +74062,9 @@ Inferred class string: "${iconClasses}."`
74060
74062
  }
74061
74063
  return /* @__PURE__ */ React.createElement(CenteredDivWithGap, null, /* @__PURE__ */ React.createElement(Title, null, "Unknown error occurred"), /* @__PURE__ */ React.createElement(ErrorStack, null, String(error)), /* @__PURE__ */ React.createElement(ButtonBar, null, /* @__PURE__ */ React.createElement(Button$1, { href: "/login", styling: "error" }, "Go to home")));
74062
74064
  }
74065
+ function RouteErrorBoundaryPage() {
74066
+ return /* @__PURE__ */ React.createElement(styled.ThemeProvider, { theme }, /* @__PURE__ */ React.createElement(RouteErrorBoundary, null));
74067
+ }
74063
74068
  const PRELOADED_COMPONENTS = {};
74064
74069
  function getIdentifier(component) {
74065
74070
  return `${component.py_module}.${component.js_name}`;
@@ -74518,7 +74523,7 @@ body,
74518
74523
  id: route.id,
74519
74524
  caseSensitive: route.case_sensitive,
74520
74525
  hydrateFallbackElement: /* @__PURE__ */ React__namespace.createElement(DefaultFallbackStatic, null),
74521
- ErrorBoundary: RouteErrorBoundary
74526
+ ErrorBoundary: RouteErrorBoundaryPage
74522
74527
  };
74523
74528
  switch (route.__typename) {
74524
74529
  case "IndexRoute":
@@ -74598,7 +74603,7 @@ body,
74598
74603
  // wrapper around all the router content
74599
74604
  element: /* @__PURE__ */ React__namespace.createElement(UnauthenticatedRoot, null),
74600
74605
  hydrateFallbackElement: /* @__PURE__ */ React__namespace.createElement(DefaultFallbackStatic, null),
74601
- ErrorBoundary: RouteErrorBoundary,
74606
+ ErrorBoundary: RouteErrorBoundaryPage,
74602
74607
  children: [
74603
74608
  {
74604
74609
  path: "error",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dara-core
3
- Version: 1.21.5
3
+ Version: 1.21.7
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.21.5)
24
+ Requires-Dist: create-dara-app (==1.21.7)
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.21.5) ; extra == "all"
27
+ Requires-Dist: dara-components (==1.21.7) ; 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.21.5/img/dara_light.svg?raw=true">
58
+ <img src="https://github.com/causalens/dara/blob/v1.21.7/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.21.5/img/components_gallery.png?raw=true)
103
+ ![Dara App](https://github.com/causalens/dara/blob/v1.21.7/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.21.5/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.5/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.5/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.7/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.7/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.7/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.21.5/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.7/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.21.5/LICENSE).
153
+ Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.21.7/LICENSE).
154
154
 
@@ -61,7 +61,7 @@ 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=LN133glz523lBp5TV7GVgyW2f8jlN9X8hVe7szJr_Cg,26422
64
+ dara/core/internal/routing.py,sha256=El2rRuJODoTuZvyay1LSbxCX8IvGDos3dwXYn1RIHZs,26630
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
@@ -93,7 +93,7 @@ dara/core/router/compat.py,sha256=WAVzDcJFJOVoIQ5inplIhXD58TWsWwTTebTCqpG4nGs,31
93
93
  dara/core/router/components.py,sha256=K6bj04_ZPJcU9JQjaxPJkbUeaHtA_jeJNEvCqQbDf3A,5090
94
94
  dara/core/router/dependency_graph.py,sha256=AyjSk3DuvCgACrgpID4oSpms1X6GQJUbt-scY5X_LN4,2305
95
95
  dara/core/router/router.py,sha256=1r3rFGiftOXC6GP66hKqTdcVNDRJsZWBWvL74wNG4dA,29719
96
- dara/core/umd/dara.core.umd.cjs,sha256=WT-s5ykdLYVEyxpwQ6hYBN_z-Ir72T1RGVLYRNus4j0,5148319
96
+ dara/core/umd/dara.core.umd.cjs,sha256=ijZEPc3z9W93K4pxOPMmSsa45GULhjoXy-HtjVWIEvQ,5148648
97
97
  dara/core/umd/style.css,sha256=yT3PKpi2sKI2-kQIF8xtVbTPQqgpK7-Ua7tfzDPuSsI,4095881
98
98
  dara/core/visual/__init__.py,sha256=QN0wbG9HPQ_vXh8BO8DnBXeYLIENVTNtRmYzZf1lx7c,577
99
99
  dara/core/visual/components/__init__.py,sha256=nmCsnMLXeZAjkhMYz-mIFodpVY-69IO1fvwwXbFlMQ4,2447
@@ -120,8 +120,8 @@ dara/core/visual/themes/__init__.py,sha256=aM4mgoIYo2neBSw5FRzswsht7PUKjLthiHLmF
120
120
  dara/core/visual/themes/dark.py,sha256=UQGDooOc8ric73eHs9E0ltYP4UCrwqQ3QxqN_fb4PwY,1942
121
121
  dara/core/visual/themes/definitions.py,sha256=5g83t24w8Ar51Cl9REBJfCU7_DtlashBQeUTKDg3D1M,2862
122
122
  dara/core/visual/themes/light.py,sha256=-Tviq8oEwGbdFULoDOqPuHO0UpAZGsBy8qFi0kAGolQ,1944
123
- dara_core-1.21.5.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
124
- dara_core-1.21.5.dist-info/METADATA,sha256=7oehCtNZ2YNrDUpbrT4kgEJJ63XqSnfDVmzpu18yN90,7534
125
- dara_core-1.21.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
126
- dara_core-1.21.5.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
127
- dara_core-1.21.5.dist-info/RECORD,,
123
+ dara_core-1.21.7.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
124
+ dara_core-1.21.7.dist-info/METADATA,sha256=810d-0xWmjV7KC-LzGt26ZgrZj0Q66v2Yv3BxtzNCl4,7534
125
+ dara_core-1.21.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
126
+ dara_core-1.21.7.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
127
+ dara_core-1.21.7.dist-info/RECORD,,