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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: recce-cloud
3
- Version: 1.32.0
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 - works with CI tokens or explicit API tokens
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,,