setta 0.0.14.dev8__py3-none-any.whl → 0.0.15__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.
@@ -14,8 +14,8 @@
14
14
  <meta name="description" content="setta" />
15
15
 
16
16
  <title>setta.dev</title>
17
- <script type="module" crossorigin src="/static/assets/index-B8656WgG.js"></script>
18
- <link rel="stylesheet" crossorigin href="/static/assets/index-DQjclEVk.css">
17
+ <script type="module" crossorigin src="/static/assets/index-BUqYTj12.js"></script>
18
+ <link rel="stylesheet" crossorigin href="/static/assets/index-VC4wWLEk.css">
19
19
  </head>
20
20
  <body>
21
21
  <noscript>You need to enable JavaScript to run this app.</noscript>
setta/tasks/tasks.py CHANGED
@@ -64,6 +64,7 @@ class Tasks:
64
64
  message: TaskMessage,
65
65
  websocket_manager=None,
66
66
  call_all=False,
67
+ call_fns_with_empty_dependency_array=False,
67
68
  subprocess_key=None,
68
69
  project_config_id=None,
69
70
  section_id=None,
@@ -87,10 +88,8 @@ class Tasks:
87
88
  # For each matching subprocess, collect all functions that need to be called
88
89
  fns_to_call = []
89
90
  for fn_name, fnInfo in sp_info["fnInfo"].items():
90
- if (
91
- call_all
92
- or None in fnInfo["dependencies"]
93
- or any(k in fnInfo["dependencies"] for k in message.content.keys())
91
+ if call_fn_condition(
92
+ call_all, call_fns_with_empty_dependency_array, fnInfo, message
94
93
  ):
95
94
  fns_to_call.append(fn_name)
96
95
 
@@ -143,22 +142,27 @@ class Tasks:
143
142
  ):
144
143
  # Process each function sequentially for this subprocess
145
144
  for fn_name in fn_names:
146
- # Send message to subprocess
147
- subprocess.parent_conn.send(
148
- {
149
- "type": call_type,
150
- "fn_name": fn_name,
151
- "message": message,
152
- "other_data": other_data,
153
- }
154
- )
145
+ try:
146
+ # Send message to subprocess
147
+ subprocess.parent_conn.send(
148
+ {
149
+ "type": call_type,
150
+ "fn_name": fn_name,
151
+ "message": message,
152
+ "other_data": other_data,
153
+ }
154
+ )
155
155
 
156
- # Wait for and handle the response before sending the next message
157
- start_time = time.perf_counter()
158
- result = await self.task_runner.run(
159
- subprocess.parent_conn.recv, [], RunType.THREAD
160
- )
161
- elapsed_time = time.perf_counter() - start_time
156
+ # Wait for and handle the response before sending the next message
157
+ start_time = time.perf_counter()
158
+ result = await self.task_runner.run(
159
+ subprocess.parent_conn.recv, [], RunType.THREAD
160
+ )
161
+ elapsed_time = time.perf_counter() - start_time
162
+ except Exception as e:
163
+ logger.debug("error while sending or receiving from subprocess")
164
+ results.append({"content":[e]})
165
+ continue
162
166
 
163
167
  if result["status"] == "success":
164
168
  self.update_average_subprocess_fn_time(
@@ -231,7 +235,7 @@ class Tasks:
231
235
  ):
232
236
  initial_result = await self.call_in_memory_subprocess_fn(
233
237
  TaskMessage(id=create_new_id(), content={}),
234
- call_all=True,
238
+ call_fns_with_empty_dependency_array=True,
235
239
  project_config_id=project_config_id,
236
240
  idx=idx,
237
241
  call_type="call_with_new_exporter_obj",
@@ -240,10 +244,15 @@ class Tasks:
240
244
 
241
245
  return initial_result["content"]
242
246
 
243
- def close(self):
247
+ def kill_in_memory_subprocesses(self):
244
248
  self.stop_event.set()
245
249
  for v in self.in_memory_subprocesses.values():
246
250
  v["subprocess"].close()
251
+ self.in_memory_subprocesses = {}
252
+ self.stop_event.clear()
253
+
254
+ def close(self):
255
+ self.kill_in_memory_subprocesses()
247
256
 
248
257
  def update_average_subprocess_fn_time(self, subprocess_key, fn_name, new_time):
249
258
  fnInfo = self.in_memory_subprocesses[subprocess_key]["fnInfo"][fn_name]
@@ -305,3 +314,17 @@ def match_subprocess_key(
305
314
  return False
306
315
 
307
316
  return True
317
+
318
+
319
+ def call_fn_condition(call_all, call_fns_with_empty_dependency_array, fnInfo, message):
320
+ return (
321
+ call_all
322
+ or (call_fns_with_empty_dependency_array and not fnInfo["dependencies"])
323
+ or (
324
+ not call_fns_with_empty_dependency_array
325
+ and (
326
+ None in fnInfo["dependencies"]
327
+ or any(k in fnInfo["dependencies"] for k in message.content)
328
+ )
329
+ )
330
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: setta
3
- Version: 0.0.14.dev8
3
+ Version: 0.0.15
4
4
  Summary: Python without the donkeywork.
5
5
  Home-page: https://setta.dev
6
6
  Author: Kevin Musgrave, Jeff Musgrave
@@ -42,39 +42,18 @@ Requires-Dist: flake8==6.1.0; extra == "dev"
42
42
 
43
43
  ## News
44
44
 
45
- **March 4**: [v0.0.13](https://github.com/settadev/setta/releases/tag/v0.0.13)
46
- - Updated frontend javascript dependencies.
47
-
45
+ **March 5**: [v0.0.15](https://github.com/settadev/setta/releases/tag/v0.0.15)
46
+ - Improved context menu organization.
47
+ - Added ability to change size of artifacts while preserving aspect ratio.
48
+ - Added Stop button for stopping subprocesses.
48
49
 
49
- **March 3**: [v0.0.12](https://github.com/settadev/setta/releases/tag/v0.0.12)
50
- - Moved the zoom/map/view controls into the left side pane:
51
-
52
- <table>
53
- <tr>
54
- <th width="50%">Before</th>
55
- <th width="50%">After</th>
56
- </tr>
57
- <tr>
58
- <td><img src="https://github.com/user-attachments/assets/2f7088fb-65ad-4744-b8d5-ea8c93c47962" /></td>
59
- <td><img src="https://github.com/user-attachments/assets/aca41d9c-00e0-4853-81a7-a709c50f24fd" /></td>
60
- </tr>
61
- </table>
50
+ **March 5**: [v0.0.14](https://github.com/settadev/setta/releases/tag/v0.0.14)
51
+ - Allow access to individual layers of Drawing sections, as well as the combined output.
52
+ - Added button + shortcut for sending current full project state to in-memory functions.
62
53
 
54
+ **March 4**: [v0.0.13](https://github.com/settadev/setta/releases/tag/v0.0.13)
55
+ - Updated frontend javascript dependencies.
63
56
 
64
- **March 2**: [v0.0.11](https://github.com/settadev/setta/releases/tag/v0.0.11)
65
- - Added User View mode. This allows you to quickly create a simplified version of your UI.
66
- Here's an example of what Developer View and User View look like:
67
-
68
- <table>
69
- <tr>
70
- <th width="50%">Developer View</th>
71
- <th width="50%">User View</th>
72
- </tr>
73
- <tr>
74
- <td><img src="https://github.com/user-attachments/assets/4ecbb85a-1857-413c-b768-9ac17f226b6f" /></td>
75
- <td><img src="https://github.com/user-attachments/assets/1126649e-7559-4785-80b9-7eda6466c2e0" /></td>
76
- </tr>
77
- </table>
78
57
 
79
58
  ## What does Setta do?
80
59
 
@@ -1,4 +1,4 @@
1
- setta/__init__.py,sha256=1xyjrvKR16_5-W87bdROmWR-18PZebRRy3ug_kKyRyQ,28
1
+ setta/__init__.py,sha256=go20U3RCVaJ2N55RnX4tO5rinfUCRV0puFyrHCto8yw,23
2
2
  setta/server.py,sha256=q4w9WG7SuLxwYtgXUCQyLt7t_HLmQV4y5abqvm7-uEA,4861
3
3
  setta/start.py,sha256=5sMZ7WH3KV9Q0v186PsaYqsWOz7hebyrpXbBOp9wQww,3589
4
4
  setta/cli/__init__.py,sha256=UxZG_VOMuF6lEBT3teUgTS9ulsK3wt3Gu3BbAQiAmt8,47
@@ -67,7 +67,7 @@ setta/database/db/uiTypes/utils.py,sha256=H-19aXlhna1oxNmlBGY0RdGCoBFYAv0f0x_x86
67
67
  setta/database/export_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
68
  setta/database/export_db/export_db.py,sha256=5uG-FaNQfxkC5PtvT7UgGOpXSst2HAuuRWaGu16zxZs,1295
69
69
  setta/database/export_db/export_raw.py,sha256=exRPZXOzPXUgZhcG6d4zolOOnsWuV25TtZAA5ZgoBYc,1811
70
- setta/database/export_db/export_readable.py,sha256=Ri3YpVX19UQBZCV3wR_oC_D-4hwyUg9CToXhphcy9Bo,8683
70
+ setta/database/export_db/export_readable.py,sha256=SaARqTlFKku6sorgIEHYm5rYXCrjDMNZV-CMG-Y9xzU,8695
71
71
  setta/database/export_db/utils.py,sha256=wgEqo0m-8uJKNn0okH5iQbjBxBkGqKdbcN3gvZEkH_M,523
72
72
  setta/lsp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  setta/lsp/file_watcher.py,sha256=1Ar5_aTZBIgU-Z4JGx-awmMRT2mwq5XMdCv-gnv3nG8,3253
@@ -88,7 +88,7 @@ setta/routers/artifact.py,sha256=9wHdreg5DsLshhET-6gEDw2Apw_-r8bRF1x3-_dD9mU,266
88
88
  setta/routers/code_info.py,sha256=rDBLkr5VQOlktap3hWA73ls0VrBi5y4mc_SfWzw9ad0,857
89
89
  setta/routers/dependencies.py,sha256=0pz1HuvhlJDIVopvkfRTgmLJhDPGw0g33uj2qXgpxQs,1228
90
90
  setta/routers/in_memory_fn_stdout_websocket.py,sha256=T2BpLzh6PwYQP0qIkFS4r_VfEKBlwl4gkwIaq6r6Phs,604
91
- setta/routers/interactive.py,sha256=TNXAupBXIuCn711olZPJemFB6WrBKWyy4inHbjNh9aw,5646
91
+ setta/routers/interactive.py,sha256=dey2_x_goo-GsdohwGzGfXS6OJZBs6VwQWpqzRdQWTU,6063
92
92
  setta/routers/lsp.py,sha256=DAZqdiRKDWJ9ikjwQetV4_8s9U-EDC91ToJA3u57qnU,385
93
93
  setta/routers/projects.py,sha256=p3zPD3jobYOxBGJSSIYS1Aqu1w-PrJCcEN6dPJ0DT6E,5255
94
94
  setta/routers/reference_renaming.py,sha256=Ec1hz2Nz_hYqk8GyGmUcWKvXo-lVEDbIIK2YbX-wi00,3598
@@ -97,8 +97,8 @@ setta/routers/settings.py,sha256=1S7Epj4O7jElixjNaNlRplBGiYdkj9mFeNQeeOrtQw4,103
97
97
  setta/routers/terminals.py,sha256=91I3tVUPJtLyCD_-E_qBQ_k8uuNUrcXl5P7sCTQuDQE,2435
98
98
  setta/routers/websocket.py,sha256=6fSROv9C5PobPXppUWwNLDDO0p8VADYaf2KcgIuTQp4,1121
99
99
  setta/static/constants/BaseUITypes.json,sha256=WQUgvN4eq9uU6ifhDBhtyEIoQFsAC022DSEut-E-4bA,4057
100
- setta/static/constants/Settings.json,sha256=uE9PWakebkxUaLx-UyiplyTFTwVj2ogomgoalNnQSkw,3532
101
- setta/static/constants/constants.json,sha256=vzBINDWfx-4kbbz-2B8OASzykm9aCqr3yyD2yKoKzWU,5403
100
+ setta/static/constants/Settings.json,sha256=8XLoX6ODLxNTqHFn88yv8XzAQRop_MSDBOD5ylFYgFw,3536
101
+ setta/static/constants/constants.json,sha256=RFvfJJ5ClNc-N_1IFl9rEN5fYows5wTnSYNj3PtMgXw,5471
102
102
  setta/static/constants/db_init.sql,sha256=rdc0C5Hx_6d-QWEEbSqscArTyc77w9cMj8vbIVS8ZBw,8436
103
103
  setta/static/constants/defaultValues.json,sha256=Vh8WQZJYSc0QBu5WnNQO2dQtuYHZuy3WKfQEr9sBSqE,3063
104
104
  setta/static/constants/settingsProject.json,sha256=3s2PQSBXqV9BYnibKY1xbLZfEYjL6JeLnPVEusfmz9c,14678
@@ -109,7 +109,7 @@ setta/static/frontend/browserconfig.xml,sha256=w0iw1t89kA7-965LTfyLYrFzewTQnUWE_
109
109
  setta/static/frontend/favicon-16x16.png,sha256=q67Crpy8s3wryu7Y3kffPeysN99Lt4XeFygXhPKize8,740
110
110
  setta/static/frontend/favicon-32x32.png,sha256=4NKXYticYdMrRHmVveHjxqnBU1HWgBT5JyJG8lx3BNE,1027
111
111
  setta/static/frontend/favicon.ico,sha256=02qhEBLsvsgBTZX6dcZElMyivlvrR7Yr6wB8ItEZFsc,15086
112
- setta/static/frontend/index.html,sha256=dTX81lj5goudp8NfyVLjE7r6Bvhg0ZGj-T0nCtn2W3A,1298
112
+ setta/static/frontend/index.html,sha256=2zq8tJTAokElPaETLKicn6-M_YFBGK2cHkVQ2GOh2QY,1298
113
113
  setta/static/frontend/manifest.json,sha256=ULPYw5A68_eNhxuUVXqxT045yhkurKPSz6hjyGcnmhQ,492
114
114
  setta/static/frontend/mstile-144x144.png,sha256=wQqckmRWre2NCCevevI3rv4j0tcduVMkpYr2tPj73cs,2692
115
115
  setta/static/frontend/mstile-150x150.png,sha256=FUwy6PipTofnhmJB5CdXWYgwy-2inq_sIOdOwdDklcY,2674
@@ -184,8 +184,8 @@ setta/static/frontend/assets/cormorant-garamond-cyrillic-ext-700-italic-gsr366qd
184
184
  setta/static/frontend/assets/cormorant-garamond-latin-700-italic-BQbwEFjx.woff2,sha256=C8U-EgDBT8MpU4FpUNBJdybVpKvRhg_3WDpUDCw9XZg,20348
185
185
  setta/static/frontend/assets/cormorant-garamond-latin-ext-700-italic-DnnS5iSC.woff2,sha256=Ulc44CPXdUiI5dY86W76HLk7801Fm9_QywCV-8GRtFU,17240
186
186
  setta/static/frontend/assets/cormorant-garamond-vietnamese-700-italic-2_nTgjbG.woff2,sha256=mVYwN54qI0RLXqyrDGPUNpBHWSJDKjgUyBRWa2FJ_ao,5248
187
- setta/static/frontend/assets/index-B8656WgG.js,sha256=yhMYL76VnFPp4r7w8XZks6CHEdPRx3lpwINId2y-UvY,3082312
188
- setta/static/frontend/assets/index-DQjclEVk.css,sha256=uIx7VJi9TIDdzOMllLQNKxOMTytUkdRv9LVJyiB190g,238315
187
+ setta/static/frontend/assets/index-BUqYTj12.js,sha256=gvhSiNRRAqO25CZQZbEI4EbeXQO6VHctmxPCSuR4msk,3086399
188
+ setta/static/frontend/assets/index-VC4wWLEk.css,sha256=vYdyxU_tPsqwlcqjsugXxDCS4fUSaQJ4iJywGDFIZn0,238836
189
189
  setta/static/frontend/assets/inter-all-400-normal-ByZ5TkcW.woff,sha256=BU8S0GmcIMyYte4ESEdQJO-WvL2Rb-38m1n0ujdbYxI,128624
190
190
  setta/static/frontend/assets/inter-all-600-normal-BQl_S1BW.woff,sha256=wDdp5VNyQL_IbxcPThD2qI-ETg_QKj7AmCwMCjqDfLE,139072
191
191
  setta/static/frontend/assets/inter-all-800-normal-BdAoPad8.woff,sha256=FdxuS9xuVumB5nbVcCXyt3IWqzS4Z75qiRz_0FV5al0,139120
@@ -230,7 +230,7 @@ setta/static/seed/.DS_Store,sha256=ENxJvDQd7Te_U8gExcXtHE-mAeBUYOHELRfDWgN1NmA,6
230
230
  setta/static/seed/examples/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
231
231
  setta/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
232
  setta/tasks/task_runner.py,sha256=gMXpfZWFMQbix2MfrHVCKB7BxQCjO8JH2P8cxUmt1ms,849
233
- setta/tasks/tasks.py,sha256=jhfTdncE6fMtxMUdnmixMbbtKV-Qu_xHLvbDkmm3M4g,10993
233
+ setta/tasks/tasks.py,sha256=SQiRwZv5F40vHITFqnDUWOkT93_Or2rjs8-v0VhjrO8,11868
234
234
  setta/tasks/utils.py,sha256=iqbsLYBcu4Qd-MAHd0SWK9wPaJezgEh1Yg5YC9goOLU,10631
235
235
  setta/tasks/fns/__init__.py,sha256=JhGzzQGaT9BWtF3pOmguh6pzIF9kdG3jdDNLyYZ2w7g,461
236
236
  setta/tasks/fns/codeAreaAutocomplete.py,sha256=gJ5JbjkWDyTothr-UF-YlOxrbVzj2iyOVK7XD3lfhSQ,6416
@@ -252,9 +252,9 @@ setta/utils/generate_new_filename.py,sha256=KBLX6paDmTvXR-027TpqQkfijIXc7mCfhen-
252
252
  setta/utils/section_contents.py,sha256=V2HQPik6DfSXw4j7IalbP5AZ3OEGCbtL5ub3xL-Q_Qo,4141
253
253
  setta/utils/utils.py,sha256=KjzcvgM3Ab3IcE8vaWYtgBpwzPLKg0LmblnHLoYZJHM,9164
254
254
  setta/utils/websocket_manager.py,sha256=MBIMI8xxOFQF4lT3on4pupi1ttEWXdWPV4fI2YP_UJU,3925
255
- setta-0.0.14.dev8.dist-info/LICENSE,sha256=us9fuCq9wmiZVzayjKxNZ2iJYF6dROe0Qp57ToCO7XU,11361
256
- setta-0.0.14.dev8.dist-info/METADATA,sha256=PkK5hJJb_Q1JP-B4QkFA8kKOt_mavaRMVn1yk5h0zU0,7517
257
- setta-0.0.14.dev8.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
258
- setta-0.0.14.dev8.dist-info/entry_points.txt,sha256=P0qCESy9fWF2q1EQ9JufGldCSnPHplDPn8J6Bgk5hB0,42
259
- setta-0.0.14.dev8.dist-info/top_level.txt,sha256=8G4lmRzVOnJ11_DescPVHE6MQZH-o06A0nGsDDV2ngY,6
260
- setta-0.0.14.dev8.dist-info/RECORD,,
255
+ setta-0.0.15.dist-info/LICENSE,sha256=us9fuCq9wmiZVzayjKxNZ2iJYF6dROe0Qp57ToCO7XU,11361
256
+ setta-0.0.15.dist-info/METADATA,sha256=pYAD0P8fNkHM7GqM5ckK3Ftejs-ZTj1gAJNgpxQDEqU,6970
257
+ setta-0.0.15.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
258
+ setta-0.0.15.dist-info/entry_points.txt,sha256=P0qCESy9fWF2q1EQ9JufGldCSnPHplDPn8J6Bgk5hB0,42
259
+ setta-0.0.15.dist-info/top_level.txt,sha256=8G4lmRzVOnJ11_DescPVHE6MQZH-o06A0nGsDDV2ngY,6
260
+ setta-0.0.15.dist-info/RECORD,,