pyiceberg/catalog/noop.py (81 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. from typing import ( TYPE_CHECKING, List, Optional, Set, Tuple, Union, ) from pyiceberg.catalog import Catalog, PropertiesUpdateSummary from pyiceberg.partitioning import UNPARTITIONED_PARTITION_SPEC, PartitionSpec from pyiceberg.schema import Schema from pyiceberg.table import ( CommitTableResponse, CreateTableTransaction, Table, ) from pyiceberg.table.sorting import UNSORTED_SORT_ORDER, SortOrder from pyiceberg.table.update import ( TableRequirement, TableUpdate, ) from pyiceberg.typedef import EMPTY_DICT, Identifier, Properties if TYPE_CHECKING: import pyarrow as pa class NoopCatalog(Catalog): def create_table( self, identifier: Union[str, Identifier], schema: Union[Schema, "pa.Schema"], location: Optional[str] = None, partition_spec: PartitionSpec = UNPARTITIONED_PARTITION_SPEC, sort_order: SortOrder = UNSORTED_SORT_ORDER, properties: Properties = EMPTY_DICT, ) -> Table: raise NotImplementedError def create_table_transaction( self, identifier: Union[str, Identifier], schema: Union[Schema, "pa.Schema"], location: Optional[str] = None, partition_spec: PartitionSpec = UNPARTITIONED_PARTITION_SPEC, sort_order: SortOrder = UNSORTED_SORT_ORDER, properties: Properties = EMPTY_DICT, ) -> CreateTableTransaction: raise NotImplementedError def load_table(self, identifier: Union[str, Identifier]) -> Table: raise NotImplementedError def table_exists(self, identifier: Union[str, Identifier]) -> bool: raise NotImplementedError def register_table(self, identifier: Union[str, Identifier], metadata_location: str) -> Table: """Register a new table using existing metadata. Args: identifier Union[str, Identifier]: Table identifier for the table metadata_location str: The location to the metadata Returns: Table: The newly registered table Raises: TableAlreadyExistsError: If the table already exists """ raise NotImplementedError def drop_table(self, identifier: Union[str, Identifier]) -> None: raise NotImplementedError def purge_table(self, identifier: Union[str, Identifier]) -> None: raise NotImplementedError def rename_table(self, from_identifier: Union[str, Identifier], to_identifier: Union[str, Identifier]) -> Table: raise NotImplementedError def commit_table( self, table: Table, requirements: Tuple[TableRequirement, ...], updates: Tuple[TableUpdate, ...] ) -> CommitTableResponse: raise NotImplementedError def create_namespace(self, namespace: Union[str, Identifier], properties: Properties = EMPTY_DICT) -> None: raise NotImplementedError def drop_namespace(self, namespace: Union[str, Identifier]) -> None: raise NotImplementedError def list_tables(self, namespace: Union[str, Identifier]) -> List[Identifier]: raise NotImplementedError def list_namespaces(self, namespace: Union[str, Identifier] = ()) -> List[Identifier]: raise NotImplementedError def load_namespace_properties(self, namespace: Union[str, Identifier]) -> Properties: raise NotImplementedError def update_namespace_properties( self, namespace: Union[str, Identifier], removals: Optional[Set[str]] = None, updates: Properties = EMPTY_DICT ) -> PropertiesUpdateSummary: raise NotImplementedError def list_views(self, namespace: Union[str, Identifier]) -> List[Identifier]: raise NotImplementedError def view_exists(self, identifier: Union[str, Identifier]) -> bool: raise NotImplementedError def drop_view(self, identifier: Union[str, Identifier]) -> None: raise NotImplementedError