Skip to content

Snowflake Emulator

A local Snowflake account emulator. Official snowflake-connector-python, gosnowflake and dbt-snowflake point at localhost, unmodified.

SQL runs on DuckDB and every result says so: dialect: duckdb. This project does not claim Snowflake SQL compatibility. What it claims is narrower and checkable — a statement a real account accepts is either answered or refused by name, never quietly ignored.

Terminal window
make doctor
make build
SNOWFLAKE_DUCKDB_PATH=:memory: make run

data/admin.pat is the seeded password. token=dev is 401.

  • Quickstart — the first statement, and the first refusal
  • Doctrine — what this is, and what it is not
  • Parity — every claim, measured against the built image

Until v0.1.4 there were none. The duckdb CLI this image pins exits 0 after refusing a statement, so anything unparseable answered status: okeighteen constructs, including Tasks, Streams, Time Travel and TO_DATE, none implemented and none saying so. The parity map at the time listed four of them and was silent about the rest.

That is why the map is now generated by running each probe against the image, why CI fails if the committed file disagrees, and why every green claim names a witness. A capability list nothing verifies is a wish.