grai_source_fivetran
loader

FiveTranConfig Objects

class FiveTranConfig(BaseSettings)

validate_endpoint

@validator("endpoint")
def validate_endpoint(cls, value)

Arguments:

value:

Returns:

Config Objects

class Config()

has_data_items

def has_data_items(item: Dict) -> bool

Arguments:

item (Dict):

Returns:

FivetranAPI Objects

class FivetranAPI()

make_request

def make_request(request: Callable[..., requests.Response],
                 url: str,
                 headers: Optional[Dict] = None,
                 params: Optional[Dict] = None,
                 **kwargs) -> Tuple[Dict, requests.Response]

Arguments:

request: url:

  • headers - (Default value = None)
  • params - (Default value = None) **kwargs:

Returns:

paginated_query

def paginated_query(request: Callable[..., requests.Response],
                    url: str,
                    headers: Optional[Dict] = None,
                    params: Optional[Dict] = None,
                    **kwargs) -> Iterable[Dict]

Arguments:

request: url:

  • headers - (Default value = None)
  • params - (Default value = None) **kwargs:

Returns:

get_paginated_data_items

def get_paginated_data_items(url: str,
                             headers: Optional[Dict] = None,
                             params: Optional[Dict] = None) -> List[Dict]

Arguments:

url:

  • headers - (Default value = None)
  • params - (Default value = None)

Returns:

get_tables

def get_tables(connector_id: str,
               limit: Optional[int] = None) -> List[TableMetadataResponse]

Arguments:

connector_id:

  • limit - (Default value = None)

Returns:

get_columns

def get_columns(connector_id: str,
                limit: Optional[int] = None) -> List[ColumnMetadataResponse]

Arguments:

connector_id:

  • limit - (Default value = None)

Returns:

get_schemas

def get_schemas(connector_id: str,
                limit: Optional[int] = None) -> List[SchemaMetadataResponse]

Arguments:

connector_id:

  • limit - (Default value = None)

Returns:

get_all_groups

def get_all_groups(limit: Optional[int] = None) -> List[GroupResponse]

Arguments:

  • limit - (Default value = None)

Returns:

get_group_connectors

def get_group_connectors(group_id: str,
                         limit: Optional[int] = None
                         ) -> List[ConnectorResponse]

Arguments:

group_id:

  • limit - (Default value = None)

Returns:

get_destination_metadata

def get_destination_metadata(
        destination_id: str) -> V1DestinationsDestinationIdGetResponse

Arguments:

destination_id (str):

Returns:

get_connector_metadata

def get_connector_metadata(
        connector_id: str) -> V1ConnectorsConnectorIdSchemasGetResponse

Arguments:

connector_id (str):

Returns:

get_source_table_column_metadata

def get_source_table_column_metadata(
    connector_id: str, schema: str, table: str
) -> V1ConnectorsConnectorIdSchemasSchemaTablesTableColumnsGetResponse

Arguments:

connector_id (str): schema (str): table (str):

Returns:

get_connectors

def get_connectors() -> List[ConnectorResponse]

Arguments:

Returns:

caller

async def caller(semaphore: asyncio.Semaphore, func: Callable[..., T], *args,
                 **kwargs) -> T

Arguments:

semaphore (asyncio.Semaphore): func (Callable[..., T]): *args: **kwargs:

Returns:

parallelize_http

def parallelize_http(semaphore)

Arguments:

semaphore:

Returns:

SourceDestinationDict Objects

class SourceDestinationDict(TypedDict)

FivetranConnector Objects

class FivetranConnector(FivetranAPI)

build_lineage

def build_lineage()

get_nodes_and_edges

def get_nodes_and_edges() -> Tuple[List[NodeTypes], List[Edge]]

Arguments:

Returns: