Skip to main content

TableTalk

Mount a dbt project. Review proposed agents and evaluations. Prove that your data agents are safe, grounded, and correct.

Tests Python PyPI License

TableTalk is the dbt-native development, evaluation, and observability layer for trusted data agents. It uses the analytical knowledge that a company already maintains in dbt. It creates reproducible agents and defensible evaluation evidence. It does not require a second large semantic configuration system.

TableTalk is not a general agent framework. It is not a BI dashboard. It does not replace dbt.

What TableTalk proves

  • manifest.json defines the queryable resources.
  • Agent files contain dbt selectors and small TableTalk policies.
  • Every agent and eval starts as a review-only proposal.
  • Approval binds the exact proposal, manifest, base files, and resource bytes.
  • Trusted semantic statements record source evidence.
  • Inferred statements remain untrusted until a user confirms them.
  • SQL validation runs before every read-only warehouse query.
  • Live questions and evals use the same runtime.
  • Approved reference queries provide changing-data ground truth.
  • Inference artifacts support strict replay with no model request.
  • Reports include hard checks, trial metrics, uncertainty, paired comparisons, and failure ownership.

Install

pip install tabletalk
pip install "tabletalk[duckdb]"
pip install "tabletalk[snowflake]"

TableTalk requires Python 3.10 or newer. SQLite uses the Python standard library. The initial warehouse adapters are SQLite, DuckDB, and Snowflake.

Start from an existing dbt project

cd my-dbt-project
dbt parse
dbt docs generate
tabletalk init
tabletalk propose
tabletalk approve
tabletalk eval run
tabletalk ask revenue "What was recognized revenue last month?"

tabletalk propose analyzes dbt groups, tags, packages, paths, owners, access, metrics, semantic models, tests, constraints, descriptions, and lineage. It creates at most three coherent proposals. It prefers curated marts. It shows semantic gaps and exact file diffs. It does not write project resources.

The approval command requires the exact proposal digest for automated use:

tabletalk approve prp_EXAMPLE \
  --yes \
  --digest sha256:EXAMPLE \
  --actor "$USER"

Approval fails if the manifest or a reviewed base file changed. TableTalk runs approved evals immediately.

Acquire missing meaning

Provide a targeted answer:

tabletalk propose \
  --answer "time_basis:model.analytics.orders.booked_revenue=booked_date"

Preview an organizational query as evidence:

tabletalk propose --sql-import finance/revenue.sql

Request optional model hypotheses:

tabletalk propose --infer

TableTalk marks every model hypothesis as inferred. An inferred statement cannot support an answer. A user must confirm its meaning through a new proposal.

Evaluate and replay

tabletalk eval run revenue --trials 3 --workers 2
tabletalk eval run revenue --trials 3 --cache-policy replay
tabletalk eval run revenue --baseline revenue-v1

Each run writes a concise terminal result and three detailed artifacts:

  • versioned JSON for tools
  • JUnit XML for CI
  • Markdown for a pull request.

The report identifies the model, agent, manifest, semantic knowledge, prompt, runtime, warehouse, and inference fingerprint. It reports pass rate, a Wilson confidence interval, latency, tokens, configured cost, flaky outcomes, and deterministic failure diagnoses.

Security and retention

  • Use a warehouse identity with physical read-only permissions.
  • Treat connector permissions as the final security boundary.
  • TableTalk rejects writes, unsafe reads, unknown resources, unknown columns, unsafe joins, excessive limits, and unapproved sensitive data.
  • TableTalk never treats lineage as proof that a join is correct.
  • TableTalk does not store credentials in traces, reports, or fingerprints.
  • Inference artifacts hash prompts by default. Set persist_prompts: true only when exact raw-prompt retention is acceptable.
  • Traces and reports retain bounded evidence rows. Exact evidence is required for deterministic replay and claim validation.
  • TableTalk does not delete artifacts automatically. The operator must apply a retention policy to .tabletalk/.

See the commerce example, the getting-started guide, and the research evidence.

Development

uv sync --locked --all-groups
uv run pytest -q
uv run ruff check tabletalk
uv run mypy tabletalk
uv build

The live Ollama smoke test is opt-in. It uses only gemma4:31b-cloud:

TABLETALK_LIVE_OLLAMA=1 uv run pytest -m live_ollama

License and services

TableTalk is source-available under the PolyForm Noncommercial License 1.0.0. The license permits the uses that its text defines. Commercial use requires separate written permission.

William Bates offers implementation, integration, semantic onboarding, and custom eval-suite development. See the commercial notice. Earlier releases keep their earlier license grants. See LICENSE_HISTORY.md.

Metadata

Release files for tabletalk 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tabletalk 0.6.0
File Size Uploaded Provenance
tabletalk-0.6.0.tar.gz 345.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tabletalk 0.6.0
File Interpreter ABI Platform
tabletalk-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 448.9 kB

Release files / tabletalk-0.6.0.tar.gz

Download URL tabletalk-0.6.0.tar.gz
Size 345.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0eb07221860678d42f2f6c519ae8173832f4c7ec82d98193bc32fbc13d031571
BLAKE2b-256 checksum
How to use checksums
c8a7955c96ee58711c29dddb806125786f89a4c51ab93f39b691b725c9ba5698
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / tabletalk-0.6.0-py3-none-any.whl

Download URL tabletalk-0.6.0-py3-none-any.whl
Size 103.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a1783996f06f3aa143ef94c7d0d1a28cd07596d7ac83309a018a441a499e7bff
BLAKE2b-256 checksum
How to use checksums
f0edc8a366ff7511b54d43cf5faf79a27f6ad3e273f9035688bd07a258e90035
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Security for tabletalk 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tabletalk-0.6.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page