Skip to content

v0.7.4: First-class support for Snowflake and BigQuery

Choose a tag to compare

@ZmeiGorynych ZmeiGorynych released this 14 Jun 10:40
4e53424

0.7.4

Two new Tier-1 dialects (Snowflake and BigQuery), a slimmer inspect_model,, and some hardening of the embedding pipeline.

Snowflake

Snowflake is now Tier 1 with live integration tests. Install the new snowflake extra. Auth supports two shapes: the sentinel URL snowflake://?connection_name=<profile> (looked up in ~/.snowflake/connections.toml via the official connector), or a full snowflake-sqlalchemy URL plus the new typed DatasourceConfig fields connection_name, warehouse, role (alongside the existing database / schema_name). Configured session state is reapplied on every query, so a connection never inherits stale settings from a previous user. Statement timeouts and Snowflake-specific timestamp types are handled.

BigQuery

BigQuery is also Tier 1 now, via the bigquery:// driver (install the sqlalchemy-bigquery extra). Auth uses Google Application Default Credentials with GCP_PROJECT_ID for the billing project. A live example lives in examples/bigquery/ against the public thelook_ecommerce dataset.

inspect_model

The "Reachable via joins" section is gone. It BFS-walked the join graph and blew through the context window on densely-joined real-world schemas. One-hop joins still appear in the ## Joins table; for multi-hop discovery, use the search tool.

Embeddings

embed_batch now pre-truncates each input to the model's token cap before sending, and falls back to per-input retry on BadRequestError so good inputs survive when one over-cap text trips a batch. A user-controlled <|endoftext|> literal inside memory content no longer crashes the encoder. Truncation warnings log a sha256 prefix rather than a content snippet, so application logs don't retain embedded user content. There's a new public truncate_text_for_model helper for downstream callers.

Smaller fixes

The demo data generator is now invoked via the current Python interpreter, so uv tool install and pipx installs work. Empty or truncated YAML model files surface actionable errors instead of opaque parse failures.