dara-core 1.10.3__py3-none-any.whl → 1.10.4__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.
@@ -58491,17 +58491,21 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
58491
58491
  const history2 = useHistory();
58492
58492
  const taskCtx = useTaskContext();
58493
58493
  const location2 = useLocation();
58494
+ const eventBus = useEventBus();
58494
58495
  const actionCtx = React.useRef();
58495
- actionCtx.current = {
58496
- extras,
58497
- history: history2,
58498
- location: location2,
58499
- notificationCtx,
58500
- taskCtx,
58501
- wsClient
58502
- };
58503
58496
  const optionsRef = React.useRef(options);
58504
- optionsRef.current = options;
58497
+ React.useLayoutEffect(() => {
58498
+ actionCtx.current = {
58499
+ extras,
58500
+ history: history2,
58501
+ location: location2,
58502
+ notificationCtx,
58503
+ taskCtx,
58504
+ wsClient,
58505
+ eventBus
58506
+ };
58507
+ optionsRef.current = options;
58508
+ });
58505
58509
  const callback = Recoil_index_31(
58506
58510
  (cbInterface) => async (input) => {
58507
58511
  var _a;
@@ -60346,11 +60350,13 @@ Inferred class string: "${iconClasses}."`
60346
60350
  } else if (isUrlVariable(variable)) {
60347
60351
  const urlAtom = getOrRegisterUrlVariable(variable);
60348
60352
  ctx.set(urlAtom, variable.default);
60353
+ ctx.eventBus.publish("URL_VARIABLE_LOADED", { variable, value: variable.default });
60349
60354
  } else if (isDataVariable(variable))
60350
60355
  ;
60351
60356
  else {
60352
60357
  const plainAtom = getOrRegisterPlainVariable(variable, ctx.wsClient, ctx.taskCtx, ctx.extras);
60353
60358
  ctx.reset(plainAtom);
60359
+ ctx.eventBus.publish("PLAIN_VARIABLE_LOADED", { variable, value: variable.default });
60354
60360
  }
60355
60361
  });
60356
60362
  };
@@ -60363,25 +60369,32 @@ Inferred class string: "${iconClasses}."`
60363
60369
  };
60364
60370
  const INPUT = "__dara_input__";
60365
60371
  const TOGGLE = "__dara_toggle__";
60366
- const UpdateVariable = (ctx, actionImpl) => {
60372
+ const UpdateVariable = async (ctx, actionImpl) => {
60367
60373
  let varAtom;
60374
+ let eventName;
60368
60375
  switch (actionImpl.variable.__typename) {
60369
60376
  case "Variable":
60370
60377
  varAtom = getOrRegisterPlainVariable(actionImpl.variable, ctx.wsClient, ctx.taskCtx, ctx.extras);
60378
+ eventName = "PLAIN_VARIABLE_LOADED";
60371
60379
  break;
60372
60380
  case "UrlVariable":
60373
60381
  varAtom = getOrRegisterUrlVariable(actionImpl.variable);
60382
+ eventName = "URL_VARIABLE_LOADED";
60374
60383
  break;
60375
60384
  case "DataVariable":
60376
60385
  throw new Error("DataVariable is not supported in UpdateVariable action");
60377
60386
  }
60387
+ let newValue;
60378
60388
  if (actionImpl.value === INPUT) {
60379
- return ctx.set(varAtom, ctx.input);
60380
- }
60381
- if (actionImpl.value === TOGGLE) {
60382
- return ctx.set(varAtom, (value) => !value);
60389
+ newValue = ctx.input;
60390
+ } else if (actionImpl.value === TOGGLE) {
60391
+ const value = await ctx.snapshot.getLoadable(varAtom).toPromise();
60392
+ newValue = !value;
60393
+ } else {
60394
+ newValue = actionImpl.value;
60383
60395
  }
60384
- return ctx.set(varAtom, actionImpl.value);
60396
+ ctx.set(varAtom, newValue);
60397
+ ctx.eventBus.publish(eventName, { variable: actionImpl.variable, value: newValue });
60385
60398
  };
60386
60399
  var exceljs_min = { exports: {} };
60387
60400
  /*! ExcelJS 19-10-2023 */
@@ -86089,9 +86102,10 @@ Inferred class string: "${iconClasses}."`
86089
86102
  display: flex;
86090
86103
  gap: 0.2rem;
86091
86104
  align-items: center;
86105
+
86092
86106
  font-size: 0.75rem;
86093
- text-decoration: none;
86094
86107
  color: inherit;
86108
+ text-decoration: none;
86095
86109
 
86096
86110
  :hover {
86097
86111
  text-decoration: underline;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dara-core
3
- Version: 1.10.3
3
+ Version: 1.10.4
4
4
  Summary: Dara Framework Core
5
5
  Home-page: https://dara.causalens.com/
6
6
  License: Apache-2.0
@@ -19,10 +19,10 @@ Requires-Dist: anyio (>=4.0.0)
19
19
  Requires-Dist: async-asgi-testclient (>=1.4.11,<2.0.0)
20
20
  Requires-Dist: click (==8.1.3)
21
21
  Requires-Dist: colorama (>=0.4.6,<0.5.0)
22
- Requires-Dist: create-dara-app (==1.10.3)
22
+ Requires-Dist: create-dara-app (==1.10.4)
23
23
  Requires-Dist: croniter (>=1.0.15,<2.0.0)
24
24
  Requires-Dist: cryptography (>=42.0.4)
25
- Requires-Dist: dara-components (==1.10.3) ; extra == "all"
25
+ Requires-Dist: dara-components (==1.10.4) ; extra == "all"
26
26
  Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0)
27
27
  Requires-Dist: fastapi (==0.109.0)
28
28
  Requires-Dist: fastapi-vite (==0.3.1)
@@ -50,7 +50,7 @@ Description-Content-Type: text/markdown
50
50
 
51
51
  # Dara Application Framework
52
52
 
53
- <img src="https://github.com/causalens/dara/blob/VERSION-1.10.3/img/dara_light.svg?raw=true">
53
+ <img src="https://github.com/causalens/dara/blob/VERSION-1.10.4/img/dara_light.svg?raw=true">
54
54
 
55
55
  ![Master tests](https://github.com/causalens/dara/actions/workflows/tests.yml/badge.svg?branch=master)
56
56
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
@@ -95,7 +95,7 @@ source .venv/bin/activate
95
95
  dara start
96
96
  ```
97
97
 
98
- ![Dara App](https://github.com/causalens/dara/blob/VERSION-1.10.3/img/components_gallery.png?raw=true)
98
+ ![Dara App](https://github.com/causalens/dara/blob/VERSION-1.10.4/img/components_gallery.png?raw=true)
99
99
 
100
100
  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:
101
101
 
@@ -112,9 +112,9 @@ Explore some of our favorite apps - a great way of getting started and getting t
112
112
 
113
113
  | Dara App | Description |
114
114
  | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
115
- | ![Large Language Model](https://github.com/causalens/dara/blob/VERSION-1.10.3/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
116
- | ![Plot Interactivity](https://github.com/causalens/dara/blob/VERSION-1.10.3/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 |
117
- | ![Graph Editor](https://github.com/causalens/dara/blob/VERSION-1.10.3/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. |
115
+ | ![Large Language Model](https://github.com/causalens/dara/blob/VERSION-1.10.4/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
116
+ | ![Plot Interactivity](https://github.com/causalens/dara/blob/VERSION-1.10.4/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 |
117
+ | ![Graph Editor](https://github.com/causalens/dara/blob/VERSION-1.10.4/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. |
118
118
 
119
119
  Check out our [App Gallery](https://dara.causalens.com/gallery) for more inspiration!
120
120
 
@@ -126,9 +126,9 @@ This repository covers the Dara Application Framework first-party packages.
126
126
  - `dara-components`: Components for the Dara Framework.
127
127
  - `create-dara-app`: A CLI tool for creating new Dara applications.
128
128
 
129
- More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/VERSION-1.10.3/CONTRIBUTING.md) file.
129
+ More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/VERSION-1.10.4/CONTRIBUTING.md) file.
130
130
 
131
131
  ## License
132
132
 
133
- Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/VERSION-1.10.3/LICENSE).
133
+ Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/VERSION-1.10.4/LICENSE).
134
134
 
@@ -81,7 +81,7 @@ dara/core/metrics/cache.py,sha256=ybofUhZO0TCHeyhB_AtldWk1QTmTKh7GucTXpOkeTFA,25
81
81
  dara/core/metrics/runtime.py,sha256=YP-6Dz0GeI9_Yr7bUk_-OqShyFySGH_AKpDO126l6es,1833
82
82
  dara/core/metrics/utils.py,sha256=rYlBinxFc7VehFT5cTNXLk8gC74UEj7ZGq6vLgIDpSg,2247
83
83
  dara/core/persistence.py,sha256=TO94rPAN7jxZKVCC5YA4eE7GGDoNlCPe-BkkItV2VUE,10379
84
- dara/core/umd/dara.core.umd.js,sha256=f0GMSYcXdzdqJy5xbrz4GpESVzJepIDiM_uCgU2Ka_A,4871716
84
+ dara/core/umd/dara.core.umd.js,sha256=tjfoH2FtgDPOmdQZskAxxe71ST70zGuWlESv4C6ch6c,4872305
85
85
  dara/core/umd/style.css,sha256=YQtQ4veiSktnyONl0CU1iU1kKfcQhreH4iASi1MP7Ak,4095007
86
86
  dara/core/visual/__init__.py,sha256=QN0wbG9HPQ_vXh8BO8DnBXeYLIENVTNtRmYzZf1lx7c,577
87
87
  dara/core/visual/components/__init__.py,sha256=O-Em_glGdZNO0LLl2RWmJSrQiXKxliXg_PuhVXGT81I,1811
@@ -105,8 +105,8 @@ dara/core/visual/themes/__init__.py,sha256=aM4mgoIYo2neBSw5FRzswsht7PUKjLthiHLmF
105
105
  dara/core/visual/themes/dark.py,sha256=UQGDooOc8ric73eHs9E0ltYP4UCrwqQ3QxqN_fb4PwY,1942
106
106
  dara/core/visual/themes/definitions.py,sha256=m3oN0txs65MZepqjj7AKMMxybf2aq5fTjcTwJmHqEbk,2744
107
107
  dara/core/visual/themes/light.py,sha256=-Tviq8oEwGbdFULoDOqPuHO0UpAZGsBy8qFi0kAGolQ,1944
108
- dara_core-1.10.3.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
109
- dara_core-1.10.3.dist-info/METADATA,sha256=nj36pplbcwKqCmO_wbgp1XKQ1w0GMGiR5UwOLOxP534,6783
110
- dara_core-1.10.3.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
111
- dara_core-1.10.3.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
112
- dara_core-1.10.3.dist-info/RECORD,,
108
+ dara_core-1.10.4.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
109
+ dara_core-1.10.4.dist-info/METADATA,sha256=0atJe2AJ--UtYFJNr3AEAnlCf-J0LKls5LvkXXTWP2A,6783
110
+ dara_core-1.10.4.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
111
+ dara_core-1.10.4.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
112
+ dara_core-1.10.4.dist-info/RECORD,,