squirrels 0.2.1__py3-none-any.whl → 0.2.2__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 squirrels might be problematic. Click here for more details.
- squirrels/__init__.py +1 -1
- squirrels/_models.py +8 -6
- {squirrels-0.2.1.dist-info → squirrels-0.2.2.dist-info}/METADATA +2 -2
- {squirrels-0.2.1.dist-info → squirrels-0.2.2.dist-info}/RECORD +7 -7
- {squirrels-0.2.1.dist-info → squirrels-0.2.2.dist-info}/WHEEL +1 -1
- {squirrels-0.2.1.dist-info → squirrels-0.2.2.dist-info}/LICENSE +0 -0
- {squirrels-0.2.1.dist-info → squirrels-0.2.2.dist-info}/entry_points.txt +0 -0
squirrels/__init__.py
CHANGED
squirrels/_models.py
CHANGED
|
@@ -215,9 +215,9 @@ class Model:
|
|
|
215
215
|
coroutines.append(coro)
|
|
216
216
|
await asyncio.gather(*coroutines)
|
|
217
217
|
|
|
218
|
-
def
|
|
218
|
+
def get_terminal_nodes(self, depencency_path: set[str]) -> set[str]:
|
|
219
219
|
if self.confirmed_no_cycles:
|
|
220
|
-
return
|
|
220
|
+
return set()
|
|
221
221
|
|
|
222
222
|
if self.name in depencency_path:
|
|
223
223
|
raise u.ConfigurationError(f'Cycle found in model dependency graph')
|
|
@@ -229,7 +229,7 @@ class Model:
|
|
|
229
229
|
new_path = set(depencency_path)
|
|
230
230
|
new_path.add(self.name)
|
|
231
231
|
for dep_model in self.upstreams.values():
|
|
232
|
-
terminal_nodes_under_dep = dep_model.
|
|
232
|
+
terminal_nodes_under_dep = dep_model.get_terminal_nodes(new_path)
|
|
233
233
|
terminal_nodes = terminal_nodes.union(terminal_nodes_under_dep)
|
|
234
234
|
|
|
235
235
|
self.confirmed_no_cycles = True
|
|
@@ -343,9 +343,11 @@ class DAG:
|
|
|
343
343
|
async def _compile_models(self, context: dict[str, Any], ctx_args: ContextArgs, recurse: bool) -> None:
|
|
344
344
|
await self.target_model.compile(context, ctx_args, self.models_dict, recurse)
|
|
345
345
|
|
|
346
|
-
def
|
|
346
|
+
def _get_terminal_nodes(self) -> set[str]:
|
|
347
347
|
start = time.time()
|
|
348
|
-
terminal_nodes = self.target_model.
|
|
348
|
+
terminal_nodes = self.target_model.get_terminal_nodes(set())
|
|
349
|
+
for model in self.models_dict.values():
|
|
350
|
+
model.confirmed_no_cycles = False
|
|
349
351
|
timer.add_activity_time(f"validating no cycles in models dependencies", start)
|
|
350
352
|
return terminal_nodes
|
|
351
353
|
|
|
@@ -377,7 +379,7 @@ class DAG:
|
|
|
377
379
|
|
|
378
380
|
await self._compile_models(context, ctx_args, recurse)
|
|
379
381
|
|
|
380
|
-
terminal_nodes = self.
|
|
382
|
+
terminal_nodes = self._get_terminal_nodes()
|
|
381
383
|
|
|
382
384
|
if runquery:
|
|
383
385
|
await self._run_models(terminal_nodes)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: squirrels
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Squirrels - API Framework for Data Analytics
|
|
5
5
|
Home-page: https://squirrels-nest.github.io
|
|
6
6
|
License: MIT
|
|
@@ -39,7 +39,7 @@ Description-Content-Type: text/markdown
|
|
|
39
39
|
|
|
40
40
|
Squirrels is an API framework that lets you create REST APIs for dynamic data analytics!
|
|
41
41
|
|
|
42
|
-
**Documentation**: <a href="https://squirrels-nest.github.io/
|
|
42
|
+
**Documentation**: <a href="https://squirrels-nest.github.io/" target="_blank">https://squirrels-nest.github.io/</a>
|
|
43
43
|
|
|
44
44
|
**Source Code**: <a href="https://github.com/squirrels-nest/squirrels" target="_blank">https://github.com/squirrels-nest/squirrels</a>
|
|
45
45
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
squirrels/__init__.py,sha256=
|
|
1
|
+
squirrels/__init__.py,sha256=ulylm42MjjfHB2GPNuFZMjPr1ro5HOPzo1oDNmINUqg,664
|
|
2
2
|
squirrels/_api_server.py,sha256=a6wUXN7ZBg2EYiHGE5jneEjllZHEUWDCrlk5pVLhDc0,15499
|
|
3
3
|
squirrels/_authenticator.py,sha256=XLFECIZANIs1ecE1y-JU_PYMI-FCHiygI1FL4GKcMgg,3742
|
|
4
4
|
squirrels/_command_line.py,sha256=EahzH5dsveWjJ88DzPzrNaKNCp-mbE19-9_Q4MHiNHM,5668
|
|
@@ -7,7 +7,7 @@ squirrels/_constants.py,sha256=oDJsDA3A-Fgvb8tQCvNRMSzeTcr2WcpP08Cj7eNlzXw,3865
|
|
|
7
7
|
squirrels/_environcfg.py,sha256=0zCRxcJ_r1JA_0J-F79341_ezZsbGGdpfdNxTgsoMK4,2761
|
|
8
8
|
squirrels/_initializer.py,sha256=1xAY8Yyz8KM9wPzgOQWiD_RN_m7h_rtNbC9l3NJQ2wg,7750
|
|
9
9
|
squirrels/_manifest.py,sha256=xF070LtRm3fI5ctljYx_OA-JYUs-TA-U33WwLJQI9tk,8599
|
|
10
|
-
squirrels/_models.py,sha256=
|
|
10
|
+
squirrels/_models.py,sha256=L0oYdaFrd9ttlXX5Z2EyBmxKxc1H70TGYe53Ew9ME_s,21828
|
|
11
11
|
squirrels/_package_loader.py,sha256=-EZ8qsmp6QEdZyHUKYi5e4OPOx3EnL2rxr1IYe1NwEI,1020
|
|
12
12
|
squirrels/_parameter_configs.py,sha256=gU-dLpdp0WIVrxB4EYh3URrdDxn0wp8uW-D3h9uP9us,17120
|
|
13
13
|
squirrels/_parameter_sets.py,sha256=9Eu6FakgmrdZ2a_RMnCRnXe-o-8R6DlHaAI5XaOeQpA,8917
|
|
@@ -48,8 +48,8 @@ squirrels/package_data/templates/index.html,sha256=zMiM1w77Rs6xcYXiGwgh_WksOXlMB
|
|
|
48
48
|
squirrels/parameter_options.py,sha256=YKbS_XtXyXi5FUK4U40SK0O9PNUn7AB-VCxhsudJD34,15638
|
|
49
49
|
squirrels/parameters.py,sha256=9TDEvs5LjSKcc8-BoFqt_FiUSUYE_CWwEz_kt8PxsHg,32401
|
|
50
50
|
squirrels/user_base.py,sha256=dVDc9pi95DFGFS93xuloyWvETN7BEkQ3TZ0UtB7UFh0,1698
|
|
51
|
-
squirrels-0.2.
|
|
52
|
-
squirrels-0.2.
|
|
53
|
-
squirrels-0.2.
|
|
54
|
-
squirrels-0.2.
|
|
55
|
-
squirrels-0.2.
|
|
51
|
+
squirrels-0.2.2.dist-info/LICENSE,sha256=rW94rBQiFGQtHU_v2IQJbvg715cQF-bXup4pEJVFHXA,1067
|
|
52
|
+
squirrels-0.2.2.dist-info/METADATA,sha256=XcfTWxGkq3aYSAqNcJxrkN1nD37ZRAu3Uxo-pH7lwxU,5180
|
|
53
|
+
squirrels-0.2.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
54
|
+
squirrels-0.2.2.dist-info/entry_points.txt,sha256=mYQRuGxbg8X82hjNRJuWiON4S6kE5CPvmXmxNPtYTbg,92
|
|
55
|
+
squirrels-0.2.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|