{"id":34028250,"url":"https://github.com/datarecce/recce","last_synced_at":"2026-04-14T03:01:25.895Z","repository":{"id":209822978,"uuid":"701239058","full_name":"DataRecce/recce","owner":"DataRecce","description":"The data-validation toolkit for enhanced dbt (data build tool) PR review","archived":false,"fork":false,"pushed_at":"2026-04-08T11:29:01.000Z","size":52182,"stargazers_count":450,"open_issues_count":24,"forks_count":26,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-04-08T11:32:11.121Z","etag":null,"topics":["analytics-engineering","data","data-engineering","data-validation","dataops","dbt","elt"],"latest_commit_sha":null,"homepage":"https://datarecce.io/docs","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataRecce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-10-06T08:14:25.000Z","updated_at":"2026-04-08T09:22:21.000Z","dependencies_parsed_at":"2025-12-05T19:06:51.982Z","dependency_job_id":"faf32635-5c6d-4e32-84a1-6ac0ce8b3184","html_url":"https://github.com/DataRecce/recce","commit_stats":null,"previous_names":["datarecce/recce","infuseai/recce"],"tags_count":171,"template":false,"template_full_name":null,"purl":"pkg:github/DataRecce/recce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataRecce%2Frecce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataRecce%2Frecce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataRecce%2Frecce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataRecce%2Frecce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataRecce","download_url":"https://codeload.github.com/DataRecce/recce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataRecce%2Frecce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31779947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics-engineering","data","data-engineering","data-validation","dataops","dbt","elt"],"created_at":"2025-12-13T17:04:22.311Z","updated_at":"2026-04-14T03:01:25.849Z","avatar_url":"https://github.com/DataRecce.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://reccehq.com\"\u003e\n        \u003cpicture\u003e\n            \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://reccehq.com/assets/images/recce-logo-stacked.avif\"\u003e\n            \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://reccehq.com/assets/images/recce-logo-stacked.avif\"\u003e\n            \u003cimg alt=\"Recce: DataRecce.io\" src=\"https://reccehq.com/assets/images/recce-logo-stacked.avif\" width=\"200\" style=\"display: block; margin: 0 auto 20px;\"\u003e\n        \u003c/picture\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eHelping data teams preview, validate, and ship data changes with confidence.\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pypi.org/project/recce/\"\u003e\u003cimg src=\"https://img.shields.io/badge/pip_install-recce-006DAD?style=flat-square\" alt=\"install\"\u003e\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://pypi.org/project/recce/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/recce?style=flat-square\" alt=\"pipy\"\u003e\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://pypi.org/project/recce/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/recce?style=flat-square\" alt=\"Python\"\u003e\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://pypi.org/project/recce/#files\"\u003e\u003cimg src=\"https://img.shields.io/pypi/dw/recce?style=flat-square\" alt=\"downloads\"\u003e\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://github.com/DataRecce/recce/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/DataRecce/recce?style=flat-square\" alt=\"license\"\u003e\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://getdbt.slack.com/archives/C05C28V7CPP\"\u003e\u003cimg src=\"https://img.shields.io/badge/Slack-4A154B?style=flat-square\u0026amp;logo=slack\u0026amp;logoColor=white\" alt=\"Slack\"\u003e\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://discord.com/invite/5zb2aK9KBV\"\u003e\u003cimg src=\"https://img.shields.io/discord/664381609771925514?color=%237289DA\u0026amp;label=chat\u0026amp;logo=discord\u0026amp;logoColor=white\u0026amp;style=flat-square\" alt=\"InfuseAI Discord Invite\"\u003e\u003c/a\u003e \u0026nbsp;\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://cal.com/team/recce/chat?utm_source=banner\u0026utm_campaign=oss\"\u003e\n        \u003cimg alt=\"Book us with Cal.com\" src=\"https://cal.com/book-with-cal-light.svg\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## Trust, Verify, Ship\n\nCut dbt review time by 90% and ship accurate data fast\n\nRecce gives data teams a faster, more reliable way to understand, review, and ship changes without all the guesswork or manual overhead.\n\n## Quick Start\n\n### Installation\n\nRecce offers two packages to fit different use cases:\n\n**For full local development and Recce Cloud features:**\n\n```bash\npip install -U recce\nrecce server\n```\n\n**For CI/CD artifact uploads only (lightweight):**\n\n```bash\npip install -U recce-cloud\nrecce-cloud upload\n```\n\nThe `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.\n\n### Getting Started\n\nYou can launch Recce in any dbt project in just two commands:\n\n```bash\n# cd into your dbt project\npip install -U recce\nrecce server\n```\n\n(Note: while recce is not version spsecific, `dbt-core` is currently [not compatible with Python 3.13](https://docs.getdbt.com/faqs/Core/install-python-compatibility). Please make sure to use Python 3.10 - 3.12.)\n\nThis 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](https://docs.reccehq.com/get-started/) and [5-minute Jaffle Shop tutorial](https://docs.reccehq.com/get-started-jaffle-shop/) to try it out step-by-step.\n\n## What You Get\n\nRecce 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.\n\n\u003ca href=\"https://pr46.demo.reccehq.com/\"\u003e\u003cimg width=\"1347\" alt=\"readme\" src=\"https://github.com/user-attachments/assets/773e4c3a-0a15-49e0-8d1b-38a55af17cb0\" /\u003e\u003c/a\u003e\n\n\u003ca href=\"https://reccehq.com\"\u003e\u003cimg src=\"https://docs.reccehq.com/assets/images/1-whats-recce/diff-readme2.png\" style=\"width: 100%; max-width: 600px; display: block; margin: 0 auto 20px;\" alt=\"Model and column level diff\"/\u003e\u003c/a\u003e\n\n\u003ca href=\"https://reccehq.com\"\u003e\u003cimg src=\"https://docs.reccehq.com/assets/images/1-whats-recce/checklist-readme3.png\" style=\"width: 100%; max-width: 600px; display: block; margin: 0 auto 20px;\" alt=\"Checklist for collaboration\"/\u003e\u003c/a\u003e\n\n### Using Recce for Impact Assessment in dbt PR Review\n\n- Select nodes in the lineage to perform Checks (diffs) as part of your impact assessment during development or PR\n  review.\n- Add Checks to your Checklist to note observed impacts.\n- Share your Checklist with the PR reviewer.\n- (`Recce Cloud`) Automatically sync Check status between Recce Instances\n- (`Recce Cloud`) Block PR merging until all Recce Checks have been approved\n\nRead more about using Recce on our [blog](https://blog.reccehq.com).\n\n### What’s Included\n\n- [Lineage and impact mapping](https://docs.reccehq.com/features/lineage/): 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.\n- Metric and data comparisons: Use [Profile, Value, Top-K, and Histogram Diffs](https://docs.reccehq.com/features/lineage/#node-details) to compare results before and after changes. Validate things like row counts, category distributions, and numeric ranges without writing extra SQL.\n- [Query diff](https://docs.reccehq.com/features/query/): Write and compare any two queries side by side. This is helpful when validating fixes or reviewing changes with teammates.\n- [Checklist for reviews and approvals](https://docs.reccehq.com/features/checklist/): 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.\n- Secure by design: Recce is [SOC 2 compliant](https://trust.reccehq.com/) to meet enterprise security standards. It runs locally or in your private environment, and your data stays in your warehouse.\n\n👉 Want to dive deeper? Check out the [full documentation](https://docs.reccehq.com/).\n\n## Recce Cloud\n\nReady 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.\n\n- Share checklists across environments\n- Invite stakeholders to review data changes\n- Block merges until all Checks are approved\n- Launch demo links from your CI with full context\n\nRecce 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.\n👉 [View Pricing and Plans](https://reccehq.com/pricing)\n\n## Developer Documentation\n\nIf you want to contribute to Recce or test local changes in your dbt project, follow these steps to install the development version.\n\n### Installing the Local Dev Version\n\n1. **Clone the repository** (if you haven't already):\n\n   ```bash\n   git clone https://github.com/DataRecce/recce.git\n   cd recce\n   ```\n\n2. **Build the project** from the repository root:\n\n   ```bash\n   make build\n   ```\n\n   This builds the frontend assets and prepares the package for installation.\n\n3. **Install the local dev version** in your dbt project:\n\n   ```bash\n   # Navigate to your dbt project\n   cd /path/to/your/dbt-project\n\n   # Install recce in editable mode (replace with your actual path to the recce repo)\n   pip install -e /path/to/recce\n   ```\n\n   Using `-e` (editable mode) means any changes you make to the Recce source code will be immediately available without reinstalling.\n\n4. **Start the Recce server** to verify the installation:\n\n   ```bash\n   recce server\n   ```\n\n### Development Tips\n\n- After making frontend changes in `js/`, run `make build` again to rebuild the static assets\n- Run `make install-dev` in the recce repository to install development dependencies\n- Use `make test` to run the Python test suite\n- Use `cd js \u0026\u0026 pnpm test` to run the frontend test suite\n\nFor more detailed development guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Community \u0026 Support\n\nHere's where you can get in touch with the Recce team and find support, add a subscribe to our newsletter option as well:\n\n- [chat on our website](https://reccehq.com/). We welcome you to start a chat or drop us a note. Our team monitors the chat box and will follow up soon.\n- [Our discord](https://discord.com/invite/VpwXRC34jz)\n- [dbt Slack](https://www.getdbt.com/community/join-the-community) in the [#tools-recce](https://getdbt.slack.com/archives/C05C28V7CPP) channel\n- Email us [help@reccehq.com](mailto:help@reccehq.com)\n\nIf you believe you have found a bug on our open source, or there is some missing functionality in Recce, please open a [GitHub Issue](https://github.com/DataRecce/recce/issues).\n\n## Recce on the web\n\nYou can follow along with news about Recce and blogs from our team in the following places:\n\n- [RecceHQ.com](https://reccehq.com/)\n- [LinkedIn](https://www.linkedin.com/company/datarecce)\n- [Blog](https://blog.reccehq.com/)\n- [@datarecce](https://x.com/DataRecce) on Twitter/X\n- [@DataRecce@mastodon.social](https://mastodon.social/@DataRecce) on Mastodon\n- [@datarecce.bsky.social](https://bsky.app/profile/datarecce.bsky.social) on BlueSky\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatarecce%2Frecce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatarecce%2Frecce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatarecce%2Frecce/lists"}