This is an automated email from the ASF dual-hosted git repository.

JingsongLi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/paimon-rust.git


The following commit(s) were added to refs/heads/main by this push:
     new 544ea703 fix(python): declare read-scan methods in the datafusion type 
stub (#918)
544ea703 is described below

commit 544ea70325f48d96cfa3c934096a79232144a4e2
Author: jackylee <[email protected]>
AuthorDate: Thu Sep 24 10:23:22 2026 +0800

    fix(python): declare read-scan methods in the datafusion type stub (#918)
---
 bindings/python/python/pypaimon_rust/datafusion.pyi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/bindings/python/python/pypaimon_rust/datafusion.pyi 
b/bindings/python/python/pypaimon_rust/datafusion.pyi
index 8c40c14d..4b0532ef 100644
--- a/bindings/python/python/pypaimon_rust/datafusion.pyi
+++ b/bindings/python/python/pypaimon_rust/datafusion.pyi
@@ -59,6 +59,14 @@ class Plan:
 class TableScan:
     def with_row_position_slice(self, start: int, end: int) -> "TableScan": ...
     def with_row_position_shard(self, index: int, count: int) -> "TableScan": 
...
+    def with_chunk_shuffle(self, seed: str, chunk_size: int) -> "TableScan":
+        """Deterministically shuffle fixed-live-row chunks. ``seed`` is a 
decimal
+        integer string so arbitrarily large seeds keep Python ``random.Random``
+        semantics."""
+        ...
+    def with_shard(self, index: int, count: int) -> "TableScan":
+        """Select one balanced worker shard (``index`` of ``count``) for a 
distributed scan."""
+        ...
     def plan(self) -> Plan: ...
 
 class RecordBatchReader:
@@ -77,6 +85,10 @@ class TableRead:
 
 class ReadBuilder:
     def with_projection(self, columns: List[str]) -> "ReadBuilder": ...
+    def with_nested_projection(self, paths: List[List[str]]) -> "ReadBuilder":
+        """Project top-level fields or nested ROW leaves by exact name paths. 
A MAP
+        path keeps the complete MAP so the caller can extract literal keys."""
+        ...
     def with_case_sensitive(self, case_sensitive: bool) -> "ReadBuilder":
         """
         Set whether column-name matching (projection and predicate column

Reply via email to