| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Adds TableFunctionExportable, ExtensionOptionsExportable, and TaskContextProviderExportable Protocol classes describing the PyCapsule dunder methods DataFusion's Rust side already expects, following the existing TableProviderExportable pattern. No runtime behavior changes.
|
This PR and #1684 both show zero CI runs. The check suites are sitting at action_required, which looks like the first-time contributor approval gate rather than a problem with either branch. Could a maintainer approve the workflow runs when you get a chance? I would rather have CI results attached before anyone spends review time on these. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Which issue does this PR close?
Part of #1577. This PR covers 3 of the 6 items in that umbrella issue (see "Not included" below for why the rest are left out).
Rationale for this change
The FFI-pipeline typing audit referenced in #1577 found several places where DataFusion's FFI types are already imported on the Rust side, but the Python surface has no typed Protocol describing the expected PyCapsule dunder method. Callers are left to read the Rust source or guess the signature.
What changes are included in this PR?
Adds three Protocol classes, following the existing TableProviderExportable / PhysicalOptimizerRuleExportable pattern (name, docstring, and single dunder method), and points the corresponding parameter/return type hints at them:
Not included from #1577's item list
The remaining 3 items are execution-engine-level questions rather than typing changes, so I split each into its own issue for design discussion:
Are there any user-facing changes?
No runtime behavior changes. This only adds type hints (new Protocol classes) and updates existing parameter/return annotations to reference them.
Validation run locally: