nat.plugins.vanna.execute_db_query#

Attributes#

Classes#

StatusPayload

Payload for status intermediate steps.

ExecuteDBQueryInput

Input schema for execute DB query function.

DataFrameInfo

DataFrame structure information.

ExecuteDBQueryOutput

Output schema for execute DB query function.

ExecuteDBQueryConfig

Database query execution configuration.

Functions#

execute_db_query(config, _builder)

Register the Execute DB Query function.

Module Contents#

logger#
class StatusPayload(/, **data: Any)#

Bases: pydantic.BaseModel

Payload for status intermediate steps.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

message: str#
class ExecuteDBQueryInput(/, **data: Any)#

Bases: pydantic.BaseModel

Input schema for execute DB query function.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

sql_query: str = None#
class DataFrameInfo(/, **data: Any)#

Bases: pydantic.BaseModel

DataFrame structure information.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

shape: list[int] = None#
dtypes: dict[str, str] = None#
columns: list[str] = None#
class ExecuteDBQueryOutput(/, **data: Any)#

Bases: pydantic.BaseModel

Output schema for execute DB query function.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

success: bool = None#
columns: list[str] = None#
row_count: int = None#
sql_query: str = None#
query_executed: str | None = None#
dataframe_records: list[dict[str, Any]] = None#
dataframe_info: DataFrameInfo | None = None#
failure_reason: str | None = None#
limited_to: int | None = None#
truncated: bool | None = None#
class ExecuteDBQueryConfig(/, **data: Any)#

Bases: nat.data_models.function.FunctionBaseConfig

Database query execution configuration.

Currently only Databricks is supported.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

database_type: str = None#
connection_url: nat.plugins.vanna.db_utils.RequiredSecretStr = None#
max_rows: int = None#
async execute_db_query(
config: ExecuteDBQueryConfig,
_builder: nat.builder.builder.Builder,
)#

Register the Execute DB Query function.