recce-nightly 1.15.0.20250806__py3-none-any.whl → 1.26.0.20251124__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of recce-nightly might be problematic. Click here for more details.
- recce/VERSION +1 -1
- recce/__init__.py +5 -0
- recce/adapter/dbt_adapter/__init__.py +12 -3
- recce/artifact.py +74 -1
- recce/cli.py +642 -101
- recce/config.py +2 -2
- recce/connect_to_cloud.py +1 -1
- recce/core.py +2 -2
- recce/data/404.html +1 -1
- recce/data/__next.__PAGE__.txt +10 -0
- recce/data/__next._full.txt +23 -0
- recce/data/__next._head.txt +8 -0
- recce/data/__next._index.txt +8 -0
- recce/data/__next._tree.txt +5 -0
- recce/data/_next/static/52aV_JrNUZU6dMFgvTQEO/_buildManifest.js +11 -0
- recce/data/_next/static/52aV_JrNUZU6dMFgvTQEO/_clientMiddlewareManifest.json +1 -0
- recce/data/_next/static/chunks/02b996c7f6a29a06.js +4 -0
- recce/data/_next/static/chunks/19c10d219a6a21ff.js +1 -0
- recce/data/_next/static/chunks/2df9ec28a061971d.js +11 -0
- recce/data/_next/static/chunks/3098c987393bda15.js +1 -0
- recce/data/_next/static/chunks/393dc43e483f717a.css +2 -0
- recce/data/_next/static/chunks/399e8d91a7e45073.js +2 -0
- recce/data/_next/static/chunks/4d0186f631230245.js +1 -0
- recce/data/_next/static/chunks/5794ba9e10a9c060.js +11 -0
- recce/data/_next/static/chunks/715761c929a3f28b.js +110 -0
- recce/data/_next/static/chunks/71f88fcc615bf282.js +1 -0
- recce/data/_next/static/chunks/80d2a95eaf1201ea.js +1 -0
- recce/data/_next/static/chunks/9979c6109bbbee35.js +1 -0
- recce/data/_next/static/chunks/99d638224186c118.js +1 -0
- recce/data/_next/static/chunks/d003eb36240e92f3.js +1 -0
- recce/data/_next/static/chunks/d3167cdfec4fc351.js +1 -0
- recce/data/_next/static/chunks/e124bccf574a3361.css +1 -0
- recce/data/_next/static/chunks/f40141db1bdb46f0.css +6 -0
- recce/data/_next/static/chunks/fcc53a88741a52f9.js +1 -0
- recce/data/_next/static/chunks/turbopack-b1920d28cfb1f28d.js +3 -0
- recce/data/_next/static/media/favicon.a8d38d84.ico +0 -0
- recce/data/_next/static/media/montserrat-cyrillic-800-normal.d80d830d.woff2 +0 -0
- recce/data/_next/static/media/{montserrat-cyrillic-800-normal.bd5c9f50.woff → montserrat-cyrillic-800-normal.f9d58125.woff} +0 -0
- recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.076c2a93.woff2 +0 -0
- recce/data/_next/static/media/montserrat-latin-800-normal.cde454cc.woff2 +0 -0
- recce/data/_next/static/media/{montserrat-latin-800-normal.fc315020.woff → montserrat-latin-800-normal.d5761935.woff} +0 -0
- recce/data/_next/static/media/montserrat-latin-ext-800-normal.40ec0659.woff2 +0 -0
- recce/data/_next/static/media/{montserrat-latin-ext-800-normal.2e5381b2.woff → montserrat-latin-ext-800-normal.b671449b.woff} +0 -0
- recce/data/_next/static/media/{montserrat-vietnamese-800-normal.20c545e6.woff → montserrat-vietnamese-800-normal.9f7b8541.woff} +0 -0
- recce/data/_next/static/media/montserrat-vietnamese-800-normal.f9eb854e.woff2 +0 -0
- recce/data/_not-found/__next._full.txt +17 -0
- recce/data/_not-found/__next._head.txt +8 -0
- recce/data/_not-found/__next._index.txt +8 -0
- recce/data/_not-found/__next._not-found.__PAGE__.txt +5 -0
- recce/data/_not-found/__next._not-found.txt +4 -0
- recce/data/_not-found/__next._tree.txt +3 -0
- recce/data/_not-found.html +1 -0
- recce/data/_not-found.txt +17 -0
- recce/data/index.html +1 -1
- recce/data/index.txt +21 -23
- recce/event/__init__.py +9 -8
- recce/event/collector.py +3 -1
- recce/event/track.py +10 -0
- recce/github.py +1 -1
- recce/mcp_server.py +716 -0
- recce/models/types.py +35 -2
- recce/pull_request.py +1 -1
- recce/run.py +2 -2
- recce/server.py +105 -3
- recce/state/__init__.py +31 -0
- recce/state/cloud.py +632 -0
- recce/state/const.py +26 -0
- recce/state/local.py +56 -0
- recce/state/state.py +119 -0
- recce/state/state_loader.py +174 -0
- recce/summary.py +21 -1
- recce/tasks/dataframe.py +63 -1
- recce/tasks/rowcount.py +4 -1
- recce/tasks/schema.py +4 -1
- recce/util/api_token.py +9 -2
- recce/util/breaking.py +1 -1
- recce/util/io.py +2 -2
- recce/util/lineage.py +14 -18
- recce/util/recce_cloud.py +187 -7
- recce/yaml/__init__.py +2 -2
- recce_cloud/__init__.py +24 -0
- recce_cloud/api/__init__.py +17 -0
- recce_cloud/api/base.py +111 -0
- recce_cloud/api/client.py +150 -0
- recce_cloud/api/exceptions.py +26 -0
- recce_cloud/api/factory.py +63 -0
- recce_cloud/api/github.py +76 -0
- recce_cloud/api/gitlab.py +82 -0
- recce_cloud/artifact.py +57 -0
- recce_cloud/ci_providers/__init__.py +9 -0
- recce_cloud/ci_providers/base.py +82 -0
- recce_cloud/ci_providers/detector.py +147 -0
- recce_cloud/ci_providers/github_actions.py +136 -0
- recce_cloud/ci_providers/gitlab_ci.py +130 -0
- recce_cloud/cli.py +245 -0
- recce_cloud/upload.py +214 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/METADATA +54 -28
- recce_nightly-1.26.0.20251124.dist-info/RECORD +180 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/top_level.txt +1 -0
- tests/adapter/dbt_adapter/test_dbt_cll.py +4 -2
- tests/recce_cloud/__init__.py +0 -0
- tests/recce_cloud/test_ci_providers.py +351 -0
- tests/recce_cloud/test_cli.py +372 -0
- tests/recce_cloud/test_client.py +273 -0
- tests/recce_cloud/test_platform_clients.py +333 -0
- tests/test_cli.py +106 -3
- tests/test_cli_mcp_optional.py +45 -0
- tests/test_cloud_listing_cli.py +324 -0
- tests/test_core.py +147 -0
- tests/test_mcp_server.py +332 -0
- tests/test_server.py +6 -6
- tests/test_summary.py +14 -6
- recce/data/_next/static/Q_5ThPsmamd4VAGXuqwgi/_buildManifest.js +0 -1
- recce/data/_next/static/chunks/0376eeba-3db2196398d62270.js +0 -1
- recce/data/_next/static/chunks/068b80ea-833a129468ee1622.js +0 -1
- recce/data/_next/static/chunks/0ddaf06c-c7961285f66460f6.js +0 -1
- recce/data/_next/static/chunks/1268aea1-6dc1251c01bd724b.js +0 -54
- recce/data/_next/static/chunks/12f8fac4-16838e42d28d45c3.js +0 -1
- recce/data/_next/static/chunks/235b8375-8c84c51d7bd4f6aa.js +0 -1
- recce/data/_next/static/chunks/2541941f-2cd3a7c2d629bd33.js +0 -1
- recce/data/_next/static/chunks/273-f3fa401bd2b6fc91.js +0 -10
- recce/data/_next/static/chunks/2fc37c1e-910deebeb3d77c90.js +0 -1
- recce/data/_next/static/chunks/338-2e7eed5135c64550.js +0 -30
- recce/data/_next/static/chunks/367-ab8b16dd5f8586ca.js +0 -1
- recce/data/_next/static/chunks/3a92ee20-0400ffe460c7c803.js +0 -1
- recce/data/_next/static/chunks/62446465-423c03bb8c1f59b6.js +0 -1
- recce/data/_next/static/chunks/6af7f9e9-60aa8706f49dae45.js +0 -1
- recce/data/_next/static/chunks/6cf54382-49d52ae6e564e2ac.js +0 -1
- recce/data/_next/static/chunks/6dc81886-78e2efe4538794ae.js +0 -1
- recce/data/_next/static/chunks/715e4acc-9e2e6df4eb3809d1.js +0 -1
- recce/data/_next/static/chunks/72-181b430654230f0e.js +0 -1
- recce/data/_next/static/chunks/786-774e3e3ed70a41b3.js +0 -1
- recce/data/_next/static/chunks/8d700b6a.7fe2c8c3f4e333a6.js +0 -1
- recce/data/_next/static/chunks/a69d64b4-d6890125a87b0aba.js +0 -1
- recce/data/_next/static/chunks/ae307f12-01100009689ace61.js +0 -1
- recce/data/_next/static/chunks/app/_not-found/page-c7ef8ed6dc07aaeb.js +0 -1
- recce/data/_next/static/chunks/app/layout-744f0a78e9e50e60.js +0 -1
- recce/data/_next/static/chunks/app/page-e8f798c2ae3f59c2.js +0 -1
- recce/data/_next/static/chunks/c0015c5c-82c219792582c104.js +0 -1
- recce/data/_next/static/chunks/d90cfbaa-e7d779b3912afeec.js +0 -1
- recce/data/_next/static/chunks/e07c302e-cd170429646873e1.js +0 -1
- recce/data/_next/static/chunks/fa5fb511-15fb438349ad5b97.js +0 -1
- recce/data/_next/static/chunks/framework-7950757d31580329.js +0 -1
- recce/data/_next/static/chunks/main-app-4df79eb11c34d43c.js +0 -1
- recce/data/_next/static/chunks/main-cd6c104af638214a.js +0 -1
- recce/data/_next/static/chunks/pages/_app-73008661edbd5e05.js +0 -1
- recce/data/_next/static/chunks/pages/_error-cf8bbdc3cf76c83f.js +0 -1
- recce/data/_next/static/chunks/webpack-84df6dd5ae3cf908.js +0 -1
- recce/data/_next/static/css/188a3a1687e2a064.css +0 -1
- recce/data/_next/static/css/8edca58d4abcf908.css +0 -14
- recce/data/_next/static/css/abdb9814a3dd18bb.css +0 -1
- recce/data/_next/static/css/c21263c1520b615b.css +0 -1
- recce/data/_next/static/media/montserrat-cyrillic-800-normal.22628180.woff2 +0 -0
- recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.94a63aea.woff2 +0 -0
- recce/data/_next/static/media/montserrat-latin-800-normal.6f8fa298.woff2 +0 -0
- recce/data/_next/static/media/montserrat-latin-ext-800-normal.013b84f9.woff2 +0 -0
- recce/data/_next/static/media/montserrat-vietnamese-800-normal.c0035377.woff2 +0 -0
- recce/state.py +0 -865
- recce_nightly-1.15.0.20250806.dist-info/RECORD +0 -156
- tests/test_state.py +0 -134
- /recce/data/_next/static/{Q_5ThPsmamd4VAGXuqwgi → 52aV_JrNUZU6dMFgvTQEO}/_ssgManifest.js +0 -0
- /recce/data/_next/static/chunks/{polyfills-42372ed130431b0a.js → a6dad97d9634a72d.js} +0 -0
- /recce/data/_next/static/media/{montserrat-cyrillic-ext-800-normal.e6e0d8d0.woff → montserrat-cyrillic-ext-800-normal.a4fa76b5.woff} +0 -0
- /recce/data/_next/static/media/{reload-image.79aabb7d.svg → reload-image.7aa931c7.svg} +0 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/WHEEL +0 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/entry_points.txt +0 -0
- {recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/licenses/LICENSE +0 -0
{recce_nightly-1.15.0.20250806.dist-info → recce_nightly-1.26.0.20251124.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: recce-nightly
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.26.0.20251124
|
|
4
4
|
Summary: Environment diff tool for dbt
|
|
5
5
|
Home-page: https://github.com/InfuseAI/recce
|
|
6
6
|
Author: InfuseAI Dev Team
|
|
@@ -21,7 +21,7 @@ Requires-Dist: boto3
|
|
|
21
21
|
Requires-Dist: requests>=2.28.1
|
|
22
22
|
Requires-Dist: ruamel.yaml>=0.18.6
|
|
23
23
|
Requires-Dist: click>=7.1
|
|
24
|
-
Requires-Dist: deepdiff<
|
|
24
|
+
Requires-Dist: deepdiff<9.0,>=7.0
|
|
25
25
|
Requires-Dist: portalocker
|
|
26
26
|
Requires-Dist: fastapi
|
|
27
27
|
Requires-Dist: itsdangerous
|
|
@@ -38,9 +38,14 @@ Requires-Dist: python-dateutil
|
|
|
38
38
|
Requires-Dist: python-multipart
|
|
39
39
|
Requires-Dist: GitPython
|
|
40
40
|
Requires-Dist: PyGithub
|
|
41
|
-
Requires-Dist: sqlglot
|
|
41
|
+
Requires-Dist: sqlglot<29
|
|
42
|
+
Requires-Dist: pytz
|
|
43
|
+
Requires-Dist: packaging
|
|
44
|
+
Provides-Extra: mcp
|
|
45
|
+
Requires-Dist: mcp>=1.0.0; extra == "mcp"
|
|
42
46
|
Provides-Extra: dev
|
|
43
47
|
Requires-Dist: pytest>=4.6; extra == "dev"
|
|
48
|
+
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
44
49
|
Requires-Dist: pytest-flake8; extra == "dev"
|
|
45
50
|
Requires-Dist: black>=25.1.0; extra == "dev"
|
|
46
51
|
Requires-Dist: isort>=6.0.1; extra == "dev"
|
|
@@ -66,11 +71,11 @@ Dynamic: requires-python
|
|
|
66
71
|
Dynamic: summary
|
|
67
72
|
|
|
68
73
|
<p align="center">
|
|
69
|
-
<a href="https://
|
|
74
|
+
<a href="https://reccehq.com">
|
|
70
75
|
<picture>
|
|
71
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://
|
|
72
|
-
<source media="(prefers-color-scheme: light)" srcset="https://
|
|
73
|
-
<img alt="Recce: DataRecce.io" src="https://
|
|
76
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://reccehq.com/assets/images/recce-logo-stacked.avif">
|
|
77
|
+
<source media="(prefers-color-scheme: light)" srcset="https://reccehq.com/assets/images/recce-logo-stacked.avif">
|
|
78
|
+
<img alt="Recce: DataRecce.io" src="https://reccehq.com/assets/images/recce-logo-stacked.avif" width="200" style="display: block; margin: 0 auto 20px;">
|
|
74
79
|
</picture>
|
|
75
80
|
</a>
|
|
76
81
|
</p>
|
|
@@ -99,24 +104,46 @@ Cut dbt review time by 90% and ship accurate data fast
|
|
|
99
104
|
Recce gives data teams a faster, more reliable way to understand, review, and ship changes without all the guesswork or manual overhead.
|
|
100
105
|
|
|
101
106
|
## Quick Start
|
|
107
|
+
|
|
108
|
+
### Installation
|
|
109
|
+
|
|
110
|
+
Recce offers two packages to fit different use cases:
|
|
111
|
+
|
|
112
|
+
**For full local development and Recce Cloud features:**
|
|
113
|
+
```bash
|
|
114
|
+
pip install -U recce
|
|
115
|
+
recce server
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**For CI/CD artifact uploads only (lightweight):**
|
|
119
|
+
```bash
|
|
120
|
+
pip install -U recce-cloud
|
|
121
|
+
recce-cloud upload
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
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.
|
|
125
|
+
|
|
126
|
+
### Getting Started
|
|
127
|
+
|
|
102
128
|
You can launch Recce in any dbt project in just two commands:
|
|
103
129
|
|
|
104
|
-
```
|
|
130
|
+
```bash
|
|
105
131
|
# cd into your dbt project
|
|
106
132
|
pip install -U recce
|
|
107
133
|
recce server
|
|
108
134
|
```
|
|
109
|
-
|
|
135
|
+
|
|
136
|
+
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](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.
|
|
110
137
|
|
|
111
138
|
## What You Get
|
|
112
139
|
|
|
113
140
|
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.
|
|
114
141
|
|
|
115
|
-
<a href="https://pr46.demo.
|
|
142
|
+
<a href="https://pr46.demo.reccehq.com/"><img width="1347" alt="readme" src="https://github.com/user-attachments/assets/773e4c3a-0a15-49e0-8d1b-38a55af17cb0" /></a>
|
|
116
143
|
|
|
117
|
-
<a href="https://
|
|
144
|
+
<a href="https://reccehq.com"><img 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"/></a>
|
|
118
145
|
|
|
119
|
-
<a href="https://
|
|
146
|
+
<a href="https://reccehq.com"><img 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"/></a>
|
|
120
147
|
|
|
121
148
|
### Using Recce for Impact Assessment in dbt PR Review
|
|
122
149
|
|
|
@@ -127,18 +154,17 @@ Recce gives you a clear, fast way to understand what your data changes are doing
|
|
|
127
154
|
- (`Recce Cloud`) Automatically sync Check status between Recce Instances
|
|
128
155
|
- (`Recce Cloud`) Block PR merging until all Recce Checks have been approved
|
|
129
156
|
|
|
130
|
-
Read more about using
|
|
131
|
-
the Recce blog.
|
|
157
|
+
Read more about using Recce on our [blog](https://blog.reccehq.com).
|
|
132
158
|
|
|
133
159
|
### What’s Included
|
|
134
160
|
|
|
135
|
-
- [Lineage and impact mapping](https://docs.
|
|
136
|
-
- Metric and data comparisons: Use [Profile, Value, Top-K, and Histogram Diffs](https://docs.
|
|
137
|
-
- [Query diff](https://docs.
|
|
138
|
-
- [Checklist for reviews and approvals](https://docs.
|
|
139
|
-
- Secure by design: Recce is [SOC 2 compliant](https://trust.
|
|
161
|
+
- [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.
|
|
162
|
+
- 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.
|
|
163
|
+
- [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.
|
|
164
|
+
- [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.
|
|
165
|
+
- 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.
|
|
140
166
|
|
|
141
|
-
👉 Want to dive deeper? Check out the [full documentation](https://docs.
|
|
167
|
+
👉 Want to dive deeper? Check out the [full documentation](https://docs.reccehq.com/).
|
|
142
168
|
|
|
143
169
|
## Recce Cloud
|
|
144
170
|
|
|
@@ -150,18 +176,18 @@ Ready to collaborate and move faster as a team? Recce Cloud adds real-time colla
|
|
|
150
176
|
- Launch demo links from your CI with full context
|
|
151
177
|
|
|
152
178
|
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.
|
|
153
|
-
👉 [View Pricing and Plans](https://
|
|
179
|
+
👉 [View Pricing and Plans](https://reccehq.com/pricing)
|
|
154
180
|
|
|
155
181
|
## Community & Support
|
|
156
182
|
|
|
157
|
-
Here's where you can get in touch with the Recce team and find support:
|
|
183
|
+
Here's where you can get in touch with the Recce team and find support, add a subscribe to our newsletter option as well:
|
|
158
184
|
|
|
159
|
-
- [
|
|
160
|
-
|
|
161
|
-
-
|
|
185
|
+
- [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.
|
|
186
|
+
- [Our discord](https://discord.com/invite/VpwXRC34jz)
|
|
187
|
+
- [dbt Slack](https://www.getdbt.com/community/join-the-community) in the [#tools-recce](https://getdbt.slack.com/archives/C05C28V7CPP) channel
|
|
188
|
+
- Email us [help@reccehq.com](mailto:help@reccehq.com)
|
|
162
189
|
|
|
163
|
-
If you believe you have found a bug, or there is some missing functionality in Recce, please open
|
|
164
|
-
a [GitHub Issue](https://github.com/DataRecce/recce/issues).
|
|
190
|
+
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](https://github.com/DataRecce/recce/issues).
|
|
165
191
|
|
|
166
192
|
## Recce on the web
|
|
167
193
|
|
|
@@ -169,7 +195,7 @@ You can follow along with news about Recce and blogs from our team in the follow
|
|
|
169
195
|
|
|
170
196
|
- [RecceHQ.com](https://reccehq.com/)
|
|
171
197
|
- [LinkedIn](https://www.linkedin.com/company/datarecce)
|
|
172
|
-
- [
|
|
198
|
+
- [Blog](https://blog.reccehq.com/)
|
|
173
199
|
- [@datarecce](https://x.com/DataRecce) on Twitter/X
|
|
174
200
|
- [@DataRecce@mastodon.social](https://mastodon.social/@DataRecce) on Mastodon
|
|
175
201
|
- [@datarecce.bsky.social](https://bsky.app/profile/datarecce.bsky.social) on BlueSky
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
recce/VERSION,sha256=F79_ODt3HAHKiBuT99xGBY1RsjjCU9o8J9lknb7iJZI,16
|
|
2
|
+
recce/__init__.py,sha256=gT5G7sJ78C1GHAWr4pna6UvVNxPKs29_EgFS_ia3DT4,2554
|
|
3
|
+
recce/artifact.py,sha256=zksgrKEONdMmBRgM59gzf6srsr0As_UADZTQrWfC2cE,9759
|
|
4
|
+
recce/cli.py,sha256=8WE4tKGIslNJhjVQtKjRS2bOHJcxMjvs4fL5DnQY9a8,61141
|
|
5
|
+
recce/config.py,sha256=noWimlOdGHAtBhNoApK5gRTQMwNPmUGAmZu39MV7szo,4697
|
|
6
|
+
recce/connect_to_cloud.py,sha256=CT7ELcVCTNa9ukSp_gMrJ0Av2UCUpF9H03tIk9y7U-4,4768
|
|
7
|
+
recce/core.py,sha256=Fph2kodFqzXy3cob80M9-nPVcv-Xxzme-E-bKFJ4cBQ,10754
|
|
8
|
+
recce/diff.py,sha256=L2_bzQ3__PO-0aeir8PHF8FvSOUmQ8WcDXgML1-mHdY,748
|
|
9
|
+
recce/exceptions.py,sha256=SclQ678GrHGjw7p_ZFJ3vZaL_yMU5xABeIAm2u_W2bk,592
|
|
10
|
+
recce/git.py,sha256=8Eg-6NzL-KjA3rT-ibbAyaCwGlzV0JqH3yGikrJNMDA,2344
|
|
11
|
+
recce/github.py,sha256=vIwHTpB8YWEUcHQlW0nToUUKmGGO0NcmB_Q5RvxQLLE,7438
|
|
12
|
+
recce/mcp_server.py,sha256=q2HumZP4ndkUIGwxBmqOdGjpEUhww0x_pcX7bSGFTGA,31371
|
|
13
|
+
recce/pull_request.py,sha256=dLHsdiMtL4NC6Vkwp8Mq4baJmnqbm19lfiDti9MREN0,3850
|
|
14
|
+
recce/run.py,sha256=ctp-K2FmrsGrS4xEZKDMbMtitNw2QKJ6Tq_0OvCWaaM,14080
|
|
15
|
+
recce/server.py,sha256=xQZzSzwFrZE4C8s441MeRW_mnHNkeM_lqesMpjaXDQk,27093
|
|
16
|
+
recce/summary.py,sha256=cGSnKTZsav_UFDpRnQHbKjDHPihN-eShjc6-1sli0y4,20084
|
|
17
|
+
recce/adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
+
recce/adapter/base.py,sha256=T_JNeLHgiHSaegw-DbrvHOaYjMyZcjj2Qtg5cWh_fco,3548
|
|
19
|
+
recce/adapter/sqlmesh_adapter.py,sha256=IU3N-F6ToDoO7_bV5vsG8pmTuDcbFtewTIuCxedTaRM,5046
|
|
20
|
+
recce/adapter/dbt_adapter/__init__.py,sha256=DdsxMKC-2OTttgx4dRK8u4_oW4ijxA_geJQAWB39Z4w,67239
|
|
21
|
+
recce/adapter/dbt_adapter/dbt_version.py,sha256=M7aedZIWslXnJsryK8Ki4OL_t2oAKxy4uE2pRwfWIkk,1228
|
|
22
|
+
recce/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
recce/apis/check_api.py,sha256=KMCXSMl1qqzx2jQgRqCrD4j_cY3EHBbM3H2-t-6saAU,6227
|
|
24
|
+
recce/apis/check_func.py,sha256=gktbCcyk3WGvWRJJ-wDnwv7NrIny2nTHWLl1-kdiVRo,4183
|
|
25
|
+
recce/apis/run_api.py,sha256=eOaxOxXDkH59uqGCd4blld7edavUx7JU_DCd2WAYrL8,3416
|
|
26
|
+
recce/apis/run_func.py,sha256=6wC8TDU-h7TLr2VZH7HNsWaUVlQ9HBN5N_dwqfi4lMY,7440
|
|
27
|
+
recce/data/404.html,sha256=4oQ7hZ53AUwP-HkQTk25ZYUHoadQCohu9TfDmwYttEc,59467
|
|
28
|
+
recce/data/__next.__PAGE__.txt,sha256=HoCpVLDUi5fUfRUFVGH7wq854cxPGWZztOQCLeD-o-w,1208
|
|
29
|
+
recce/data/__next._full.txt,sha256=NGotKLI5_JGNMxTLGIeMEwyD6-TTNmDcdOvjFKaFf48,5158
|
|
30
|
+
recce/data/__next._head.txt,sha256=Yhx7tiTPs9FavWA-c1yqDOn8Xuaq61bjaRg7SFviGxw,1085
|
|
31
|
+
recce/data/__next._index.txt,sha256=6_ChdpGvplJtJI7EiIQTjWmAeB5Jds35gQE25pKDAGY,2442
|
|
32
|
+
recce/data/__next._tree.txt,sha256=BR-XE42XsD3YQvI7-uDec0-6fujs6d69g_dXg-XQrjM,475
|
|
33
|
+
recce/data/_not-found.html,sha256=4oQ7hZ53AUwP-HkQTk25ZYUHoadQCohu9TfDmwYttEc,59467
|
|
34
|
+
recce/data/_not-found.txt,sha256=Pd0MX6FFat_lI1RwK6cPfrpQ3eeZXksKM8HVetv5pQk,5887
|
|
35
|
+
recce/data/auth_callback.html,sha256=H-XfdlAFiw5VU2RpKBVQbwh1AIqJrPHrFA0S09nNJZA,94779
|
|
36
|
+
recce/data/favicon.ico,sha256=B2mBumUOnzvUrXrqNkrc5QfdDXjzEXRcWkWur0fJ6sM,2565
|
|
37
|
+
recce/data/index.html,sha256=iQ5WIml9knuuInLJisWcov8X4e_h0E32tBLKMi7V9gk,74411
|
|
38
|
+
recce/data/index.txt,sha256=NGotKLI5_JGNMxTLGIeMEwyD6-TTNmDcdOvjFKaFf48,5158
|
|
39
|
+
recce/data/_next/static/52aV_JrNUZU6dMFgvTQEO/_buildManifest.js,sha256=lHbgr9P52mimTm7FhjEZH9PqymLJ9aN351F_6aieWeo,219
|
|
40
|
+
recce/data/_next/static/52aV_JrNUZU6dMFgvTQEO/_clientMiddlewareManifest.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
|
41
|
+
recce/data/_next/static/52aV_JrNUZU6dMFgvTQEO/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
|
42
|
+
recce/data/_next/static/chunks/02b996c7f6a29a06.js,sha256=M8DNJ5Pq59GKeNhmwMqDLHjqbYH5Sw7agBqo7Cjllvg,98587
|
|
43
|
+
recce/data/_next/static/chunks/19c10d219a6a21ff.js,sha256=ohhihO1BmJTnfQWLePPxbEs5Cr8sR3rCWAljeiy2mCc,178
|
|
44
|
+
recce/data/_next/static/chunks/2df9ec28a061971d.js,sha256=SCoimC96s9Uro3Y5JaPvn1R6A1y0Xij8aEQsg1p-ACc,43423
|
|
45
|
+
recce/data/_next/static/chunks/3098c987393bda15.js,sha256=qNhClDGhgsMmWSLkLJWLhwo5suMjdPcJ8mTE4Alocx0,174689
|
|
46
|
+
recce/data/_next/static/chunks/393dc43e483f717a.css,sha256=R9tO9_8TWzuPgpEaIKnvGqsWiA5x0PTf7sFJbAXwcJQ,8339
|
|
47
|
+
recce/data/_next/static/chunks/399e8d91a7e45073.js,sha256=Vq4vdWMQ85-XiEAtR6p_LTNrZJNNP0VpB91OJEo8v50,84062
|
|
48
|
+
recce/data/_next/static/chunks/4d0186f631230245.js,sha256=wNAFh8tqOVdbkzkRhdt3D-FxU6lxyoh6Q1sReFMkgMs,6857
|
|
49
|
+
recce/data/_next/static/chunks/5794ba9e10a9c060.js,sha256=yWLyYaVxazJrRRhLRmKtZKl52RT7P1iThuADlvA1XgU,1786121
|
|
50
|
+
recce/data/_next/static/chunks/715761c929a3f28b.js,sha256=ovn4Je_DoVU-7nD_s94EwtywIKQf8D1rpI8iVnakOow,803159
|
|
51
|
+
recce/data/_next/static/chunks/71f88fcc615bf282.js,sha256=55RlXxwna_yDR1-s8uK-GZv1IUOVhCGB8rULcz75S3U,7218
|
|
52
|
+
recce/data/_next/static/chunks/80d2a95eaf1201ea.js,sha256=4fdJkr4Ak7pHysFhr1EQnKA5lPKxgKAIXdUUe3we9Ok,213851
|
|
53
|
+
recce/data/_next/static/chunks/9979c6109bbbee35.js,sha256=s0paJmRBP8v2NEdF41EGZ9WdBNmhKIki5FTJck64afI,20110
|
|
54
|
+
recce/data/_next/static/chunks/99d638224186c118.js,sha256=O1q3BJYdnMjYlRRJbikKdZrP605m45GYIu8CWN3brIA,281
|
|
55
|
+
recce/data/_next/static/chunks/a6dad97d9634a72d.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
|
56
|
+
recce/data/_next/static/chunks/d003eb36240e92f3.js,sha256=8E7XHFXSJL35O5jTkOuCIadex8gVP_lNVv3Cwb4CRTs,27850
|
|
57
|
+
recce/data/_next/static/chunks/d3167cdfec4fc351.js,sha256=QrH6SZTjf_NWZ0-vDDt8FnBw5kh6CLXL4b3Z3Wu1cBs,119836
|
|
58
|
+
recce/data/_next/static/chunks/e124bccf574a3361.css,sha256=6gXTy63dQt22HjYeSokfddLsIhwm0GU_JymzPrdHRm4,12679
|
|
59
|
+
recce/data/_next/static/chunks/f40141db1bdb46f0.css,sha256=ZAZTTQ25NoZLtYdiB8J_I6WZOY3bto0MUEgTzf2cV5Q,22061
|
|
60
|
+
recce/data/_next/static/chunks/fcc53a88741a52f9.js,sha256=kpd-7jmfcnnyxNJ67pWO_04nVnw3_PUI9RkiZQmM-2w,1386
|
|
61
|
+
recce/data/_next/static/chunks/turbopack-b1920d28cfb1f28d.js,sha256=1b2dw4uD8GkmqphVyH9IzPJLkVQH7hOOuJcpA4y98no,9909
|
|
62
|
+
recce/data/_next/static/media/favicon.a8d38d84.ico,sha256=B2mBumUOnzvUrXrqNkrc5QfdDXjzEXRcWkWur0fJ6sM,2565
|
|
63
|
+
recce/data/_next/static/media/montserrat-cyrillic-800-normal.d80d830d.woff2,sha256=6XlujeGVTucujV3iPSa7j1d9S5A6uuH-EduJBCeVFu8,11180
|
|
64
|
+
recce/data/_next/static/media/montserrat-cyrillic-800-normal.f9d58125.woff,sha256=XiXifLCW_CfSR4eNCIxDzi3Cg59f6L34ARTHrw-hoDA,10924
|
|
65
|
+
recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.076c2a93.woff2,sha256=9hQT0vu2HmOb21Pk5Ht7bydZU7QIsY7rCyAPtm1VxM8,12144
|
|
66
|
+
recce/data/_next/static/media/montserrat-cyrillic-ext-800-normal.a4fa76b5.woff,sha256=lpODDPTBtDBAla5_gN_MO8RAFRT1bUJQ1XsBGNN3LHA,12036
|
|
67
|
+
recce/data/_next/static/media/montserrat-latin-800-normal.cde454cc.woff2,sha256=uoJvuEwulhV4rfOgi1d4uHkF1EQ0RdHVbYT58VfV6ks,19012
|
|
68
|
+
recce/data/_next/static/media/montserrat-latin-800-normal.d5761935.woff,sha256=JvnmESYLcsQ0Z9Cgq09WxQaOxDHkHZ4wiPp0EXyghtg,20660
|
|
69
|
+
recce/data/_next/static/media/montserrat-latin-ext-800-normal.40ec0659.woff2,sha256=Wfbr63GhTGTtxTjrp4oBDBye9oCmalWew89LDRLbGos,33624
|
|
70
|
+
recce/data/_next/static/media/montserrat-latin-ext-800-normal.b671449b.woff,sha256=1UdAsVT5LZ__hVWZ8WuyQ16miAO5eVOIV0Qy1FCS17c,41688
|
|
71
|
+
recce/data/_next/static/media/montserrat-vietnamese-800-normal.9f7b8541.woff,sha256=IOzp6YFKpjBM18q3jyRJYrgPJpNGDnEehwa3vyleQ6s,7328
|
|
72
|
+
recce/data/_next/static/media/montserrat-vietnamese-800-normal.f9eb854e.woff2,sha256=JPFJw2_X2Eih976ylPgpqHZJJxgdMAL3sCAhKV51-P0,7900
|
|
73
|
+
recce/data/_next/static/media/reload-image.7aa931c7.svg,sha256=l-jdOsD0OBCpFrVYh1ubO8oajafPuPNs6MYnbanO7K0,840
|
|
74
|
+
recce/data/_not-found/__next._full.txt,sha256=Pd0MX6FFat_lI1RwK6cPfrpQ3eeZXksKM8HVetv5pQk,5887
|
|
75
|
+
recce/data/_not-found/__next._head.txt,sha256=CGMN86GBFG8cbGkDES38WpiXhqLpOu3L2PaHZBFyrfA,1136
|
|
76
|
+
recce/data/_not-found/__next._index.txt,sha256=6_ChdpGvplJtJI7EiIQTjWmAeB5Jds35gQE25pKDAGY,2442
|
|
77
|
+
recce/data/_not-found/__next._not-found.__PAGE__.txt,sha256=wXxpP13I6012w0LfLx48IXcPFWbYiUrfnj5Lha-qoCw,1449
|
|
78
|
+
recce/data/_not-found/__next._not-found.txt,sha256=3YdpC-HGCzjaLZggpRyGiwBg7i1V3GQW2LDCoQHwmfE,432
|
|
79
|
+
recce/data/_not-found/__next._tree.txt,sha256=DHpFRaC1yx4xNsO2drR3F5OA3Uaau16MejIPU8sYdJM,540
|
|
80
|
+
recce/data/imgs/reload-image.svg,sha256=l-jdOsD0OBCpFrVYh1ubO8oajafPuPNs6MYnbanO7K0,840
|
|
81
|
+
recce/data/imgs/feedback/thumbs-down.png,sha256=q9KVIbaZku1TWkYHuleYlO-b6HsTApYh3St5xNHMGMg,10695
|
|
82
|
+
recce/data/imgs/feedback/thumbs-up.png,sha256=VF3BH8bmYEqcSsMDJO57xMqW4t6crCXUXaMlOPgI_OE,10556
|
|
83
|
+
recce/data/logo/recce-logo-white.png,sha256=y3re8iEucJnMUkAkRS2CjWHTlOydyvgWdWjuQKcXDbk,46923
|
|
84
|
+
recce/event/CONFIG,sha256=w8_AVcNu_JF-t8lNmjOqtsXbeOawMzpEhkISaMlm-iU,48
|
|
85
|
+
recce/event/SENTRY_DNS,sha256=nWXZevLC4qDScvNtjs329X13oxqvtFI_Kiu6cfCDOBA,83
|
|
86
|
+
recce/event/__init__.py,sha256=UKo0U0OZTkWsr7QBnCwXOHu7XtY0dhYPRTXuCsX8uIw,8847
|
|
87
|
+
recce/event/collector.py,sha256=6Vvcz9zejNNMytZ_K0HFV_kN6-S5B-SUOglBrlSPBo8,5884
|
|
88
|
+
recce/event/track.py,sha256=3wBzpB8l2gtnDzjh-wJatmLeBbtnP0q-BLQZQVQ23sM,5310
|
|
89
|
+
recce/models/__init__.py,sha256=F7cgALtdWnwv37R0eEgKZ_yBsMwxWnUfo3jAZ3u6qyU,209
|
|
90
|
+
recce/models/check.py,sha256=jjR1SGyczjrqyK-0Zas6ikLIGSgVp54lvfcQA19AniI,1588
|
|
91
|
+
recce/models/run.py,sha256=QK2gvOWvko9YYhd2NLs3BPt5l4MSCZGwpzTAiqx9zJw,1161
|
|
92
|
+
recce/models/types.py,sha256=OAVuEXs1GfpmlshWzirpm3VaLtZToKGCm5DSDVikC5E,6572
|
|
93
|
+
recce/state/__init__.py,sha256=V1FRPTQJUz-uwI3Cn8wDa5Z9bueVs86MR_1Ti4RGfPc,650
|
|
94
|
+
recce/state/cloud.py,sha256=yWS9dhG7gFVhNDrdaFzDSVHMiC74UYeYQm19XkRNcVk,25523
|
|
95
|
+
recce/state/const.py,sha256=5XwGWEv4RhGucgl1RHWg_67gVY7fV0-jsbZPpfnOCTs,828
|
|
96
|
+
recce/state/local.py,sha256=bZIkl7cAfyYaGgYEr3uD_JLrtwlHBnu8_o1Qz2djQzw,1920
|
|
97
|
+
recce/state/state.py,sha256=EKx4h0unxjC-dt2EGYFUyjKijotKHbE_wdS5AWBEq1k,3645
|
|
98
|
+
recce/state/state_loader.py,sha256=IiGaFDm2y_0NMsv_YUZhSuDTsvWmdMrf9SXIv9w5sKE,5966
|
|
99
|
+
recce/tasks/__init__.py,sha256=b553AtDHjYROgmMePv_Hv_X3fjh4iEn11gzzpUJz6_o,610
|
|
100
|
+
recce/tasks/core.py,sha256=JFYa1CfgOiRPQ7KVTwMuxJjhMB-pvCwB-xezVt-h3RU,4080
|
|
101
|
+
recce/tasks/dataframe.py,sha256=F9tOIjdJA_mkgzGmqdzfSfmhpJhdDb9DYYpWXAuBOyE,5868
|
|
102
|
+
recce/tasks/histogram.py,sha256=SMdSznzrBdAFvAbhsoUGAK9o0QUMYy00IVbamUVTpBk,13601
|
|
103
|
+
recce/tasks/lineage.py,sha256=_PbY0ZkDr620U8V2olqoX_T9XA0-G8ILt_6m1Q5TfBs,541
|
|
104
|
+
recce/tasks/profile.py,sha256=gMgms9qvdDsihh2aSC6LvCm9ggah4Oq3xjvmCh_exrU,11352
|
|
105
|
+
recce/tasks/query.py,sha256=k3y_IK1_3D2j4Scw-70ccDjVMa-Oe9jqxlDyLHfjagw,12790
|
|
106
|
+
recce/tasks/rowcount.py,sha256=WZ1vNI0YJ40G-DBgx2apjNAhoQg1bvzrtBpUZFou1Nc,9908
|
|
107
|
+
recce/tasks/schema.py,sha256=s7CsmUoKNDx-WM87X_cCOpKieKxqEZITFzQTEq3ZckU,2432
|
|
108
|
+
recce/tasks/top_k.py,sha256=vY3VCBmg61E8I4V-9-hJOv5RCYCmhxl6sHiKR9Zv7eE,5521
|
|
109
|
+
recce/tasks/valuediff.py,sha256=QLv0zgM9pWibvjyfZHjkpGopY9qqlpU0-WdFB109MUQ,16418
|
|
110
|
+
recce/util/__init__.py,sha256=cDvL3WT32cJR9CUPIJmibwJoyYcB3ZaKBFbOZDyvqP8,95
|
|
111
|
+
recce/util/api_token.py,sha256=iLS3VzLlsTfbXBLDoPPelmVlj6UdcEtGmfxdFQxXXSg,3223
|
|
112
|
+
recce/util/breaking.py,sha256=QMVq2l2fR7gNT4-n4kdhFTPf2NFev-jzecBSw_AwqFg,13086
|
|
113
|
+
recce/util/cache.py,sha256=QB6wzxe0M3jNTwP0M27Ys8F2hF-oda4-LyXXG9THuZQ,646
|
|
114
|
+
recce/util/cll.py,sha256=p8BrsG_1Lm-jXO8n4ulUgFw13C4mN0WjCXZbihDxQrs,13253
|
|
115
|
+
recce/util/io.py,sha256=UTUDncG4habAZZSZ1Y7i7Zpzu6FBtsfWI3y96k-0zkc,3495
|
|
116
|
+
recce/util/lineage.py,sha256=0XXOO05eJ3GPUNX9V9GBQS2iRFXxWZJoJbV7w-jQ0t8,2470
|
|
117
|
+
recce/util/logger.py,sha256=6UgLFkRiur9jJfu2ZRdo4LUvMw4f75V-l-1HT1-sgKo,747
|
|
118
|
+
recce/util/onboarding_state.py,sha256=kwFirKlfXdl5WFkR_nmilqGKFyELNcSPMqYq-by35fk,1991
|
|
119
|
+
recce/util/perf_tracking.py,sha256=FjhrdbbXIgybxS_oPpFsJ9VUDR93d7bUs8VNNqpXNxw,2483
|
|
120
|
+
recce/util/pydantic_model.py,sha256=KumKuyCjbTzEMsKLE4-b-eZfp0gLhYDdmVtw1-hxiJw,587
|
|
121
|
+
recce/util/recce_cloud.py,sha256=8gv0NQENekHEOrzGB4S3D2Gv8RkaT9CQFNF0_oa9nno,17905
|
|
122
|
+
recce/util/singleton.py,sha256=1cU99I0f9tjuMQLMJyLsK1oK3fZJMsO5-TbRHAMXqds,627
|
|
123
|
+
recce/yaml/__init__.py,sha256=PAym5akbtL24Ag7VR7EW8SS2VINNaJU06esbfe-ek-U,1328
|
|
124
|
+
recce_cloud/__init__.py,sha256=SYFgYA-KJmqVzZRLq65rtvt9JZfTDFJTf9qye7q_SJE,721
|
|
125
|
+
recce_cloud/artifact.py,sha256=C6q1i8d0JdTIVLcJY1ZEmJJ0uBz-0g3zVZD8ss0K1iI,1458
|
|
126
|
+
recce_cloud/cli.py,sha256=7vpRbH2FusbFBxferRJAonQROMmekv5Wf48CxfOF3_w,9617
|
|
127
|
+
recce_cloud/upload.py,sha256=GLFG3q9KIcYedPcLZM5x1dWSEF9OdZsX1z-SUET1M0E,8347
|
|
128
|
+
recce_cloud/api/__init__.py,sha256=HrGOh7wp_U3G3gOXyGjJo1WoDXrMvhwjw8VGO2aKNTw,562
|
|
129
|
+
recce_cloud/api/base.py,sha256=ceD9cTgqctEu8aPqSCX9NNlC10-w4ocwgIcqjLnOpUM,3678
|
|
130
|
+
recce_cloud/api/client.py,sha256=LByXcj2yr9jqpYQIt3zXM6So1dq46j_0FitssBSelHA,5422
|
|
131
|
+
recce_cloud/api/exceptions.py,sha256=BSfuh7dGZsx1qDkr2ZhRIAoPo_eXkAIhyho5PrUX2yo,634
|
|
132
|
+
recce_cloud/api/factory.py,sha256=0hdo2jTdTlvd8cU7YTZFJJ2q3ybSssA2JKLr0bO1QmQ,2081
|
|
133
|
+
recce_cloud/api/github.py,sha256=y4Og6uAN_sBEi7UJqnKXe3maf8KpupOisdr-eGBtf6g,2494
|
|
134
|
+
recce_cloud/api/gitlab.py,sha256=DHBhnx9ICo1iP17jvKGVN8flKPhfzVMjUAiJLyxtjHE,2779
|
|
135
|
+
recce_cloud/ci_providers/__init__.py,sha256=cB2bydn4QOMurJVfWhIN9uTD9gIyiBcYOloN-0TvMW4,328
|
|
136
|
+
recce_cloud/ci_providers/base.py,sha256=v8P_eZdMwkgo3vCIHoyu1vBfetJICUNKz3z8ezOgwl0,2577
|
|
137
|
+
recce_cloud/ci_providers/detector.py,sha256=GvZuPo7Gq8eKCxsgYiYjQ3CYu3icPbi0moAYflnLDOk,5056
|
|
138
|
+
recce_cloud/ci_providers/github_actions.py,sha256=Vs4_YuqBsccjUeiT1a-wQBz-7sq5TnoGFwPJXniua_w,4311
|
|
139
|
+
recce_cloud/ci_providers/gitlab_ci.py,sha256=nQa2gZClXzLQ2soSqIhY5vul8RNQF-j_P-0bheD5U4s,4175
|
|
140
|
+
recce_nightly-1.26.0.20251124.dist-info/licenses/LICENSE,sha256=CQjjMy9aYPhfe8xG_bcpIfKtNkdxLZ5IOb8oPygtUhY,11343
|
|
141
|
+
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
|
+
tests/test_cli.py,sha256=hT-KxF5PcVtNZ05HGsTrjec6WTDaD6vInCijJcCYiU8,9923
|
|
143
|
+
tests/test_cli_mcp_optional.py,sha256=w6Iwr22fheaOxw6vGXVZyvi0pw5uh8jDJKcdnd64-_o,1629
|
|
144
|
+
tests/test_cloud_listing_cli.py,sha256=77As9n0Sngdh53dfHkShmqDETMTOohlqw1xXO9cIago,14208
|
|
145
|
+
tests/test_config.py,sha256=ODDFe_XF6gphmSmmc422dGLBaCCmG-IjDzTkD5SJsJE,1557
|
|
146
|
+
tests/test_connect_to_cloud.py,sha256=b2fgV8L1iQBdEwh6RumMsIIyYg7GtMOMRz1dvE3WRPg,3059
|
|
147
|
+
tests/test_core.py,sha256=WgCFm8Au3YQI-V5UbZ6LA8irMNHRc7NWutIq2Mny0LE,6242
|
|
148
|
+
tests/test_dbt.py,sha256=VzXvdoJNwwEmKNhJJDNB1N_qZYwp1aoJQ1sLcoyRBmk,1316
|
|
149
|
+
tests/test_mcp_server.py,sha256=pXs2-ndezanGdDKj1fGp0lUFTmWipndBxKtsfbDRuDc,12365
|
|
150
|
+
tests/test_pull_request.py,sha256=HmZo5MoDaoKSgPwbLxJ3Ur3ajZ7IxhkzJxaOmhg6bwE,3562
|
|
151
|
+
tests/test_server.py,sha256=sq03awzG-kvLNJwHaZGDvVjd2uAs502XUKZ2nLNwvRQ,3391
|
|
152
|
+
tests/test_summary.py,sha256=oYhBbk2MJUERXXoWEQqn2AEQcteZk8_H9IrPexMAJsY,2971
|
|
153
|
+
tests/adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
|
+
tests/adapter/dbt_adapter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
155
|
+
tests/adapter/dbt_adapter/conftest.py,sha256=WlMVytJcyfLJlMBeYhpk8Q-nyCDR9x_7qgsy6Uh9ECw,386
|
|
156
|
+
tests/adapter/dbt_adapter/dbt_test_helper.py,sha256=o_7m0cnVeGwPwEFXBCx3Me5QqLzQMOBR3dXD-MS2eaM,10406
|
|
157
|
+
tests/adapter/dbt_adapter/test_dbt_adapter.py,sha256=Y5TSlqkXGjJC6hC7YYs45bnRht5aou_KLjPMjpAGxNM,830
|
|
158
|
+
tests/adapter/dbt_adapter/test_dbt_cll.py,sha256=BHVyqpm-0YaajblcJHzMyjrkK1b9oEv0PwtDEv3EwuI,28656
|
|
159
|
+
tests/adapter/dbt_adapter/test_selector.py,sha256=uKFm0QxrxG-xyUEXGobCMueCRUssgnZMyo-S1Nlk3_s,6856
|
|
160
|
+
tests/recce_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
+
tests/recce_cloud/test_ci_providers.py,sha256=dYjRJIE-YQtYH2W4sDoLkTGG_PY5dqEjDtPPp3KVGKs,14692
|
|
162
|
+
tests/recce_cloud/test_cli.py,sha256=JUT_aEA4bRoD0LIMlgs_sITY9i1uea5roQ_X_4QLrYk,13991
|
|
163
|
+
tests/recce_cloud/test_client.py,sha256=qYsmUZrvwfuVLVcTx6NoGiUlBEzFi89yHrl1E6q4yws,11231
|
|
164
|
+
tests/recce_cloud/test_platform_clients.py,sha256=Bl7ZZUwyObuPOUEHrY8cRn21BxaXKVh0Q7tbsttzgwI,14007
|
|
165
|
+
tests/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
166
|
+
tests/tasks/conftest.py,sha256=lyZFx4jEY3To3xVhfMQ-G45egYOCttKN2lxeyExACkY,157
|
|
167
|
+
tests/tasks/test_histogram.py,sha256=g69R2Ljvcd8RQTnq7EMZEa93_1vVWNe4ZLg990rWuyA,4088
|
|
168
|
+
tests/tasks/test_lineage.py,sha256=HODSP2_uSu98e4jV-t9TIOSrln_5mXd-6baKv9aEmws,1095
|
|
169
|
+
tests/tasks/test_preset_checks.py,sha256=fAro5kAv67YiXgRFj7hDAgZEd8fVSHW_VTapVDq4G04,1457
|
|
170
|
+
tests/tasks/test_profile.py,sha256=yDavc2-8AneOtkkPGCHJM0QUEYq6S8lJpQbQsJVfa_k,10233
|
|
171
|
+
tests/tasks/test_query.py,sha256=EkldbvckZkTOlm9b3y9zLzGIhlo1RShSsv-ycCjDHrg,4218
|
|
172
|
+
tests/tasks/test_row_count.py,sha256=21PaP2aq-x8-pqwzWHRT1sixhQ8g3CQNRWOZTTmbK0s,3151
|
|
173
|
+
tests/tasks/test_schema.py,sha256=7ds4Vx8ixaiIWDR49Lvjem4xlPkRP1cXazDRY3roUak,3121
|
|
174
|
+
tests/tasks/test_top_k.py,sha256=YR_GS__DJsbDlQVaEEdJvNQ3fh1VmV5Nb3G7lb0r6YM,1779
|
|
175
|
+
tests/tasks/test_valuediff.py,sha256=_xQJGgxsXoy2NYk_Z6Hsw2FlVh6zk2nN_iUueyRN1e8,2046
|
|
176
|
+
recce_nightly-1.26.0.20251124.dist-info/METADATA,sha256=nxGcWPoQm3t8qV5TORE69XrNDjCZLtuXUJ7nputYq_8,10172
|
|
177
|
+
recce_nightly-1.26.0.20251124.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
178
|
+
recce_nightly-1.26.0.20251124.dist-info/entry_points.txt,sha256=oqoY_IiwIqXbgrIsPnlqUqao2eiIeP2dprowkOlmeyg,40
|
|
179
|
+
recce_nightly-1.26.0.20251124.dist-info/top_level.txt,sha256=93B6jXmAPRijPPNsN8mzzVPP9M_lFQynyEuh8HDoFXg,24
|
|
180
|
+
recce_nightly-1.26.0.20251124.dist-info/RECORD,,
|
|
@@ -57,7 +57,9 @@ def assert_model(
|
|
|
57
57
|
entry.change_category == change_category
|
|
58
58
|
), f"Node {node_id} change category mismatch: expected {change_category}, got {entry.change_category}"
|
|
59
59
|
|
|
60
|
-
assert (
|
|
60
|
+
assert (
|
|
61
|
+
entry.impacted == impacted
|
|
62
|
+
), f"Node {node_id} impacted status mismatch: expected {impacted}, got {entry.impacted}"
|
|
61
63
|
|
|
62
64
|
|
|
63
65
|
def assert_cll_contain_nodes(cll_data: CllData, nodes):
|
|
@@ -652,7 +654,7 @@ def test_impact_radius_by_node_with_cll(dbt_test_helper):
|
|
|
652
654
|
|
|
653
655
|
result = adapter.get_cll(node_id="model.model2", change_analysis=True, no_upstream=True)
|
|
654
656
|
assert_model(result, "model.model2", parents=[], change_category="partial_breaking", impacted=False)
|
|
655
|
-
assert_model(result, "model.model3", parents=[(
|
|
657
|
+
assert_model(result, "model.model3", parents=[("model.model2", "y")], impacted=True)
|
|
656
658
|
assert_column(result, "model.model2", "y", transformation_type="source", parents=[], change_status="modified")
|
|
657
659
|
assert_cll_contain_nodes(result, ["model.model2", "model.model3"])
|
|
658
660
|
assert_cll_contain_columns(result, [("model.model2", "y"), ("model.model4", "y")])
|
|
File without changes
|