Skip to content

Commit 4e35be7

Browse files
claude[bot]drgroot
andcommitted
fix: standardize type annotations in delta.py for mypy compatibility
- Replace Optional[T] with T | None syntax for Python 3.11+ compatibility - Add missing return type annotations for _connect() and _close() methods - Ensure consistency with parent Lake class type annotations - All union types now use modern syntax compatible with mypy strict checking Co-authored-by: Yusuf Ali <[email protected]>
1 parent 5fef17a commit 4e35be7

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

servc/svc/com/storage/delta.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import os
2-
from typing import Any, Dict, List, Optional, Tuple
2+
from typing import Any, Dict, List, Tuple
33

44
import pyarrow as pa
55
from deltalake import DeltaTable, write_deltalake
@@ -51,7 +51,7 @@ def __init__(self, config: Config, table: LakeTable):
5151
"aws_conditional_put": "etag",
5252
}
5353

54-
def _connect(self):
54+
def _connect(self) -> bool | None:
5555
if self.isOpen:
5656
return None
5757

@@ -78,7 +78,7 @@ def optimize(self):
7878
table.cleanup_metadata()
7979
table.create_checkpoint()
8080

81-
def getPartitions(self) -> Optional[Dict[str, List[Any]]]:
81+
def getPartitions(self) -> Dict[str, List[Any]] | None:
8282
table = self.getConn()
8383

8484
partitions: Dict[str, List[Any]] = {}
@@ -91,11 +91,11 @@ def getPartitions(self) -> Optional[Dict[str, List[Any]]]:
9191

9292
return partitions
9393

94-
def getCurrentVersion(self) -> Optional[str]:
94+
def getCurrentVersion(self) -> str | None:
9595
table = self.getConn()
9696
return str(table.get_version())
9797

98-
def getVersions(self) -> Optional[List[str]]:
98+
def getVersions(self) -> List[str] | None:
9999
return [str(self.getCurrentVersion())]
100100

101101
def insert(self, data: List[Any]) -> bool:
@@ -129,8 +129,8 @@ def _escape_value(self, val: Any) -> str:
129129

130130
def _filters(
131131
self,
132-
partitions: Optional[Dict[str, List[Any]]] = None,
133-
) -> Optional[List[Tuple[str, str, Any]]]:
132+
partitions: Dict[str, List[Any]] | None = None,
133+
) -> List[Tuple[str, str, Any]] | None:
134134
filters: List[Tuple[str, str, Any]] = []
135135
if partitions is None:
136136
return None
@@ -142,11 +142,11 @@ def _filters(
142142
return filters if len(filters) > 0 else None
143143

144144
def overwrite(
145-
self, data: List[Any], partitions: Optional[Dict[str, List[Any]]] = None
145+
self, data: List[Any], partitions: Dict[str, List[Any]] | None = None
146146
) -> bool:
147147
table = self.getConn()
148148

149-
predicate: Optional[str] = None
149+
predicate: str | None = None
150150
filter = self._filters(partitions)
151151
if filter is not None:
152152
predicate = " & ".join([f"{col} {op} {self._escape_value(val)}" for col, op, val in filter])
@@ -163,9 +163,9 @@ def overwrite(
163163
def readRaw(
164164
self,
165165
columns: List[str],
166-
partitions: Optional[Dict[str, List[Any]]] = None,
167-
version: Optional[str] = None,
168-
options: Optional[Any] = None,
166+
partitions: Dict[str, List[Any]] | None = None,
167+
version: str | None = None,
168+
options: Any | None = None,
169169
) -> Table:
170170
table = self.getConn()
171171
if version is not None:
@@ -191,18 +191,18 @@ def readRaw(
191191
def read(
192192
self,
193193
columns: List[str],
194-
partitions: Optional[Dict[str, List[Any]]] = None,
195-
version: Optional[str] = None,
196-
options: Optional[Any] = None,
194+
partitions: Dict[str, List[Any]] | None = None,
195+
version: str | None = None,
196+
options: Any | None = None,
197197
) -> Table:
198198
return self.readRaw(columns, partitions, version, options)
199199

200-
def getSchema(self) -> Optional[Schema]:
200+
def getSchema(self) -> Schema | None:
201201
table = self.getConn()
202202

203203
return table.schema.to_pyarrow()
204204

205-
def _close(self):
205+
def _close(self) -> bool:
206206
if self._isOpen:
207207
self._isReady = False
208208
self._isOpen = False

0 commit comments

Comments
 (0)