setta 0.0.3.dev13__py3-none-any.whl → 0.0.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.

Potentially problematic release.


This version of setta might be problematic. Click here for more details.

@@ -15,8 +15,8 @@
15
15
 
16
16
 
17
17
  <title>setta.dev</title>
18
- <script type="module" crossorigin src="/static/assets/index-5e0f9a3a.js"></script>
19
- <link rel="stylesheet" href="/static/assets/index-af271c9f.css">
18
+ <script type="module" crossorigin src="/static/assets/index-d8df181b.js"></script>
19
+ <link rel="stylesheet" href="/static/assets/index-22cb3bcb.css">
20
20
  </head>
21
21
  <body>
22
22
  <noscript>You need to enable JavaScript to run this app.</noscript>
setta/tasks/tasks.py CHANGED
@@ -134,12 +134,12 @@ class Tasks:
134
134
  async def add_custom_fns(self, code_graph, to_cache):
135
135
  for c in code_graph:
136
136
  subprocess_key = c["subprocess_key"]
137
- module_name = c["module_name"]
138
137
  sp = self.in_memory_subprocesses.get(subprocess_key, {}).get("subprocess")
139
138
  if sp:
140
139
  sp.close()
141
- logger.debug(f"Creating new subprocess for {module_name}")
142
- sp = SettaInMemoryFnSubprocess(self.stop_event, self.websockets)
140
+ sp = SettaInMemoryFnSubprocess(
141
+ self.stop_event, self.websockets, c["subprocessStartMethod"]
142
+ )
143
143
  self.in_memory_subprocesses[subprocess_key] = {
144
144
  "subprocess": sp,
145
145
  "fnInfo": {},
@@ -148,8 +148,7 @@ class Tasks:
148
148
  sp.parent_conn.send(
149
149
  {
150
150
  "type": "import",
151
- "code": c["code"],
152
- "module_name": module_name,
151
+ "imports": c["imports"],
153
152
  "to_cache": to_cache,
154
153
  }
155
154
  )
setta/tasks/utils.py CHANGED
@@ -46,10 +46,14 @@ def import_code_from_string(code_string, module_name=None, add_to_sys_modules=Tr
46
46
 
47
47
 
48
48
  class SettaInMemoryFnSubprocess:
49
- def __init__(self, stop_event, websockets):
50
- self.parent_conn, self.child_conn = multiprocessing.Pipe()
51
- self.process = multiprocessing.Process(target=self._subprocess_main)
52
- self.stdout_parent_conn, self.stdout_child_conn = multiprocessing.Pipe()
49
+ def __init__(self, stop_event, websockets, start_method):
50
+ logger.debug(
51
+ f"Creating SettaInMemoryFnSubprocess using {start_method} start_method"
52
+ )
53
+ ctx = multiprocessing.get_context(start_method)
54
+ self.parent_conn, self.child_conn = ctx.Pipe()
55
+ self.process = ctx.Process(target=self._subprocess_main)
56
+ self.stdout_parent_conn, self.stdout_child_conn = ctx.Pipe()
53
57
  self.process.daemon = True # Ensure process dies with parent
54
58
  self.process.start()
55
59
 
@@ -95,15 +99,18 @@ class SettaInMemoryFnSubprocess:
95
99
 
96
100
  try:
97
101
  if msg_type == "import":
98
- code = msg["code"]
99
- module_name = msg["module_name"]
100
- # Import and store module
101
- module = import_code_from_string(code, module_name)
102
- added_fn_names = add_fns_from_module(fns_dict, module, module_name)
103
102
  dependencies = {}
104
- for k in added_fn_names:
105
- cache[k] = msg["to_cache"]
106
- dependencies[k] = get_task_metadata(fns_dict[k], cache[k])
103
+ for to_import in msg["imports"]:
104
+ code = to_import["code"]
105
+ module_name = to_import["module_name"]
106
+ # Import and store module
107
+ module = import_code_from_string(code, module_name)
108
+ added_fn_names = add_fns_from_module(
109
+ fns_dict, module, module_name
110
+ )
111
+ for k in added_fn_names:
112
+ cache[k] = msg["to_cache"]
113
+ dependencies[k] = get_task_metadata(fns_dict[k], cache[k])
107
114
 
108
115
  self.child_conn.send(
109
116
  {
setta/utils/constants.py CHANGED
@@ -122,6 +122,7 @@ SECTION_TABLE_DATA_JSON_FIELDS = set(
122
122
  "columnWidth",
123
123
  "renderedValue",
124
124
  "isReadOnlyTerminal",
125
+ "subprocessStartMethod",
125
126
  )
126
127
  )
127
128
 
@@ -0,0 +1,146 @@
1
+ Metadata-Version: 2.2
2
+ Name: setta
3
+ Version: 0.0.4
4
+ Summary: Python without the donkeywork.
5
+ Home-page: https://setta.dev
6
+ Author: Kevin Musgrave, Jeff Musgrave
7
+ License: Apache-2.0
8
+ Project-URL: GitHub, https://github.com/settadev/setta
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: click>=8.1.8
12
+ Requires-Dist: requests>=2.32.3
13
+ Requires-Dist: PyYAML>=6.0.2
14
+ Requires-Dist: websockets>=15.0
15
+ Requires-Dist: fastapi>=0.115.8
16
+ Requires-Dist: uvicorn>=0.34.0
17
+ Requires-Dist: docstring_parser>=0.16
18
+ Requires-Dist: pywinpty>=2.0.15; platform_system == "Windows"
19
+ Requires-Dist: ptyprocess>=0.7.0; platform_system != "Windows"
20
+ Requires-Dist: psutil>=7.0.0
21
+ Requires-Dist: basedpyright>=1.27.1
22
+ Requires-Dist: docstring-to-markdown>=0.15
23
+ Requires-Dist: black>=23.7.0
24
+ Requires-Dist: watchdog>=6.0.0
25
+ Provides-Extra: dev
26
+ Requires-Dist: black==23.7.0; extra == "dev"
27
+ Requires-Dist: build==1.0.3; extra == "dev"
28
+ Requires-Dist: isort==5.12.0; extra == "dev"
29
+ Requires-Dist: flake8==6.1.0; extra == "dev"
30
+
31
+ ![Setta Logo](images/setta-github-light.png#gh-light-mode-only)
32
+ ![Setta Logo](images/setta-github-dark.png#gh-dark-mode-only)
33
+
34
+
35
+ # Python Without The Donkeywork
36
+
37
+ https://github.com/user-attachments/assets/0599b754-1fbc-470b-ad6f-ac44b01da761
38
+
39
+ [![PyPI version](https://badge.fury.io/py/setta.svg)](https://badge.fury.io/py/setta)
40
+ [![License](https://img.shields.io/pypi/l/setta)](https://github.com/settadev/setta/blob/main/LICENSE)
41
+ [![Discord](https://img.shields.io/badge/Discord-Join-7389D8?logo=discord&logoColor=white)](https://discord.gg/MmHJz75bZ5)
42
+
43
+ ## What does Setta do?
44
+ Setta enables you to:
45
+ - Streamline your code.
46
+ - Skip the boilerplate parsers and frontend.
47
+ - Effortlessly expose your Python functions as a flexible UI.
48
+ - Configure, interact, and share with ease.
49
+
50
+ ## What Setta Is Not
51
+ Setta is **not**:
52
+ - A frontend framework.
53
+ - A visual programming system.
54
+
55
+ ## Why Setta Is Betta
56
+
57
+
58
+ <table>
59
+ <tr>
60
+ <td style="vertical-align: top; padding-right: 20px;">
61
+ <h3>Built for Devs</h3>
62
+ <ul>
63
+ <li>Write your core logic wherever you want, whether that’s inside a Setta code block, or in your favorite IDE.</li>
64
+ <li>Set your configs inside Setta, with autocompletions, type-checking, and refactoring support.</li>
65
+ <li>Run. No config parsers needed.</li>
66
+ <li>Auto-export your Setta projects in a Git-friendly yaml format.</li>
67
+ </ul>
68
+ </td>
69
+ <td style="vertical-align: top;">
70
+ <video src="https://github.com/user-attachments/assets/ab5786d4-cf3f-4f8d-8951-7a9fd4a9f9bf" />
71
+ </td>
72
+ </tr>
73
+ <tr>
74
+ <td style="vertical-align: top; padding-right: 20px;">
75
+ <h3>Powerful Config Management</h3>
76
+ <ul>
77
+ <li>Version your configs at a granular level.</li>
78
+ <li>Share configurations between projects.</li>
79
+ <li>Run param sweeps across both scalar values and config versions.</li>
80
+ </ul>
81
+ </td>
82
+ <td style="vertical-align: top;">
83
+ <video src="https://github.com/user-attachments/assets/3303294e-20e7-419a-8274-57ac8e5aea92" />
84
+ </td>
85
+ </tr>
86
+ <tr>
87
+ <td style="vertical-align: top; padding-right: 20px;">
88
+ <h3>Customizable, Integrated Documentation</h3>
89
+ Integrate your documentation, tooltips, markdown, social content, and images to make your configurations more approachable.
90
+ </td>
91
+ <td style="vertical-align: top;">
92
+ <video src="https://github.com/user-attachments/assets/d08bcede-06b5-4b66-9559-c3f7574e5894" />
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <td style="vertical-align: top; padding-right: 20px;">
97
+ <h3>Flexible UI</h3>
98
+ <ul>
99
+ <li>Create, organize and set your configs in a flexible drag-and-drop user interface.</li>
100
+ <li>Utilize common UI types like sliders, color pickers, switches, and text input fields.</li>
101
+ </ul>
102
+ </td>
103
+ <td style="vertical-align: top;">
104
+ <video src="https://github.com/user-attachments/assets/8730c9f3-dbcb-47af-8290-a5d460e82e4b" />
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <td style="vertical-align: top; padding-right: 20px;">
109
+ <h3>Monitor Long Running Scripts</h3>
110
+ Configure your machine-learning training runs, LLM evals, and data analysis scripts.
111
+ </td>
112
+ <td style="vertical-align: top;">
113
+ <video src="https://github.com/user-attachments/assets/a118f895-19c5-4d0f-bebe-4a0b594ee405" />
114
+ </td>
115
+ </tr>
116
+ <tr>
117
+ <td style="vertical-align: top; padding-right: 20px;">
118
+ <h3>Interact In Real-Time</h3>
119
+ Inpaint your AI images and adjust data visualizations with real-time outputs in Setta.
120
+ </td>
121
+ <td style="vertical-align: top;">
122
+ <video src="https://github.com/user-attachments/assets/3e04c72f-3422-40b7-ba08-328b4534ea2b" />
123
+ </td>
124
+ </tr>
125
+ </table>
126
+
127
+
128
+ ## Installation
129
+
130
+ ```
131
+ pip install setta
132
+ ```
133
+
134
+ ## Documentation
135
+
136
+ Documentation is in progress: https://docs.setta.dev/
137
+
138
+ ## Examples
139
+
140
+ Examples showing how to use Setta will be here: https://github.com/settadev/examples
141
+
142
+
143
+ ## Contributors
144
+
145
+ - [Kevin Musgrave](https://github.com/KevinMusgrave): co-creator & full-stack developer.
146
+ - [Jeff Musgrave](https://github.com/JeffMusgrave): co-creator, UI/UX developer, frontend developer, and designer.
@@ -1,4 +1,4 @@
1
- setta/__init__.py,sha256=qCkclKcjtuX_x4ucSXr2pgNY2_tmSROfaN9Z2LajA5U,28
1
+ setta/__init__.py,sha256=1mptEzQihbdyqqzMgdns_j5ZGK9gz7hR2bsgA_TnjO4,22
2
2
  setta/server.py,sha256=P78BMFvcCokVhjnVlNIKcmpCSvmzSqt-33bx4bhOe6Y,4626
3
3
  setta/start.py,sha256=jEeSiocLeBitvg48fa6k1CpLnPI63JHkQ8O-WVM6ch8,3078
4
4
  setta/cli/__init__.py,sha256=UxZG_VOMuF6lEBT3teUgTS9ulsK3wt3Gu3BbAQiAmt8,47
@@ -30,7 +30,7 @@ setta/database/utils.py,sha256=ewbC0_SYZZSNeBZiKK_UZEt4QSMTT5kwZiBjsutsIvg,706
30
30
  setta/database/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  setta/database/db/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  setta/database/db/artifacts/load.py,sha256=iPjCEd0SZ5fa0KYL7pYiqaLkP5iDcovvdNpjspa9IqI,2627
33
- setta/database/db/artifacts/save.py,sha256=jYIcrFqIVjk-jhf0YPZtSQUc_xAUmRpRMpaOv7Gln5Y,2480
33
+ setta/database/db/artifacts/save.py,sha256=jpuAzsDGyVRPUSyJ2YqkM6SM_w_0ks08xhHfmRg0EwM,2986
34
34
  setta/database/db/artifacts/save_or_create.py,sha256=I0_m2BhaLQtK38IeDry19pYudDvyDAoFfPfW-2wwqBE,1965
35
35
  setta/database/db/artifacts/utils.py,sha256=D4PMVt3D0qn3Tgozr5EsZqKT-4RJeBUCW4-xGO-egpU,366
36
36
  setta/database/db/codeInfo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -45,7 +45,7 @@ setta/database/db/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
45
45
  setta/database/db/projects/copy.py,sha256=zFy_VFNb6Cav9ZobyULADvtMm5IG5-wan6ZLKlSiIyE,1044
46
46
  setta/database/db/projects/delete.py,sha256=zJs3BIFIb8WXH-awKG3ww0iHhOhvzUjG7BO1gRTPzNE,208
47
47
  setta/database/db/projects/load.py,sha256=XzhpY58ge2RiD-a7t-z5wB7PVMIqo9ktc6VqBLnZZco,5147
48
- setta/database/db/projects/save.py,sha256=WkelPZ7r_dMTn2FC4TqbcYmU2gE1HVMHUx04q6A9vAw,9039
48
+ setta/database/db/projects/save.py,sha256=th0tOHkOAYnU17Ugd7QdPhiJkLUdL723rKI8n4GZAac,9054
49
49
  setta/database/db/projects/saveAs.py,sha256=FYjjXlZw8lzJ006S-OqCbD_2RSdZtvq93WTeU_x-sI4,1242
50
50
  setta/database/db/projects/utils.py,sha256=eYSKPcCfaKsqDl4cYPuJSgDfJpjNEXpLb_KB5XpvGcw,4745
51
51
  setta/database/db/sectionVariants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -56,8 +56,8 @@ setta/database/db/sectionVariants/utils.py,sha256=ywVU5wnESkmxdt0IUN5fM1k9NfIMHa
56
56
  setta/database/db/sections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  setta/database/db/sections/copy.py,sha256=JLXqV6nMYWBpFAf5KUuw6Oa8RgVcNeS-WAHQP1f6EjY,2494
58
58
  setta/database/db/sections/jsonSource.py,sha256=vupK044AFbg_5_cikIP9hAZzIJFs8jYW3jyqscswSu4,4309
59
- setta/database/db/sections/load.py,sha256=FYuQUuw60IaK3HvJX-XtFVXaW88-jNGpBZ8cECxzBuE,11604
60
- setta/database/db/sections/save.py,sha256=Ft9TJAnfWPunqzPEUt93SdpBT99UHr0g9-iUim3Xu6o,6474
59
+ setta/database/db/sections/load.py,sha256=i4LmUz0BpjtwhYLtJolFBHjeM2McJS44dUqNE6yHHgs,11713
60
+ setta/database/db/sections/save.py,sha256=GNz6QlfMh7zbH6edjqcMrfsQ1oVGuhCW8DDc0vmYUZg,6484
61
61
  setta/database/db/sections/utils.py,sha256=sLuTjeAHv5UfWVkhsu0tl-EkiNME1PY8mClcfHRBf9k,359
62
62
  setta/database/db/uiTypes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  setta/database/db/uiTypes/copy.py,sha256=1FAbxAD4tErW4YcWroy53GsmdlCJ5bdi-dGuGpXhMes,1268
@@ -87,7 +87,7 @@ setta/routers/artifact.py,sha256=9wHdreg5DsLshhET-6gEDw2Apw_-r8bRF1x3-_dD9mU,266
87
87
  setta/routers/code_info.py,sha256=rDBLkr5VQOlktap3hWA73ls0VrBi5y4mc_SfWzw9ad0,857
88
88
  setta/routers/dependencies.py,sha256=lQDZFcXw-jUXK1q8yglUg3jY9dKoE-xvVcWckKqmOr4,1126
89
89
  setta/routers/in_memory_fn_stdout_websocket.py,sha256=T2BpLzh6PwYQP0qIkFS4r_VfEKBlwl4gkwIaq6r6Phs,604
90
- setta/routers/interactive.py,sha256=V68ooA_C2rSqyXeARHifvr_17iCfLrWPERLSrrb_PIU,4316
90
+ setta/routers/interactive.py,sha256=mp-A9xFpVw4nDPHiKhz1rnQtO0c6R-tRcLJxl4UHXTA,4912
91
91
  setta/routers/lsp.py,sha256=DAZqdiRKDWJ9ikjwQetV4_8s9U-EDC91ToJA3u57qnU,385
92
92
  setta/routers/projects.py,sha256=p3zPD3jobYOxBGJSSIYS1Aqu1w-PrJCcEN6dPJ0DT6E,5255
93
93
  setta/routers/reference_renaming.py,sha256=Ec1hz2Nz_hYqk8GyGmUcWKvXo-lVEDbIIK2YbX-wi00,3598
@@ -96,10 +96,10 @@ setta/routers/settings.py,sha256=1S7Epj4O7jElixjNaNlRplBGiYdkj9mFeNQeeOrtQw4,103
96
96
  setta/routers/terminals.py,sha256=91I3tVUPJtLyCD_-E_qBQ_k8uuNUrcXl5P7sCTQuDQE,2435
97
97
  setta/routers/websocket.py,sha256=6fSROv9C5PobPXppUWwNLDDO0p8VADYaf2KcgIuTQp4,1121
98
98
  setta/static/constants/BaseUITypes.json,sha256=S08qzaNwjclRKuC9U3J0_PpmDTw5aQFwKQcUb0SiiR4,3873
99
- setta/static/constants/Settings.json,sha256=-cpSDnjJ9s86z_hfC69xq7A4kxqphKXqssMUUhTN4BQ,3444
99
+ setta/static/constants/Settings.json,sha256=ZOd91Gp-liTIdslx6NtsPJp0GrWY5xZNfLv4_HHmU5w,3444
100
100
  setta/static/constants/constants.json,sha256=ICVe1HiGoUlSyiuNptfLX7rimHJk_7SfN38MWJEL62c,5151
101
- setta/static/constants/db_init.sql,sha256=eSYQrcEEqNPcshOHJEOpSGGkoN_FJwMfZqJFrbnX_8U,8416
102
- setta/static/constants/defaultValues.json,sha256=7S8wabxk7CIM23H0FcXdLaIhhldsFUfN8lrzWAIU5pQ,2948
101
+ setta/static/constants/db_init.sql,sha256=rdc0C5Hx_6d-QWEEbSqscArTyc77w9cMj8vbIVS8ZBw,8436
102
+ setta/static/constants/defaultValues.json,sha256=8d_PNUsTgWOZdSV5x4xESQjtXE4ZnJX2kN8E0vYkk6I,2985
103
103
  setta/static/constants/settingsProject.json,sha256=yfSIQpu2zUcFnUp2JimAkZ0ispvMv8lMPUUTx4AWSi4,10006
104
104
  setta/static/frontend/android-chrome-192x192.png,sha256=v4139zj56AAgR2JCm32ecRwaEu8RDiqnxfMb4VLW-KM,5575
105
105
  setta/static/frontend/android-chrome-512x512.png,sha256=A_4VOJ6FvQd9TM7MogJWxQ7svo0oXX9_81117lef7UQ,15222
@@ -108,7 +108,7 @@ setta/static/frontend/browserconfig.xml,sha256=w0iw1t89kA7-965LTfyLYrFzewTQnUWE_
108
108
  setta/static/frontend/favicon-16x16.png,sha256=q67Crpy8s3wryu7Y3kffPeysN99Lt4XeFygXhPKize8,740
109
109
  setta/static/frontend/favicon-32x32.png,sha256=4NKXYticYdMrRHmVveHjxqnBU1HWgBT5JyJG8lx3BNE,1027
110
110
  setta/static/frontend/favicon.ico,sha256=02qhEBLsvsgBTZX6dcZElMyivlvrR7Yr6wB8ItEZFsc,15086
111
- setta/static/frontend/index.html,sha256=9l--cvaCQe1F1bkT6nc310LTq7rw1rrZuJ6X8qFjRHo,1296
111
+ setta/static/frontend/index.html,sha256=sXXj7HyVWOrWSgD1gkd5flC5zXOW84yv2ZrEVyK1DI4,1296
112
112
  setta/static/frontend/manifest.json,sha256=ULPYw5A68_eNhxuUVXqxT045yhkurKPSz6hjyGcnmhQ,492
113
113
  setta/static/frontend/mstile-144x144.png,sha256=wQqckmRWre2NCCevevI3rv4j0tcduVMkpYr2tPj73cs,2692
114
114
  setta/static/frontend/mstile-150x150.png,sha256=FUwy6PipTofnhmJB5CdXWYgwy-2inq_sIOdOwdDklcY,2674
@@ -184,8 +184,8 @@ setta/static/frontend/assets/cormorant-garamond-latin-700-italic-0bc53e12.woff2,
184
184
  setta/static/frontend/assets/cormorant-garamond-latin-ext-700-italic-525738e0.woff2,sha256=Ulc44CPXdUiI5dY86W76HLk7801Fm9_QywCV-8GRtFU,17240
185
185
  setta/static/frontend/assets/cormorant-garamond-vietnamese-700-italic-99563037.woff2,sha256=mVYwN54qI0RLXqyrDGPUNpBHWSJDKjgUyBRWa2FJ_ao,5248
186
186
  setta/static/frontend/assets/erase-5e0448ea.svg,sha256=XgRI6pChr392LJ-pGbwqqkN8OWcJMEtRGX-Gv-90qjw,872
187
- setta/static/frontend/assets/index-5e0f9a3a.js,sha256=NG2RcpbMOfsKM5bm098s8R1lIQofswKkSBq6HPr1-3Q,2848370
188
- setta/static/frontend/assets/index-af271c9f.css,sha256=ryccn_uul30_aMdIhgzMlq6GcE0D6x8fyfneCdgaY9o,232608
187
+ setta/static/frontend/assets/index-22cb3bcb.css,sha256=Iss7y0Z8dEkFEVd53CSg6oi6L6qaEd_nabgvm8QjZN0,233704
188
+ setta/static/frontend/assets/index-d8df181b.js,sha256=qz7ItfWzaQidcpSo2wYsIDLIUk9u8NtHO4yW6wh-7v4,2849552
189
189
  setta/static/frontend/assets/inter-all-400-normal-054f12d0.woff,sha256=BU8S0GmcIMyYte4ESEdQJO-WvL2Rb-38m1n0ujdbYxI,128624
190
190
  setta/static/frontend/assets/inter-all-600-normal-c03769e5.woff,sha256=wDdp5VNyQL_IbxcPThD2qI-ETg_QKj7AmCwMCjqDfLE,139072
191
191
  setta/static/frontend/assets/inter-all-800-normal-15dc6e4b.woff,sha256=FdxuS9xuVumB5nbVcCXyt3IWqzS4Z75qiRz_0FV5al0,139120
@@ -232,8 +232,8 @@ setta/static/seed/.DS_Store,sha256=ENxJvDQd7Te_U8gExcXtHE-mAeBUYOHELRfDWgN1NmA,6
232
232
  setta/static/seed/examples/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
233
233
  setta/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
234
234
  setta/tasks/task_runner.py,sha256=gMXpfZWFMQbix2MfrHVCKB7BxQCjO8JH2P8cxUmt1ms,849
235
- setta/tasks/tasks.py,sha256=DveB8DrMakrceVcN58bNLcOTLFyNdJv41dm9yndvHAE,8329
236
- setta/tasks/utils.py,sha256=9XfSoqYsUf9rBWorZTEqGXfU6J6-nDztIkkgRo1ndhQ,9509
235
+ setta/tasks/tasks.py,sha256=CuL-JslPrD1nghaO9SgQq3CkpPhmXDAPGUldZa5Qv5Q,8231
236
+ setta/tasks/utils.py,sha256=Ak9XbGMcYBLmu0hl4eB9pyLYzvdCu8FDSK-USUOtFS4,9810
237
237
  setta/tasks/fns/__init__.py,sha256=JhGzzQGaT9BWtF3pOmguh6pzIF9kdG3jdDNLyYZ2w7g,461
238
238
  setta/tasks/fns/codeAreaAutocomplete.py,sha256=gJ5JbjkWDyTothr-UF-YlOxrbVzj2iyOVK7XD3lfhSQ,6416
239
239
  setta/tasks/fns/codeAreaFindTemplateVars.py,sha256=vD9rY8VNPavv6VKa1bnxRPPRDNvFQy6mPIZRl-_3GnY,3708
@@ -248,15 +248,15 @@ setta/terminals/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
248
248
  setta/terminals/terminals.py,sha256=p16VrSXKjD6l5o902RR95Yffg9q-MfKfsezXPXTIJUE,9116
249
249
  setta/terminals/utils.py,sha256=Yh_AsBE4h2rWqgHvg2UNlZnhE6yAIFAN6DnfnJvEIZ8,1281
250
250
  setta/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
251
- setta/utils/constants.py,sha256=61lVxzd3f59qkFcbwVle_IhiEYCuZHCSiLZrGwmfk80,3724
251
+ setta/utils/constants.py,sha256=updjNhvd5ctsbU41w8Ar3NkI5AtbSAR3fz7C7-d-paY,3757
252
252
  setta/utils/generate_memorable_string.py,sha256=ZIn8gQm3cpMuqTCRgAPXAm5VdbWW7O3fUVLmoQVuzLY,7713
253
253
  setta/utils/generate_new_filename.py,sha256=KBLX6paDmTvXR-027TpqQkfijIXc7mCfhen-u1WZARA,3067
254
254
  setta/utils/section_contents.py,sha256=V2HQPik6DfSXw4j7IalbP5AZ3OEGCbtL5ub3xL-Q_Qo,4141
255
255
  setta/utils/utils.py,sha256=KjzcvgM3Ab3IcE8vaWYtgBpwzPLKg0LmblnHLoYZJHM,9164
256
256
  setta/utils/websocket_manager.py,sha256=S2lEGZsc2OhW0yKLW9VEcH7wi7ppzTfDMQa_hxf3ovc,3772
257
- setta-0.0.3.dev13.dist-info/LICENSE,sha256=us9fuCq9wmiZVzayjKxNZ2iJYF6dROe0Qp57ToCO7XU,11361
258
- setta-0.0.3.dev13.dist-info/METADATA,sha256=CtQFj-HGDvONHMrpqUFeLEgbHgi2Z3VmcHqq8h6bsPY,830
259
- setta-0.0.3.dev13.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
260
- setta-0.0.3.dev13.dist-info/entry_points.txt,sha256=P0qCESy9fWF2q1EQ9JufGldCSnPHplDPn8J6Bgk5hB0,42
261
- setta-0.0.3.dev13.dist-info/top_level.txt,sha256=8G4lmRzVOnJ11_DescPVHE6MQZH-o06A0nGsDDV2ngY,6
262
- setta-0.0.3.dev13.dist-info/RECORD,,
257
+ setta-0.0.4.dist-info/LICENSE,sha256=us9fuCq9wmiZVzayjKxNZ2iJYF6dROe0Qp57ToCO7XU,11361
258
+ setta-0.0.4.dist-info/METADATA,sha256=PMGhWRxDM9CFiOCZVnK6KMSnxebgc6GmTU2zZ7icQGA,5139
259
+ setta-0.0.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
260
+ setta-0.0.4.dist-info/entry_points.txt,sha256=P0qCESy9fWF2q1EQ9JufGldCSnPHplDPn8J6Bgk5hB0,42
261
+ setta-0.0.4.dist-info/top_level.txt,sha256=8G4lmRzVOnJ11_DescPVHE6MQZH-o06A0nGsDDV2ngY,6
262
+ setta-0.0.4.dist-info/RECORD,,