cycode 1.8.3.dev1__tar.gz → 1.9.1.dev1__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 (109) hide show
  1. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/PKG-INFO +1 -1
  2. cycode-1.9.1.dev1/cycode/__init__.py +1 -0
  3. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/auth/auth_command.py +2 -6
  4. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/exceptions/handle_report_sbom_errors.py +1 -3
  5. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/exceptions/handle_scan_errors.py +1 -3
  6. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/console_printer.py +7 -2
  7. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/printer_base.py +16 -0
  8. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/pyproject.toml +1 -1
  9. cycode-1.8.3.dev1/cycode/__init__.py +0 -1
  10. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/README.md +0 -0
  11. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/__init__.py +0 -0
  12. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/__init__.py +0 -0
  13. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/auth/__init__.py +0 -0
  14. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/auth/auth_manager.py +0 -0
  15. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/configure/__init__.py +0 -0
  16. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/configure/configure_command.py +0 -0
  17. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/ignore/__init__.py +0 -0
  18. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/ignore/ignore_command.py +0 -0
  19. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/main_cli.py +0 -0
  20. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/__init__.py +0 -0
  21. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/report_command.py +0 -0
  22. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/__init__.py +0 -0
  23. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/common.py +0 -0
  24. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/path/__init__.py +0 -0
  25. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/path/path_command.py +0 -0
  26. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/repository_url/__init__.py +0 -0
  27. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/repository_url/repository_url_command.py +0 -0
  28. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/sbom_command.py +0 -0
  29. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/report/sbom/sbom_report_file.py +0 -0
  30. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/__init__.py +0 -0
  31. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/code_scanner.py +0 -0
  32. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/commit_history/__init__.py +0 -0
  33. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/commit_history/commit_history_command.py +0 -0
  34. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/path/__init__.py +0 -0
  35. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/path/path_command.py +0 -0
  36. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/pre_commit/__init__.py +0 -0
  37. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/pre_commit/pre_commit_command.py +0 -0
  38. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/pre_receive/__init__.py +0 -0
  39. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/pre_receive/pre_receive_command.py +0 -0
  40. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/repository/__init__.py +0 -0
  41. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/repository/repository_command.py +0 -0
  42. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/scan_ci/__init__.py +0 -0
  43. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/scan_ci/ci_integrations.py +0 -0
  44. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/scan_ci/scan_ci_command.py +0 -0
  45. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/scan/scan_command.py +0 -0
  46. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/version/__init__.py +0 -0
  47. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/commands/version/version_command.py +0 -0
  48. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/config.py +0 -0
  49. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/config.yaml +0 -0
  50. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/consts.py +0 -0
  51. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/exceptions/__init__.py +0 -0
  52. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  53. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/__init__.py +0 -0
  54. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/excluder.py +0 -0
  55. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/iac/__init__.py +0 -0
  56. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
  57. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/models/__init__.py +0 -0
  58. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
  59. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/path_documents.py +0 -0
  60. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/repository_documents.py +0 -0
  61. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/sca/__init__.py +0 -0
  62. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
  63. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/sca/maven/base_restore_maven_dependencies.py +0 -0
  64. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
  65. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
  66. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/sca/sca_code_scanner.py +0 -0
  67. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/files_collector/zip_documents.py +0 -0
  68. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/main.py +0 -0
  69. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/models.py +0 -0
  70. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/__init__.py +0 -0
  71. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/json_printer.py +0 -0
  72. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/tables/__init__.py +0 -0
  73. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
  74. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/tables/table.py +0 -0
  75. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/tables/table_models.py +0 -0
  76. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/tables/table_printer.py +0 -0
  77. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  78. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/printers/text_printer.py +0 -0
  79. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/user_settings/__init__.py +0 -0
  80. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/user_settings/base_file_manager.py +0 -0
  81. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/user_settings/config_file_manager.py +0 -0
  82. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/user_settings/configuration_manager.py +0 -0
  83. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/user_settings/credentials_manager.py +0 -0
  84. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/user_settings/jwt_creator.py +0 -0
  85. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/__init__.py +0 -0
  86. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/enum_utils.py +0 -0
  87. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/get_api_client.py +0 -0
  88. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/path_utils.py +0 -0
  89. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/progress_bar.py +0 -0
  90. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/scan_batch.py +0 -0
  91. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/scan_utils.py +0 -0
  92. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/shell_executor.py +0 -0
  93. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/string_utils.py +0 -0
  94. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/task_timer.py +0 -0
  95. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cli/utils/yaml_utils.py +0 -0
  96. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/__init__.py +0 -0
  97. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/auth_client.py +0 -0
  98. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/client_creator.py +0 -0
  99. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/config.py +0 -0
  100. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/config.yaml +0 -0
  101. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/config_dev.py +0 -0
  102. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/cycode_client.py +0 -0
  103. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/cycode_client_base.py +0 -0
  104. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  105. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/cycode_token_based_client.py +0 -0
  106. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/models.py +0 -0
  107. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/report_client.py +0 -0
  108. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/scan_client.py +0 -0
  109. {cycode-1.8.3.dev1 → cycode-1.9.1.dev1}/cycode/cyclient/scan_config_base.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cycode
3
- Version: 1.8.3.dev1
3
+ Version: 1.9.1.dev1
4
4
  Summary: Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning.
5
5
  Home-page: https://github.com/cycodehq/cycode-cli
6
6
  License: MIT
@@ -0,0 +1 @@
1
+ __version__ = '1.9.1.dev1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
@@ -1,5 +1,3 @@
1
- import traceback
2
-
3
1
  import click
4
2
 
5
3
  from cycode.cli.commands.auth.auth_manager import AuthManager
@@ -54,16 +52,14 @@ def authorization_check(context: click.Context) -> None:
54
52
  printer.print_result(passed_auth_check_res)
55
53
  return
56
54
  except (NetworkError, HttpUnauthorizedError):
57
- if context.obj['verbose']:
58
- click.secho(f'Error: {traceback.format_exc()}', fg='red')
55
+ ConsolePrinter(context).print_exception()
59
56
 
60
57
  printer.print_result(failed_auth_check_res)
61
58
  return
62
59
 
63
60
 
64
61
  def _handle_exception(context: click.Context, e: Exception) -> None:
65
- if context.obj['verbose']:
66
- click.secho(f'Error: {traceback.format_exc()}', fg='red')
62
+ ConsolePrinter(context).print_exception()
67
63
 
68
64
  errors: CliErrors = {
69
65
  AuthProcessError: CliError(
@@ -1,4 +1,3 @@
1
- import traceback
2
1
  from typing import Optional
3
2
 
4
3
  import click
@@ -9,8 +8,7 @@ from cycode.cli.printers import ConsolePrinter
9
8
 
10
9
 
11
10
  def handle_report_exception(context: click.Context, err: Exception) -> Optional[CliError]:
12
- if context.obj['verbose']:
13
- click.secho(f'Error: {traceback.format_exc()}', fg='red')
11
+ ConsolePrinter(context).print_exception()
14
12
 
15
13
  errors: CliErrors = {
16
14
  custom_exceptions.NetworkError: CliError(
@@ -1,4 +1,3 @@
1
- import traceback
2
1
  from typing import Optional
3
2
 
4
3
  import click
@@ -14,8 +13,7 @@ def handle_scan_exception(
14
13
  ) -> Optional[CliError]:
15
14
  context.obj['did_fail'] = True
16
15
 
17
- if context.obj['verbose']:
18
- click.secho(f'Error: {traceback.format_exc()}', fg='red')
16
+ ConsolePrinter(context).print_exception()
19
17
 
20
18
  errors: CliErrors = {
21
19
  custom_exceptions.NetworkError: CliError(
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, ClassVar, Dict, List, Optional
1
+ from typing import TYPE_CHECKING, ClassVar, Dict, List, Optional, Type
2
2
 
3
3
  import click
4
4
 
@@ -15,7 +15,7 @@ if TYPE_CHECKING:
15
15
 
16
16
 
17
17
  class ConsolePrinter:
18
- _AVAILABLE_PRINTERS: ClassVar[Dict[str, 'PrinterBase']] = {
18
+ _AVAILABLE_PRINTERS: ClassVar[Dict[str, Type['PrinterBase']]] = {
19
19
  'text': TextPrinter,
20
20
  'json': JsonPrinter,
21
21
  'table': TablePrinter,
@@ -53,3 +53,8 @@ class ConsolePrinter:
53
53
 
54
54
  def print_error(self, error: CliError) -> None:
55
55
  self._printer_class(self.context).print_error(error)
56
+
57
+ def print_exception(self, e: Optional[BaseException] = None, force_print: bool = False) -> None:
58
+ """Print traceback message in stderr if verbose mode is set."""
59
+ if force_print or self.context.obj.get('verbose', False):
60
+ self._printer_class(self.context).print_exception(e)
@@ -1,3 +1,4 @@
1
+ import traceback
1
2
  from abc import ABC, abstractmethod
2
3
  from typing import TYPE_CHECKING, Dict, List, Optional
3
4
 
@@ -30,3 +31,18 @@ class PrinterBase(ABC):
30
31
  @abstractmethod
31
32
  def print_error(self, error: CliError) -> None:
32
33
  pass
34
+
35
+ def print_exception(self, e: Optional[BaseException] = None) -> None:
36
+ """We are printing it in stderr so, we don't care about supporting JSON and TABLE outputs.
37
+
38
+ Note:
39
+ Called only when the verbose flag is set.
40
+ """
41
+ if e is None:
42
+ # gets the most recent exception caught by an except clause
43
+ message = f'Error: {traceback.format_exc()}'
44
+ else:
45
+ traceback_message = ''.join(traceback.format_exception(e))
46
+ message = f'Error: {traceback_message}'
47
+
48
+ click.secho(message, err=True, fg=self.RED_COLOR_NAME)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cycode"
3
- version = "1.8.3.dev1" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
3
+ version = "1.9.1.dev1" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
4
4
  description = "Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning."
5
5
  keywords=["secret-scan", "cycode", "devops", "token", "secret", "security", "cycode", "code"]
6
6
  authors = ["Cycode <support@cycode.com>"]
@@ -1 +0,0 @@
1
- __version__ = '1.8.3.dev1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
File without changes