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.
- {py_data_engine-0.3.0/src/py_data_engine.egg-info → py_data_engine-0.3.1}/PKG-INFO +192 -72
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/README.md +189 -69
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/pyproject.toml +2 -2
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_modules/index.html +1 -1
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/guides/recipes.md.txt +34 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/documentation_options.js +1 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/api.html +1 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/genindex.html +1 -1
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/authoring-flow-modules.html +8 -5
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/configuring-flows.html +6 -4
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/core-concepts.html +8 -4
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/database-methods.html +1 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/duckdb-helpers.html +1 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/flow-context.html +47 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/flow-methods.html +12 -2
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/getting-started.html +6 -5
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/project-inventory.html +451 -15
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/project-map.html +22 -22
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/guides/recipes.html +32 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/index.html +3 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/py-modindex.html +1 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/search.html +1 -1
- py_data_engine-0.3.1/src/data_engine/docs/html/searchindex.js +1 -0
- {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
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/configuring-flows.md +6 -3
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/core-concepts.md +9 -3
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/flow-context.md +51 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/flow-methods.md +15 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/getting-started.md +6 -4
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/project-inventory.md +276 -14
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/project-map.md +6 -6
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/recipes.md +34 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/composition.py +12 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/lifecycle.py +10 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/identity.py +1 -1
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/debug_artifacts.py +5 -12
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/_data_engine_egui.pyd +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/dialogs/messages.py +2 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/dialogs/previews.py +51 -5
- py_data_engine-0.3.1/src/data_engine/ui/gui/presenters/debug.py +248 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/sidebar.py +6 -5
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/workspace_binding.py +1 -7
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/rendering/__init__.py +2 -2
- py_data_engine-0.3.1/src/data_engine/ui/gui/rendering/artifacts.py +1063 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/theme.py +47 -9
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/panels.py +36 -40
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/controllers/flows.py +2 -5
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/presentation.py +7 -3
- {py_data_engine-0.3.0 → py_data_engine-0.3.1/src/py_data_engine.egg-info}/PKG-INFO +192 -72
- py_data_engine-0.3.0/src/data_engine/docs/html/searchindex.js +0 -1
- py_data_engine-0.3.0/src/data_engine/ui/gui/presenters/debug.py +0 -133
- py_data_engine-0.3.0/src/data_engine/ui/gui/rendering/artifacts.py +0 -143
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/LICENSE +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/MANIFEST.in +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/setup.cfg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/setup.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/actions.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/catalog.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/control.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/details.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/runtime.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/application/workspace.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/authoring/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/authoring/flow.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/authoring/services.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/flow.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/helpers.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/model.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/core/primitives.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/devtools/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/devtools/project_ast_map.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/devtools/smoke_data.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/api.rst.txt +0 -0
- {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
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_sources/index.rst.txt +0 -0
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/base-stemmer.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/basic.css +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/badge_only.css +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/css/theme.css +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/custom.css +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/doctools.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/english-stemmer.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/file.png +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/jquery.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/js/badge_only.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/js/theme.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/js/versions.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/language_data.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/minus.png +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/plus.png +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/pygments.css +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/searchtools.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/_static/sphinx_highlight.js +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/html/objects.inv +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/_static/custom.css +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/api.rst +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/conf.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/database-methods.md +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/guides/duckdb-helpers.md +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/docs/sphinx_source/index.rst +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/actions.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/catalog.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/debug_artifacts.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/details.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/diagnostics.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/errors.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/inspection.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/logs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/operations.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/operator.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/runs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/runtime.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/source_state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/support.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/time.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/domain/workspace.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/flow_modules/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/flow_modules/flow_module_compiler.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/flow_modules/flow_module_loader.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_common.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_dimensions.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_maintenance.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_read.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/duckdb/_replace.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/polars.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/helpers/schema.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/app.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/bootstrap.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/client.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/commands.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/constants.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/entrypoints.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/manager.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/ownership.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_commands.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_control.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_events.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/runtime_ledger.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/server.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/shared_state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/daemon/state_sync.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/hosts/scheduler.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/instrumentation.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/interpreters.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/local_settings.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/paths.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/processes.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/theme.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/workspace_models.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/platform/workspace_policy.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/engine.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/app.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/context.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/continuous.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/grouped.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/logging.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/polling.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/runner.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/execution/single.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/file_watch.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/ledger_models.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/runtime_cache_store.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/runtime_control_store.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/runtime_db.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/shared_state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/sqlite_store.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/runtime/stop.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/daemon.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/daemon_state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/flow_catalog.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/flow_execution.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/ledger.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/logs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/operator_commands.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/operator_queries.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/reset.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_binding.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_execution.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_history.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_io.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_ports.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/runtime_state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/settings.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/shared_state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/theme.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/workspace_io.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/workspace_provisioning.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/services/workspaces.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/app.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_doctor.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_run.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_start.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/commands_workspace.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/dependencies.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/cli/parser.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/app.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/bootstrap.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/home_state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/launcher.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/egui/native.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/app.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/app_binding.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/bootstrap.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/cache_models.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/control_support.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/controllers/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/controllers/flows.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/controllers/runtime.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/dialogs/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/inspection.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/lifecycle.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/scroll.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/helpers/theming.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/dark_light.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/debug.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/documentation.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/failed.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/group.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/home.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/manual.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/poll.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/schedule.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/settings.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/started.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/success.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons/view-log.svg +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/icons.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/launcher.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/docs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/logs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/runtime_projection.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/steps.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/workspace.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/presenters/workspace_settings.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/preview_models.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/render_support.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/rendering/icons.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/runtime.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/state_support.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/support.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/surface.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/config.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/log_list.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/logs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/sidebar.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/gui/widgets/steps.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/app.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/app_binding.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/bootstrap.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/controllers/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/controllers/runtime.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/runtime.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/state_support.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/support.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/theme.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/ui/tui/widgets.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/__init__.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/actions.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/artifacts.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/flow_display.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/logs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/models.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/runs.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/selection.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/state.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/status.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/data_engine/views/text.py +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/SOURCES.txt +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/dependency_links.txt +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/entry_points.txt +0 -0
- {py_data_engine-0.3.0 → py_data_engine-0.3.1}/src/py_data_engine.egg-info/requires.txt +0 -0
- {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.
|
|
4
|
-
Summary:
|
|
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
|
|
74
|
+
Data Engine is a GUI orchestrator for Python-based dataframe transform pipelines.
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
- an optional runtime trigger via `watch(...)`
|
|
78
|
-
- ordered generic `step(...)` callables
|
|
76
|
+
It provides:
|
|
79
77
|
|
|
80
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
152
|
+
data-engine start gui
|
|
106
153
|
```
|
|
107
154
|
|
|
108
|
-
|
|
155
|
+
Experimental Rust `egui` surface:
|
|
109
156
|
|
|
110
|
-
```
|
|
111
|
-
|
|
157
|
+
```bash
|
|
158
|
+
data-engine start egui
|
|
112
159
|
```
|
|
113
160
|
|
|
114
|
-
|
|
161
|
+
Terminal UI:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
data-engine start tui
|
|
165
|
+
```
|
|
115
166
|
|
|
116
|
-
|
|
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
|
-
|
|
203
|
+
Shared workspace state lives inside each authored workspace:
|
|
141
204
|
|
|
142
|
-
- `
|
|
143
|
-
- `artifacts/runtime_state/<workspace_id>/`
|
|
205
|
+
- `workspaces/<workspace_id>/.workspace_state/`
|
|
144
206
|
|
|
145
|
-
|
|
207
|
+
Machine-local runtime state lives under the app artifacts root:
|
|
146
208
|
|
|
147
|
-
- `
|
|
209
|
+
- `artifacts/workspace_cache/<workspace_id>/`
|
|
210
|
+
- `artifacts/runtime_state/<workspace_id>/`
|
|
148
211
|
|
|
149
|
-
The app's workspace
|
|
212
|
+
The app's selected workspace and collection-root preference are machine-local settings, not repo-local config.
|
|
150
213
|
|
|
151
|
-
##
|
|
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
|
-
|
|
252
|
+
Each flow module exports:
|
|
190
253
|
|
|
191
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
`
|
|
274
|
-
|
|
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
|
-
|
|
364
|
+
- a parquet artifact for the dataframe
|
|
365
|
+
- companion metadata used by the UI
|
|
277
366
|
|
|
278
|
-
|
|
367
|
+
The desktop GUI can then:
|
|
279
368
|
|
|
280
|
-
|
|
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
|
-
|
|
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
|
-
|
|
288
|
-
|
|
289
|
-
- optional `DESCRIPTION`
|
|
290
|
-
- `build() -> Flow`
|
|
395
|
+
Authored flow modules compile into:
|
|
291
396
|
|
|
292
|
-
|
|
397
|
+
- `artifacts/workspace_cache/<workspace_id>/compiled_flow_modules/*.py`
|
|
293
398
|
|
|
294
|
-
|
|
399
|
+
The runtime loads discovered flows from those compiled modules.
|
|
295
400
|
|
|
296
|
-
## Workspace
|
|
401
|
+
## Workspace Layout
|
|
297
402
|
|
|
298
403
|
- `src/data_engine/`
|
|
299
|
-
Runtime package and
|
|
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
|
|
410
|
+
Generated importable flow modules
|
|
306
411
|
- `artifacts/runtime_state/<workspace_id>/`
|
|
307
|
-
|
|
308
|
-
- `
|
|
309
|
-
|
|
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
|
-
##
|
|
416
|
+
## Smoke Data
|
|
320
417
|
|
|
321
|
-
|
|
418
|
+
Generate local smoke data with:
|
|
322
419
|
|
|
323
|
-
|
|
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
|
-
|
|
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.
|
|
449
|
+
This project is pre-alpha. Internal architecture is still moving quickly, and backwards compatibility is not a current goal.
|