dbt-core 目前不兼容 Python 3.13,需使用 Python 3.10-3.12;完整 diff 功能需先准备两个可对比的环境;仅需 CI 上传产物时改用轻量的 recce-cloud 包
recce
DataRecceApache-2.0活跃维护面向 dbt 项目的数据校验工具,在 PR 评审阶段对比改动前后的数据差异,帮分析工程师提前发现模型变更带来的数据问题。
The data-validation toolkit for enhanced dbt (data build tool) PR review
pip install -U recce
recce serverREADME 未说明硬件要求;工具在本地运行,数据留在你自己的数仓中
给 dbt 项目做数据校验的工具,帮你在 PR 评审时预览并验证数据变更
面向 dbt 项目的数据校验工具,在 PR 评审阶段对比改动前后的数据差异,帮分析工程师提前发现模型变更带来的数据问题。
核心能力
- 按模型和列级别查看血缘,定位变更影响范围
- 用 Profile、Value、Top-K、Histogram Diff 对比变更前后数据
- 并排编写并对比任意两条查询做 Query Diff
- 把校验步骤整理成 Checklist,附注并分享给评审者
- 数据留在自有数仓,本地或私有环境运行
容易踩的坑
- v1.71.0最新正式版2026-11-04 · 2026-11-04 08:47 UTC
What's Changed
- chore(deps): consolidate dependabot updates by @gcko in https://github.com/DataRecce/recce/pull/1588
- fix(cll): keep column-level lineage working on sqlglot 30.25+ and lift the cap by @gcko in https://github.com/DataRecce/recce/pull/1590
- fix(cll): keep lineage when a parent is missing from catalog.json by @gcko in https://github.com/DataRecce/recce/pull/1591
- ci: add a daily sqlglot canary for column-level lineage by @gcko in https://github.com/DataRecce/recce/pull/1593
- fix(change-analysis): skip parents without columns in the sqlglot schema by @gcko in https://github.com/DataRecce/recce/pull/1578
- fix(security): block Python-job execution from query templates and redact run errors by @kentwelcome in https://github.com/DataRecce/recce/pull/1594
Full Changelog: https://github.com/DataRecce/recce/compare/v1.70.1...v1.71.0
- v1.70.22026-11-03 · 2026-11-03 07:22 UTC
查看更新说明
What's Changed
- fix(security): backport DRC-5106 to v1.70 by @kentwelcome in https://github.com/DataRecce/recce/pull/1595
Full Changelog: https://github.com/DataRecce/recce/compare/v1.70.1...v1.70.2
- v1.70.12026-11-02 · 2026-11-02 06:08 UTC
查看更新说明
What's Changed
Bug Fixes
-
Column-level lineage works again on fresh installs. sqlglot 30.25.0 (released 2026-10-26) changed how the SQL optimizer resolves columns without a schema. Since then, column-level lineage has errored on several common query shapes:
GROUP BY/HAVING, subqueries, literal sources, and mixedUNION/INTERSECT. Recce 1.70.0 allowed those sqlglot versions, so any install from 2026-10-26 onward picked one up. This release pinssqlglot<30.25.- fix(deps): cap sqlglot below 30.25 to keep column-level lineage working by @gcko in https://github.com/DataRecce/recce/pull/1589
If you installed Recce 1.70.0 after 2026-10-26, upgrade with
pip install -U recce, or runpip install "sqlglot<30.25".
Documentation
- docs(security): report vulnerabilities via reccehq.com/security by @kentwelcome in https://github.com/DataRecce/recce/pull/1583
Full Changelog: https://github.com/DataRecce/recce/compare/v1.70.0...v1.70.1
-
- v1.70.02026-10-28 · 2026-10-28 08:30 UTC
查看更新说明
What's Changed
- fix(deps): bump Node to 26.12.1 for eMudhra CA distrust by @gcko in https://github.com/DataRecce/recce/pull/1580
- chore(deps): Bump the all-minor-patch group in /js with 7 updates by @dependabot[bot] in https://github.com/DataRecce/recce/pull/1581
- feat(cloud): add --base to recce-cloud download by @wcchang1115 in https://github.com/DataRecce/recce/pull/1585
Full Changelog: https://github.com/DataRecce/recce/compare/v1.69.1...v1.70.0
- v1.69.12026-10-22 · 2026-10-22 03:46 UTC
查看更新说明
What's Changed
Security
- Security hardening update, responsibly reported by @tynianov1. Further details will be published after users have had time to upgrade.
Dependencies
- chore(deps): Bump certifi from 2026.10.18 to 2026.10.19 by @dependabot[bot] in https://github.com/DataRecce/recce/pull/1576
- chore(deps): Bump uv from 0.13.1 to 0.13.4 by @dependabot[bot] in https://github.com/DataRecce/recce/pull/1575
Full Changelog: https://github.com/DataRecce/recce/compare/v1.69.0...v1.69.1
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Trust, Verify, Ship
Cut dbt review time by 90% and ship accurate data fast
Recce gives data teams a faster, more reliable way to understand, review, and ship changes without all the guesswork or manual overhead.
Quick Start
Installation
Recce offers two packages to fit different use cases:
For full local development and Recce Cloud features:
pip install -U recce
recce server
For CI/CD artifact uploads only (lightweight):
pip install -U recce-cloud
recce-cloud upload
The recce-cloud package is a lightweight CLI tool designed specifically for CI/CD environments where you only need to upload dbt artifacts to Recce Cloud. It has minimal dependencies and installs faster than the full recce package.
Getting Started
You can launch Recce in any dbt project in just two commands:
# cd into your dbt project
pip install -U recce
recce server
(Note: while recce is not version spsecific, dbt-core is currently not compatible with Python 3.13. Please make sure to use Python 3.10 - 3.12.)
This starts Recce locally, where you can explore lineage and run queries. To unlock the full set of diffing tools, such as data comparisons and impact checks, you'll need to prepare two environments to compare against. You can follow our Getting Started and 5-minute Jaffle Shop tutorial to try it out step-by-step.
What You Get
Recce gives you a clear, fast way to understand what your data changes are doing and why they matter. It helps you catch problems early, verify metrics, and share your findings with others, all as part of your normal workflow.
Using Recce for Impact Assessment in dbt PR Review
- Select nodes in the lineage to perform Checks (diffs) as part of your impact assessment during development or PR review.
- Add Checks to your Checklist to note observed impacts.
- Share your Checklist with the PR reviewer.
- (
Recce Cloud) Automatically sync Check status between Recce Instances - (
Recce Cloud) Block PR merging until all Recce Checks have been approved
Read more about using Recce on our blog.
What’s Included
- Lineage and impact mapping: Quickly see which models and columns are affected by a change. Navigate lineage down to the column level, and spot breaking changes with clear visual cues.
- Metric and data comparisons: Use Profile, Value, Top-K, and Histogram Diffs to compare results before and after changes. Validate things like row counts, category distributions, and numeric ranges without writing extra SQL.
- Query diff: Write and compare any two queries side by side. This is helpful when validating fixes or reviewing changes with teammates.
- Checklist for reviews and approvals: Turn your validation steps into a checklist. Add notes, rerun checks, and share the results with reviewers or stakeholders. In Recce Cloud, checklists can sync automatically and even block PRs until checks are approved.
- Secure by design: Recce is SOC 2 compliant to meet enterprise security standards. It runs locally or in your private environment, and your data stays in your warehouse.
👉 Want to dive deeper? Check out the full documentation.
Recce Cloud
Ready to collaborate and move faster as a team? Recce Cloud adds real-time collaboration, automatic checklist sync, and PR gating, so nothing gets merged without a full review.
- Share checklists across environments
- Invite stakeholders to review data changes
- Block merges until all Checks are approved
- Launch demo links from your CI with full context
Recce Cloud is a hosted version of Recce that standardizes your workflow, keeps teams aligned, and reduces errors—so you can ship data changes with confidence. 👉 View Pricing and Plans
Developer Documentation
If you want to contribute to Recce or test local changes in your dbt project, follow these steps to install the development version.
Installing the Local Dev Version
-
Clone the repository (if you haven't already):
git clone https://github.com/DataRecce/recce.git cd recce -
Build the project from the repository root:
make buildThis builds the frontend assets and prepares the package for installation.
-
Install the local dev version in your dbt project:
# Navigate to your dbt project cd /path/to/your/dbt-project # Install recce in editable mode (replace with your actual path to the recce repo) pip install -e /path/to/recceUsing
-e(editable mode) means any changes you make to the Recce source code will be immediately available without reinstalling. -
Start the Recce server to verify the installation:
recce server
Development Tips
- After making frontend changes in
js/, runmake buildagain to rebuild the static assets - Run
make install-devin the recce repository to install development dependencies - Use
make testto run the Python test suite - Use
cd js && pnpm testto run the frontend test suite
For more detailed development guidelines, see CONTRIBUTING.md.
Community & Support
Here's where you can get in touch with the Recce team and find support, add a subscribe to our newsletter option as well:
- chat on our website. We welcome you to start a chat or drop us a note. Our team monitors the chat box and will follow up soon.
- Our discord
- dbt Slack in the #tools-recce channel
- Email us [email protected]
If you believe you have found a bug on our open source, or there is some missing functionality in Recce, please open a GitHub Issue.
Recce on the web
You can follow along with news about Recce and blogs from our team in the following places:
- RecceHQ.com
- Blog
- @datarecce on Twitter/X
- @[email protected] on Mastodon
- @datarecce.bsky.social on BlueSky