nuvu-scan 2.0.1__tar.gz → 2.0.2__tar.gz

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.
Files changed (48) hide show
  1. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/.github/workflows/ci.yml +14 -14
  2. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/PKG-INFO +1 -1
  3. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/commands/scan.py +10 -6
  4. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/aws_scanner.py +0 -1
  5. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/pyproject.toml +1 -1
  6. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  7. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/.github/workflows/release.yml +0 -0
  8. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/.gitignore +0 -0
  9. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/.pre-commit-config.yaml +0 -0
  10. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/CONTRIBUTING.md +0 -0
  11. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/DEVELOPMENT_STATUS.md +0 -0
  12. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/Makefile +0 -0
  13. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/README.md +0 -0
  14. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/RELEASE.md +0 -0
  15. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/__init__.py +0 -0
  16. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/__init__.py +0 -0
  17. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/commands/__init__.py +0 -0
  18. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/formatters/__init__.py +0 -0
  19. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/formatters/csv.py +0 -0
  20. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/formatters/html.py +0 -0
  21. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/formatters/json.py +0 -0
  22. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/cli/main.py +0 -0
  23. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/__init__.py +0 -0
  24. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/analyzers/__init__.py +0 -0
  25. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/base.py +0 -0
  26. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/models/__init__.py +0 -0
  27. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/__init__.py +0 -0
  28. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/__init__.py +0 -0
  29. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/__init__.py +0 -0
  30. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/athena.py +0 -0
  31. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/cost_explorer.py +0 -0
  32. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/glue.py +0 -0
  33. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/iam.py +0 -0
  34. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/mwaa.py +0 -0
  35. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/redshift.py +0 -0
  36. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/aws/collectors/s3.py +0 -0
  37. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/__init__.py +0 -0
  38. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/__init__.py +0 -0
  39. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/bigquery.py +0 -0
  40. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/billing.py +0 -0
  41. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/dataproc.py +0 -0
  42. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/gcs.py +0 -0
  43. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/gemini.py +0 -0
  44. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/iam.py +0 -0
  45. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/collectors/pubsub.py +0 -0
  46. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/nuvu_scan/core/providers/gcp/gcp_scanner.py +0 -0
  47. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/tests/__init__.py +0 -0
  48. {nuvu_scan-2.0.1 → nuvu_scan-2.0.2}/tests/test_base.py +0 -0
@@ -36,38 +36,38 @@ jobs:
36
36
  strategy:
37
37
  matrix:
38
38
  python-version: ["3.10", "3.11", "3.12", "3.13"]
39
-
39
+
40
40
  steps:
41
41
  - uses: actions/checkout@v4
42
-
42
+
43
43
  - name: Install uv
44
44
  uses: astral-sh/setup-uv@v4
45
45
  with:
46
46
  version: "latest"
47
-
47
+
48
48
  - name: Set up Python ${{ matrix.python-version }}
49
49
  run: uv python install ${{ matrix.python-version }}
50
-
50
+
51
51
  - name: Install dependencies
52
52
  run: |
53
53
  uv sync --dev
54
-
54
+
55
55
  - name: Run linter
56
56
  run: |
57
57
  uv run ruff check .
58
- uv run black --check .
59
-
58
+ uv run ruff format --check .
59
+
60
60
  - name: Run type checker
61
61
  run: |
62
62
  uv run mypy nuvu_scan || true # Allow failures for now
63
-
63
+
64
64
  - name: Run tests
65
65
  run: |
66
66
  uv run pytest --cov=nuvu_scan --cov-report=xml
67
67
  env:
68
68
  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
69
69
  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
70
-
70
+
71
71
  - name: Upload coverage
72
72
  uses: codecov/codecov-action@v3
73
73
  with:
@@ -78,22 +78,22 @@ jobs:
78
78
  runs-on: ubuntu-latest
79
79
  needs: test
80
80
  if: github.event_name == 'push' && github.ref == 'refs/heads/main'
81
-
81
+
82
82
  steps:
83
83
  - uses: actions/checkout@v4
84
-
84
+
85
85
  - name: Install uv
86
86
  uses: astral-sh/setup-uv@v4
87
87
  with:
88
88
  version: "latest"
89
-
89
+
90
90
  - name: Set up Python
91
91
  run: uv python install 3.11
92
-
92
+
93
93
  - name: Build package
94
94
  run: |
95
95
  uv build
96
-
96
+
97
97
  - name: Upload artifacts
98
98
  uses: actions/upload-artifact@v4
99
99
  with:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nuvu-scan
3
- Version: 2.0.1
3
+ Version: 2.0.2
4
4
  Summary: Multi-Cloud Data Asset Control - Discover, govern, and optimize your cloud data assets across AWS and GCP
5
5
  Project-URL: Homepage, https://nuvu.dev
6
6
  Project-URL: Documentation, https://github.com/nuvudev/nuvu-scan#readme
@@ -2,12 +2,9 @@
2
2
  Scan command for Nuvu CLI.
3
3
  """
4
4
 
5
- import json
6
5
  import os
7
6
  import sys
8
7
  from datetime import datetime
9
- from urllib.error import HTTPError, URLError
10
- from urllib.request import Request, urlopen
11
8
 
12
9
  import click
13
10
 
@@ -333,8 +330,12 @@ def scan_command(
333
330
  {
334
331
  "provider": asset.provider,
335
332
  "asset_type": asset.asset_type,
336
- "normalized_category": asset.normalized_category.value if asset.normalized_category else "unknown",
337
- "service": asset.service or asset.asset_type.split("_")[0] if asset.asset_type else "unknown",
333
+ "normalized_category": asset.normalized_category.value
334
+ if asset.normalized_category
335
+ else "unknown",
336
+ "service": asset.service or asset.asset_type.split("_")[0]
337
+ if asset.asset_type
338
+ else "unknown",
338
339
  "region": asset.region,
339
340
  "arn": asset.arn,
340
341
  "name": asset.name,
@@ -368,7 +369,10 @@ def scan_command(
368
369
  err=True,
369
370
  )
370
371
  except httpx.HTTPStatusError as e:
371
- click.echo(f"Error pushing to Nuvu Cloud: {e.response.status_code} - {e.response.text}", err=True)
372
+ click.echo(
373
+ f"Error pushing to Nuvu Cloud: {e.response.status_code} - {e.response.text}",
374
+ err=True,
375
+ )
372
376
  sys.exit(1)
373
377
  except Exception as e:
374
378
  click.echo(f"Error pushing to Nuvu Cloud: {e}", err=True)
@@ -13,7 +13,6 @@ from nuvu_scan.core.base import (
13
13
  CloudProviderScan,
14
14
  NormalizedCategory,
15
15
  ScanConfig,
16
- ScanResult,
17
16
  )
18
17
 
19
18
  from .collectors.athena import AthenaCollector
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nuvu-scan"
3
- version = "2.0.1"
3
+ version = "2.0.2"
4
4
  description = "Multi-Cloud Data Asset Control - Discover, govern, and optimize your cloud data assets across AWS and GCP"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes