py-data-engine 0.3.0__tar.gz → 0.3.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 (377) hide show
  1. {py_data_engine-0.3.0/src/py_data_engine.egg-info → py_data_engine-0.3.1}/PKG-INFO +192 -72
  2. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/README.md +189 -69
  3. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/pyproject.toml +2 -2
  4. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/authoring/flow.html +1 -1
  5. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/core/flow.html +1 -1
  6. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/core/model.html +1 -1
  7. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/core/primitives.html +1 -1
  8. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_dimensions.html +1 -1
  9. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_maintenance.html +1 -1
  10. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_read.html +1 -1
  11. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/helpers/duckdb/_replace.html +1 -1
  12. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/helpers/polars.html +1 -1
  13. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/helpers/schema.html +1 -1
  14. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/hosts/scheduler.html +1 -1
  15. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/runtime/engine.html +1 -1
  16. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/runtime/execution/grouped.html +1 -1
  17. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/runtime/execution/single.html +1 -1
  18. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/runtime/file_watch.html +1 -1
  19. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/runtime/stop.html +1 -1
  20. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/daemon.html +1 -1
  21. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/daemon_state.html +1 -1
  22. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/flow_catalog.html +1 -1
  23. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/flow_execution.html +1 -1
  24. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/ledger.html +1 -1
  25. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/logs.html +1 -1
  26. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/runtime_binding.html +1 -1
  27. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/runtime_execution.html +1 -1
  28. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/runtime_history.html +1 -1
  29. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/settings.html +1 -1
  30. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/shared_state.html +1 -1
  31. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/theme.html +1 -1
  32. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/workspace_provisioning.html +1 -1
  33. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/data_engine/services/workspaces.html +1 -1
  34. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/index.html +1 -1
  35. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/app-runtime-and-workspaces.md.txt +3 -3
  36. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/authoring-flow-modules.md.txt +10 -4
  37. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/configuring-flows.md.txt +6 -3
  38. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/core-concepts.md.txt +9 -3
  39. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/flow-context.md.txt +51 -0
  40. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/flow-methods.md.txt +15 -1
  41. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/getting-started.md.txt +6 -4
  42. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/project-inventory.md.txt +276 -14
  43. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/project-map.md.txt +6 -6
  44. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/recipes.md.txt +34 -0
  45. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/documentation_options.js +1 -1
  46. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/api.html +1 -1
  47. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/genindex.html +1 -1
  48. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/app-runtime-and-workspaces.html +4 -4
  49. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/authoring-flow-modules.html +8 -5
  50. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/configuring-flows.html +6 -4
  51. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/core-concepts.html +8 -4
  52. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/database-methods.html +1 -1
  53. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/duckdb-helpers.html +1 -1
  54. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/flow-context.html +47 -1
  55. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/flow-methods.html +12 -2
  56. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/getting-started.html +6 -5
  57. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/project-inventory.html +451 -15
  58. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/project-map.html +22 -22
  59. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/recipes.html +32 -1
  60. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/index.html +3 -1
  61. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/py-modindex.html +1 -1
  62. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/search.html +1 -1
  63. py_data_engine-0.3.1/src/data_engine/docs/html/searchindex.js +1 -0
  64. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/app-runtime-and-workspaces.md +3 -3
  65. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/authoring-flow-modules.md +10 -4
  66. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/configuring-flows.md +6 -3
  67. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/core-concepts.md +9 -3
  68. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/flow-context.md +51 -0
  69. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/flow-methods.md +15 -1
  70. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/getting-started.md +6 -4
  71. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/project-inventory.md +276 -14
  72. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/project-map.md +6 -6
  73. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/recipes.md +34 -0
  74. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/composition.py +12 -0
  75. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/lifecycle.py +10 -0
  76. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/identity.py +1 -1
  77. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/debug_artifacts.py +5 -12
  78. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/_data_engine_egui.pyd +0 -0
  79. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/dialogs/messages.py +2 -0
  80. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/dialogs/previews.py +51 -5
  81. py_data_engine-0.3.1/src/data_engine/ui/gui/presenters/debug.py +248 -0
  82. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/sidebar.py +6 -5
  83. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/workspace_binding.py +1 -7
  84. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/rendering/__init__.py +2 -2
  85. py_data_engine-0.3.1/src/data_engine/ui/gui/rendering/artifacts.py +1063 -0
  86. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/theme.py +47 -9
  87. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/panels.py +36 -40
  88. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/controllers/flows.py +2 -5
  89. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/presentation.py +7 -3
  90. {py_data_engine-0.3.0 → py_data_engine-0.3.1/src/py_data_engine.egg-info}/PKG-INFO +192 -72
  91. py_data_engine-0.3.0/src/data_engine/docs/html/searchindex.js +0 -1
  92. py_data_engine-0.3.0/src/data_engine/ui/gui/presenters/debug.py +0 -133
  93. py_data_engine-0.3.0/src/data_engine/ui/gui/rendering/artifacts.py +0 -143
  94. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/LICENSE +0 -0
  95. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/MANIFEST.in +0 -0
  96. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/setup.cfg +0 -0
  97. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/setup.py +0 -0
  98. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/__init__.py +0 -0
  99. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/__init__.py +0 -0
  100. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/actions.py +0 -0
  101. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/catalog.py +0 -0
  102. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/control.py +0 -0
  103. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/details.py +0 -0
  104. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/runtime.py +0 -0
  105. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/workspace.py +0 -0
  106. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/authoring/__init__.py +0 -0
  107. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/authoring/flow.py +0 -0
  108. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/authoring/services.py +0 -0
  109. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/__init__.py +0 -0
  110. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/flow.py +0 -0
  111. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/helpers.py +0 -0
  112. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/model.py +0 -0
  113. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/primitives.py +0 -0
  114. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/devtools/__init__.py +0 -0
  115. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/devtools/project_ast_map.py +0 -0
  116. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/devtools/smoke_data.py +0 -0
  117. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/__init__.py +0 -0
  118. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/api.rst.txt +0 -0
  119. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/database-methods.md.txt +0 -0
  120. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/duckdb-helpers.md.txt +0 -0
  121. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/index.rst.txt +0 -0
  122. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  123. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/base-stemmer.js +0 -0
  124. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/basic.css +0 -0
  125. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/badge_only.css +0 -0
  126. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  127. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  128. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  129. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  130. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  131. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  132. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  133. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  134. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  135. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  136. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  137. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold.woff +0 -0
  138. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-bold.woff2 +0 -0
  139. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  140. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  141. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal.woff +0 -0
  142. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/fonts/lato-normal.woff2 +0 -0
  143. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/theme.css +0 -0
  144. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/custom.css +0 -0
  145. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/doctools.js +0 -0
  146. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/english-stemmer.js +0 -0
  147. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/file.png +0 -0
  148. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.eot +0 -0
  149. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  150. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.woff +0 -0
  151. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  152. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  153. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  154. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  155. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  156. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.eot +0 -0
  157. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  158. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.woff +0 -0
  159. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  160. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.eot +0 -0
  161. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  162. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.woff +0 -0
  163. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  164. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  165. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  166. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  167. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  168. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  169. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  170. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  171. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  172. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/jquery.js +0 -0
  173. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/js/badge_only.js +0 -0
  174. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/js/theme.js +0 -0
  175. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/js/versions.js +0 -0
  176. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/language_data.js +0 -0
  177. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/minus.png +0 -0
  178. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/plus.png +0 -0
  179. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/pygments.css +0 -0
  180. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/searchtools.js +0 -0
  181. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/sphinx_highlight.js +0 -0
  182. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/objects.inv +0 -0
  183. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/_static/custom.css +0 -0
  184. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/api.rst +0 -0
  185. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/conf.py +0 -0
  186. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/database-methods.md +0 -0
  187. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/duckdb-helpers.md +0 -0
  188. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/index.rst +0 -0
  189. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/__init__.py +0 -0
  190. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/actions.py +0 -0
  191. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/catalog.py +0 -0
  192. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/debug_artifacts.py +0 -0
  193. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/details.py +0 -0
  194. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/diagnostics.py +0 -0
  195. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/errors.py +0 -0
  196. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/inspection.py +0 -0
  197. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/logs.py +0 -0
  198. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/operations.py +0 -0
  199. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/operator.py +0 -0
  200. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/runs.py +0 -0
  201. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/runtime.py +0 -0
  202. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/source_state.py +0 -0
  203. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/support.py +0 -0
  204. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/time.py +0 -0
  205. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/workspace.py +0 -0
  206. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/flow_modules/__init__.py +0 -0
  207. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/flow_modules/flow_module_compiler.py +0 -0
  208. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/flow_modules/flow_module_loader.py +0 -0
  209. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/__init__.py +0 -0
  210. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/__init__.py +0 -0
  211. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_common.py +0 -0
  212. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_dimensions.py +0 -0
  213. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_maintenance.py +0 -0
  214. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_read.py +0 -0
  215. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_replace.py +0 -0
  216. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/polars.py +0 -0
  217. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/schema.py +0 -0
  218. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/__init__.py +0 -0
  219. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/__init__.py +0 -0
  220. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/app.py +0 -0
  221. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/bootstrap.py +0 -0
  222. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/client.py +0 -0
  223. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/commands.py +0 -0
  224. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/constants.py +0 -0
  225. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/entrypoints.py +0 -0
  226. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/manager.py +0 -0
  227. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/ownership.py +0 -0
  228. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_commands.py +0 -0
  229. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_control.py +0 -0
  230. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_events.py +0 -0
  231. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_ledger.py +0 -0
  232. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/server.py +0 -0
  233. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/shared_state.py +0 -0
  234. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/state_sync.py +0 -0
  235. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/scheduler.py +0 -0
  236. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/__init__.py +0 -0
  237. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/instrumentation.py +0 -0
  238. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/interpreters.py +0 -0
  239. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/local_settings.py +0 -0
  240. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/paths.py +0 -0
  241. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/processes.py +0 -0
  242. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/theme.py +0 -0
  243. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/workspace_models.py +0 -0
  244. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/workspace_policy.py +0 -0
  245. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/__init__.py +0 -0
  246. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/engine.py +0 -0
  247. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/__init__.py +0 -0
  248. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/app.py +0 -0
  249. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/context.py +0 -0
  250. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/continuous.py +0 -0
  251. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/grouped.py +0 -0
  252. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/logging.py +0 -0
  253. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/polling.py +0 -0
  254. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/runner.py +0 -0
  255. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/single.py +0 -0
  256. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/file_watch.py +0 -0
  257. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/ledger_models.py +0 -0
  258. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/runtime_cache_store.py +0 -0
  259. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/runtime_control_store.py +0 -0
  260. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/runtime_db.py +0 -0
  261. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/shared_state.py +0 -0
  262. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/sqlite_store.py +0 -0
  263. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/stop.py +0 -0
  264. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/__init__.py +0 -0
  265. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/daemon.py +0 -0
  266. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/daemon_state.py +0 -0
  267. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/flow_catalog.py +0 -0
  268. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/flow_execution.py +0 -0
  269. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/ledger.py +0 -0
  270. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/logs.py +0 -0
  271. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/operator_commands.py +0 -0
  272. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/operator_queries.py +0 -0
  273. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/reset.py +0 -0
  274. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_binding.py +0 -0
  275. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_execution.py +0 -0
  276. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_history.py +0 -0
  277. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_io.py +0 -0
  278. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_ports.py +0 -0
  279. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_state.py +0 -0
  280. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/settings.py +0 -0
  281. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/shared_state.py +0 -0
  282. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/theme.py +0 -0
  283. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/workspace_io.py +0 -0
  284. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/workspace_provisioning.py +0 -0
  285. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/workspaces.py +0 -0
  286. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/__init__.py +0 -0
  287. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/__init__.py +0 -0
  288. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/app.py +0 -0
  289. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_doctor.py +0 -0
  290. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_run.py +0 -0
  291. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_start.py +0 -0
  292. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_workspace.py +0 -0
  293. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/dependencies.py +0 -0
  294. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/parser.py +0 -0
  295. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/__init__.py +0 -0
  296. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/app.py +0 -0
  297. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/bootstrap.py +0 -0
  298. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/home_state.py +0 -0
  299. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/launcher.py +0 -0
  300. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/native.py +0 -0
  301. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/__init__.py +0 -0
  302. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/app.py +0 -0
  303. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/app_binding.py +0 -0
  304. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/bootstrap.py +0 -0
  305. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/cache_models.py +0 -0
  306. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/control_support.py +0 -0
  307. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/controllers/__init__.py +0 -0
  308. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/controllers/flows.py +0 -0
  309. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/controllers/runtime.py +0 -0
  310. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/dialogs/__init__.py +0 -0
  311. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/__init__.py +0 -0
  312. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/inspection.py +0 -0
  313. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/lifecycle.py +0 -0
  314. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/scroll.py +0 -0
  315. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/theming.py +0 -0
  316. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/dark_light.svg +0 -0
  317. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/debug.svg +0 -0
  318. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/documentation.svg +0 -0
  319. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/failed.svg +0 -0
  320. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/group.svg +0 -0
  321. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/home.svg +0 -0
  322. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/manual.svg +0 -0
  323. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/poll.svg +0 -0
  324. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/schedule.svg +0 -0
  325. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/settings.svg +0 -0
  326. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/started.svg +0 -0
  327. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/success.svg +0 -0
  328. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/view-log.svg +0 -0
  329. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons.py +0 -0
  330. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/launcher.py +0 -0
  331. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/__init__.py +0 -0
  332. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/docs.py +0 -0
  333. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/logs.py +0 -0
  334. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/runtime_projection.py +0 -0
  335. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/steps.py +0 -0
  336. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/workspace.py +0 -0
  337. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/workspace_settings.py +0 -0
  338. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/preview_models.py +0 -0
  339. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/render_support.py +0 -0
  340. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/rendering/icons.py +0 -0
  341. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/runtime.py +0 -0
  342. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/state_support.py +0 -0
  343. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/support.py +0 -0
  344. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/surface.py +0 -0
  345. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/__init__.py +0 -0
  346. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/config.py +0 -0
  347. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/log_list.py +0 -0
  348. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/logs.py +0 -0
  349. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/sidebar.py +0 -0
  350. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/steps.py +0 -0
  351. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/__init__.py +0 -0
  352. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/app.py +0 -0
  353. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/app_binding.py +0 -0
  354. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/bootstrap.py +0 -0
  355. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/controllers/__init__.py +0 -0
  356. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/controllers/runtime.py +0 -0
  357. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/runtime.py +0 -0
  358. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/state_support.py +0 -0
  359. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/support.py +0 -0
  360. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/theme.py +0 -0
  361. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/widgets.py +0 -0
  362. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/__init__.py +0 -0
  363. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/actions.py +0 -0
  364. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/artifacts.py +0 -0
  365. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/flow_display.py +0 -0
  366. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/logs.py +0 -0
  367. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/models.py +0 -0
  368. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/runs.py +0 -0
  369. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/selection.py +0 -0
  370. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/state.py +0 -0
  371. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/status.py +0 -0
  372. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/text.py +0 -0
  373. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/SOURCES.txt +0 -0
  374. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/dependency_links.txt +0 -0
  375. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/entry_points.txt +0 -0
  376. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/requires.txt +0 -0
  377. {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/top_level.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-data-engine
3
- Version: 0.3.0
4
- Summary: Workbook-driven workflow jobs with strict filename parsing and DuckDB-backed processing.
3
+ Version: 0.3.1
4
+ Summary: GUI orchestrator for python-based dataframe transform pipelines.
5
5
  Author: Data Engine contributors
6
6
  License-Expression: MIT
7
7
  Project-URL: Homepage, https://github.com/bj-data-eng/data-engine
8
8
  Project-URL: Repository, https://github.com/bj-data-eng/data-engine
9
9
  Project-URL: Issues, https://github.com/bj-data-eng/data-engine/issues
10
- Keywords: duckdb,excel,parquet,flow,polars
10
+ Keywords: duckdb,excel,parquet,flow,polars,notebook
11
11
  Classifier: Development Status :: 3 - Alpha
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: Programming Language :: Python :: 3
@@ -71,13 +71,36 @@ Dynamic: license-file
71
71
 
72
72
  # Data Engine
73
73
 
74
- Data Engine is a pre-alpha workflow runtime for file-driven jobs. A flow declares:
74
+ Data Engine is a GUI orchestrator for Python-based dataframe transform pipelines.
75
75
 
76
- - a group
77
- - an optional runtime trigger via `watch(...)`
78
- - ordered generic `step(...)` callables
76
+ It provides:
79
77
 
80
- The runtime orchestrates source handling, scheduling, and mirrored output routing. Poll freshness is tracked in the runtime ledger rather than by comparing output mtimes. Step functions use native libraries directly, such as Polars for dataframe work and DuckDB for SQL work.
78
+ - a workspace-based runtime for authored flows
79
+ - a desktop GUI for operators
80
+ - a terminal UI for headless/local operation
81
+ - an experimental Rust-backed `egui` surface
82
+ - parquet-first inspect/debug tooling for dataframe outputs
83
+
84
+ Flows are plain Python modules that declare how source files, settings workbooks, schedules, and manual runs should move through Polars, DuckDB, and file outputs.
85
+
86
+ ## What It Is
87
+
88
+ Data Engine is not just a dataframe library and not just a scheduler. It is the operator/runtime layer around Python-authored flow modules.
89
+
90
+ The package handles:
91
+
92
+ - workspace discovery and selection
93
+ - daemon ownership and control handoff
94
+ - manual, poll, and schedule execution modes
95
+ - mirrored output routing
96
+ - persisted run/log/state history
97
+ - dataframe inspection inside the app
98
+
99
+ Step functions use normal Python libraries directly. In practice that usually means:
100
+
101
+ - Polars for dataframe transforms
102
+ - DuckDB for SQL-oriented work
103
+ - pathlib-style file output
81
104
 
82
105
  ## Install
83
106
 
@@ -87,33 +110,67 @@ Use the installer that matches your environment:
87
110
 
88
111
  - macOS: [INSTALL/INSTALL MAC.command](INSTALL/INSTALL%20MAC.command)
89
112
  - Windows: [INSTALL/INSTALL WINDOWS.bat](INSTALL/INSTALL%20WINDOWS.bat)
90
- - Windows VM / CPU-safe Polars test path: [INSTALL/INSTALL WINDOWS_VM.bat](INSTALL/INSTALL%20WINDOWS_VM.bat)
91
-
92
- The macOS and standard Windows installers install the normal base runtime, which now includes Polars directly.
113
+ - Windows VM / CPU-safe Polars path: [INSTALL/INSTALL WINDOWS_VM.bat](INSTALL/INSTALL%20WINDOWS_VM.bat)
93
114
 
94
115
  ### Manual install
95
116
 
96
- Polars is now part of the regular install:
117
+ Base install:
118
+
119
+ ```bash
120
+ python -m pip install py-data-engine
121
+ ```
122
+
123
+ Editable local install:
124
+
125
+ ```bash
126
+ python -m pip install -e .
127
+ ```
128
+
129
+ Notebook-authored flow modules (`.ipynb`) work with the base install. Install the optional notebook extra only when you want Jupyter authoring tools:
130
+
131
+ ```bash
132
+ python -m pip install -e ".[notebook]"
133
+ ```
134
+
135
+ For contributors:
97
136
 
98
137
  ```bash
99
138
  python -m pip install -e ".[dev]"
100
139
  ```
101
140
 
102
- Launch the GUI with:
141
+ Core requirements:
142
+
143
+ - Python `>=3.14`
144
+ - PySide6 for the desktop GUI
145
+ - Textual for the terminal UI
146
+
147
+ ## Start The App
148
+
149
+ Desktop GUI:
103
150
 
104
151
  ```bash
105
- python -m data_engine.ui.cli.app start gui
152
+ data-engine start gui
106
153
  ```
107
154
 
108
- ## Public API
155
+ Experimental Rust `egui` surface:
109
156
 
110
- ```python
111
- from data_engine import Flow, FlowContext, discover_flows, load_flow, run
157
+ ```bash
158
+ data-engine start egui
112
159
  ```
113
160
 
114
- ## Headless CLI
161
+ Terminal UI:
162
+
163
+ ```bash
164
+ data-engine start tui
165
+ ```
115
166
 
116
- Data Engine now ships with a headless CLI:
167
+ You can also launch from module form if needed:
168
+
169
+ ```bash
170
+ python -m data_engine.ui.cli.app start gui
171
+ ```
172
+
173
+ ## Headless CLI
117
174
 
118
175
  ```bash
119
176
  data-engine list
@@ -124,6 +181,12 @@ data-engine run
124
181
 
125
182
  `data-engine run` starts the automated engine headlessly for discovered automated flows and keeps running until stopped. Use `--once` to force a single pass instead.
126
183
 
184
+ ## Public API
185
+
186
+ ```python
187
+ from data_engine import Flow, FlowContext, discover_flows, load_flow, run
188
+ ```
189
+
127
190
  ## Workspace Model
128
191
 
129
192
  Data Engine discovers workspaces from a collection root resolved from:
@@ -137,18 +200,18 @@ Each immediate child folder containing `flow_modules/` is treated as a workspace
137
200
  - `workspaces/example_workspace/flow_modules/`
138
201
  - `workspaces/claims2/flow_modules/`
139
202
 
140
- The app resolves per-workspace local artifacts under:
203
+ Shared workspace state lives inside each authored workspace:
141
204
 
142
- - `artifacts/workspace_cache/<workspace_id>/`
143
- - `artifacts/runtime_state/<workspace_id>/`
205
+ - `workspaces/<workspace_id>/.workspace_state/`
144
206
 
145
- Shared lease and checkpoint state lives inside each authored workspace:
207
+ Machine-local runtime state lives under the app artifacts root:
146
208
 
147
- - `workspaces/<workspace_id>/.workspace_state/`
209
+ - `artifacts/workspace_cache/<workspace_id>/`
210
+ - `artifacts/runtime_state/<workspace_id>/`
148
211
 
149
- The app's workspace selection and collection-root preference are machine-local state, not repo-local config checked into the project tree.
212
+ The app's selected workspace and collection-root preference are machine-local settings, not repo-local config.
150
213
 
151
- ## Basic shape
214
+ ## Flow Shape
152
215
 
153
216
  ```python
154
217
  from data_engine import Flow
@@ -186,9 +249,30 @@ def build():
186
249
  )
187
250
  ```
188
251
 
189
- ## Batch helpers
252
+ Each flow module exports:
190
253
 
191
- For batch-oriented flows, use `Flow.collect(...)` and either `Flow.map(...)` or `Flow.step_each(...)` instead of importing extra helpers or hand-managing raw lists.
254
+ - optional `DESCRIPTION`
255
+ - `build() -> Flow`
256
+
257
+ The module filename is the flow identity. Authored flow modules should set `Flow(group=...)` and let the loader inject the final flow name from the module filename.
258
+
259
+ ## Runtime Modes
260
+
261
+ Flows can run as:
262
+
263
+ - `manual`
264
+ - `poll`
265
+ - `schedule`
266
+
267
+ At a high level:
268
+
269
+ - `manual` runs on operator request
270
+ - `poll` watches source inputs for new or changed files
271
+ - `schedule` runs on a time-based cadence
272
+
273
+ ## Batch Helpers
274
+
275
+ For batch-oriented flows, use `Flow.collect(...)` plus either `Flow.map(...)` or `Flow.step_each(...)`.
192
276
 
193
277
  ```python
194
278
  from data_engine import Flow
@@ -211,7 +295,7 @@ def build():
211
295
  )
212
296
  ```
213
297
 
214
- `Flow.collect(...)` returns a `Batch` of `FileRef` items. `Flow.map(...)` applies one callable to each item and returns a new `Batch`. `Flow.step_each(...)` is the equivalent readability-first alias. If the batch is empty, both forms raise immediately so the mapped step gets the useful failure.
298
+ `Flow.collect(...)` returns a `Batch` of `FileRef` items. `Flow.map(...)` applies one callable to each item and returns a new `Batch`. `Flow.step_each(...)` is the equivalent readability-first alias.
215
299
 
216
300
  ## Flow API
217
301
 
@@ -232,18 +316,10 @@ def build():
232
316
  - `.show()`
233
317
 
234
318
  `step()` callables always receive one `FlowContext` parameter and return the next value for `context.current`.
235
- `map()` and `step_each()` callables accept either `(item)` or `(context, item)` and return a mapped `Batch`.
236
-
237
- For notebook authoring, `preview()` is usually the most useful inspection helper:
238
319
 
239
- ```python
240
- build().preview(use="raw_df").head(10)
241
- build().preview(use="filtered_df")
242
- ```
243
-
244
- `preview(use="name")` runs the flow until that `save_as="name"` object exists, then returns the real object without running later steps.
320
+ `map()` and `step_each()` callables accept either `(item)` or `(context, item)` and return a mapped `Batch`.
245
321
 
246
- ## Flow context
322
+ ## FlowContext
247
323
 
248
324
  `FlowContext` exposes the active run state:
249
325
 
@@ -253,8 +329,9 @@ build().preview(use="filtered_df")
253
329
  - `context.objects`
254
330
  - `context.metadata`
255
331
  - `context.source_metadata()`
332
+ - `context.debug`
256
333
 
257
- `context.source` is the resolved input namespace for the active source. The most useful helpers are:
334
+ Useful source helpers:
258
335
 
259
336
  - `context.source.path`
260
337
  - `context.source.with_extension(".json")`
@@ -263,67 +340,110 @@ build().preview(use="filtered_df")
263
340
  - `context.source.namespaced_file("notes.json")`
264
341
  - `context.source.root_file("lookup.csv")`
265
342
 
266
- `context.mirror` is the mirrored output namespace for the active source. The two core helpers are:
343
+ Useful mirror helpers:
267
344
 
268
345
  - `context.mirror.with_extension(".parquet")`
269
346
  - `context.mirror.with_suffix(".parquet")`
270
347
  - `context.mirror.file("open_claims.parquet")`
271
348
  - `context.mirror.namespaced_file("open_claims.parquet")`
272
349
 
273
- `with_extension(...)` is the clearer extension-changing helper. `with_suffix(...)` remains available as the pathlib-style alias.
274
- `file(...)` stays in the mirrored/source folder. `namespaced_file(...)` creates a source-stem namespace for multi-output cases.
350
+ `use="name"` loads `context.objects["name"]` into `context.current` before the step runs. `save_as="name"` stores the returned value into `context.objects["name"]`.
351
+
352
+ ## Dataframe Debugging
353
+
354
+ The app includes a dataframe-first debug pane for saved parquet artifacts.
355
+
356
+ From a flow step, save a debug dataframe with:
357
+
358
+ ```python
359
+ context.debug.save_frame(context.current, name="raw_claims")
360
+ ```
361
+
362
+ That writes:
275
363
 
276
- When a step writes one inspectable artifact, return that existing `Path`. The UI uses returned output paths to enable the `Inspect` button for that step.
364
+ - a parquet artifact for the dataframe
365
+ - companion metadata used by the UI
277
366
 
278
- `use="name"` loads `context.objects["name"]` into `context.current` before the step runs. `save_as="name"` stores the returned value into `context.objects["name"]`. Those same saved names are what `build().preview(use="name")` uses in notebooks.
367
+ The desktop GUI can then:
279
368
 
280
- ## Discovery
369
+ - list saved dataframe artifacts by flow/step/timestamp
370
+ - inspect parquet outputs in-app
371
+ - preview top N, bottom N, or sampled rows
372
+ - filter columns with Excel-style distinct-value popups
373
+ - copy one or more selected cells from the table
281
374
 
282
- Flows are code-defined. Starter flow modules live in:
375
+ The inspect modal reuses the same dataframe rendering path.
376
+
377
+ ## Notebook Preview
378
+
379
+ For notebook or REPL-style authoring outside a compiled flow module, `preview()` is usually the most useful helper:
380
+
381
+ ```python
382
+ build().preview(use="raw_df").head(10)
383
+ build().preview(use="filtered_df")
384
+ ```
385
+
386
+ `preview(use="name")` runs the flow until that `save_as="name"` object exists, then returns the real object without running later steps. `preview()` is not available from inside compiled flow modules, so use it from an external notebook, REPL, or script while iterating on the flow.
387
+
388
+ ## Discovery And Compilation
389
+
390
+ Starter flow modules live in:
283
391
 
284
392
  - `workspaces/<workspace_id>/flow_modules/`
285
393
  - `artifacts/workspace_cache/<workspace_id>/compiled_flow_modules/`
286
394
 
287
- Each flow module must export:
288
-
289
- - optional `DESCRIPTION`
290
- - `build() -> Flow`
395
+ Authored flow modules compile into:
291
396
 
292
- The flow-module filename is the flow identity. Authored flow modules should use `Flow(group=...)` and let the loader inject the name from the module filename.
397
+ - `artifacts/workspace_cache/<workspace_id>/compiled_flow_modules/*.py`
293
398
 
294
- Authored flow modules compile into `artifacts/workspace_cache/<workspace_id>/compiled_flow_modules/*.py`, and the runtime loads discovered flows from those compiled modules.
399
+ The runtime loads discovered flows from those compiled modules.
295
400
 
296
- ## Workspace layout
401
+ ## Workspace Layout
297
402
 
298
403
  - `src/data_engine/`
299
- Runtime package and desktop UI
404
+ Runtime package, operator surfaces, and services
300
405
  - `workspaces/<workspace_id>/flow_modules/`
301
406
  Authored flow sources (`.py` or `.ipynb`)
302
407
  - `workspaces/<workspace_id>/.workspace_state/`
303
408
  Shared lease markers and checkpoint parquet snapshots
304
409
  - `artifacts/workspace_cache/<workspace_id>/compiled_flow_modules/`
305
- Generated/importable flow modules
410
+ Generated importable flow modules
306
411
  - `artifacts/runtime_state/<workspace_id>/`
307
- Internal runtime ledger state for one workspace
308
- - `artifacts/documentation/`
309
- Generated documentation output
310
- - `example_data/Input`
311
- Example input files
312
- - `example_data/Settings`
313
- Example single-file inputs
314
- - `example_data/Output`
315
- Flow outputs
316
- - `example_data/databases`
317
- DuckDB files created on demand
412
+ Machine-local runtime and daemon state
413
+ - `src/data_engine/docs/`
414
+ Packaged documentation content
318
415
 
319
- ## Live Smoke Suite
416
+ ## Smoke Data
320
417
 
321
- The live smoke suite is intentionally self-contained:
418
+ Generate local smoke data with:
322
419
 
323
- - `tests/daemon/test_live_runtime_suite.py`
420
+ ```bash
421
+ python scripts/generate_smoke_data.py --root . --workspace-id example_workspace --workspace-id claims2
422
+ ```
423
+
424
+ Generated local data and workspaces are intentionally ignored:
425
+
426
+ - `data/`
427
+ - `data2/`
428
+ - `workspaces/`
429
+
430
+ ## Packaging
431
+
432
+ Distribution name:
324
433
 
325
- It generates temporary workspaces from scratch, generates temporary `example_data/` and `data2/` with the real starter-data generator, adds notebook-authored poll/schedule/manual flows, runs the daemons, and tears the whole environment down afterward. It does not rely on existing `workspaces/example_workspace` or `workspaces/claims2` or live repo data directories.
434
+ - `py-data-engine`
435
+
436
+ Version source of truth:
437
+
438
+ - `src/data_engine/platform/identity.py`
439
+
440
+ Build checks:
441
+
442
+ ```bash
443
+ python -m build
444
+ python -m twine check dist/*
445
+ ```
326
446
 
327
447
  ## Status
328
448
 
329
- This project is pre-alpha. Backwards compatibility is not a goal; the API should stay small and explicit while the runtime architecture settles.
449
+ This project is pre-alpha. Internal architecture is still moving quickly, and backwards compatibility is not a current goal.