You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Building a wheel from v0.20.0 fails. Both python -m build and uv build error because pyproject.toml declares a build backend that does not exist in current setuptools releases:
ModuleNotFoundError: No module named 'setuptools.backends'
With build isolation enabled, uv build may also fail earlier while resolving setuptools>=68 from the internal PyPI proxy (network-dependent).
Expected Behavior
python -m build and uv build should produce dist/lakeflow_framework-0.20.0-py3-none-any.whl using the setuptools backend declared in pyproject.toml, with bundled config/default/** and schemas/** package data.
Observe build failure referencing setuptools.backends.legacy:build or No module named 'setuptools.backends'.
Relevant log output
Traceback (most recent call last):
File "<string>", line 8, in <module>
from setuptools.backends.legacy import build as backend
ModuleNotFoundError: No module named 'setuptools.backends'
(setuptools 82.x installed; setuptools.build_meta is the valid backend.)
Root cause
pyproject.toml on main (v0.20.0) references setuptools.backends.legacy:build. That module path is not present in setuptools 68+ / 82.x. The correct value is:
build-backend = "setuptools.build_meta"
ADR-0008 documents the same incorrect backend string in its example pyproject.toml snippet.
Proposed fix
Change build-backend to setuptools.build_meta in pyproject.toml.
Align the ADR-0008 example.
Bump VERSION to v0.20.1 (patch).
Optionally document uv build --wheel --clear -o dist as an alternative to python -m build in contributor dev-env docs.
Fix branch (ready for PR): fix/wheel-build-backend
Current Behavior
Building a wheel from
v0.20.0fails. Bothpython -m buildanduv builderror becausepyproject.tomldeclares a build backend that does not exist in current setuptools releases:Example error (
uv build --wheel -o dist):With build isolation enabled,
uv buildmay also fail earlier while resolvingsetuptools>=68from the internal PyPI proxy (network-dependent).Expected Behavior
python -m buildanduv buildshould producedist/lakeflow_framework-0.20.0-py3-none-any.whlusing the setuptools backend declared inpyproject.toml, with bundledconfig/default/**andschemas/**package data.Steps To Reproduce
Check out
mainatv0.20.0(merged via refactor(package): stable lakeflow_framework import namespace with bundled config/schemas #87).From the repository root, run either:
or:
Observe build failure referencing
setuptools.backends.legacy:buildorNo module named 'setuptools.backends'.Relevant log output
(setuptools 82.x installed;
setuptools.build_metais the valid backend.)Root cause
pyproject.tomlonmain(v0.20.0) referencessetuptools.backends.legacy:build. That module path is not present in setuptools 68+ / 82.x. The correct value is:ADR-0008 documents the same incorrect backend string in its example
pyproject.tomlsnippet.Proposed fix
build-backendtosetuptools.build_metainpyproject.toml.VERSIONtov0.20.1(patch).uv build --wheel --clear -o distas an alternative topython -m buildin contributor dev-env docs.Fix branch (ready for PR):
fix/wheel-build-backendEnvironment
uv build --wheel --clear -o distsucceeds after backend correction; wheel contains bundled config and schemas