|
1 | 1 | --- |
2 | 2 | name: check-upstream |
3 | | -description: Check if upstream Apache DataFusion features (functions, DataFrame ops, SessionContext methods) are exposed in this Python project. Use when adding missing functions, auditing API coverage, or ensuring parity with upstream. |
4 | | -argument-hint: [area] (e.g., "scalar functions", "aggregate functions", "window functions", "dataframe", "session context", "all") |
| 3 | +description: Check if upstream Apache DataFusion features (functions, DataFrame ops, SessionContext methods, FFI types) are exposed in this Python project. Use when adding missing functions, auditing API coverage, or ensuring parity with upstream. |
| 4 | +argument-hint: [area] (e.g., "scalar functions", "aggregate functions", "window functions", "dataframe", "session context", "ffi types", "all") |
5 | 5 | --- |
6 | 6 |
|
7 | 7 | # Check Upstream DataFusion Feature Coverage |
@@ -339,6 +339,14 @@ These upstream FFI types have been reviewed and do not need to be independently |
339 | 339 | 2. If new FFI types appear upstream, evaluate whether they represent a user-facing capability |
340 | 340 | 3. Check against the "evaluated and not requiring exposure" list before flagging as a gap |
341 | 341 | 4. Report any genuinely new types that enable user-facing functionality |
| 342 | +5. For each currently supported FFI type, verify the full pipeline is present using the checklist from "Adding a New FFI Type": |
| 343 | + - Rust PyO3 wrapper with `from_pycapsule()` method |
| 344 | + - Python Protocol type (e.g., `ScalarUDFExportable`) for FFI objects |
| 345 | + - Python wrapper class with full type hints on all public methods |
| 346 | + - ABC base class (if the type can be user-implemented) |
| 347 | + - Registered in Rust `init_module()` and Python `__init__.py` |
| 348 | + - FFI example in `examples/datafusion-ffi-example/` |
| 349 | + - Type appears in union type hints where accepted |
342 | 350 |
|
343 | 351 | ## Important Notes |
344 | 352 |
|
|
0 commit comments