def get_datasource_list()

in src/databao_context_engine/project/datasource_discovery.py [0:0]


def get_datasource_list(project_dir: Path) -> list[Datasource]:
    result = []
    for discovered_datasource in discover_datasources(project_dir=project_dir):
        try:
            prepared_source = prepare_source(discovered_datasource)
        except Exception as e:
            logger.debug(str(e), exc_info=True, stack_info=True)
            logger.info(f"Invalid source at ({discovered_datasource.path}): {str(e)}")
            continue

        result.append(
            Datasource(
                id=get_datasource_id_from_config_file_path(project_dir, discovered_datasource.path),
                type=prepared_source.datasource_type,
            )
        )

    return result