import abc from plesna.models.storage import Schema class DataCatalogue: def __init__(self): pass @property @abc.abstractmethod def schemas(self) -> list[str]: """List schema's names""" raise NotImplementedError @abc.abstractmethod def schema(self, name: str) -> Schema: """Get the schema properties""" raise NotImplementedError @abc.abstractmethod def tables(self, schema: str) -> list[str]: """List table's name in schema""" raise NotImplementedError