VegaLiteWriter.render_chart()andrender_altair()now acceptvalidate,height, andwidthas explicit keyword arguments.heightandwidthdefault toNone, which preserves whatever dimensions ggsql produces.validatedefaults toFalse(same behavior as before, now a named parameter).
- Upgraded to ggsql Rust crate v0.3.2.
render_altair()andVegaLiteWriter.render_chart()now default tovalidate=Falsewhen creating Altair chart objects. This avoidsValidationErrors for valid specs (e.g., boxplots) that use Vega-Lite features not yet reflected in Altair's schema. Passvalidate=Trueto re-enable.- When Altair can't deserialize a spec into the expected chart subclass (e.g.,
LayerChart), the converter now falls back toaltair.Chartinstead of raising. The chart still displays correctly; only Altair-level round-tripping (.to_dict()) is lost.
- Upgraded to ggsql Rust crate v0.3.1.
- Replaced polars with Arrow (via pyarrow) for the Rust↔Python data bridge.
DuckDBReader.execute_sql(),Spec.data(),Spec.layer_data(), andSpec.stat_data()now returnpyarrow.Tableinstead ofpolars.DataFrame.DuckDBReader.register()acceptspyarrow.Table(polars DataFrames are still accepted via automatic conversion). Custom readers returning polars DataFrames fromexecute_sql()continue to work without changes. - Runtime dependency changed from
polarstopyarrow.
Synced with ggsql Rust crate v0.2.7.
Initial release.