cycode 2.0.1.dev1__tar.gz → 2.0.1.dev2__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 (125) hide show
  1. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/PKG-INFO +2 -2
  2. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/README.md +1 -1
  3. cycode-2.0.1.dev2/cycode/__init__.py +1 -0
  4. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/code_scanner.py +14 -7
  5. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/scan_command.py +1 -1
  6. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/models.py +1 -0
  7. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/pyproject.toml +1 -1
  8. cycode-2.0.1.dev1/cycode/__init__.py +0 -1
  9. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/LICENCE +0 -0
  10. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/__init__.py +0 -0
  11. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/__init__.py +0 -0
  12. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/auth/__init__.py +0 -0
  13. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/auth/auth_command.py +0 -0
  14. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/auth/auth_manager.py +0 -0
  15. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/auth_common.py +0 -0
  16. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/configure/__init__.py +0 -0
  17. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/configure/configure_command.py +0 -0
  18. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/ignore/__init__.py +0 -0
  19. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/ignore/ignore_command.py +0 -0
  20. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/main_cli.py +0 -0
  21. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/__init__.py +0 -0
  22. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/report_command.py +0 -0
  23. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/__init__.py +0 -0
  24. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/common.py +0 -0
  25. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/path/__init__.py +0 -0
  26. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/path/path_command.py +0 -0
  27. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/repository_url/__init__.py +0 -0
  28. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/repository_url/repository_url_command.py +0 -0
  29. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/sbom_command.py +0 -0
  30. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/report/sbom/sbom_report_file.py +0 -0
  31. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/__init__.py +0 -0
  32. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/commit_history/__init__.py +0 -0
  33. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/commit_history/commit_history_command.py +0 -0
  34. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/path/__init__.py +0 -0
  35. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/path/path_command.py +0 -0
  36. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/pre_commit/__init__.py +0 -0
  37. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/pre_commit/pre_commit_command.py +0 -0
  38. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/pre_receive/__init__.py +0 -0
  39. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/pre_receive/pre_receive_command.py +0 -0
  40. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/repository/__init__.py +0 -0
  41. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/repository/repository_command.py +0 -0
  42. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/scan_ci/__init__.py +0 -0
  43. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/scan_ci/ci_integrations.py +0 -0
  44. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/scan/scan_ci/scan_ci_command.py +0 -0
  45. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/status/__init__.py +0 -0
  46. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/status/status_command.py +0 -0
  47. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/version/__init__.py +0 -0
  48. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/commands/version/version_command.py +0 -0
  49. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/config.py +0 -0
  50. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/config.yaml +0 -0
  51. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/consts.py +0 -0
  52. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/exceptions/__init__.py +0 -0
  53. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  54. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
  55. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
  56. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/__init__.py +0 -0
  57. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/excluder.py +0 -0
  58. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/iac/__init__.py +0 -0
  59. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
  60. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/models/__init__.py +0 -0
  61. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
  62. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/path_documents.py +0 -0
  63. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/repository_documents.py +0 -0
  64. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/__init__.py +0 -0
  65. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
  66. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
  67. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
  68. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
  69. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
  70. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
  71. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
  72. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
  73. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
  74. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
  75. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
  76. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
  77. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/sca/sca_code_scanner.py +0 -0
  78. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/files_collector/zip_documents.py +0 -0
  79. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/main.py +0 -0
  80. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/__init__.py +0 -0
  81. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/console_printer.py +0 -0
  82. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/json_printer.py +0 -0
  83. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/printer_base.py +0 -0
  84. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/tables/__init__.py +0 -0
  85. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
  86. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/tables/table.py +0 -0
  87. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/tables/table_models.py +0 -0
  88. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/tables/table_printer.py +0 -0
  89. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  90. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/printers/text_printer.py +0 -0
  91. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/sentry.py +0 -0
  92. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/user_settings/__init__.py +0 -0
  93. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/user_settings/base_file_manager.py +0 -0
  94. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/user_settings/config_file_manager.py +0 -0
  95. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/user_settings/configuration_manager.py +0 -0
  96. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/user_settings/credentials_manager.py +0 -0
  97. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/user_settings/jwt_creator.py +0 -0
  98. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/__init__.py +0 -0
  99. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/enum_utils.py +0 -0
  100. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/get_api_client.py +0 -0
  101. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/git_proxy.py +0 -0
  102. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/jwt_utils.py +0 -0
  103. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/path_utils.py +0 -0
  104. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/progress_bar.py +0 -0
  105. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/scan_batch.py +0 -0
  106. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/scan_utils.py +0 -0
  107. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/shell_executor.py +0 -0
  108. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/string_utils.py +0 -0
  109. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/task_timer.py +0 -0
  110. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cli/utils/yaml_utils.py +0 -0
  111. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/__init__.py +0 -0
  112. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/auth_client.py +0 -0
  113. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/client_creator.py +0 -0
  114. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/config.py +0 -0
  115. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/config.yaml +0 -0
  116. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/config_dev.py +0 -0
  117. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/cycode_client.py +0 -0
  118. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/cycode_client_base.py +0 -0
  119. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  120. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/cycode_token_based_client.py +0 -0
  121. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/headers.py +0 -0
  122. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/models.py +0 -0
  123. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/report_client.py +0 -0
  124. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/scan_client.py +0 -0
  125. {cycode-2.0.1.dev1 → cycode-2.0.1.dev2}/cycode/cyclient/scan_config_base.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cycode
3
- Version: 2.0.1.dev1
3
+ Version: 2.0.1.dev2
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
@@ -327,7 +327,7 @@ The Cycode CLI application offers several types of scans so that you can choose
327
327
  | `--client-id TEXT` | Specify a Cycode client ID for this specific scan execution |
328
328
  | `--show-secret BOOLEAN` | Show secrets in plain text. See [Show/Hide Secrets](#showhide-secrets) section for more details. |
329
329
  | `--soft-fail BOOLEAN` | Run scan without failing, always return a non-error status code. See [Soft Fail](#soft-fail) section for more details. |
330
- | `--severity-threshold [INFO\|LOW\|MEDIUM\|HIGH\|CRITICAL]` | Show only violations at the specified level or higher (supported for the SCA scan type only). |
330
+ | `--severity-threshold [INFO\|LOW\|MEDIUM\|HIGH\|CRITICAL]` | Show only violations at the specified level or higher. |
331
331
  | `--sca-scan` | Specify the SCA scan you wish to execute (`package-vulnerabilities`/`license-compliance`). The default is both |
332
332
  | `--monitor` | When specified, the scan results will be recorded in the knowledge graph. Please note that when working in `monitor` mode, the knowledge graph will not be updated as a result of SCM events (Push, Repo creation). (Supported for SCA scan type only). |
333
333
  | `--report` | When specified, a violations report will be generated. A URL link to the report will be printed as an output to the command execution |
@@ -287,7 +287,7 @@ The Cycode CLI application offers several types of scans so that you can choose
287
287
  | `--client-id TEXT` | Specify a Cycode client ID for this specific scan execution |
288
288
  | `--show-secret BOOLEAN` | Show secrets in plain text. See [Show/Hide Secrets](#showhide-secrets) section for more details. |
289
289
  | `--soft-fail BOOLEAN` | Run scan without failing, always return a non-error status code. See [Soft Fail](#soft-fail) section for more details. |
290
- | `--severity-threshold [INFO\|LOW\|MEDIUM\|HIGH\|CRITICAL]` | Show only violations at the specified level or higher (supported for the SCA scan type only). |
290
+ | `--severity-threshold [INFO\|LOW\|MEDIUM\|HIGH\|CRITICAL]` | Show only violations at the specified level or higher. |
291
291
  | `--sca-scan` | Specify the SCA scan you wish to execute (`package-vulnerabilities`/`license-compliance`). The default is both |
292
292
  | `--monitor` | When specified, the scan results will be recorded in the knowledge graph. Please note that when working in `monitor` mode, the knowledge graph will not be updated as a result of SCM events (Push, Repo creation). (Supported for SCA scan type only). |
293
293
  | `--report` | When specified, a violations report will be generated. A URL link to the report will be printed as an output to the command execution |
@@ -0,0 +1 @@
1
+ __version__ = '2.0.1.dev2' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
@@ -713,20 +713,26 @@ def exclude_irrelevant_detections(
713
713
  ) -> List[Detection]:
714
714
  relevant_detections = _exclude_detections_by_exclusions_configuration(detections, scan_type)
715
715
  relevant_detections = _exclude_detections_by_scan_type(relevant_detections, scan_type, command_scan_type)
716
- return _exclude_detections_by_severity(relevant_detections, scan_type, severity_threshold)
716
+ return _exclude_detections_by_severity(relevant_detections, severity_threshold)
717
717
 
718
718
 
719
- def _exclude_detections_by_severity(
720
- detections: List[Detection], scan_type: str, severity_threshold: str
721
- ) -> List[Detection]:
722
- if scan_type != consts.SCA_SCAN_TYPE or severity_threshold is None:
719
+ def _exclude_detections_by_severity(detections: List[Detection], severity_threshold: str) -> List[Detection]:
720
+ if severity_threshold is None:
723
721
  return detections
724
722
 
725
723
  relevant_detections = []
726
724
  for detection in detections:
727
725
  severity = detection.detection_details.get('advisory_severity')
726
+ if not severity:
727
+ severity = detection.severity
728
+
728
729
  if _does_severity_match_severity_threshold(severity, severity_threshold):
729
730
  relevant_detections.append(detection)
731
+ else:
732
+ logger.debug(
733
+ 'Going to ignore violations because they are below the severity threshold, %s',
734
+ {'severity': severity, 'severity_threshold': severity_threshold},
735
+ )
730
736
 
731
737
  return relevant_detections
732
738
 
@@ -861,10 +867,11 @@ def _generate_unique_id() -> UUID:
861
867
 
862
868
  def _does_severity_match_severity_threshold(severity: str, severity_threshold: str) -> bool:
863
869
  detection_severity_value = Severity.try_get_value(severity)
864
- if detection_severity_value is None:
870
+ severity_threshold_value = Severity.try_get_value(severity_threshold)
871
+ if detection_severity_value is None or severity_threshold_value is None:
865
872
  return True
866
873
 
867
- return detection_severity_value >= Severity.try_get_value(severity_threshold)
874
+ return detection_severity_value >= severity_threshold_value
868
875
 
869
876
 
870
877
  def _get_scan_result(
@@ -66,7 +66,7 @@ from cycode.cli.utils.get_api_client import get_scan_cycode_client
66
66
  @click.option(
67
67
  '--severity-threshold',
68
68
  default=None,
69
- help='Show violations only for the specified level or higher (supported for SCA scan types only).',
69
+ help='Show violations only for the specified level or higher.',
70
70
  type=click.Choice([e.name for e in Severity]),
71
71
  required=False,
72
72
  )
@@ -43,6 +43,7 @@ class Severity(Enum):
43
43
 
44
44
  @staticmethod
45
45
  def try_get_value(name: str) -> any:
46
+ name = name.upper()
46
47
  if name not in Severity.__members__:
47
48
  return None
48
49
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cycode"
3
- version = "2.0.1.dev1" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
3
+ version = "2.0.1.dev2" # 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__ = '2.0.1.dev1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
File without changes