Repository navigation
chore: add a Python boundary ratchet for the Rust-hosted migration - #1089
Merged
Merged
Conversation
kvlonge
enabled auto-merge (squash)
October 12, 2026 13:18
kvlonge
force-pushed
the
chore/python-boundary-ratchet
branch
from
October 12, 2026 13:34
67f69ff to
3324231
Compare
kvlonge
force-pushed
the
chore/python-boundary-ratchet
branch
from
October 12, 2026 14:14
3324231 to
ec1c636
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
SQLBuild is moving to a Rust-hosted architecture where Python remains only for user code, adapters, the executor and public Python APIs. Earlier migration work left Python drivers and fallbacks in place. This makes completion measurable and stops new Python or Python fallbacks from slipping in unnoticed.
Changes
python-boundary.tomllists the modules that stay Python, each with a reason (user-code, adapter, executor, public-api) and a note. Every other Python file undersrc/sqlbuildis movable;remaining_lines(146,314 today) must equal their line count, so adding movable Python fails and every reduction lowers the committed number.tryorsuppressaround a native call (including_native_*wrapper modules) whose handler does not raise on every path. Four reviewed exceptions are listed with reasons (cache misses and a reported lint error, not Python fallbacks).make check-python-boundary, included inmake check-ci.render_create_table_asoverride is used bysqb build.Verification
uv run pytest tests/unit/scripts/python_boundary tests/e2e/src/sqlbuild/cli/commands/main/adaptersmake check-ci(includes the new check against the repository)