squirrels 0.2.1__tar.gz → 0.2.2__tar.gz

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.

Files changed (54) hide show
  1. {squirrels-0.2.1 → squirrels-0.2.2}/PKG-INFO +2 -2
  2. {squirrels-0.2.1 → squirrels-0.2.2}/README.md +1 -1
  3. {squirrels-0.2.1 → squirrels-0.2.2}/pyproject.toml +1 -1
  4. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/__init__.py +1 -1
  5. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_models.py +8 -6
  6. {squirrels-0.2.1 → squirrels-0.2.2}/LICENSE +0 -0
  7. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_api_server.py +0 -0
  8. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_authenticator.py +0 -0
  9. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_command_line.py +0 -0
  10. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_connection_set.py +0 -0
  11. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_constants.py +0 -0
  12. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_environcfg.py +0 -0
  13. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_initializer.py +0 -0
  14. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_manifest.py +0 -0
  15. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_package_loader.py +0 -0
  16. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_parameter_configs.py +0 -0
  17. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_parameter_sets.py +0 -0
  18. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_py_module.py +0 -0
  19. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_timer.py +0 -0
  20. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_utils.py +0 -0
  21. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/_version.py +0 -0
  22. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/arguments/init_time_args.py +0 -0
  23. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/arguments/run_time_args.py +0 -0
  24. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/data_sources.py +0 -0
  25. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/dateutils.py +0 -0
  26. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/assets/favicon.ico +0 -0
  27. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/assets/index.css +0 -0
  28. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/assets/index.js +0 -0
  29. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/.gitignore +0 -0
  30. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/connections.yml +0 -0
  31. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/database/expenses.db +0 -0
  32. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/database/weather.db +0 -0
  33. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/docker/.dockerignore +0 -0
  34. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/docker/Dockerfile +0 -0
  35. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/docker/compose.yml +0 -0
  36. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/environcfg.yml +0 -0
  37. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/models/dbviews/database_view1.py +0 -0
  38. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/models/dbviews/database_view1.sql +0 -0
  39. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/models/federates/dataset_example.py +0 -0
  40. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/models/federates/dataset_example.sql +0 -0
  41. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/parameters.yml +0 -0
  42. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/pyconfigs/auth.py +0 -0
  43. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/pyconfigs/connections.py +0 -0
  44. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/pyconfigs/context.py +0 -0
  45. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/pyconfigs/parameters.py +0 -0
  46. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/seeds/mocks/category.csv +0 -0
  47. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/seeds/mocks/max_filter.csv +0 -0
  48. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/seeds/mocks/subcategory.csv +0 -0
  49. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/squirrels.yml.j2 +0 -0
  50. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/base_project/tmp/.gitignore +0 -0
  51. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/package_data/templates/index.html +0 -0
  52. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/parameter_options.py +0 -0
  53. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/parameters.py +0 -0
  54. {squirrels-0.2.1 → squirrels-0.2.2}/squirrels/user_base.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: squirrels
3
- Version: 0.2.1
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/squirrels-docs" target="_blank">https://squirrels-nest.github.io/squirrels-docs</a>
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
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Squirrels is an API framework that lets you create REST APIs for dynamic data analytics!
4
4
 
5
- **Documentation**: <a href="https://squirrels-nest.github.io/squirrels-docs" target="_blank">https://squirrels-nest.github.io/squirrels-docs</a>
5
+ **Documentation**: <a href="https://squirrels-nest.github.io/" target="_blank">https://squirrels-nest.github.io/</a>
6
6
 
7
7
  **Source Code**: <a href="https://github.com/squirrels-nest/squirrels" target="_blank">https://github.com/squirrels-nest/squirrels</a>
8
8
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "squirrels"
3
- version = "0.2.1"
3
+ version = "0.2.2"
4
4
  description = "Squirrels - API Framework for Data Analytics"
5
5
  license = "MIT"
6
6
  authors = ["Tim Huang <tim.yuting@hotmail.com>"]
@@ -1,4 +1,4 @@
1
- __version__ = '0.2.1'
1
+ __version__ = '0.2.2'
2
2
 
3
3
  from .arguments.init_time_args import ConnectionsArgs, ParametersArgs
4
4
  from .arguments.run_time_args import AuthArgs, ContextArgs, ModelDepsArgs, ModelArgs
@@ -215,9 +215,9 @@ class Model:
215
215
  coroutines.append(coro)
216
216
  await asyncio.gather(*coroutines)
217
217
 
218
- def validate_no_cycles(self, depencency_path: set[str]) -> set[str]:
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.validate_no_cycles(new_path)
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 _validate_no_cycles(self) -> set[str]:
346
+ def _get_terminal_nodes(self) -> set[str]:
347
347
  start = time.time()
348
- terminal_nodes = self.target_model.validate_no_cycles(set())
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._validate_no_cycles()
382
+ terminal_nodes = self._get_terminal_nodes()
381
383
 
382
384
  if runquery:
383
385
  await self._run_models(terminal_nodes)
File without changes
File without changes
File without changes