Resolves duckdb typing module deprecation, locks backend Python versions #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A somewhat recent change to the DuckDB Python library deprecated
duckdb.typingand added a mechanism for redirecting symbol imports from the deprecated package to the newduckdb.sqltypesmodule that replaces it (PR: duckdb/duckdb-python#96). This mechanism unfortunately didn't work for us, since we were importing the baseduckdbpackage and referencing, e.g.,duckdb.typing.VARCHARdirectly.This PR changes references fromduckdb.typing.Xtoduckdb.sqltypes.X, resolving the issue.After some discussion and testing (thanks, @d33bs!), it turned out that the backend was erroneously upgrading DuckDB a full minor version up when what it should have been doing was installing the specific versions from its (previously unused)
uv.lockfile. The PR now does the following:@pytest.mark.slowdecorator.-m "slow"when invokingpytest, which will run only the slow tests.pytest -m "slow or not slow".uv.lockand uses the--frozenflag to ensure that the locked versions are installed, putting us back on DuckDB 1.3.1VARCHARfromduckdb.typing, allowing us to use the migration shim introduced in 1.4.1