"""Snowflake connection helper for update-dim-tables.""" from typing import Any import snowflake.connector from snowflake.connector import DictCursor from src import config def get_snowflake_connection() -> snowflake.connector.SnowflakeConnection: return snowflake.connector.connect( user=config.SNOWFLAKE_USER_NAME, account=config.SNOWFLAKE_ACCOUNT, role=config.SNOWFLAKE_ROLE, private_key=config.get_snowflake_private_key(), autocommit=False, ) def execute(conn: snowflake.connector.SnowflakeConnection, sql: str, params: tuple[Any, ...] = ()) -> DictCursor: return conn.cursor(DictCursor).execute(sql, params) # type: ignore[return-value]