API Reference
All APIs are exported from polyglot_sql.
Core Functions
transpile(sql: str, read: str = "generic", write: str = "generic", *, pretty: bool = False) -> list[str]
parse(sql: str, dialect: str = "generic") -> list[dict[str, Any]]
parse_one(sql: str, dialect: str = "generic") -> dict[str, Any]
generate(ast: dict[str, Any] | list[dict[str, Any]], dialect: str = "generic", *, pretty: bool = False) -> list[str]
format_sql(
sql: str,
dialect: str = "generic",
*,
max_input_bytes: int | None = None,
max_tokens: int | None = None,
max_ast_nodes: int | None = None,
max_set_op_chain: int | None = None,
) -> str
format(...) -> str
validate(sql: str, dialect: str = "generic") -> ValidationResult
optimize(sql: str, dialect: str = "generic") -> str
lineage(column: str, sql: str, dialect: str = "generic") -> dict[str, Any]
source_tables(column: str, sql: str, dialect: str = "generic") -> list[str]
diff(sql1: str, sql2: str, dialect: str = "generic") -> list[dict[str, Any]]
dialects() -> list[str]
format is an alias of format_sql.
Errors
PolyglotErrorParseErrorGenerateErrorTranspileErrorValidationError
Unknown dialect names raise Python ValueError.
Validation Result Types
validate(...) returns ValidationResult:
valid: boolerrors: list[ValidationErrorInfo]bool(result)isTruewhenvalidisTrue
ValidationErrorInfo fields:
message: strline: intcol: intcode: strseverity: str