# ggsql > SQL extension for declarative data visualization ## Docs ### API Reference #### High-level API > Convenience entry points for common workflows. - [render_altair](reference/render_altair.html): Render a DataFrame with a VISUALISE spec to an Altair chart - [validate](reference/validate.html): Validate query syntax and semantics without executing SQL - [execute](reference/execute.html): Execute a ggsql query using a custom Python reader #### Readers > Execute SQL and manage DataFrames that feed visualizations. - [DuckDBReader](reference/DuckDBReader.html): DuckDB database reader for executing SQL queries #### Writers > Turn a resolved Spec into rendered output. - [VegaLiteWriter](reference/VegaLiteWriter.html): Vega-Lite v6 JSON output writer #### Result types > Objects returned from `validate()` and `reader.execute()`. - [Validated](reference/Validated.html): Result of validate() - query inspection and validation without SQL execution - [Spec](reference/Spec.html): Result of reader.execute(), ready for rendering #### Validated Methods > Methods for the Validated class - [Validated.errors](reference/Validated.errors.html) - [Validated.has_visual](reference/Validated.has_visual.html) - [Validated.sql](reference/Validated.sql.html) - [Validated.valid](reference/Validated.valid.html) - [Validated.visual](reference/Validated.visual.html) - [Validated.warnings](reference/Validated.warnings.html) #### Spec Methods > Methods for the Spec class - [Spec.data](reference/Spec.data.html) - [Spec.layer_count](reference/Spec.layer_count.html) - [Spec.layer_data](reference/Spec.layer_data.html) - [Spec.layer_sql](reference/Spec.layer_sql.html) - [Spec.metadata](reference/Spec.metadata.html) - [Spec.sql](reference/Spec.sql.html) - [Spec.stat_data](reference/Spec.stat_data.html) - [Spec.stat_sql](reference/Spec.stat_sql.html) - [Spec.visual](reference/Spec.visual.html) - [Spec.warnings](reference/Spec.warnings.html)