py-data-engine 0.3.11__tar.gz → 0.4.0__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 (412) hide show
  1. py_data_engine-0.4.0/PKG-INFO +230 -0
  2. py_data_engine-0.4.0/README.md +159 -0
  3. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/pyproject.toml +53 -55
  4. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/application/actions.py +0 -4
  5. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/application/runtime.py +13 -0
  6. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/authoring/flow.py +2 -2
  7. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/core/flow.py +1 -1
  8. py_data_engine-0.4.0/src/data_engine/daemon_bootstrap.py +275 -0
  9. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/authoring/flow.html +3 -3
  10. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/core/flow.html +2 -2
  11. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/core/model.html +1 -1
  12. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/core/primitives.html +1 -1
  13. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_dimensions.html +1 -1
  14. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_maintenance.html +1 -1
  15. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_read.html +1 -1
  16. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_replace.html +1 -1
  17. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/helpers/excel.html +43 -8
  18. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/helpers/polars.html +237 -69
  19. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/helpers/schema.html +1 -1
  20. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/hosts/scheduler.html +1 -1
  21. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/runtime/engine.html +2 -2
  22. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/runtime/execution/grouped.html +1 -1
  23. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/runtime/execution/single.html +1 -1
  24. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/runtime/file_watch.html +17 -16
  25. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/runtime/result_cleanup.html +1 -1
  26. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/runtime/stop.html +1 -1
  27. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/daemon.html +1 -1
  28. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/daemon_state.html +1 -1
  29. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/flow_catalog.html +1 -1
  30. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/flow_execution.html +1 -1
  31. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/ledger.html +8 -16
  32. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/logs.html +1 -1
  33. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/runtime_binding.html +41 -5
  34. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/runtime_execution.html +1 -1
  35. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/runtime_history.html +1 -1
  36. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/settings.html +1 -1
  37. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/shared_state.html +49 -10
  38. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/theme.html +1 -1
  39. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/workspace_provisioning.html +1 -1
  40. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/data_engine/services/workspaces.html +1 -1
  41. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_modules/index.html +1 -1
  42. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/app-runtime-and-workspaces.md.txt +53 -23
  43. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/getting-started.md.txt +1 -1
  44. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/polars-helpers.md.txt +30 -9
  45. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/project-inventory.md.txt +1461 -735
  46. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/project-map.md.txt +23 -22
  47. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/recipes.md.txt +2 -2
  48. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/documentation_options.js +1 -1
  49. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/api.html +365 -85
  50. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/genindex.html +23 -7
  51. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/app-runtime-and-workspaces.html +55 -25
  52. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/authoring-flow-modules.html +1 -1
  53. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/configuring-flows.html +1 -1
  54. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/core-concepts.html +1 -1
  55. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/database-methods.html +1 -1
  56. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/duckdb-helpers.html +1 -1
  57. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/excel-helpers.html +1 -1
  58. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/flow-context.html +1 -1
  59. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/flow-methods.html +1 -1
  60. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/getting-started.html +2 -2
  61. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/polars-helpers.html +29 -10
  62. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/project-inventory.html +7544 -6458
  63. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/project-map.html +91 -84
  64. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/guides/recipes.html +3 -3
  65. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/index.html +1 -1
  66. py_data_engine-0.4.0/src/data_engine/docs/html/objects.inv +0 -0
  67. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/py-modindex.html +1 -1
  68. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/search.html +1 -1
  69. py_data_engine-0.4.0/src/data_engine/docs/html/searchindex.js +1 -0
  70. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/app-runtime-and-workspaces.md +53 -23
  71. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/getting-started.md +1 -1
  72. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/polars-helpers.md +30 -9
  73. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/project-inventory.md +1461 -735
  74. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/project-map.md +23 -22
  75. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/recipes.md +2 -2
  76. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/actions.py +0 -8
  77. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/runtime.py +8 -2
  78. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/__init__.py +2 -0
  79. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/excel.py +42 -7
  80. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/polars.py +224 -65
  81. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/app.py +47 -10
  82. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/bootstrap.py +51 -27
  83. py_data_engine-0.4.0/src/data_engine/hosts/daemon/client.py +2218 -0
  84. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/commands.py +23 -4
  85. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/composition.py +139 -16
  86. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/constants.py +0 -2
  87. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/entrypoints.py +27 -4
  88. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/lifecycle.py +172 -45
  89. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/manager.py +34 -22
  90. py_data_engine-0.4.0/src/data_engine/hosts/daemon/ownership.py +205 -0
  91. py_data_engine-0.4.0/src/data_engine/hosts/daemon/runtime_commands.py +410 -0
  92. py_data_engine-0.4.0/src/data_engine/hosts/daemon/runtime_control.py +196 -0
  93. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/runtime_events.py +6 -0
  94. py_data_engine-0.4.0/src/data_engine/hosts/daemon/server.py +302 -0
  95. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/shared_state.py +78 -11
  96. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/state_sync.py +53 -22
  97. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/identity.py +1 -1
  98. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/local_settings.py +56 -0
  99. py_data_engine-0.4.0/src/data_engine/platform/machine_identity.py +58 -0
  100. py_data_engine-0.4.0/src/data_engine/platform/posix_watchdog.py +764 -0
  101. py_data_engine-0.4.0/src/data_engine/platform/processes.py +1566 -0
  102. py_data_engine-0.4.0/src/data_engine/platform/windows_spawn.py +727 -0
  103. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/workspace_models.py +45 -33
  104. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/workspace_policy.py +22 -25
  105. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/engine.py +1 -1
  106. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/continuous.py +19 -14
  107. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/runner.py +10 -2
  108. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/file_watch.py +16 -15
  109. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/ledger_models.py +6 -0
  110. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/runtime_cache_store.py +90 -6
  111. py_data_engine-0.4.0/src/data_engine/runtime/runtime_control_store.py +514 -0
  112. py_data_engine-0.4.0/src/data_engine/runtime/shared_state.py +2066 -0
  113. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/sqlite_store.py +35 -5
  114. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/debug_artifacts.py +31 -8
  115. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/ledger.py +4 -12
  116. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/operator_commands.py +11 -11
  117. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/operator_queries.py +1 -1
  118. py_data_engine-0.4.0/src/data_engine/services/reset.py +68 -0
  119. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/runtime_binding.py +39 -3
  120. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/runtime_io.py +208 -53
  121. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/runtime_ports.py +6 -0
  122. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/runtime_state.py +6 -2
  123. py_data_engine-0.4.0/src/data_engine/services/shared_state.py +69 -0
  124. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/workspace_io.py +178 -56
  125. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/__init__.py +1 -1
  126. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/app.py +5 -6
  127. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/commands_doctor.py +49 -10
  128. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/commands_run.py +2 -6
  129. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/commands_start.py +0 -11
  130. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/parser.py +2 -5
  131. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/app_binding.py +0 -2
  132. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/controllers/flows.py +0 -7
  133. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/dialogs/inputs.py +7 -17
  134. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/launcher.py +13 -4
  135. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/logs.py +0 -2
  136. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/sidebar.py +1 -1
  137. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/workspace_binding.py +5 -3
  138. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/rendering/artifacts.py +54 -0
  139. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/surface.py +1 -1
  140. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/widgets/sidebar.py +2 -2
  141. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/__init__.py +1 -22
  142. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/actions.py +1 -53
  143. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/flow_display.py +4 -16
  144. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/presentation.py +1 -25
  145. py_data_engine-0.4.0/src/py_data_engine.egg-info/PKG-INFO +230 -0
  146. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/py_data_engine.egg-info/SOURCES.txt +4 -13
  147. py_data_engine-0.4.0/src/py_data_engine.egg-info/requires.txt +55 -0
  148. py_data_engine-0.3.11/PKG-INFO +0 -446
  149. py_data_engine-0.3.11/README.md +0 -374
  150. py_data_engine-0.3.11/src/data_engine/docs/html/objects.inv +0 -0
  151. py_data_engine-0.3.11/src/data_engine/docs/html/searchindex.js +0 -1
  152. py_data_engine-0.3.11/src/data_engine/hosts/daemon/client.py +0 -533
  153. py_data_engine-0.3.11/src/data_engine/hosts/daemon/ownership.py +0 -131
  154. py_data_engine-0.3.11/src/data_engine/hosts/daemon/runtime_commands.py +0 -301
  155. py_data_engine-0.3.11/src/data_engine/hosts/daemon/runtime_control.py +0 -35
  156. py_data_engine-0.3.11/src/data_engine/hosts/daemon/server.py +0 -118
  157. py_data_engine-0.3.11/src/data_engine/platform/processes.py +0 -218
  158. py_data_engine-0.3.11/src/data_engine/runtime/runtime_control_store.py +0 -251
  159. py_data_engine-0.3.11/src/data_engine/runtime/shared_state.py +0 -621
  160. py_data_engine-0.3.11/src/data_engine/services/reset.py +0 -61
  161. py_data_engine-0.3.11/src/data_engine/services/shared_state.py +0 -39
  162. py_data_engine-0.3.11/src/data_engine/ui/tui/__init__.py +0 -5
  163. py_data_engine-0.3.11/src/data_engine/ui/tui/app.py +0 -237
  164. py_data_engine-0.3.11/src/data_engine/ui/tui/app_binding.py +0 -126
  165. py_data_engine-0.3.11/src/data_engine/ui/tui/bootstrap.py +0 -471
  166. py_data_engine-0.3.11/src/data_engine/ui/tui/controllers/__init__.py +0 -6
  167. py_data_engine-0.3.11/src/data_engine/ui/tui/controllers/flows.py +0 -486
  168. py_data_engine-0.3.11/src/data_engine/ui/tui/controllers/runtime.py +0 -358
  169. py_data_engine-0.3.11/src/data_engine/ui/tui/runtime.py +0 -34
  170. py_data_engine-0.3.11/src/data_engine/ui/tui/state_support.py +0 -136
  171. py_data_engine-0.3.11/src/data_engine/ui/tui/support.py +0 -142
  172. py_data_engine-0.3.11/src/data_engine/ui/tui/theme.py +0 -204
  173. py_data_engine-0.3.11/src/data_engine/ui/tui/widgets.py +0 -123
  174. py_data_engine-0.3.11/src/data_engine/views/text.py +0 -109
  175. py_data_engine-0.3.11/src/py_data_engine.egg-info/PKG-INFO +0 -446
  176. py_data_engine-0.3.11/src/py_data_engine.egg-info/requires.txt +0 -57
  177. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/LICENSE +0 -0
  178. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/MANIFEST.in +0 -0
  179. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/setup.cfg +0 -0
  180. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/setup.py +0 -0
  181. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/__init__.py +0 -0
  182. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/application/__init__.py +0 -0
  183. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/application/catalog.py +0 -0
  184. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/application/control.py +0 -0
  185. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/application/details.py +0 -0
  186. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/application/workspace.py +0 -0
  187. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/authoring/__init__.py +0 -0
  188. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/authoring/services.py +0 -0
  189. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/core/__init__.py +0 -0
  190. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/core/helpers.py +0 -0
  191. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/core/model.py +0 -0
  192. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/core/primitives.py +0 -0
  193. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/devtools/__init__.py +0 -0
  194. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/devtools/project_ast_map.py +0 -0
  195. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/devtools/smoke_data.py +0 -0
  196. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/__init__.py +0 -0
  197. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/api.rst.txt +0 -0
  198. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/authoring-flow-modules.md.txt +0 -0
  199. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/configuring-flows.md.txt +0 -0
  200. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/core-concepts.md.txt +0 -0
  201. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/database-methods.md.txt +0 -0
  202. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/duckdb-helpers.md.txt +0 -0
  203. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/excel-helpers.md.txt +0 -0
  204. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/flow-context.md.txt +0 -0
  205. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/guides/flow-methods.md.txt +0 -0
  206. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_sources/index.rst.txt +0 -0
  207. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  208. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/base-stemmer.js +0 -0
  209. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/basic.css +0 -0
  210. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/badge_only.css +0 -0
  211. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  212. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  213. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  214. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  215. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  216. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  217. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  218. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  219. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  220. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  221. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  222. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-bold.woff +0 -0
  223. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-bold.woff2 +0 -0
  224. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  225. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  226. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-normal.woff +0 -0
  227. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/fonts/lato-normal.woff2 +0 -0
  228. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/css/theme.css +0 -0
  229. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/custom.css +0 -0
  230. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/doctools.js +0 -0
  231. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/english-stemmer.js +0 -0
  232. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/file.png +0 -0
  233. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.eot +0 -0
  234. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  235. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.woff +0 -0
  236. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  237. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  238. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  239. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  240. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  241. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.eot +0 -0
  242. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  243. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.woff +0 -0
  244. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  245. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.eot +0 -0
  246. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  247. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.woff +0 -0
  248. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  249. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  250. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  251. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  252. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  253. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  254. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  255. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  256. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  257. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/jquery.js +0 -0
  258. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/js/badge_only.js +0 -0
  259. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/js/theme.js +0 -0
  260. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/js/versions.js +0 -0
  261. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/language_data.js +0 -0
  262. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/minus.png +0 -0
  263. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/plus.png +0 -0
  264. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/pygments.css +0 -0
  265. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/searchtools.js +0 -0
  266. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/html/_static/sphinx_highlight.js +0 -0
  267. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/_static/custom.css +0 -0
  268. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/api.rst +0 -0
  269. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/conf.py +0 -0
  270. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/authoring-flow-modules.md +0 -0
  271. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/configuring-flows.md +0 -0
  272. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/core-concepts.md +0 -0
  273. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/database-methods.md +0 -0
  274. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/duckdb-helpers.md +0 -0
  275. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/excel-helpers.md +0 -0
  276. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/flow-context.md +0 -0
  277. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/guides/flow-methods.md +0 -0
  278. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/docs/sphinx_source/index.rst +0 -0
  279. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/__init__.py +0 -0
  280. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/catalog.py +0 -0
  281. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/debug_artifacts.py +0 -0
  282. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/details.py +0 -0
  283. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/diagnostics.py +0 -0
  284. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/errors.py +0 -0
  285. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/inspection.py +0 -0
  286. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/logs.py +0 -0
  287. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/operations.py +0 -0
  288. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/operator.py +0 -0
  289. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/runs.py +0 -0
  290. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/source_state.py +0 -0
  291. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/support.py +0 -0
  292. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/time.py +0 -0
  293. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/domain/workspace.py +0 -0
  294. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/flow_modules/__init__.py +0 -0
  295. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/flow_modules/flow_module_compiler.py +0 -0
  296. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/flow_modules/flow_module_loader.py +0 -0
  297. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/duckdb/__init__.py +0 -0
  298. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/duckdb/_common.py +0 -0
  299. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/duckdb/_dimensions.py +0 -0
  300. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/duckdb/_maintenance.py +0 -0
  301. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/duckdb/_read.py +0 -0
  302. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/duckdb/_replace.py +0 -0
  303. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/helpers/schema.py +0 -0
  304. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/__init__.py +0 -0
  305. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/__init__.py +0 -0
  306. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/daemon/runtime_ledger.py +0 -0
  307. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/hosts/scheduler.py +0 -0
  308. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/__init__.py +0 -0
  309. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/instrumentation.py +0 -0
  310. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/interpreters.py +0 -0
  311. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/paths.py +0 -0
  312. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/platform/theme.py +0 -0
  313. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/__init__.py +0 -0
  314. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/__init__.py +0 -0
  315. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/app.py +0 -0
  316. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/context.py +0 -0
  317. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/grouped.py +0 -0
  318. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/logging.py +0 -0
  319. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/polling.py +0 -0
  320. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/execution/single.py +0 -0
  321. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/result_cleanup.py +0 -0
  322. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/runtime_db.py +0 -0
  323. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/runtime/stop.py +0 -0
  324. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/__init__.py +0 -0
  325. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/daemon.py +0 -0
  326. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/daemon_state.py +0 -0
  327. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/flow_catalog.py +0 -0
  328. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/flow_execution.py +0 -0
  329. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/logs.py +0 -0
  330. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/runtime_execution.py +0 -0
  331. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/runtime_history.py +0 -0
  332. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/settings.py +0 -0
  333. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/theme.py +0 -0
  334. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/workspace_provisioning.py +0 -0
  335. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/services/workspaces.py +0 -0
  336. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/__init__.py +0 -0
  337. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/commands_workspace.py +0 -0
  338. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/cli/dependencies.py +0 -0
  339. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/__init__.py +0 -0
  340. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/app.py +0 -0
  341. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/bootstrap.py +0 -0
  342. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/cache_models.py +0 -0
  343. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/control_support.py +0 -0
  344. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/controllers/__init__.py +0 -0
  345. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/controllers/runtime.py +0 -0
  346. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/dialogs/__init__.py +0 -0
  347. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/dialogs/messages.py +0 -0
  348. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/dialogs/previews.py +0 -0
  349. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/helpers/__init__.py +0 -0
  350. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/helpers/inspection.py +0 -0
  351. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/helpers/lifecycle.py +0 -0
  352. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/helpers/scroll.py +0 -0
  353. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/helpers/theming.py +0 -0
  354. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/check-mark-dark.svg +0 -0
  355. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/check-mark-light.svg +0 -0
  356. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/dark_light.svg +0 -0
  357. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/dataframe.svg +0 -0
  358. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/debug.svg +0 -0
  359. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/documentation.svg +0 -0
  360. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/down-chevron-dark.svg +0 -0
  361. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/down-chevron-light.svg +0 -0
  362. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/failed.svg +0 -0
  363. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/group.svg +0 -0
  364. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/home.svg +0 -0
  365. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/manual.svg +0 -0
  366. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/poll.svg +0 -0
  367. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/schedule.svg +0 -0
  368. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/select-all-all.svg +0 -0
  369. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/select-all-none.svg +0 -0
  370. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/select-all-partial.svg +0 -0
  371. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/settings.svg +0 -0
  372. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/sort-ascending.svg +0 -0
  373. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/sort-descending.svg +0 -0
  374. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/started.svg +0 -0
  375. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/success.svg +0 -0
  376. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/up-chevron-dark.svg +0 -0
  377. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/up-chevron-light.svg +0 -0
  378. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons/view-log.svg +0 -0
  379. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/icons.py +0 -0
  380. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/__init__.py +0 -0
  381. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/dataframes.py +0 -0
  382. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/debug.py +0 -0
  383. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/docs.py +0 -0
  384. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/runtime_projection.py +0 -0
  385. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/steps.py +0 -0
  386. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/workspace.py +0 -0
  387. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/presenters/workspace_settings.py +0 -0
  388. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/preview_models.py +0 -0
  389. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/render_support.py +0 -0
  390. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/rendering/__init__.py +0 -0
  391. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/rendering/icons.py +0 -0
  392. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/rendering/preview_filters.py +0 -0
  393. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/runtime.py +0 -0
  394. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/state_support.py +0 -0
  395. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/support.py +0 -0
  396. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/theme.py +0 -0
  397. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/widgets/__init__.py +0 -0
  398. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/widgets/config.py +0 -0
  399. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/widgets/log_list.py +0 -0
  400. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/widgets/logs.py +0 -0
  401. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/widgets/panels.py +0 -0
  402. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/ui/gui/widgets/steps.py +0 -0
  403. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/artifacts.py +0 -0
  404. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/logs.py +0 -0
  405. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/models.py +0 -0
  406. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/runs.py +0 -0
  407. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/selection.py +0 -0
  408. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/state.py +0 -0
  409. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/data_engine/views/status.py +0 -0
  410. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/py_data_engine.egg-info/dependency_links.txt +0 -0
  411. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/py_data_engine.egg-info/entry_points.txt +0 -0
  412. {py_data_engine-0.3.11 → py_data_engine-0.4.0}/src/py_data_engine.egg-info/top_level.txt +0 -0
@@ -0,0 +1,230 @@
1
+ Metadata-Version: 2.4
2
+ Name: py-data-engine
3
+ Version: 0.4.0
4
+ Summary: GUI orchestrator for python-based dataframe transform pipelines.
5
+ Author: Data Engine contributors
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/bj-data-eng/data-engine
8
+ Project-URL: Repository, https://github.com/bj-data-eng/data-engine
9
+ Project-URL: Issues, https://github.com/bj-data-eng/data-engine/issues
10
+ Keywords: duckdb,excel,parquet,flow,polars,notebook
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Topic :: Database
16
+ Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Requires-Python: >=3.14
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: APScheduler==3.11.3
22
+ Requires-Dist: duckdb==1.5.4
23
+ Requires-Dist: fastexcel==0.20.2
24
+ Requires-Dist: numpy==2.5.1
25
+ Requires-Dist: openpyxl==3.1.5
26
+ Requires-Dist: polars==1.42.1
27
+ Requires-Dist: pyarrow==25.0.0
28
+ Requires-Dist: PySide6==6.11.1
29
+ Requires-Dist: xlsxwriter==3.2.9
30
+ Provides-Extra: synthetic
31
+ Requires-Dist: openpyxl==3.1.5; extra == "synthetic"
32
+ Requires-Dist: pandas==3.0.3; extra == "synthetic"
33
+ Provides-Extra: notebook
34
+ Requires-Dist: ipykernel==7.3.0; extra == "notebook"
35
+ Requires-Dist: ipython==9.15.0; extra == "notebook"
36
+ Requires-Dist: jupyterlab==4.6.1; extra == "notebook"
37
+ Requires-Dist: notebook==7.6.0; extra == "notebook"
38
+ Provides-Extra: docs
39
+ Requires-Dist: myst-parser==5.1.0; extra == "docs"
40
+ Requires-Dist: Sphinx==9.1.0; extra == "docs"
41
+ Requires-Dist: sphinx_rtd_theme==3.1.0; extra == "docs"
42
+ Provides-Extra: package
43
+ Requires-Dist: build==1.5.1; extra == "package"
44
+ Requires-Dist: pyinstaller==6.21.0; extra == "package"
45
+ Requires-Dist: twine==6.2.0; extra == "package"
46
+ Provides-Extra: test
47
+ Requires-Dist: openpyxl==3.1.5; extra == "test"
48
+ Requires-Dist: pandas==3.0.3; extra == "test"
49
+ Requires-Dist: pydocstyle==6.3.0; extra == "test"
50
+ Requires-Dist: pytest==9.1.1; extra == "test"
51
+ Requires-Dist: pytest-cov==7.1.0; extra == "test"
52
+ Provides-Extra: dev
53
+ Requires-Dist: ipykernel==7.3.0; extra == "dev"
54
+ Requires-Dist: ipython==9.15.0; extra == "dev"
55
+ Requires-Dist: jupyterlab==4.6.1; extra == "dev"
56
+ Requires-Dist: myst-parser==5.1.0; extra == "dev"
57
+ Requires-Dist: notebook==7.6.0; extra == "dev"
58
+ Requires-Dist: numpy==2.5.1; extra == "dev"
59
+ Requires-Dist: openpyxl==3.1.5; extra == "dev"
60
+ Requires-Dist: pandas==3.0.3; extra == "dev"
61
+ Requires-Dist: pydoclint==0.9.1; extra == "dev"
62
+ Requires-Dist: pydocstyle==6.3.0; extra == "dev"
63
+ Requires-Dist: pyinstaller==6.21.0; extra == "dev"
64
+ Requires-Dist: pytest==9.1.1; extra == "dev"
65
+ Requires-Dist: pytest-cov==7.1.0; extra == "dev"
66
+ Requires-Dist: ruff==0.15.21; extra == "dev"
67
+ Requires-Dist: Sphinx==9.1.0; extra == "dev"
68
+ Requires-Dist: sphinx_rtd_theme==3.1.0; extra == "dev"
69
+ Requires-Dist: viztracer==1.1.1; extra == "dev"
70
+ Dynamic: license-file
71
+
72
+ # Data Engine
73
+
74
+ Data Engine is a GUI orchestrator for Python dataframe workflows. It lets you
75
+ author flows as plain Python modules, run them manually or automatically, and
76
+ inspect parquet-first outputs from the desktop app.
77
+
78
+ The runtime is built around:
79
+
80
+ - workspace-based flow discovery
81
+ - manual, poll, and schedule execution modes
82
+ - Polars and DuckDB-friendly flow steps
83
+ - mirrored output paths for source-driven runs
84
+ - saved run, log, and dataframe inspection state
85
+ - a desktop operator surface
86
+
87
+ ## Install
88
+
89
+ Use the installer for your environment:
90
+
91
+ - macOS: [INSTALL/INSTALL MAC.command](INSTALL/INSTALL%20MAC.command)
92
+ - Windows: [INSTALL/INSTALL WINDOWS.bat](INSTALL/INSTALL%20WINDOWS.bat)
93
+
94
+ For local development:
95
+
96
+ ```bash
97
+ python -m pip install --constraint requirements/constraints.txt -e ".[dev]"
98
+ ```
99
+
100
+ For a published package install:
101
+
102
+ ```bash
103
+ python -m pip install py-data-engine
104
+ ```
105
+
106
+ Data Engine requires Python `>=3.14`.
107
+
108
+ Dependency pinning, constrained installs, and hash-locked runtime installs are
109
+ documented in [SECURITY.md](SECURITY.md).
110
+
111
+ ## Start
112
+
113
+ Desktop GUI:
114
+
115
+ ```bash
116
+ data-engine start gui
117
+ ```
118
+
119
+ Headless commands:
120
+
121
+ ```bash
122
+ data-engine list
123
+ data-engine show example_summary
124
+ data-engine run --once example_summary
125
+ data-engine run
126
+ ```
127
+
128
+ ## Minimal Flow
129
+
130
+ ```python
131
+ from data_engine import Flow
132
+ import polars as pl
133
+
134
+
135
+ def read_docs(context):
136
+ return pl.read_excel(context.source.path)
137
+
138
+
139
+ def keep_open(context):
140
+ return context.current.filter(pl.col("status") == "OPEN")
141
+
142
+
143
+ def write_parquet(context):
144
+ output = context.mirror.with_suffix(".parquet")
145
+ context.current.write_parquet(output)
146
+ return output
147
+
148
+
149
+ def build():
150
+ return (
151
+ Flow(group="Docs")
152
+ .watch(
153
+ mode="poll",
154
+ source="../../../example_data/Input/docs_flat",
155
+ interval="5s",
156
+ extensions=[".xlsx", ".xls", ".xlsm"],
157
+ settle=1,
158
+ )
159
+ .mirror(root="../../../example_data/Output/example_mirror")
160
+ .step(read_docs, save_as="raw_df")
161
+ .step(keep_open, use="raw_df", save_as="filtered_df")
162
+ .step(write_parquet, use="filtered_df")
163
+ )
164
+ ```
165
+
166
+ Each authored flow module exports `build() -> Flow`. The module filename is the
167
+ flow identity.
168
+
169
+ ## Workspaces
170
+
171
+ Data Engine discovers workspaces from a collection root. Each workspace keeps
172
+ authored flows under:
173
+
174
+ ```text
175
+ workspaces/<workspace_id>/flow_modules/
176
+ ```
177
+
178
+ Shared workspace state lives under:
179
+
180
+ ```text
181
+ workspaces/<workspace_id>/.workspace_state/
182
+ ```
183
+
184
+ Machine-local runtime artifacts are stored outside the authored workspace.
185
+
186
+ ## Useful APIs
187
+
188
+ ```python
189
+ from data_engine import Flow, FlowContext, discover_flows, load_flow, run
190
+ ```
191
+
192
+ Common `Flow` methods:
193
+
194
+ - `.watch(...)`
195
+ - `.mirror(...)`
196
+ - `.date_range_input(...)`
197
+ - `.step(...)`
198
+ - `.collect(...)`
199
+ - `.map(...)`
200
+ - `.step_each(...)`
201
+ - `.preview(...)`
202
+ - `.run_once()`
203
+ - `.run()`
204
+
205
+ Common `FlowContext` values:
206
+
207
+ - `context.source`
208
+ - `context.mirror`
209
+ - `context.current`
210
+ - `context.objects`
211
+ - `context.metadata`
212
+ - `context.database("analytics.duckdb")`
213
+ - `context.template("reports/base.xlsx")`
214
+ - `context.debug`
215
+
216
+ The full authoring guide and helper reference live in
217
+ `src/data_engine/docs/sphinx_source/guides/`.
218
+
219
+ ## Testing
220
+
221
+ ```bash
222
+ python -m pytest -q
223
+ python -m build
224
+ python -m twine check dist/*
225
+ ```
226
+
227
+ ## Status
228
+
229
+ This project is pre-alpha. Internal architecture is still moving quickly, and
230
+ backwards compatibility is not a current goal.
@@ -0,0 +1,159 @@
1
+ # Data Engine
2
+
3
+ Data Engine is a GUI orchestrator for Python dataframe workflows. It lets you
4
+ author flows as plain Python modules, run them manually or automatically, and
5
+ inspect parquet-first outputs from the desktop app.
6
+
7
+ The runtime is built around:
8
+
9
+ - workspace-based flow discovery
10
+ - manual, poll, and schedule execution modes
11
+ - Polars and DuckDB-friendly flow steps
12
+ - mirrored output paths for source-driven runs
13
+ - saved run, log, and dataframe inspection state
14
+ - a desktop operator surface
15
+
16
+ ## Install
17
+
18
+ Use the installer for your environment:
19
+
20
+ - macOS: [INSTALL/INSTALL MAC.command](INSTALL/INSTALL%20MAC.command)
21
+ - Windows: [INSTALL/INSTALL WINDOWS.bat](INSTALL/INSTALL%20WINDOWS.bat)
22
+
23
+ For local development:
24
+
25
+ ```bash
26
+ python -m pip install --constraint requirements/constraints.txt -e ".[dev]"
27
+ ```
28
+
29
+ For a published package install:
30
+
31
+ ```bash
32
+ python -m pip install py-data-engine
33
+ ```
34
+
35
+ Data Engine requires Python `>=3.14`.
36
+
37
+ Dependency pinning, constrained installs, and hash-locked runtime installs are
38
+ documented in [SECURITY.md](SECURITY.md).
39
+
40
+ ## Start
41
+
42
+ Desktop GUI:
43
+
44
+ ```bash
45
+ data-engine start gui
46
+ ```
47
+
48
+ Headless commands:
49
+
50
+ ```bash
51
+ data-engine list
52
+ data-engine show example_summary
53
+ data-engine run --once example_summary
54
+ data-engine run
55
+ ```
56
+
57
+ ## Minimal Flow
58
+
59
+ ```python
60
+ from data_engine import Flow
61
+ import polars as pl
62
+
63
+
64
+ def read_docs(context):
65
+ return pl.read_excel(context.source.path)
66
+
67
+
68
+ def keep_open(context):
69
+ return context.current.filter(pl.col("status") == "OPEN")
70
+
71
+
72
+ def write_parquet(context):
73
+ output = context.mirror.with_suffix(".parquet")
74
+ context.current.write_parquet(output)
75
+ return output
76
+
77
+
78
+ def build():
79
+ return (
80
+ Flow(group="Docs")
81
+ .watch(
82
+ mode="poll",
83
+ source="../../../example_data/Input/docs_flat",
84
+ interval="5s",
85
+ extensions=[".xlsx", ".xls", ".xlsm"],
86
+ settle=1,
87
+ )
88
+ .mirror(root="../../../example_data/Output/example_mirror")
89
+ .step(read_docs, save_as="raw_df")
90
+ .step(keep_open, use="raw_df", save_as="filtered_df")
91
+ .step(write_parquet, use="filtered_df")
92
+ )
93
+ ```
94
+
95
+ Each authored flow module exports `build() -> Flow`. The module filename is the
96
+ flow identity.
97
+
98
+ ## Workspaces
99
+
100
+ Data Engine discovers workspaces from a collection root. Each workspace keeps
101
+ authored flows under:
102
+
103
+ ```text
104
+ workspaces/<workspace_id>/flow_modules/
105
+ ```
106
+
107
+ Shared workspace state lives under:
108
+
109
+ ```text
110
+ workspaces/<workspace_id>/.workspace_state/
111
+ ```
112
+
113
+ Machine-local runtime artifacts are stored outside the authored workspace.
114
+
115
+ ## Useful APIs
116
+
117
+ ```python
118
+ from data_engine import Flow, FlowContext, discover_flows, load_flow, run
119
+ ```
120
+
121
+ Common `Flow` methods:
122
+
123
+ - `.watch(...)`
124
+ - `.mirror(...)`
125
+ - `.date_range_input(...)`
126
+ - `.step(...)`
127
+ - `.collect(...)`
128
+ - `.map(...)`
129
+ - `.step_each(...)`
130
+ - `.preview(...)`
131
+ - `.run_once()`
132
+ - `.run()`
133
+
134
+ Common `FlowContext` values:
135
+
136
+ - `context.source`
137
+ - `context.mirror`
138
+ - `context.current`
139
+ - `context.objects`
140
+ - `context.metadata`
141
+ - `context.database("analytics.duckdb")`
142
+ - `context.template("reports/base.xlsx")`
143
+ - `context.debug`
144
+
145
+ The full authoring guide and helper reference live in
146
+ `src/data_engine/docs/sphinx_source/guides/`.
147
+
148
+ ## Testing
149
+
150
+ ```bash
151
+ python -m pytest -q
152
+ python -m build
153
+ python -m twine check dist/*
154
+ ```
155
+
156
+ ## Status
157
+
158
+ This project is pre-alpha. Internal architecture is still moving quickly, and
159
+ backwards compatibility is not a current goal.
@@ -1,15 +1,15 @@
1
1
  [build-system]
2
2
  requires = [
3
- "setuptools>=68",
4
- "wheel",
5
- "APScheduler>=3.11.0",
6
- "duckdb>=1.5.0",
7
- "numpy>=2.4.0",
8
- "polars>=1.39.0",
9
- "myst-parser>=4.0.0",
10
- "Sphinx>=9.1.0",
11
- "sphinx_rtd_theme>=3.1.0",
12
- "xlsxwriter>=3.2.9",
3
+ "setuptools==83.0.0",
4
+ "APScheduler==3.11.3",
5
+ "duckdb==1.5.4",
6
+ "myst-parser==5.1.0",
7
+ "numpy==2.5.1",
8
+ "openpyxl==3.1.5",
9
+ "polars==1.42.1",
10
+ "Sphinx==9.1.0",
11
+ "sphinx_rtd_theme==3.1.0",
12
+ "xlsxwriter==3.2.9",
13
13
  ]
14
14
  build-backend = "setuptools.build_meta"
15
15
 
@@ -35,16 +35,15 @@ classifiers = [
35
35
  "Topic :: Software Development :: Libraries :: Python Modules",
36
36
  ]
37
37
  dependencies = [
38
- "APScheduler>=3.11.0",
39
- "duckdb>=1.5.0",
40
- "fastexcel>=0.19.0",
41
- "numpy>=2.4.0",
42
- "openpyxl>=3.1.0",
43
- "polars>=1.39.0",
44
- "pyarrow>=23.0.1",
45
- "PySide6>=6.9.0",
46
- "textual>=0.74.0",
47
- "xlsxwriter>=3.2.9",
38
+ "APScheduler==3.11.3",
39
+ "duckdb==1.5.4",
40
+ "fastexcel==0.20.2",
41
+ "numpy==2.5.1",
42
+ "openpyxl==3.1.5",
43
+ "polars==1.42.1",
44
+ "pyarrow==25.0.0",
45
+ "PySide6==6.11.1",
46
+ "xlsxwriter==3.2.9",
48
47
  ]
49
48
 
50
49
  [project.urls]
@@ -56,52 +55,51 @@ Issues = "https://github.com/bj-data-eng/data-engine/issues"
56
55
  data-engine = "data_engine.ui.cli.app:main"
57
56
 
58
57
  [project.optional-dependencies]
59
- polars-lts = [
60
- "polars-lts-cpu>=1.33.1",
61
- ]
62
58
  synthetic = [
63
- "openpyxl>=3.1.0",
64
- "pandas>=3.0.0",
59
+ "openpyxl==3.1.5",
60
+ "pandas==3.0.3",
65
61
  ]
66
62
  notebook = [
67
- "ipykernel>=7.0.0",
68
- "ipython>=9.0.0",
69
- "jupyterlab>=4.4.0",
70
- "notebook>=7.4.0",
63
+ "ipykernel==7.3.0",
64
+ "ipython==9.15.0",
65
+ "jupyterlab==4.6.1",
66
+ "notebook==7.6.0",
71
67
  ]
72
68
  docs = [
73
- "myst-parser>=4.0.0",
74
- "Sphinx>=9.1.0",
75
- "sphinx_rtd_theme>=3.1.0",
69
+ "myst-parser==5.1.0",
70
+ "Sphinx==9.1.0",
71
+ "sphinx_rtd_theme==3.1.0",
76
72
  ]
77
73
  package = [
78
- "pyinstaller>=6.15.0",
74
+ "build==1.5.1",
75
+ "pyinstaller==6.21.0",
76
+ "twine==6.2.0",
79
77
  ]
80
78
  test = [
81
- "openpyxl>=3.1.0",
82
- "pandas>=3.0.0",
83
- "pydocstyle>=6.3.0",
84
- "pytest>=9.0.0",
85
- "pytest-cov>=7.0.0",
79
+ "openpyxl==3.1.5",
80
+ "pandas==3.0.3",
81
+ "pydocstyle==6.3.0",
82
+ "pytest==9.1.1",
83
+ "pytest-cov==7.1.0",
86
84
  ]
87
85
  dev = [
88
- "ipykernel>=7.0.0",
89
- "ipython>=9.0.0",
90
- "jupyterlab>=4.4.0",
91
- "myst-parser>=4.0.0",
92
- "notebook>=7.4.0",
93
- "numpy>=2.4.0",
94
- "openpyxl>=3.1.0",
95
- "pandas>=3.0.0",
96
- "pydoclint>=0.7.6",
97
- "pydocstyle>=6.3.0",
98
- "pyinstaller>=6.15.0",
99
- "pytest>=9.0.0",
100
- "pytest-cov>=7.0.0",
101
- "ruff>=0.15.10",
102
- "Sphinx>=9.1.0",
103
- "sphinx_rtd_theme>=3.1.0",
104
- "viztracer>=1.1.0",
86
+ "ipykernel==7.3.0",
87
+ "ipython==9.15.0",
88
+ "jupyterlab==4.6.1",
89
+ "myst-parser==5.1.0",
90
+ "notebook==7.6.0",
91
+ "numpy==2.5.1",
92
+ "openpyxl==3.1.5",
93
+ "pandas==3.0.3",
94
+ "pydoclint==0.9.1",
95
+ "pydocstyle==6.3.0",
96
+ "pyinstaller==6.21.0",
97
+ "pytest==9.1.1",
98
+ "pytest-cov==7.1.0",
99
+ "ruff==0.15.21",
100
+ "Sphinx==9.1.0",
101
+ "sphinx_rtd_theme==3.1.0",
102
+ "viztracer==1.1.1",
105
103
  ]
106
104
 
107
105
  [tool.setuptools]
@@ -18,10 +18,8 @@ class ActionStateApplication:
18
18
  active_flow_states,
19
19
  engine_state: str = "idle",
20
20
  live_runs: dict[str, object] | None = None,
21
- has_logs: bool,
22
21
  has_automated_flows: bool,
23
22
  workspace_available: bool = True,
24
- selected_run_group_present: bool = False,
25
23
  local_request_pending: bool = False,
26
24
  overlay: PendingWorkspaceActionOverlay | None = None,
27
25
  ) -> OperatorActionContext:
@@ -32,7 +30,6 @@ class ActionStateApplication:
32
30
  runtime_session=runtime_session,
33
31
  flow_groups_by_name=flow_groups_by_name,
34
32
  active_flow_states=active_flow_states,
35
- has_logs=has_logs,
36
33
  live_runs=live_runs,
37
34
  )
38
35
  return OperatorActionContext(
@@ -41,7 +38,6 @@ class ActionStateApplication:
41
38
  has_automated_flows=has_automated_flows,
42
39
  engine_state=engine_state,
43
40
  workspace_available=workspace_available,
44
- selected_run_group_present=selected_run_group_present,
45
41
  local_request_pending=local_request_pending,
46
42
  overlay=PendingWorkspaceActionOverlay() if overlay is None else overlay,
47
43
  )
@@ -24,6 +24,9 @@ from data_engine.platform.workspace_models import WorkspacePaths, authored_works
24
24
  from data_engine.services import DaemonService, DaemonStateService, SharedStateService
25
25
 
26
26
 
27
+ _FLOW_RESET_TIMEOUT_SECONDS = 120.0
28
+
29
+
27
30
  @dataclass(frozen=True)
28
31
  class DaemonCommandResult:
29
32
  """Normalized outcome of one daemon command request."""
@@ -278,6 +281,16 @@ class RuntimeApplication:
278
281
  """Request one manual flow stop through the daemon."""
279
282
  return self._request(paths, {"command": "stop_flow", "name": name}, timeout=timeout)
280
283
 
284
+ def reset_flow(
285
+ self,
286
+ paths: WorkspacePaths,
287
+ *,
288
+ name: str,
289
+ timeout: float = _FLOW_RESET_TIMEOUT_SECONDS,
290
+ ) -> DaemonCommandResult:
291
+ """Reset one flow through the daemon that owns shared snapshot publication."""
292
+ return self._request(paths, {"command": "reset_flow", "name": name}, timeout=timeout)
293
+
281
294
  def daemon_status(self, paths: WorkspacePaths, *, timeout: float = 0.0) -> DaemonCommandResult:
282
295
  """Request raw daemon status for host/CLI inspection."""
283
296
  return self._request(paths, {"command": "daemon_status"}, timeout=timeout)
@@ -94,10 +94,10 @@ class Flow(_CoreFlow):
94
94
 
95
95
  Parameters
96
96
  ----------
97
- authoring_services : AuthoringServices | None
98
- Optional service bundle used by tests or embedded hosts.
99
97
  inputs : dict[str, object] | None
100
98
  Submitted manual-run input values for flows that declare them.
99
+ authoring_services : AuthoringServices | None
100
+ Optional service bundle used by tests or embedded hosts.
101
101
  runtime_execution_service : RuntimeExecutionService | None
102
102
  Optional runtime execution service override.
103
103
 
@@ -47,7 +47,7 @@ class Flow:
47
47
  Attributes
48
48
  ----------
49
49
  group : str
50
- Display group used by the GUI, TUI, and runtime summaries.
50
+ Display group used by the GUI and runtime summaries.
51
51
  name : str | None
52
52
  Stable flow identifier. When omitted in a flow module, the module loader
53
53
  can derive it from the module name.