Skip to content

EchoSphere

Docs Deploy Status Version Python

pytest for databases

Test your database like you test your code.

EchoSphere is a local-first CLI for SQL-native tests. Keep tests in git, run them in CI, and validate data logic with standard engineering workflows. Without DSL. Without Cloud. Without onboarding processes.

Get Started Compare with Soda Why This Matters in the AI Era

Core Principles

No DSL

Tests are plain .es.sql files. Your team already knows the language.

No Cloud Dependency

Run locally and in CI with the es CLI. No external control plane required.

No Onboarding Ceremony

Initialize with es init, add SQL tests, and run es run.

Developer-Native Loop

Code review, versioning, CI gates, and test reports work exactly like application testing.

What a Test Looks Like

EchoSphere has a single contract: a test passes when SQL returns zero rows. If the query returns rows, the test fails and those rows explain the issue.

-- file: es_suite/orders_total.es.sql
-- @name: Orders Total Validation
-- @tag: critical, nightly
SELECT *
FROM (
  SELECT SUM(O_TOTALPRICE) AS total
  FROM ORDERS
  WHERE O_ORDERDATE = '1995-02-19'
)
WHERE total <> 944870465.07;

Supported Connectors

PostgreSQL    Snowflake    Databricks    SQLite

Developer Workflow

  1. es init --platform <platform>
  2. Add SQL tests in es_suite/
  3. Run es run -e env.<platform>.dev
  4. Inspect suite with es view tests --all or es view test <name>
  5. Optional exports:
  6. --junitxml for CI test reports
  7. --export-failures for failed rows in Excel

Explore Next