cycode 1.1.1.dev5__tar.gz → 1.1.1.dev7__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 (67) hide show
  1. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/PKG-INFO +1 -1
  2. cycode-1.1.1.dev7/cycode/__init__.py +1 -0
  3. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/code_scanner.py +2 -4
  4. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/consts.py +0 -2
  5. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/main.py +3 -6
  6. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/config.py +35 -19
  7. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/pyproject.toml +1 -1
  8. cycode-1.1.1.dev5/cycode/__init__.py +0 -1
  9. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/README.md +0 -0
  10. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/__init__.py +0 -0
  11. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/auth/__init__.py +0 -0
  12. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/auth/auth_command.py +0 -0
  13. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/auth/auth_manager.py +0 -0
  14. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/ci_integrations.py +0 -0
  15. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/config.py +0 -0
  16. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/config.yaml +0 -0
  17. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/exceptions/__init__.py +0 -0
  18. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  19. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/helpers/__init__.py +0 -0
  20. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/helpers/maven/__init__.py +0 -0
  21. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/helpers/maven/base_restore_maven_dependencies.py +0 -0
  22. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/helpers/maven/restore_gradle_dependencies.py +0 -0
  23. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/helpers/maven/restore_maven_dependencies.py +0 -0
  24. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/helpers/sca_code_scanner.py +0 -0
  25. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/helpers/tf_content_generator.py +0 -0
  26. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/models.py +0 -0
  27. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/__init__.py +0 -0
  28. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/console_printer.py +0 -0
  29. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/json_printer.py +0 -0
  30. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/printer_base.py +0 -0
  31. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/tables/__init__.py +0 -0
  32. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
  33. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/tables/table.py +0 -0
  34. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/tables/table_models.py +0 -0
  35. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/tables/table_printer.py +0 -0
  36. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  37. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/printers/text_printer.py +0 -0
  38. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/user_settings/__init__.py +0 -0
  39. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/user_settings/base_file_manager.py +0 -0
  40. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/user_settings/config_file_manager.py +0 -0
  41. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/user_settings/configuration_manager.py +0 -0
  42. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/user_settings/credentials_manager.py +0 -0
  43. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/user_settings/user_settings_commands.py +0 -0
  44. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/__init__.py +0 -0
  45. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/enum_utils.py +0 -0
  46. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/path_utils.py +0 -0
  47. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/progress_bar.py +0 -0
  48. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/scan_batch.py +0 -0
  49. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/scan_utils.py +0 -0
  50. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/shell_executor.py +0 -0
  51. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/string_utils.py +0 -0
  52. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/task_timer.py +0 -0
  53. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/utils/yaml_utils.py +0 -0
  54. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cli/zip_file.py +0 -0
  55. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/__init__.py +0 -0
  56. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/auth_client.py +0 -0
  57. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/config.yaml +0 -0
  58. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/config_dev.py +0 -0
  59. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/cycode_client.py +0 -0
  60. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/cycode_client_base.py +0 -0
  61. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  62. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/cycode_token_based_client.py +0 -0
  63. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/models.py +0 -0
  64. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/scan_client.py +0 -0
  65. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/scan_config/__init__.py +0 -0
  66. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/scan_config/scan_config_base.py +0 -0
  67. {cycode-1.1.1.dev5 → cycode-1.1.1.dev7}/cycode/cyclient/scan_config/scan_config_creator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cycode
3
- Version: 1.1.1.dev5
3
+ Version: 1.1.1.dev7
4
4
  Summary: Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning.
5
5
  Home-page: https://github.com/cycodehq-public/cycode-cli
6
6
  License: MIT
@@ -0,0 +1 @@
1
+ __version__ = '1.1.1.dev7' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
@@ -33,13 +33,13 @@ from cycode.cli.utils.path_utils import (
33
33
  load_json,
34
34
  )
35
35
  from cycode.cli.utils.progress_bar import ProgressBarSection
36
- from cycode.cli.utils.progress_bar import logger as progress_bar_logger
37
36
  from cycode.cli.utils.scan_batch import run_parallel_batched_scan
38
37
  from cycode.cli.utils.scan_utils import set_issue_detected
39
38
  from cycode.cli.utils.string_utils import get_content_size, is_binary_content
40
39
  from cycode.cli.utils.task_timer import TimeoutAfter
41
40
  from cycode.cli.zip_file import InMemoryZip
42
41
  from cycode.cyclient import logger
42
+ from cycode.cyclient.config import set_logging_level
43
43
  from cycode.cyclient.models import Detection, DetectionSchema, DetectionsPerFile, ZippedFileScanResult
44
44
 
45
45
  if TYPE_CHECKING:
@@ -1399,9 +1399,7 @@ def perform_post_pre_receive_scan_actions(context: click.Context) -> None:
1399
1399
 
1400
1400
  def enable_verbose_mode(context: click.Context) -> None:
1401
1401
  context.obj['verbose'] = True
1402
- # TODO(MarshalX): rework setting the log level for loggers
1403
- logger.setLevel(logging.DEBUG)
1404
- progress_bar_logger.setLevel(logging.DEBUG)
1402
+ set_logging_level(logging.DEBUG)
1405
1403
 
1406
1404
 
1407
1405
  def is_verbose_mode_requested_in_pre_receive_scan() -> bool:
@@ -112,8 +112,6 @@ CYCODE_APP_URL_ENV_VAR_NAME = 'CYCODE_APP_URL'
112
112
  TIMEOUT_ENV_VAR_NAME = 'TIMEOUT'
113
113
  CYCODE_CLI_REQUEST_TIMEOUT_ENV_VAR_NAME = 'CYCODE_CLI_REQUEST_TIMEOUT'
114
114
  LOGGING_LEVEL_ENV_VAR_NAME = 'LOGGING_LEVEL'
115
- # use only for dev envs locally
116
- BATCH_SIZE_ENV_VAR_NAME = 'BATCH_SIZE'
117
115
  VERBOSE_ENV_VAR_NAME = 'CYCODE_CLI_VERBOSE'
118
116
 
119
117
  CYCODE_CONFIGURATION_DIRECTORY: str = '.cycode'
@@ -22,8 +22,7 @@ from cycode.cli.user_settings.credentials_manager import CredentialsManager
22
22
  from cycode.cli.user_settings.user_settings_commands import add_exclusions, set_credentials
23
23
  from cycode.cli.utils import scan_utils
24
24
  from cycode.cli.utils.progress_bar import get_progress_bar
25
- from cycode.cli.utils.progress_bar import logger as progress_bar_logger
26
- from cycode.cyclient import logger
25
+ from cycode.cyclient.config import set_logging_level
27
26
  from cycode.cyclient.cycode_client_base import CycodeClientBase
28
27
  from cycode.cyclient.models import UserAgentOptionScheme
29
28
  from cycode.cyclient.scan_config.scan_config_creator import create_scan_client
@@ -228,10 +227,8 @@ def main_cli(
228
227
 
229
228
  verbose = verbose or configuration_manager.get_verbose_flag()
230
229
  context.obj['verbose'] = verbose
231
- # TODO(MarshalX): rework setting the log level for loggers
232
- log_level = logging.DEBUG if verbose else logging.INFO
233
- logger.setLevel(log_level)
234
- progress_bar_logger.setLevel(log_level)
230
+ if verbose:
231
+ set_logging_level(logging.DEBUG)
235
232
 
236
233
  context.obj['output'] = output
237
234
  if output == 'json':
@@ -6,17 +6,21 @@ from urllib.parse import urlparse
6
6
 
7
7
  from cycode.cli import consts
8
8
  from cycode.cli.user_settings.configuration_manager import ConfigurationManager
9
+ from cycode.cyclient.config_dev import DEV_MODE_ENV_VAR_NAME, DEV_TENANT_ID_ENV_VAR_NAME
9
10
 
10
- # set io encoding (for windows)
11
- from .config_dev import DEV_MODE_ENV_VAR_NAME, DEV_TENANT_ID_ENV_VAR_NAME
12
11
 
13
- sys.stdout.reconfigure(encoding='UTF-8')
14
- sys.stderr.reconfigure(encoding='UTF-8')
12
+ def _set_io_encodings() -> None:
13
+ # set io encoding (for Windows)
14
+ sys.stdout.reconfigure(encoding='UTF-8')
15
+ sys.stderr.reconfigure(encoding='UTF-8')
16
+
17
+
18
+ _set_io_encodings()
15
19
 
16
20
  # logs
17
21
  logging.basicConfig(
18
- stream=sys.stdout,
19
- level=logging.DEBUG,
22
+ stream=sys.stderr,
23
+ level=logging.INFO,
20
24
  format='%(asctime)s [%(name)s] %(levelname)s: %(message)s',
21
25
  datefmt='%Y-%m-%d %H:%M:%S',
22
26
  )
@@ -34,19 +38,28 @@ DEFAULT_CONFIGURATION = {
34
38
  consts.TIMEOUT_ENV_VAR_NAME: 300,
35
39
  consts.LOGGING_LEVEL_ENV_VAR_NAME: logging.INFO,
36
40
  DEV_MODE_ENV_VAR_NAME: 'False',
37
- consts.BATCH_SIZE_ENV_VAR_NAME: 20,
38
41
  }
39
42
 
40
43
  configuration = dict(DEFAULT_CONFIGURATION, **os.environ)
41
44
 
45
+ _CREATED_LOGGERS = set()
46
+
42
47
 
43
48
  def get_logger(logger_name: Optional[str] = None) -> logging.Logger:
44
- logger = logging.getLogger(logger_name)
45
- level = _get_val_as_string(consts.LOGGING_LEVEL_ENV_VAR_NAME)
46
- level = level if level in logging._nameToLevel else int(level)
47
- logger.setLevel(level)
49
+ config_level = _get_val_as_string(consts.LOGGING_LEVEL_ENV_VAR_NAME)
50
+ level = logging.getLevelName(config_level)
51
+
52
+ new_logger = logging.getLogger(logger_name)
53
+ new_logger.setLevel(level)
54
+
55
+ _CREATED_LOGGERS.add(new_logger)
48
56
 
49
- return logger
57
+ return new_logger
58
+
59
+
60
+ def set_logging_level(level: int) -> None:
61
+ for created_logger in _CREATED_LOGGERS:
62
+ created_logger.setLevel(level)
50
63
 
51
64
 
52
65
  def _get_val_as_string(key: str) -> str:
@@ -66,15 +79,20 @@ def _get_val_as_int(key: str) -> Optional[int]:
66
79
  return None
67
80
 
68
81
 
69
- logger = get_logger('cycode cli')
82
+ def _is_valid_url(url: str) -> bool:
83
+ try:
84
+ urlparse(url)
85
+ return True
86
+ except ValueError as e:
87
+ logger.warning(f'Invalid cycode api url: {url}, using default value', e)
88
+ return False
70
89
 
90
+
91
+ logger = get_logger('cycode cli')
71
92
  configuration_manager = ConfigurationManager()
72
93
 
73
94
  cycode_api_url = configuration_manager.get_cycode_api_url()
74
- try:
75
- urlparse(cycode_api_url)
76
- except ValueError as e:
77
- logger.warning(f'Invalid cycode api url: {cycode_api_url}, using default value', e)
95
+ if not _is_valid_url(cycode_api_url):
78
96
  cycode_api_url = consts.DEFAULT_CYCODE_API_URL
79
97
 
80
98
  timeout = _get_val_as_int(consts.CYCODE_CLI_REQUEST_TIMEOUT_ENV_VAR_NAME)
@@ -83,5 +101,3 @@ if not timeout:
83
101
 
84
102
  dev_mode = _get_val_as_bool(DEV_MODE_ENV_VAR_NAME)
85
103
  dev_tenant_id = _get_val_as_string(DEV_TENANT_ID_ENV_VAR_NAME)
86
- batch_size = _get_val_as_int(consts.BATCH_SIZE_ENV_VAR_NAME)
87
- verbose = _get_val_as_bool(consts.VERBOSE_ENV_VAR_NAME)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cycode"
3
- version = "1.1.1.dev5" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
3
+ version = "1.1.1.dev7" # 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.1.1.dev5' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
File without changes