py-data-engine 0.1.3__tar.gz → 0.2.1__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.
Files changed (402) hide show
  1. {py_data_engine-0.1.3/src/py_data_engine.egg-info → py_data_engine-0.2.1}/PKG-INFO +2 -1
  2. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/pyproject.toml +3 -0
  3. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/__init__.py +6 -6
  4. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/application/catalog.py +13 -2
  5. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/application/runtime.py +1 -1
  6. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/authoring/__init__.py +1 -1
  7. py_data_engine-0.2.1/src/data_engine/authoring/flow.py +198 -0
  8. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/authoring/services.py +7 -2
  9. py_data_engine-0.2.1/src/data_engine/core/__init__.py +35 -0
  10. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/core}/flow.py +106 -180
  11. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/core}/helpers.py +18 -7
  12. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/core}/model.py +2 -1
  13. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/core}/primitives.py +79 -26
  14. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/devtools/project_ast_map.py +2 -1
  15. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/devtools/smoke_data.py +40 -10
  16. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/authoring/flow.html +336 -0
  17. {py_data_engine-0.1.3/src/data_engine/docs/html/_modules/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/core}/flow.html +118 -213
  18. {py_data_engine-0.1.3/src/data_engine/docs/html/_modules/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/core}/model.html +9 -8
  19. {py_data_engine-0.1.3/src/data_engine/docs/html/_modules/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/core}/primitives.html +113 -60
  20. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb.html +1124 -0
  21. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/helpers/polars.html +959 -0
  22. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/helpers/schema.html +555 -0
  23. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/hosts/scheduler.html +282 -0
  24. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/runtime/engine.html +254 -0
  25. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/runtime/execution/grouped.html +233 -0
  26. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/runtime/execution/single.html +349 -0
  27. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/runtime/file_watch.html +2 -2
  28. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/runtime/stop.html +184 -0
  29. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/daemon.html +1 -1
  30. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/daemon_state.html +1 -1
  31. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/flow_catalog.html +4 -4
  32. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/flow_execution.html +9 -9
  33. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/ledger.html +15 -14
  34. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/logs.html +11 -16
  35. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/runtime_binding.html +152 -22
  36. py_data_engine-0.2.1/src/data_engine/docs/html/_modules/data_engine/services/runtime_execution.html +362 -0
  37. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/runtime_history.html +8 -8
  38. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/settings.html +1 -1
  39. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/shared_state.html +4 -5
  40. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/theme.html +1 -1
  41. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/workspace_provisioning.html +1 -1
  42. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/data_engine/services/workspaces.html +1 -1
  43. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_modules/index.html +12 -3
  44. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/api.rst.txt +57 -5
  45. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/database-methods.md.txt +5 -0
  46. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/duckdb-helpers.md.txt +6 -0
  47. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/flow-methods.md.txt +13 -7
  48. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/getting-started.md.txt +2 -2
  49. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/project-inventory.md.txt +1390 -641
  50. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/project-map.md.txt +24 -22
  51. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/documentation_options.js +1 -1
  52. py_data_engine-0.2.1/src/data_engine/docs/html/api.html +5125 -0
  53. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/genindex.html +442 -115
  54. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/app-runtime-and-workspaces.html +1 -1
  55. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/authoring-flow-modules.html +1 -1
  56. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/configuring-flows.html +1 -1
  57. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/core-concepts.html +1 -1
  58. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/database-methods.html +5 -1
  59. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/duckdb-helpers.html +6 -1
  60. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/flow-context.html +1 -1
  61. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/flow-methods.html +13 -8
  62. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/getting-started.html +3 -3
  63. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/project-inventory.html +3868 -2585
  64. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/project-map.html +80 -72
  65. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/guides/recipes.html +1 -1
  66. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/index.html +7 -3
  67. py_data_engine-0.2.1/src/data_engine/docs/html/objects.inv +0 -0
  68. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/py-modindex.html +43 -3
  69. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/search.html +1 -1
  70. py_data_engine-0.2.1/src/data_engine/docs/html/searchindex.js +1 -0
  71. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/api.rst +57 -5
  72. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/database-methods.md +5 -0
  73. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/duckdb-helpers.md +6 -0
  74. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/flow-methods.md +13 -7
  75. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/getting-started.md +2 -2
  76. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/project-inventory.md +1390 -641
  77. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/project-map.md +24 -22
  78. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/flow_modules/flow_module_compiler.py +1 -1
  79. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/flow_modules/flow_module_loader.py +12 -9
  80. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/helpers/__init__.py +10 -0
  81. py_data_engine-0.2.1/src/data_engine/helpers/polars.py +773 -0
  82. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/helpers/schema.py +131 -27
  83. py_data_engine-0.2.1/src/data_engine/hosts/__init__.py +5 -0
  84. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/app.py +0 -5
  85. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/composition.py +0 -8
  86. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/lifecycle.py +2 -2
  87. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/runtime_commands.py +2 -2
  88. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/shared_state.py +5 -5
  89. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/state_sync.py +1 -1
  90. py_data_engine-0.2.1/src/data_engine/hosts/scheduler.py +135 -0
  91. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/identity.py +1 -1
  92. py_data_engine-0.2.1/src/data_engine/runtime/engine.py +116 -0
  93. py_data_engine-0.2.1/src/data_engine/runtime/execution/__init__.py +6 -0
  94. py_data_engine-0.2.1/src/data_engine/runtime/execution/app.py +6 -0
  95. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/runtime}/execution/context.py +4 -4
  96. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/runtime}/execution/continuous.py +12 -69
  97. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/runtime}/execution/grouped.py +18 -13
  98. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/runtime}/execution/logging.py +21 -5
  99. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/runtime}/execution/polling.py +33 -18
  100. py_data_engine-0.2.1/src/data_engine/runtime/execution/runner.py +379 -0
  101. {py_data_engine-0.1.3/src/data_engine/authoring → py_data_engine-0.2.1/src/data_engine/runtime}/execution/single.py +76 -35
  102. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/runtime/file_watch.py +1 -1
  103. py_data_engine-0.1.3/src/data_engine/runtime/runtime_db.py → py_data_engine-0.2.1/src/data_engine/runtime/runtime_cache_store.py +374 -590
  104. py_data_engine-0.2.1/src/data_engine/runtime/runtime_control_store.py +231 -0
  105. py_data_engine-0.2.1/src/data_engine/runtime/runtime_db.py +30 -0
  106. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/runtime/shared_state.py +76 -31
  107. py_data_engine-0.2.1/src/data_engine/runtime/sqlite_store.py +70 -0
  108. py_data_engine-0.2.1/src/data_engine/runtime/stop.py +52 -0
  109. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/flow_catalog.py +3 -3
  110. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/flow_execution.py +8 -8
  111. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/ledger.py +14 -13
  112. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/logs.py +10 -15
  113. py_data_engine-0.2.1/src/data_engine/services/runtime_binding.py +266 -0
  114. py_data_engine-0.2.1/src/data_engine/services/runtime_execution.py +215 -0
  115. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/runtime_history.py +7 -7
  116. py_data_engine-0.2.1/src/data_engine/services/runtime_ports.py +89 -0
  117. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/shared_state.py +3 -4
  118. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/app.py +1 -1
  119. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/commands_doctor.py +1 -1
  120. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/commands_run.py +1 -1
  121. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/commands_start.py +1 -1
  122. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/commands_workspace.py +1 -1
  123. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/bootstrap.py +5 -3
  124. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/control_support.py +2 -2
  125. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/controllers/runtime.py +8 -6
  126. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/helpers/inspection.py +2 -2
  127. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/workspace_settings.py +1 -14
  128. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/state_support.py +2 -7
  129. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/app.py +1 -1
  130. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/bootstrap.py +5 -3
  131. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/controllers/runtime.py +4 -5
  132. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/state_support.py +2 -7
  133. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/logs.py +8 -0
  134. {py_data_engine-0.1.3 → py_data_engine-0.2.1/src/py_data_engine.egg-info}/PKG-INFO +2 -1
  135. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/py_data_engine.egg-info/SOURCES.txt +35 -15
  136. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/py_data_engine.egg-info/requires.txt +1 -0
  137. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_application.py +43 -1
  138. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_authoring_helpers.py +2 -2
  139. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_builder.py +53 -36
  140. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_daemon.py +19 -19
  141. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_flow_module_compiler.py +1 -1
  142. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_flow_module_loader.py +1 -1
  143. py_data_engine-0.2.1/tests/test_helpers_polars.py +255 -0
  144. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_integration.py +32 -27
  145. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_logs.py +3 -3
  146. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_qt_ui.py +16 -16
  147. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_runtime_db.py +118 -50
  148. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_runtime_history_service.py +9 -9
  149. py_data_engine-0.2.1/tests/test_scheduler_host.py +105 -0
  150. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_schema_helper.py +40 -8
  151. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_services.py +184 -7
  152. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_shared_state.py +103 -49
  153. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_tui.py +9 -9
  154. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_ui_bootstrap.py +4 -2
  155. py_data_engine-0.1.3/src/data_engine/authoring/builder.py +0 -31
  156. py_data_engine-0.1.3/src/data_engine/authoring/execution/__init__.py +0 -6
  157. py_data_engine-0.1.3/src/data_engine/authoring/execution/app.py +0 -6
  158. py_data_engine-0.1.3/src/data_engine/authoring/execution/runner.py +0 -210
  159. py_data_engine-0.1.3/src/data_engine/docs/html/_modules/data_engine/services/runtime_execution.html +0 -260
  160. py_data_engine-0.1.3/src/data_engine/docs/html/api.html +0 -2951
  161. py_data_engine-0.1.3/src/data_engine/docs/html/objects.inv +0 -0
  162. py_data_engine-0.1.3/src/data_engine/docs/html/searchindex.js +0 -1
  163. py_data_engine-0.1.3/src/data_engine/hosts/__init__.py +0 -1
  164. py_data_engine-0.1.3/src/data_engine/services/runtime_binding.py +0 -151
  165. py_data_engine-0.1.3/src/data_engine/services/runtime_execution.py +0 -125
  166. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/LICENSE +0 -0
  167. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/README.md +0 -0
  168. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/setup.cfg +0 -0
  169. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/setup.py +0 -0
  170. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/application/__init__.py +0 -0
  171. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/application/actions.py +0 -0
  172. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/application/control.py +0 -0
  173. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/application/details.py +0 -0
  174. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/application/workspace.py +0 -0
  175. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/devtools/__init__.py +0 -0
  176. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/__init__.py +0 -0
  177. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/app-runtime-and-workspaces.md.txt +0 -0
  178. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/authoring-flow-modules.md.txt +0 -0
  179. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/configuring-flows.md.txt +0 -0
  180. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/core-concepts.md.txt +0 -0
  181. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/flow-context.md.txt +0 -0
  182. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/guides/recipes.md.txt +0 -0
  183. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_sources/index.rst.txt +0 -0
  184. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  185. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/base-stemmer.js +0 -0
  186. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/basic.css +0 -0
  187. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/badge_only.css +0 -0
  188. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  189. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  190. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  191. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  192. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  193. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  194. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  195. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  196. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  197. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  198. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  199. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold.woff +0 -0
  200. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold.woff2 +0 -0
  201. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  202. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  203. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal.woff +0 -0
  204. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal.woff2 +0 -0
  205. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/css/theme.css +0 -0
  206. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/custom.css +0 -0
  207. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/doctools.js +0 -0
  208. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/english-stemmer.js +0 -0
  209. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/file.png +0 -0
  210. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.eot +0 -0
  211. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  212. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.woff +0 -0
  213. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  214. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  215. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  216. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  217. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  218. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.eot +0 -0
  219. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  220. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.woff +0 -0
  221. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  222. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.eot +0 -0
  223. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  224. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.woff +0 -0
  225. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  226. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  227. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  228. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  229. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  230. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  231. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  232. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  233. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  234. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/jquery.js +0 -0
  235. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/js/badge_only.js +0 -0
  236. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/js/theme.js +0 -0
  237. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/js/versions.js +0 -0
  238. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/language_data.js +0 -0
  239. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/minus.png +0 -0
  240. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/plus.png +0 -0
  241. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/pygments.css +0 -0
  242. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/searchtools.js +0 -0
  243. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/html/_static/sphinx_highlight.js +0 -0
  244. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/_static/custom.css +0 -0
  245. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/conf.py +0 -0
  246. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/app-runtime-and-workspaces.md +0 -0
  247. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/authoring-flow-modules.md +0 -0
  248. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/configuring-flows.md +0 -0
  249. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/core-concepts.md +0 -0
  250. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/flow-context.md +0 -0
  251. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/guides/recipes.md +0 -0
  252. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/docs/sphinx_source/index.rst +0 -0
  253. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/__init__.py +0 -0
  254. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/actions.py +0 -0
  255. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/catalog.py +0 -0
  256. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/details.py +0 -0
  257. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/diagnostics.py +0 -0
  258. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/errors.py +0 -0
  259. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/inspection.py +0 -0
  260. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/logs.py +0 -0
  261. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/operations.py +0 -0
  262. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/operator.py +0 -0
  263. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/runs.py +0 -0
  264. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/runtime.py +0 -0
  265. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/source_state.py +0 -0
  266. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/support.py +0 -0
  267. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/time.py +0 -0
  268. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/domain/workspace.py +0 -0
  269. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/flow_modules/__init__.py +0 -0
  270. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/helpers/duckdb.py +0 -0
  271. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/__init__.py +0 -0
  272. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/bootstrap.py +0 -0
  273. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/client.py +0 -0
  274. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/commands.py +0 -0
  275. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/constants.py +0 -0
  276. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/entrypoints.py +0 -0
  277. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/manager.py +0 -0
  278. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/ownership.py +0 -0
  279. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/runtime_control.py +0 -0
  280. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/hosts/daemon/server.py +0 -0
  281. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/__init__.py +0 -0
  282. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/interpreters.py +0 -0
  283. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/local_settings.py +0 -0
  284. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/paths.py +0 -0
  285. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/processes.py +0 -0
  286. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/theme.py +0 -0
  287. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/workspace_models.py +0 -0
  288. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/platform/workspace_policy.py +0 -0
  289. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/runtime/__init__.py +0 -0
  290. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/runtime/ledger_models.py +0 -0
  291. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/__init__.py +0 -0
  292. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/daemon.py +0 -0
  293. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/daemon_state.py +0 -0
  294. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/settings.py +0 -0
  295. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/theme.py +0 -0
  296. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/workspace_provisioning.py +0 -0
  297. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/services/workspaces.py +0 -0
  298. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/__init__.py +0 -0
  299. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/__init__.py +0 -0
  300. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/dependencies.py +0 -0
  301. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/cli/parser.py +0 -0
  302. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/__init__.py +0 -0
  303. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/app.py +0 -0
  304. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/bootstrapper.py +0 -0
  305. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/cache_models.py +0 -0
  306. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/controllers/__init__.py +0 -0
  307. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/controllers/flows.py +0 -0
  308. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/dialogs/__init__.py +0 -0
  309. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/dialogs/messages.py +0 -0
  310. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/dialogs/previews.py +0 -0
  311. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/helpers/__init__.py +0 -0
  312. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/helpers/lifecycle.py +0 -0
  313. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/helpers/scroll.py +0 -0
  314. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/helpers/theming.py +0 -0
  315. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/dark_light.svg +0 -0
  316. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/documentation.svg +0 -0
  317. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/failed.svg +0 -0
  318. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/group.svg +0 -0
  319. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/home.svg +0 -0
  320. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/manual.svg +0 -0
  321. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/poll.svg +0 -0
  322. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/schedule.svg +0 -0
  323. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/settings.svg +0 -0
  324. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/started.svg +0 -0
  325. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/success.svg +0 -0
  326. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons/view-log.svg +0 -0
  327. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/icons.py +0 -0
  328. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/launcher.py +0 -0
  329. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/__init__.py +0 -0
  330. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/docs.py +0 -0
  331. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/logs.py +0 -0
  332. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/runtime_projection.py +0 -0
  333. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/sidebar.py +0 -0
  334. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/steps.py +0 -0
  335. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/workspace.py +0 -0
  336. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/presenters/workspace_binding.py +0 -0
  337. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/preview_models.py +0 -0
  338. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/render_support.py +0 -0
  339. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/rendering/__init__.py +0 -0
  340. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/rendering/artifacts.py +0 -0
  341. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/rendering/icons.py +0 -0
  342. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/runtime.py +0 -0
  343. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/support.py +0 -0
  344. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/surface.py +0 -0
  345. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/theme.py +0 -0
  346. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/widgets/__init__.py +0 -0
  347. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/widgets/config.py +0 -0
  348. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/widgets/logs.py +0 -0
  349. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/widgets/panels.py +0 -0
  350. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/widgets/sidebar.py +0 -0
  351. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/gui/widgets/steps.py +0 -0
  352. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/__init__.py +0 -0
  353. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/bootstrapper.py +0 -0
  354. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/controllers/__init__.py +0 -0
  355. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/controllers/flows.py +0 -0
  356. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/runtime.py +0 -0
  357. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/support.py +0 -0
  358. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/theme.py +0 -0
  359. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/ui/tui/widgets.py +0 -0
  360. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/__init__.py +0 -0
  361. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/actions.py +0 -0
  362. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/artifacts.py +0 -0
  363. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/flow_display.py +0 -0
  364. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/models.py +0 -0
  365. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/presentation.py +0 -0
  366. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/runs.py +0 -0
  367. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/state.py +0 -0
  368. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/status.py +0 -0
  369. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/data_engine/views/text.py +0 -0
  370. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/py_data_engine.egg-info/dependency_links.txt +0 -0
  371. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/py_data_engine.egg-info/entry_points.txt +0 -0
  372. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/src/py_data_engine.egg-info/top_level.txt +0 -0
  373. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_authoring_services.py +0 -0
  374. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_cli.py +0 -0
  375. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_cli_helpers.py +0 -0
  376. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_actions.py +0 -0
  377. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_catalog.py +0 -0
  378. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_details.py +0 -0
  379. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_errors.py +0 -0
  380. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_inspection.py +0 -0
  381. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_logs.py +0 -0
  382. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_operations.py +0 -0
  383. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_operator.py +0 -0
  384. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_runs.py +0 -0
  385. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_runtime.py +0 -0
  386. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_support.py +0 -0
  387. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_domain_workspace.py +0 -0
  388. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_export_project_bundle_script.py +0 -0
  389. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_helpers_duckdb.py +0 -0
  390. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_live_runtime_suite.py +0 -0
  391. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_local_settings.py +0 -0
  392. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_platform_identity.py +0 -0
  393. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_project_ast_map.py +0 -0
  394. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_smoke_data.py +0 -0
  395. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_sources.py +0 -0
  396. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_theme.py +0 -0
  397. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_tui_widgets.py +0 -0
  398. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_ui_models.py +0 -0
  399. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_ui_runtime_theme.py +0 -0
  400. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_ui_state.py +0 -0
  401. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_views_helpers.py +0 -0
  402. {py_data_engine-0.1.3 → py_data_engine-0.2.1}/tests/test_workspace_provisioning.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-data-engine
3
- Version: 0.1.3
3
+ Version: 0.2.1
4
4
  Summary: Workbook-driven workflow jobs with strict filename parsing and DuckDB-backed processing.
5
5
  Author: Data Engine contributors
6
6
  License-Expression: MIT
@@ -18,6 +18,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
18
  Requires-Python: >=3.14
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
+ Requires-Dist: APScheduler>=3.11.0
21
22
  Requires-Dist: duckdb>=1.5.0
22
23
  Requires-Dist: fastexcel>=0.19.0
23
24
  Requires-Dist: polars>=1.39.0
@@ -2,6 +2,8 @@
2
2
  requires = [
3
3
  "setuptools>=68",
4
4
  "wheel",
5
+ "APScheduler>=3.11.0",
6
+ "duckdb>=1.5.0",
5
7
  "polars>=1.39.0",
6
8
  "myst-parser>=4.0.0",
7
9
  "Sphinx>=9.1.0",
@@ -31,6 +33,7 @@ classifiers = [
31
33
  "Topic :: Software Development :: Libraries :: Python Modules",
32
34
  ]
33
35
  dependencies = [
36
+ "APScheduler>=3.11.0",
34
37
  "duckdb>=1.5.0",
35
38
  "fastexcel>=0.19.0",
36
39
  "polars>=1.39.0",
@@ -7,9 +7,9 @@ from typing import TYPE_CHECKING
7
7
  if TYPE_CHECKING:
8
8
  from data_engine.authoring.flow import Flow
9
9
  from data_engine.authoring.flow import discover_flows, load_flow, run
10
- from data_engine.authoring.primitives import Batch
11
- from data_engine.authoring.primitives import FileRef
12
- from data_engine.authoring.primitives import FlowContext
10
+ from data_engine.core.primitives import Batch
11
+ from data_engine.core.primitives import FileRef
12
+ from data_engine.core.primitives import FlowContext
13
13
 
14
14
  __all__ = ["Batch", "FileRef", "Flow", "FlowContext", "discover_flows", "load_flow", "run"]
15
15
 
@@ -21,9 +21,9 @@ def __getattr__(name: str):
21
21
  from data_engine.authoring.flow import discover_flows
22
22
  from data_engine.authoring.flow import load_flow
23
23
  from data_engine.authoring.flow import run
24
- from data_engine.authoring.primitives import Batch
25
- from data_engine.authoring.primitives import FileRef
26
- from data_engine.authoring.primitives import FlowContext
24
+ from data_engine.core.primitives import Batch
25
+ from data_engine.core.primitives import FileRef
26
+ from data_engine.core.primitives import FlowContext
27
27
 
28
28
  return {
29
29
  "Batch": Batch,
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  from dataclasses import dataclass
6
6
  from pathlib import Path
7
7
 
8
- from data_engine.authoring.model import FlowValidationError
8
+ from data_engine.core.model import FlowValidationError
9
9
  from data_engine.domain import FlowCatalogEntry, FlowCatalogLike, FlowCatalogState
10
10
  from data_engine.platform.workspace_models import WorkspacePaths
11
11
  from data_engine.services import FlowCatalogService
@@ -86,7 +86,10 @@ class FlowCatalogApplication:
86
86
  """Load discovered entries and merge them into one catalog state."""
87
87
  base = current_state or FlowCatalogState.empty()
88
88
  entries = self.flow_catalog_service.load_entries(workspace_root=workspace_root)
89
- return base.with_entries(entries).with_empty_message("")
89
+ state = base.with_entries(entries).with_empty_message("")
90
+ if base.selected_flow_name is not None and state.selected_flow_name == base.selected_flow_name:
91
+ return state
92
+ return state.with_selected_flow_name(_first_grouped_entry_name(state.entries))
90
93
 
91
94
  def empty_state(
92
95
  self,
@@ -149,3 +152,11 @@ class FlowCatalogApplication:
149
152
  error_text=message,
150
153
  )
151
154
  return FlowCatalogLoadResult(catalog_state=catalog_state, loaded=True)
155
+
156
+
157
+ def _first_grouped_entry_name(entries: tuple[FlowCatalogEntry, ...]) -> str | None:
158
+ """Return the first entry name in the same grouped order used by operator surfaces."""
159
+ for bucket in group_cards(entries):
160
+ if bucket.entries:
161
+ return bucket.entries[0].name
162
+ return None
@@ -7,7 +7,7 @@ from datetime import UTC, datetime
7
7
  from typing import Any
8
8
  from collections.abc import Iterable
9
9
 
10
- from data_engine.authoring.model import FlowStoppedError
10
+ from data_engine.core.model import FlowStoppedError
11
11
  from data_engine.domain import (
12
12
  DaemonLifecyclePolicy,
13
13
  DaemonStatusState,
@@ -13,5 +13,5 @@ def __getattr__(name: str):
13
13
  if name in {"Flow", "discover_flows", "load_flow", "run"}:
14
14
  module = import_module("data_engine.authoring.flow")
15
15
  return getattr(module, name)
16
- module = import_module("data_engine.authoring.primitives")
16
+ module = import_module("data_engine.core.primitives")
17
17
  return getattr(module, name)
@@ -0,0 +1,198 @@
1
+ """Flow DSL and public authoring entrypoints."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path
6
+ from typing import TYPE_CHECKING
7
+
8
+ from data_engine.core.flow import Flow as _CoreFlow
9
+ from data_engine.core.helpers import _validate_slot_name
10
+ from data_engine.core.model import FlowValidationError
11
+ from data_engine.core.primitives import FlowContext
12
+
13
+ if TYPE_CHECKING:
14
+ from data_engine.authoring.services import AuthoringServices
15
+ from data_engine.services.flow_execution import FlowExecutionService
16
+ from data_engine.services.runtime_execution import RuntimeExecutionService
17
+
18
+
19
+ def _resolve_authoring_services(
20
+ *,
21
+ authoring_services: AuthoringServices | None = None,
22
+ runtime_execution_service: RuntimeExecutionService | None = None,
23
+ flow_execution_service: FlowExecutionService | None = None,
24
+ ) -> AuthoringServices:
25
+ """Return one authoring collaborator bundle with explicit overrides applied."""
26
+ from data_engine.authoring.services import build_authoring_services, default_authoring_services
27
+
28
+ services = authoring_services or default_authoring_services()
29
+ if runtime_execution_service is None and flow_execution_service is None:
30
+ return services
31
+ return build_authoring_services(
32
+ runtime_execution_service=runtime_execution_service or services.runtime_execution_service,
33
+ flow_execution_service=flow_execution_service or services.flow_execution_service,
34
+ )
35
+
36
+
37
+ class Flow(_CoreFlow):
38
+ """Public authoring flow with execution conveniences layered over core definitions."""
39
+
40
+ def run_once(
41
+ self,
42
+ *,
43
+ authoring_services: AuthoringServices | None = None,
44
+ runtime_execution_service: RuntimeExecutionService | None = None,
45
+ ) -> list[FlowContext]:
46
+ """Run this flow once and return completed runtime contexts.
47
+
48
+ Parameters
49
+ ----------
50
+ authoring_services : AuthoringServices | None
51
+ Optional service bundle used by tests or embedded hosts.
52
+ runtime_execution_service : RuntimeExecutionService | None
53
+ Optional runtime execution service override.
54
+
55
+ Returns
56
+ -------
57
+ list[FlowContext]
58
+ One context per executed source.
59
+ """
60
+ service = _resolve_authoring_services(
61
+ authoring_services=authoring_services,
62
+ runtime_execution_service=runtime_execution_service,
63
+ ).runtime_execution_service
64
+ return service.run_once(self)
65
+
66
+ def preview(
67
+ self,
68
+ *,
69
+ use: str | None = None,
70
+ authoring_services: AuthoringServices | None = None,
71
+ runtime_execution_service: RuntimeExecutionService | None = None,
72
+ ) -> object:
73
+ """Run this flow in preview mode and return one preview value.
74
+
75
+ Parameters
76
+ ----------
77
+ use : str | None
78
+ Optional named object slot to preview instead of the final current
79
+ value.
80
+ authoring_services : AuthoringServices | None
81
+ Optional service bundle used by tests or embedded hosts.
82
+ runtime_execution_service : RuntimeExecutionService | None
83
+ Optional runtime execution service override.
84
+
85
+ Returns
86
+ -------
87
+ object
88
+ Preview value returned by the runtime execution service.
89
+
90
+ Raises
91
+ ------
92
+ FlowValidationError
93
+ If preview is requested from inside a compiled flow module.
94
+ """
95
+ from data_engine.flow_modules.flow_module_loader import in_compiled_flow_module_context
96
+
97
+ if in_compiled_flow_module_context():
98
+ raise FlowValidationError("preview() is not available inside compiled flow modules.")
99
+ normalized_use = _validate_slot_name(method_name="preview", slot_name="use", value=use)
100
+ service = _resolve_authoring_services(
101
+ authoring_services=authoring_services,
102
+ runtime_execution_service=runtime_execution_service,
103
+ ).runtime_execution_service
104
+ return service.preview(self, use=normalized_use)
105
+
106
+ def show(self) -> object:
107
+ """Run this flow once and return the single final current value.
108
+
109
+ Returns
110
+ -------
111
+ object
112
+ Final ``context.current`` value.
113
+
114
+ Raises
115
+ ------
116
+ FlowValidationError
117
+ If called from a compiled flow module or the flow produces anything
118
+ other than one result.
119
+ """
120
+ from data_engine.flow_modules.flow_module_loader import in_compiled_flow_module_context
121
+
122
+ if in_compiled_flow_module_context():
123
+ raise FlowValidationError("show() is not available inside compiled flow modules.")
124
+ results = self.run_once()
125
+ if len(results) != 1:
126
+ raise FlowValidationError(f"show() requires exactly one result, found {len(results)}.")
127
+ return results[0].current
128
+
129
+ def run(
130
+ self,
131
+ *,
132
+ authoring_services: AuthoringServices | None = None,
133
+ runtime_execution_service: RuntimeExecutionService | None = None,
134
+ ) -> list[FlowContext]:
135
+ """Run this flow continuously according to its trigger.
136
+
137
+ Parameters
138
+ ----------
139
+ authoring_services : AuthoringServices | None
140
+ Optional service bundle used by tests or embedded hosts.
141
+ runtime_execution_service : RuntimeExecutionService | None
142
+ Optional runtime execution service override.
143
+
144
+ Returns
145
+ -------
146
+ list[FlowContext]
147
+ Completed contexts collected before the runtime exits.
148
+ """
149
+ service = _resolve_authoring_services(
150
+ authoring_services=authoring_services,
151
+ runtime_execution_service=runtime_execution_service,
152
+ ).runtime_execution_service
153
+ return service.run_continuous(self)
154
+
155
+
156
+ def load_flow(
157
+ name: str,
158
+ *,
159
+ data_root: Path | None = None,
160
+ authoring_services: AuthoringServices | None = None,
161
+ flow_execution_service: FlowExecutionService | None = None,
162
+ ) -> Flow:
163
+ """Load one code-defined flow by flow-module name."""
164
+ service = _resolve_authoring_services(
165
+ authoring_services=authoring_services,
166
+ flow_execution_service=flow_execution_service,
167
+ ).flow_execution_service
168
+ return service.load_flow(name, workspace_root=data_root)
169
+
170
+
171
+ def discover_flows(
172
+ *,
173
+ data_root: Path | None = None,
174
+ authoring_services: AuthoringServices | None = None,
175
+ flow_execution_service: FlowExecutionService | None = None,
176
+ ) -> tuple[Flow, ...]:
177
+ """Discover and build all code-defined flows from compiled flow modules."""
178
+ service = _resolve_authoring_services(
179
+ authoring_services=authoring_services,
180
+ flow_execution_service=flow_execution_service,
181
+ ).flow_execution_service
182
+ return service.discover_flows(workspace_root=data_root)
183
+
184
+
185
+ def run(
186
+ *flows: Flow,
187
+ authoring_services: AuthoringServices | None = None,
188
+ runtime_execution_service: RuntimeExecutionService | None = None,
189
+ ) -> list[FlowContext]:
190
+ """Run multiple flows with sequential execution per group and parallel groups."""
191
+ service = _resolve_authoring_services(
192
+ authoring_services=authoring_services,
193
+ runtime_execution_service=runtime_execution_service,
194
+ ).runtime_execution_service
195
+ return service.run_grouped_continuous(tuple(flows))
196
+
197
+
198
+ __all__ = ["Flow", "discover_flows", "load_flow", "run"]
@@ -4,9 +4,11 @@ from __future__ import annotations
4
4
 
5
5
  from dataclasses import dataclass
6
6
  from functools import lru_cache
7
+ from typing import TYPE_CHECKING
7
8
 
8
- from data_engine.services.flow_execution import FlowExecutionService
9
- from data_engine.services.runtime_execution import RuntimeExecutionService
9
+ if TYPE_CHECKING:
10
+ from data_engine.services.flow_execution import FlowExecutionService
11
+ from data_engine.services.runtime_execution import RuntimeExecutionService
10
12
 
11
13
 
12
14
  @dataclass(frozen=True)
@@ -23,6 +25,9 @@ def build_authoring_services(
23
25
  flow_execution_service: FlowExecutionService | None = None,
24
26
  ) -> AuthoringServices:
25
27
  """Build one authoring collaborator bundle with optional overrides."""
28
+ from data_engine.services.flow_execution import FlowExecutionService
29
+ from data_engine.services.runtime_execution import RuntimeExecutionService
30
+
26
31
  return AuthoringServices(
27
32
  runtime_execution_service=runtime_execution_service or RuntimeExecutionService(),
28
33
  flow_execution_service=flow_execution_service or FlowExecutionService(),
@@ -0,0 +1,35 @@
1
+ """Core flow definitions and runtime primitives."""
2
+
3
+ from data_engine.core.flow import Flow
4
+ from data_engine.core.model import FlowExecutionError, FlowStoppedError, FlowValidationError
5
+ from data_engine.core.primitives import (
6
+ Batch,
7
+ FileRef,
8
+ FlowContext,
9
+ MirrorContext,
10
+ MirrorSpec,
11
+ SourceContext,
12
+ SourceMetadata,
13
+ StepSpec,
14
+ WatchSpec,
15
+ WorkspaceConfigContext,
16
+ collect_files,
17
+ )
18
+
19
+ __all__ = [
20
+ "Batch",
21
+ "FileRef",
22
+ "Flow",
23
+ "FlowContext",
24
+ "FlowExecutionError",
25
+ "FlowStoppedError",
26
+ "FlowValidationError",
27
+ "MirrorContext",
28
+ "MirrorSpec",
29
+ "SourceContext",
30
+ "SourceMetadata",
31
+ "StepSpec",
32
+ "WatchSpec",
33
+ "WorkspaceConfigContext",
34
+ "collect_files",
35
+ ]