recce-cloud 1.32.0__py3-none-any.whl → 1.33.1__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.
- recce_cloud/VERSION +1 -1
- recce_cloud/api/client.py +245 -2
- recce_cloud/auth/__init__.py +21 -0
- recce_cloud/auth/callback_server.py +128 -0
- recce_cloud/auth/login.py +281 -0
- recce_cloud/auth/profile.py +131 -0
- recce_cloud/auth/templates/error.html +58 -0
- recce_cloud/auth/templates/success.html +58 -0
- recce_cloud/cli.py +661 -33
- recce_cloud/commands/__init__.py +1 -0
- recce_cloud/commands/diagnostics.py +174 -0
- recce_cloud/config/__init__.py +19 -0
- recce_cloud/config/project_config.py +187 -0
- recce_cloud/config/resolver.py +137 -0
- recce_cloud/services/__init__.py +1 -0
- recce_cloud/services/diagnostic_service.py +380 -0
- recce_cloud/upload.py +211 -0
- {recce_cloud-1.32.0.dist-info → recce_cloud-1.33.1.dist-info}/METADATA +112 -2
- recce_cloud-1.33.1.dist-info/RECORD +37 -0
- recce_cloud-1.32.0.dist-info/RECORD +0 -24
- {recce_cloud-1.32.0.dist-info → recce_cloud-1.33.1.dist-info}/WHEEL +0 -0
- {recce_cloud-1.32.0.dist-info → recce_cloud-1.33.1.dist-info}/entry_points.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: recce-cloud
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.33.1
|
|
4
4
|
Summary: Lightweight CLI for Recce Cloud operations
|
|
5
5
|
Project-URL: Bug Tracker, https://github.com/InfuseAI/recce/issues
|
|
6
6
|
Author-email: InfuseAI Dev Team <dev@infuseai.io>
|
|
@@ -15,6 +15,8 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
16
|
Requires-Python: >=3.9
|
|
17
17
|
Requires-Dist: click>=7.1
|
|
18
|
+
Requires-Dist: cryptography>=3.4
|
|
19
|
+
Requires-Dist: pyyaml>=6.0
|
|
18
20
|
Requires-Dist: requests>=2.28.1
|
|
19
21
|
Requires-Dist: rich>=12.0.0
|
|
20
22
|
Provides-Extra: dev
|
|
@@ -36,7 +38,8 @@ The Recce Cloud CLI (`recce-cloud`) is a standalone tool designed for CI/CD pipe
|
|
|
36
38
|
- 🤖 Auto-detection - automatically detects CI platform, repository, and PR/MR context
|
|
37
39
|
- ⬆️ Upload - push dbt artifacts to Recce Cloud sessions
|
|
38
40
|
- ⬇️ Download - pull dbt artifacts from Recce Cloud sessions
|
|
39
|
-
- 🔐 Flexible authentication -
|
|
41
|
+
- 🔐 Flexible authentication - browser-based login, token-based auth, or CI tokens
|
|
42
|
+
- 🔗 Project binding - link local projects to Recce Cloud organizations
|
|
40
43
|
- ✅ Platform-specific - optimized for GitHub Actions and GitLab CI
|
|
41
44
|
|
|
42
45
|
## Installation
|
|
@@ -60,6 +63,34 @@ install:
|
|
|
60
63
|
|
|
61
64
|
## Quick Start
|
|
62
65
|
|
|
66
|
+
### Local Development
|
|
67
|
+
|
|
68
|
+
**Login to Recce Cloud:**
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Browser-based login (recommended)
|
|
72
|
+
recce-cloud login
|
|
73
|
+
|
|
74
|
+
# Token-based login (for headless environments)
|
|
75
|
+
recce-cloud login --token <your-api-token>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Initialize project binding:**
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Interactive project selection
|
|
82
|
+
recce-cloud init
|
|
83
|
+
|
|
84
|
+
# Check current status
|
|
85
|
+
recce-cloud status
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Logout:**
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
recce-cloud logout
|
|
92
|
+
```
|
|
93
|
+
|
|
63
94
|
### GitHub Actions
|
|
64
95
|
|
|
65
96
|
**Upload artifacts:**
|
|
@@ -235,6 +266,85 @@ recce-cloud download --session-id abc123 --force
|
|
|
235
266
|
|
|
236
267
|
## Command Reference
|
|
237
268
|
|
|
269
|
+
### `recce-cloud login`
|
|
270
|
+
|
|
271
|
+
Authenticate with Recce Cloud.
|
|
272
|
+
|
|
273
|
+
**Options:**
|
|
274
|
+
|
|
275
|
+
| Option | Type | Default | Description |
|
|
276
|
+
| --------- | ------ | ------- | ------------------------------------------------ |
|
|
277
|
+
| `--token` | string | - | API token for direct authentication (optional) |
|
|
278
|
+
|
|
279
|
+
**Usage:**
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
# Browser-based login (opens browser for OAuth)
|
|
283
|
+
recce-cloud login
|
|
284
|
+
|
|
285
|
+
# Direct token authentication (for CI/headless environments)
|
|
286
|
+
recce-cloud login --token <your-api-token>
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Notes:**
|
|
290
|
+
|
|
291
|
+
- Browser login opens Recce Cloud in your default browser for secure OAuth authentication
|
|
292
|
+
- If the browser doesn't open automatically, the URL is displayed for manual access
|
|
293
|
+
- Token-based login is useful for CI/CD environments or when browser access is unavailable
|
|
294
|
+
- Credentials are saved to `~/.recce/profile.yml`
|
|
295
|
+
|
|
296
|
+
### `recce-cloud logout`
|
|
297
|
+
|
|
298
|
+
Clear stored Recce Cloud credentials.
|
|
299
|
+
|
|
300
|
+
**Usage:**
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
recce-cloud logout
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### `recce-cloud init`
|
|
307
|
+
|
|
308
|
+
Initialize project binding to link a local project with a Recce Cloud organization and project.
|
|
309
|
+
|
|
310
|
+
**Usage:**
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
recce-cloud init
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
**Workflow:**
|
|
317
|
+
|
|
318
|
+
1. Verifies you are logged in (prompts for login if not)
|
|
319
|
+
2. Lists available organizations (shows display names)
|
|
320
|
+
3. Prompts you to select an organization
|
|
321
|
+
4. Lists available projects in selected organization (excludes archived projects)
|
|
322
|
+
5. Prompts you to select a project
|
|
323
|
+
6. Saves binding to `.recce/config`
|
|
324
|
+
7. Optionally adds `.recce/` to `.gitignore`
|
|
325
|
+
|
|
326
|
+
**Notes:**
|
|
327
|
+
|
|
328
|
+
- Requires authentication (run `recce-cloud login` first)
|
|
329
|
+
- Creates `.recce/config` file in current directory
|
|
330
|
+
- Binding can be overridden with environment variables (`RECCE_ORG`, `RECCE_PROJECT`)
|
|
331
|
+
|
|
332
|
+
### `recce-cloud status`
|
|
333
|
+
|
|
334
|
+
Display current authentication and project binding status.
|
|
335
|
+
|
|
336
|
+
**Usage:**
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
recce-cloud status
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**Output:**
|
|
343
|
+
|
|
344
|
+
- Shows logged-in user email (or "Not logged in")
|
|
345
|
+
- Shows current project binding (organization/project or "Not bound")
|
|
346
|
+
- Indicates configuration source (CLI flags, environment variables, or local config)
|
|
347
|
+
|
|
238
348
|
### `recce-cloud upload`
|
|
239
349
|
|
|
240
350
|
Upload dbt artifacts to Recce Cloud session.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
recce_cloud/VERSION,sha256=ts8HKkJNol_sogoxylcZBNN5MmPeaROF-UgjJ9osKgw,7
|
|
2
|
+
recce_cloud/__init__.py,sha256=2Zlm9V1IBJ9DxovzHIUJB0QDl6ergO5ktY09baQ-Kxc,907
|
|
3
|
+
recce_cloud/artifact.py,sha256=C6q1i8d0JdTIVLcJY1ZEmJJ0uBz-0g3zVZD8ss0K1iI,1458
|
|
4
|
+
recce_cloud/cli.py,sha256=ClYmAA0dTs496qQo8nNX7EFc0_i09GMk_Hhdcjb_wvE,51402
|
|
5
|
+
recce_cloud/delete.py,sha256=g2lGk4pznXQy8ceqiU2zxcSbUDfVpgoGWF5gaX1Wzq8,3753
|
|
6
|
+
recce_cloud/download.py,sha256=rz9iukSDhk-IRf7MY23ZkRY6XANu68n6LrC9b8LEVIA,8484
|
|
7
|
+
recce_cloud/report.py,sha256=MRlT-CGV-SBzzYepp1zzoFuHqomC2vhpn7s5ACoNyyQ,10214
|
|
8
|
+
recce_cloud/upload.py,sha256=QrFMRX4GP5iQFXOcK6Ab-IOMKTjA1H9RzOBEd1TR56w,17539
|
|
9
|
+
recce_cloud/api/__init__.py,sha256=HrGOh7wp_U3G3gOXyGjJo1WoDXrMvhwjw8VGO2aKNTw,562
|
|
10
|
+
recce_cloud/api/base.py,sha256=eqs9fGwKId9LGqXqhV9hyNX6jEClpDOEef0ybnV9oyY,4845
|
|
11
|
+
recce_cloud/api/client.py,sha256=JFIe0Kb6vIm8DwZMS7ILbMm1-DMu9zVzbNlG0iy9xLU,24397
|
|
12
|
+
recce_cloud/api/exceptions.py,sha256=BSfuh7dGZsx1qDkr2ZhRIAoPo_eXkAIhyho5PrUX2yo,634
|
|
13
|
+
recce_cloud/api/factory.py,sha256=0hdo2jTdTlvd8cU7YTZFJJ2q3ybSssA2JKLr0bO1QmQ,2081
|
|
14
|
+
recce_cloud/api/github.py,sha256=r3fRLcFttvzOs_05f0Ea28lTFpP6tp-iKPDkC1_fpTI,4362
|
|
15
|
+
recce_cloud/api/gitlab.py,sha256=QZopresMSIn-9JC9iTHrEWCpIynEx955kcGR_gKJEcg,4593
|
|
16
|
+
recce_cloud/auth/__init__.py,sha256=UP4yCMSmLNm9UhJBt80ybduZdPrAE3S2FYaZUocdh7E,453
|
|
17
|
+
recce_cloud/auth/callback_server.py,sha256=F2ph89mfdUMJYeTd9Nt5Jd-j7FECCRhn9cQcotIFlN0,3861
|
|
18
|
+
recce_cloud/auth/login.py,sha256=9t5AU1e8F7zNxfpjAQampxUkGhAV_9GwjKOG25QEo_U,7704
|
|
19
|
+
recce_cloud/auth/profile.py,sha256=hLQzPlIDb5MDUkxWZyheXVjaC4vCCL4PyqGsEm5FVvQ,3145
|
|
20
|
+
recce_cloud/auth/templates/error.html,sha256=MlirKaUGIc89QPPjqI3uQ-4sMbEy6k4JwS3YsDhzFFg,95074
|
|
21
|
+
recce_cloud/auth/templates/success.html,sha256=7tZttX6oFJWNW9R3y5xlOzNcECINj-lJvN_NcgW8puI,95092
|
|
22
|
+
recce_cloud/ci_providers/__init__.py,sha256=cB2bydn4QOMurJVfWhIN9uTD9gIyiBcYOloN-0TvMW4,328
|
|
23
|
+
recce_cloud/ci_providers/base.py,sha256=v8P_eZdMwkgo3vCIHoyu1vBfetJICUNKz3z8ezOgwl0,2577
|
|
24
|
+
recce_cloud/ci_providers/detector.py,sha256=GvZuPo7Gq8eKCxsgYiYjQ3CYu3icPbi0moAYflnLDOk,5056
|
|
25
|
+
recce_cloud/ci_providers/github_actions.py,sha256=Vs4_YuqBsccjUeiT1a-wQBz-7sq5TnoGFwPJXniua_w,4311
|
|
26
|
+
recce_cloud/ci_providers/gitlab_ci.py,sha256=nQa2gZClXzLQ2soSqIhY5vul8RNQF-j_P-0bheD5U4s,4175
|
|
27
|
+
recce_cloud/commands/__init__.py,sha256=H5LHyMEOc2mrFxu56lQlvrG_AJ_rxj0gnHjT2efGb2w,36
|
|
28
|
+
recce_cloud/commands/diagnostics.py,sha256=3ARKdxPdVkW9ILyYibkcqtrOLZ6l-9uNne4PVVHIrpQ,6055
|
|
29
|
+
recce_cloud/config/__init__.py,sha256=-26T9sXcsfHi1mAFCz6t19hy2WaK7ZYQlcGSPKhpcHU,423
|
|
30
|
+
recce_cloud/config/project_config.py,sha256=cL3W5298KunagXBsUJcDx5wAK8isWIt96XsQQHm6ggk,5235
|
|
31
|
+
recce_cloud/config/resolver.py,sha256=yMLyFX3efoNNGWyYO6NiC4d_4L5HTQk8sEHmwABmtFU,3476
|
|
32
|
+
recce_cloud/services/__init__.py,sha256=GMxN0Wtf166qvSSMGmU5jwqfly5b3K0vsIe8PkX7AKo,36
|
|
33
|
+
recce_cloud/services/diagnostic_service.py,sha256=aPzsUPYuJWjeexRLaStkg2_W3IqV6Ts-hH7X8O6EveM,13003
|
|
34
|
+
recce_cloud-1.33.1.dist-info/METADATA,sha256=GLACLXKPAdNi409wrVo-SUMnrAal-X9IHfHJLv6J5Zg,22589
|
|
35
|
+
recce_cloud-1.33.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
36
|
+
recce_cloud-1.33.1.dist-info/entry_points.txt,sha256=MVzgsEDWaQ4fWf33zlyPF83wg5Rgg5Axq2hlLEf0Yxg,58
|
|
37
|
+
recce_cloud-1.33.1.dist-info/RECORD,,
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
recce_cloud/VERSION,sha256=-10GBUqAe037A08fRXQUiln-Rc28DQWH9ymybpsyoW8,7
|
|
2
|
-
recce_cloud/__init__.py,sha256=2Zlm9V1IBJ9DxovzHIUJB0QDl6ergO5ktY09baQ-Kxc,907
|
|
3
|
-
recce_cloud/artifact.py,sha256=C6q1i8d0JdTIVLcJY1ZEmJJ0uBz-0g3zVZD8ss0K1iI,1458
|
|
4
|
-
recce_cloud/cli.py,sha256=wXC-lyuTzOQdYZgX0QRlfkf8hI3qarmZb7BTl7XyX6A,28046
|
|
5
|
-
recce_cloud/delete.py,sha256=g2lGk4pznXQy8ceqiU2zxcSbUDfVpgoGWF5gaX1Wzq8,3753
|
|
6
|
-
recce_cloud/download.py,sha256=rz9iukSDhk-IRf7MY23ZkRY6XANu68n6LrC9b8LEVIA,8484
|
|
7
|
-
recce_cloud/report.py,sha256=MRlT-CGV-SBzzYepp1zzoFuHqomC2vhpn7s5ACoNyyQ,10214
|
|
8
|
-
recce_cloud/upload.py,sha256=APMvrGMS8SpbR4SNa9r7t3XQAmtA_1QCdytcSHTnxQU,8863
|
|
9
|
-
recce_cloud/api/__init__.py,sha256=HrGOh7wp_U3G3gOXyGjJo1WoDXrMvhwjw8VGO2aKNTw,562
|
|
10
|
-
recce_cloud/api/base.py,sha256=eqs9fGwKId9LGqXqhV9hyNX6jEClpDOEef0ybnV9oyY,4845
|
|
11
|
-
recce_cloud/api/client.py,sha256=Iy_EsTrmSbVLsxp-vc6w4F9cOHj5ScC6iRF0TBSiJ1c,16551
|
|
12
|
-
recce_cloud/api/exceptions.py,sha256=BSfuh7dGZsx1qDkr2ZhRIAoPo_eXkAIhyho5PrUX2yo,634
|
|
13
|
-
recce_cloud/api/factory.py,sha256=0hdo2jTdTlvd8cU7YTZFJJ2q3ybSssA2JKLr0bO1QmQ,2081
|
|
14
|
-
recce_cloud/api/github.py,sha256=r3fRLcFttvzOs_05f0Ea28lTFpP6tp-iKPDkC1_fpTI,4362
|
|
15
|
-
recce_cloud/api/gitlab.py,sha256=QZopresMSIn-9JC9iTHrEWCpIynEx955kcGR_gKJEcg,4593
|
|
16
|
-
recce_cloud/ci_providers/__init__.py,sha256=cB2bydn4QOMurJVfWhIN9uTD9gIyiBcYOloN-0TvMW4,328
|
|
17
|
-
recce_cloud/ci_providers/base.py,sha256=v8P_eZdMwkgo3vCIHoyu1vBfetJICUNKz3z8ezOgwl0,2577
|
|
18
|
-
recce_cloud/ci_providers/detector.py,sha256=GvZuPo7Gq8eKCxsgYiYjQ3CYu3icPbi0moAYflnLDOk,5056
|
|
19
|
-
recce_cloud/ci_providers/github_actions.py,sha256=Vs4_YuqBsccjUeiT1a-wQBz-7sq5TnoGFwPJXniua_w,4311
|
|
20
|
-
recce_cloud/ci_providers/gitlab_ci.py,sha256=nQa2gZClXzLQ2soSqIhY5vul8RNQF-j_P-0bheD5U4s,4175
|
|
21
|
-
recce_cloud-1.32.0.dist-info/METADATA,sha256=tSksJp_Kaw8x-Fr3irVbTPRK_ISvT-1T-19rvXWx7u8,20010
|
|
22
|
-
recce_cloud-1.32.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
23
|
-
recce_cloud-1.32.0.dist-info/entry_points.txt,sha256=MVzgsEDWaQ4fWf33zlyPF83wg5Rgg5Axq2hlLEf0Yxg,58
|
|
24
|
-
recce_cloud-1.32.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|