datasecops-cli 0.3.2__tar.gz → 0.3.3__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 (49) hide show
  1. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/CHANGELOG.md +6 -0
  2. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/PKG-INFO +1 -1
  3. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/pyproject.toml +1 -1
  4. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/utilities/display.py +6 -6
  5. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/.github/workflows/publish-cli.yml +0 -0
  6. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/.gitignore +0 -0
  7. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/DEVELOPMENT.md +0 -0
  8. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/LICENSE +0 -0
  9. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/README.md +0 -0
  10. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/docs/getting-started.md +0 -0
  11. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/docs/legacy.md +0 -0
  12. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/docs/legacy_plan_of_action.md +0 -0
  13. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/docs/mcp-server.md +0 -0
  14. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/mcp-servers.json +0 -0
  15. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/setup.ps1 +0 -0
  16. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/setup.sh +0 -0
  17. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/__init__.py +0 -0
  18. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/config.py +0 -0
  19. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/main.py +0 -0
  20. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/menus/__init__.py +0 -0
  21. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/menus/development.py +0 -0
  22. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/menus/downloads.py +0 -0
  23. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/menus/git_operations.py +0 -0
  24. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/models/__init__.py +0 -0
  25. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/models/git_helpers.py +0 -0
  26. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/models/project_config.py +0 -0
  27. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/__init__.py +0 -0
  28. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/bootstrap_service.py +0 -0
  29. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/dbt_runner.py +0 -0
  30. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/download_service.py +0 -0
  31. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/git_service.py +0 -0
  32. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/linting_service.py +0 -0
  33. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/skill_service.py +0 -0
  34. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/snowflake_service.py +0 -0
  35. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/services/upstream_service.py +0 -0
  36. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/utilities/__init__.py +0 -0
  37. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/utilities/file_utils.py +0 -0
  38. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_cli/utilities/yaml_utils.py +0 -0
  39. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_mcp/__init__.py +0 -0
  40. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_mcp/__main__.py +0 -0
  41. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_mcp/connection.py +0 -0
  42. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/src/datasecops_mcp/server.py +0 -0
  43. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/tests/__init__.py +0 -0
  44. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/tests/test_config.py +0 -0
  45. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/tests/test_file_utils.py +0 -0
  46. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/tests/test_main.py +0 -0
  47. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/tests/test_models.py +0 -0
  48. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/tests/test_version.py +0 -0
  49. {datasecops_cli-0.3.2 → datasecops_cli-0.3.3}/tests/test_yaml_utils.py +0 -0
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to the DataSecOps CLI are documented in this file.
4
4
 
5
+ ## [0.3.3] - 2026-05-15
6
+
7
+ ### Changed
8
+
9
+ - **Redesigned menu header** — new branded banner style with `========` borders, `========>` prefix for info lines (`Active Profile`, `Current Branch`, `Upstream`)
10
+
5
11
  ## [0.3.2] - 2026-05-15
6
12
 
7
13
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datasecops-cli
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: DataSecOps Framework CLI for Snowflake Native App
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "datasecops-cli"
7
- version = "0.3.2"
7
+ version = "0.3.3"
8
8
  description = "DataSecOps Framework CLI for Snowflake Native App"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -19,23 +19,23 @@ def print_long_line(color: str = Fore.GREEN) -> None:
19
19
  def section_header(message: str, active_profile: str = None, current_branch: str = None,
20
20
  upstream_info: list = None) -> None:
21
21
  print_long_line(Fore.GREEN)
22
- print_detail(message, Fore.GREEN)
22
+ print_detail(f"======== {message:<48}========", Fore.GREEN)
23
23
  print_long_line(Fore.GREEN)
24
24
  if active_profile:
25
- print_detail(f" Profile: {active_profile}", Fore.GREEN)
25
+ print_detail(f"========> Active Profile: {active_profile}", Fore.GREEN)
26
26
  if current_branch:
27
- print_detail(f" Branch: {current_branch}", Fore.GREEN)
27
+ print_detail(f"========> Current Branch: {current_branch}", Fore.GREEN)
28
28
  if upstream_info:
29
29
  for status in upstream_info:
30
30
  if status.error:
31
- print_detail(f" Upstream: {status.profile_name} — {status.error}", Fore.YELLOW)
31
+ print_detail(f"========> Upstream: {status.profile_name} — {status.error}", Fore.YELLOW)
32
32
  elif status.needs_update:
33
33
  print_detail(
34
- f" Upstream: {status.profile_name} ({status.current_version} {status.latest_tag} available)",
34
+ f"========> Upstream: {status.profile_name} ({status.current_version} -> {status.latest_tag} available)",
35
35
  Fore.YELLOW,
36
36
  )
37
37
  else:
38
- print_detail(f" Upstream: {status.profile_name} ({status.current_version})", Fore.GREEN)
38
+ print_detail(f"========> Upstream: {status.profile_name} ({status.current_version})", Fore.GREEN)
39
39
  if active_profile or current_branch or upstream_info:
40
40
  print_long_line(Fore.GREEN)
41
41
 
File without changes
File without changes
File without changes
File without changes