2424)
2525
2626import boto3
27+ from typing_extensions import override
2728
2829from pyiceberg .catalog import (
2930 BOTOCORE_SESSION ,
@@ -151,6 +152,7 @@ def _dynamodb_table_exists(self) -> bool:
151152 else :
152153 return True
153154
155+ @override
154156 def create_table (
155157 self ,
156158 identifier : str | Identifier ,
@@ -210,6 +212,7 @@ def create_table(
210212
211213 return self .load_table (identifier = identifier )
212214
215+ @override
213216 def register_table (self , identifier : str | Identifier , metadata_location : str , overwrite : bool = False ) -> Table :
214217 """Register a new table using existing metadata.
215218
@@ -226,6 +229,7 @@ def register_table(self, identifier: str | Identifier, metadata_location: str, o
226229 """
227230 raise NotImplementedError
228231
232+ @override
229233 def commit_table (
230234 self , table : Table , requirements : tuple [TableRequirement , ...], updates : tuple [TableUpdate , ...]
231235 ) -> CommitTableResponse :
@@ -245,6 +249,7 @@ def commit_table(
245249 """
246250 raise NotImplementedError
247251
252+ @override
248253 def load_table (self , identifier : str | Identifier ) -> Table :
249254 """
250255 Load the table's metadata and returns the table instance.
@@ -265,6 +270,7 @@ def load_table(self, identifier: str | Identifier) -> Table:
265270 dynamo_table_item = self ._get_iceberg_table_item (database_name = database_name , table_name = table_name )
266271 return self ._convert_dynamo_table_item_to_iceberg_table (dynamo_table_item = dynamo_table_item )
267272
273+ @override
268274 def drop_table (self , identifier : str | Identifier ) -> None :
269275 """Drop a table.
270276
@@ -285,6 +291,7 @@ def drop_table(self, identifier: str | Identifier) -> None:
285291 except ConditionalCheckFailedException as e :
286292 raise NoSuchTableError (f"Table does not exist: { database_name } .{ table_name } " ) from e
287293
294+ @override
288295 def rename_table (self , from_identifier : str | Identifier , to_identifier : str | Identifier ) -> Table :
289296 """Rename a fully classified table name.
290297
@@ -351,6 +358,7 @@ def rename_table(self, from_identifier: str | Identifier, to_identifier: str | I
351358
352359 return self .load_table (to_identifier )
353360
361+ @override
354362 def create_namespace (self , namespace : str | Identifier , properties : Properties = EMPTY_DICT ) -> None :
355363 """Create a namespace in the catalog.
356364
@@ -372,6 +380,7 @@ def create_namespace(self, namespace: str | Identifier, properties: Properties =
372380 except ConditionalCheckFailedException as e :
373381 raise NamespaceAlreadyExistsError (f"Database { database_name } already exists" ) from e
374382
383+ @override
375384 def drop_namespace (self , namespace : str | Identifier ) -> None :
376385 """Drop a namespace.
377386
@@ -399,6 +408,7 @@ def drop_namespace(self, namespace: str | Identifier) -> None:
399408 except ConditionalCheckFailedException as e :
400409 raise NoSuchNamespaceError (f"Database does not exist: { database_name } " ) from e
401410
411+ @override
402412 def list_tables (self , namespace : str | Identifier ) -> list [Identifier ]:
403413 """List Iceberg tables under the given namespace in the catalog.
404414
@@ -443,6 +453,7 @@ def list_tables(self, namespace: str | Identifier) -> list[Identifier]:
443453
444454 return table_identifiers
445455
456+ @override
446457 def list_namespaces (self , namespace : str | Identifier = ()) -> list [Identifier ]:
447458 """List top-level namespaces from the catalog.
448459
@@ -485,6 +496,7 @@ def list_namespaces(self, namespace: str | Identifier = ()) -> list[Identifier]:
485496
486497 return database_identifiers
487498
499+ @override
488500 def load_namespace_properties (self , namespace : str | Identifier ) -> Properties :
489501 """
490502 Get properties for a namespace.
@@ -503,6 +515,7 @@ def load_namespace_properties(self, namespace: str | Identifier) -> Properties:
503515 namespace_dict = _convert_dynamo_item_to_regular_dict (namespace_item )
504516 return _get_namespace_properties (namespace_dict = namespace_dict )
505517
518+ @override
506519 def update_namespace_properties (
507520 self , namespace : str | Identifier , removals : set [str ] | None = None , updates : Properties = EMPTY_DICT
508521 ) -> PropertiesUpdateSummary :
@@ -540,6 +553,7 @@ def update_namespace_properties(
540553
541554 return properties_update_summary
542555
556+ @override
543557 def create_view (
544558 self ,
545559 identifier : str | Identifier ,
@@ -550,18 +564,23 @@ def create_view(
550564 ) -> View :
551565 raise NotImplementedError
552566
567+ @override
553568 def list_views (self , namespace : str | Identifier ) -> list [Identifier ]:
554569 raise NotImplementedError
555570
571+ @override
556572 def register_view (self , identifier : str | Identifier , metadata_location : str ) -> View :
557573 raise NotImplementedError
558574
575+ @override
559576 def drop_view (self , identifier : str | Identifier ) -> None :
560577 raise NotImplementedError
561578
579+ @override
562580 def view_exists (self , identifier : str | Identifier ) -> bool :
563581 raise NotImplementedError
564582
583+ @override
565584 def load_view (self , identifier : str | Identifier ) -> View :
566585 raise NotImplementedError
567586
0 commit comments