Is there an existing issue for this?
Problem statement
The framework has no formal namespace, no mechanism for shipping optional community-supported integrations, and no publishable distribution format. Specifically:
- No proper namespace — source files use bare module imports (from constants import ..., import utility) that have no scope, no discoverability, and break static analysis. There is no lakeflow_framework import prefix that identifies the framework as a distinct, versioned library.
- No contrib story — there is no formal location or support policy for optional, community-maintained integrations. These currently have no home and no dependency boundary from the core.
- No standard distribution — customers who want to install the framework from PyPI, Artifactory, or UC Volumes as a wheel cannot do so. Flat directory deployment is the only supported model, which limits adoption and integration patterns.
Proposed Solution
Proper namespace and absolute imports (primary)
- Create src/lakeflow_framework/ as the canonical package namespace.
- Convert source files from bare module imports to absolute imports (from lakeflow_framework.constants import FrameworkPaths). This is the definitive change — it gives the framework a real identity as an importable library.
- Compat shims at the old bare import paths kept until v1.0.0 so existing flat-deploy customers are not broken during the transition window.
contrib/ subdirectory (primary)
- Add src/lakeflow_framework/contrib/ with a README documenting the support policy (experimental, community-maintained, semver rules).
- CI: contrib tests run in a separate optional job gated behind the [contrib] extra.
Python packaging (additional win)
- Add pyproject.toml with [project.optional-dependencies]: contrib and all extras.
- Enables pip install lakeflow-framework from PyPI, Artifactory, UC Volumes, or editable install (pip install -e ".[contrib]") for contributors.
Additional Context
No response
Is there an existing issue for this?
Problem statement
The framework has no formal namespace, no mechanism for shipping optional community-supported integrations, and no publishable distribution format. Specifically:
Proposed Solution
Proper namespace and absolute imports (primary)
contrib/ subdirectory (primary)
Python packaging (additional win)
Additional Context
No response