-
Notifications
You must be signed in to change notification settings - Fork 83
Adjust project metadata for supported python versions #2235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
We use some features that were introduced in python 3.10.1.
At the moment we don't support Python 3.14. This isn't checked by the Databricks CLI, but at least it will produce an error early during the pip install step.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2235 +/- ##
=======================================
Coverage 63.92% 63.92%
=======================================
Files 99 99
Lines 8635 8635
Branches 889 889
=======================================
Hits 5520 5520
Misses 2943 2943
Partials 172 172 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
✅ 130/130 passed, 7 flaky, 5 skipped, 20m10s total Flaky tests:
Running from acceptance #3477 |
gueniai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
sundarshankar89
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Changes
What does this PR do?
This PR updates the project metadata and documentation for the versions of python that are supported, having discovered (see #2234) that version 3.10.0 is missing some functionality that we use: it was introduced in version 3.10.1. With this in mind:
The documentation has been adjusted accordingly.
Relevant implementation details
During the normal installation flow with the Databricks CLI:
PATHfor interpreters to use when setting up the virtual environment. Interpreters that do not meet the minimum version inlabs.ymlare excluded. (Full semantic versioning is supported in the comparison.) There is no way to specify a maximum version.pipis used to install the package; this checks the required version inpyproject.ymland will halt with an error if the interpreter is 3.14+.When setting up the virtual environment for BB, we rely on some functionality that introduced in python 3.10.1. Although not mentioned in the python documentation, the
env_exec_cmdattribute isn't available in the virtual environment metadata in python 3.10.0. The relevant change between python 3.10.0 and 3.10.1 is here.Linked issues
Resolves #2234: Most installations of 3.10 will be 3.10.1 or later, so this isn't really worth working around or the accompanying maintenance/testing burden. As such these changes are really about guarding against the odd edge case.
Functionality
databricks labs install lakebridgeTests
manually tested:
install-transpileprior to this PR with 3.10.0:install-transpile-3.10.0.scrub.log
labs installwith Python 3.10.0:install-lakebridge-3.10.0.scrub.log
labs installwith existing version using Python 3.10.0:upgrade-lakebridge-3.10.0.scrub.log
labs installandinstall-transpilewith Python 3.10.1:install-transpile-3.10.1.scrub.log
labs installwith Python 3.14.install-lakebridge-3.14.0.scrub.log