Skip to content

Commit 2d4a67a

Browse files
sumedhsakdeoclaude
andcommitted
Fix ScanOrder class and remove unused import
- Remove ABC inheritance from ScanOrder since no abstract methods are defined - Remove unused enum.Enum import - Fix B008 error by moving TaskOrder() call from function default to inside function - Clean up dataclass formatting 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent c38bc76 commit 2d4a67a

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

pyiceberg/table/__init__.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
from abc import ABC, abstractmethod
2424
from collections.abc import Callable, Iterable, Iterator
2525
from dataclasses import dataclass
26-
from enum import Enum
2726
from functools import cached_property
2827
from itertools import chain
2928
from types import TracebackType
@@ -156,9 +155,8 @@
156155

157156

158157
@dataclass
159-
class ScanOrder(ABC):
158+
class ScanOrder:
160159
"""Base class for scan ordering strategies."""
161-
pass
162160

163161

164162
@dataclass
@@ -168,7 +166,6 @@ class TaskOrder(ScanOrder):
168166
Batches are returned in task order, with each task fully materialized
169167
before proceeding to the next. Allows parallel file reads via executor.
170168
"""
171-
pass
172169

173170

174171
@dataclass
@@ -178,6 +175,7 @@ class ArrivalOrder(ScanOrder):
178175
Batches are yielded as they are produced without materializing entire
179176
files into memory. Supports concurrent processing of multiple files.
180177
"""
178+
181179
concurrent_streams: int = 1
182180
max_buffered_batches: int = 16
183181

@@ -2183,9 +2181,7 @@ def to_arrow(self) -> pa.Table:
21832181
self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit
21842182
).to_table(self.plan_files())
21852183

2186-
def to_arrow_batch_reader(
2187-
self, batch_size: int | None = None, order: ScanOrder = TaskOrder()
2188-
) -> pa.RecordBatchReader:
2184+
def to_arrow_batch_reader(self, batch_size: int | None = None, order: ScanOrder | None = None) -> pa.RecordBatchReader:
21892185
"""Return an Arrow RecordBatchReader from this DataScan.
21902186
21912187
For large results, using a RecordBatchReader requires less memory than
@@ -2213,6 +2209,9 @@ def to_arrow_batch_reader(
22132209

22142210
from pyiceberg.io.pyarrow import ArrowScan, schema_to_pyarrow
22152211

2212+
if order is None:
2213+
order = TaskOrder()
2214+
22162215
target_schema = schema_to_pyarrow(self.projection())
22172216
batches = ArrowScan(
22182217
self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit

0 commit comments

Comments
 (0)