scanoss 1.28.0__tar.gz → 1.28.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 (100) hide show
  1. {scanoss-1.28.0/src/scanoss.egg-info → scanoss-1.28.2}/PKG-INFO +1 -1
  2. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/__init__.py +1 -1
  3. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/cryptography.py +26 -12
  4. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/cyclonedx.py +2 -0
  5. scanoss-1.28.2/src/scanoss/data/build_date.txt +1 -0
  6. {scanoss-1.28.0 → scanoss-1.28.2/src/scanoss.egg-info}/PKG-INFO +1 -1
  7. scanoss-1.28.0/src/scanoss/data/build_date.txt +0 -1
  8. {scanoss-1.28.0 → scanoss-1.28.2}/LICENSE +0 -0
  9. {scanoss-1.28.0 → scanoss-1.28.2}/PACKAGE.md +0 -0
  10. {scanoss-1.28.0 → scanoss-1.28.2}/README.md +0 -0
  11. {scanoss-1.28.0 → scanoss-1.28.2}/pyproject.toml +0 -0
  12. {scanoss-1.28.0 → scanoss-1.28.2}/setup.cfg +0 -0
  13. {scanoss-1.28.0 → scanoss-1.28.2}/src/protoc_gen_swagger/__init__.py +0 -0
  14. {scanoss-1.28.0 → scanoss-1.28.2}/src/protoc_gen_swagger/options/__init__.py +0 -0
  15. {scanoss-1.28.0 → scanoss-1.28.2}/src/protoc_gen_swagger/options/annotations_pb2.py +0 -0
  16. {scanoss-1.28.0 → scanoss-1.28.2}/src/protoc_gen_swagger/options/annotations_pb2_grpc.py +0 -0
  17. {scanoss-1.28.0 → scanoss-1.28.2}/src/protoc_gen_swagger/options/openapiv2_pb2.py +0 -0
  18. {scanoss-1.28.0 → scanoss-1.28.2}/src/protoc_gen_swagger/options/openapiv2_pb2_grpc.py +0 -0
  19. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/__init__.py +0 -0
  20. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/common/__init__.py +0 -0
  21. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/common/v2/__init__.py +0 -0
  22. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/common/v2/scanoss_common_pb2.py +0 -0
  23. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/common/v2/scanoss_common_pb2_grpc.py +0 -0
  24. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/components/__init__.py +0 -0
  25. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/components/v2/__init__.py +0 -0
  26. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/components/v2/scanoss_components_pb2.py +0 -0
  27. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/components/v2/scanoss_components_pb2_grpc.py +0 -0
  28. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/cryptography/v2/scanoss_cryptography_pb2.py +0 -0
  29. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/cryptography/v2/scanoss_cryptography_pb2_grpc.py +0 -0
  30. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/dependencies/__init__.py +0 -0
  31. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/dependencies/v2/__init__.py +0 -0
  32. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/dependencies/v2/scanoss_dependencies_pb2.py +0 -0
  33. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/dependencies/v2/scanoss_dependencies_pb2_grpc.py +0 -0
  34. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/geoprovenance/__init__.py +0 -0
  35. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/geoprovenance/v2/__init__.py +0 -0
  36. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/geoprovenance/v2/scanoss_geoprovenance_pb2.py +0 -0
  37. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/geoprovenance/v2/scanoss_geoprovenance_pb2_grpc.py +0 -0
  38. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/scanning/__init__.py +0 -0
  39. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/scanning/v2/__init__.py +0 -0
  40. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/scanning/v2/scanoss_scanning_pb2.py +0 -0
  41. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/scanning/v2/scanoss_scanning_pb2_grpc.py +0 -0
  42. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/semgrep/__init__.py +0 -0
  43. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/semgrep/v2/__init__.py +0 -0
  44. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/semgrep/v2/scanoss_semgrep_pb2.py +0 -0
  45. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/semgrep/v2/scanoss_semgrep_pb2_grpc.py +0 -0
  46. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/vulnerabilities/__init__.py +0 -0
  47. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/vulnerabilities/v2/__init__.py +0 -0
  48. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/vulnerabilities/v2/scanoss_vulnerabilities_pb2.py +0 -0
  49. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/api/vulnerabilities/v2/scanoss_vulnerabilities_pb2_grpc.py +0 -0
  50. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/cli.py +0 -0
  51. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/components.py +0 -0
  52. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/constants.py +0 -0
  53. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/csvoutput.py +0 -0
  54. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/data/scanoss-settings-schema.json +0 -0
  55. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/data/spdx-exceptions.json +0 -0
  56. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/data/spdx-licenses.json +0 -0
  57. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/file_filters.py +0 -0
  58. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/filecount.py +0 -0
  59. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/__init__.py +0 -0
  60. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/component_summary.py +0 -0
  61. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/copyleft.py +0 -0
  62. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/inspect_base.py +0 -0
  63. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/license_summary.py +0 -0
  64. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/policy_check.py +0 -0
  65. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/undeclared_component.py +0 -0
  66. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/inspection/utils/license_utils.py +0 -0
  67. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/results.py +0 -0
  68. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scancodedeps.py +0 -0
  69. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanner.py +0 -0
  70. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanners/__init__.py +0 -0
  71. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanners/container_scanner.py +0 -0
  72. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanners/folder_hasher.py +0 -0
  73. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanners/scanner_config.py +0 -0
  74. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanners/scanner_hfh.py +0 -0
  75. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanoss_settings.py +0 -0
  76. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanossapi.py +0 -0
  77. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanossbase.py +0 -0
  78. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanossgrpc.py +0 -0
  79. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scanpostprocessor.py +0 -0
  80. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/scantype.py +0 -0
  81. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/spdxlite.py +0 -0
  82. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/threadeddependencies.py +0 -0
  83. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/threadedscanning.py +0 -0
  84. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/utils/__init__.py +0 -0
  85. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/utils/abstract_presenter.py +0 -0
  86. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/utils/crc64.py +0 -0
  87. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/utils/file.py +0 -0
  88. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/utils/simhash.py +0 -0
  89. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss/winnowing.py +0 -0
  90. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss.egg-info/SOURCES.txt +0 -0
  91. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss.egg-info/dependency_links.txt +0 -0
  92. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss.egg-info/entry_points.txt +0 -0
  93. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss.egg-info/requires.txt +0 -0
  94. {scanoss-1.28.0 → scanoss-1.28.2}/src/scanoss.egg-info/top_level.txt +0 -0
  95. {scanoss-1.28.0 → scanoss-1.28.2}/tests/test_csv_output.py +0 -0
  96. {scanoss-1.28.0 → scanoss-1.28.2}/tests/test_file_filters.py +0 -0
  97. {scanoss-1.28.0 → scanoss-1.28.2}/tests/test_policy_inspect.py +0 -0
  98. {scanoss-1.28.0 → scanoss-1.28.2}/tests/test_scan_post_processor.py +0 -0
  99. {scanoss-1.28.0 → scanoss-1.28.2}/tests/test_spdxlite.py +0 -0
  100. {scanoss-1.28.0 → scanoss-1.28.2}/tests/test_winnowing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scanoss
3
- Version: 1.28.0
3
+ Version: 1.28.2
4
4
  Summary: Simple Python library to leverage the SCANOSS APIs
5
5
  Home-page: https://scanoss.com
6
6
  Author: SCANOSS
@@ -22,4 +22,4 @@ SPDX-License-Identifier: MIT
22
22
  THE SOFTWARE.
23
23
  """
24
24
 
25
- __version__ = '1.28.0'
25
+ __version__ = '1.28.2'
@@ -53,16 +53,16 @@ class CryptographyConfig:
53
53
  raise ScanossCryptographyError('The supplied input file is not in the correct PurlRequest format.')
54
54
  purls = input_file_validation.data['purls']
55
55
  purls_with_requirement = []
56
- if self.with_range:
57
- if any('requirement' not in p for p in purls):
58
- raise ScanossCryptographyError(
59
- f'One or more PURLs in "{self.input_file}" are missing the "requirement" field.'
60
- )
56
+ if self.with_range and any('requirement' not in p for p in purls):
57
+ raise ScanossCryptographyError(
58
+ f'One or more PURLs in "{self.input_file}" are missing the "requirement" field.'
59
+ )
60
+
61
+ for purl in purls:
62
+ if 'requirement' in purl:
63
+ purls_with_requirement.append(f'{purl["purl"]}@{purl["requirement"]}')
61
64
  else:
62
- for purl in purls:
63
- purls_with_requirement.append(f'{purl["purl"]}@{purl["requirement"]}')
64
- else:
65
- purls_with_requirement = purls
65
+ purls_with_requirement.append(purl['purl'])
66
66
  self.purl = purls_with_requirement
67
67
 
68
68
 
@@ -198,13 +198,27 @@ class Cryptography:
198
198
  return {
199
199
  'purls': [
200
200
  {
201
- 'purl': p,
202
- 'requirement': self._extract_version_from_purl(p),
201
+ 'purl': self._remove_version_from_purl(purl),
202
+ 'requirement': self._extract_version_from_purl(purl),
203
203
  }
204
- for p in self.config.purl
204
+ for purl in self.config.purl
205
205
  ]
206
206
  }
207
207
 
208
+ def _remove_version_from_purl(self, purl: str) -> str:
209
+ """
210
+ Remove version from purl
211
+
212
+ Args:
213
+ purl (str): The purl string to remove the version from
214
+
215
+ Returns:
216
+ str: The purl string without the version
217
+ """
218
+ if '@' not in purl:
219
+ return purl
220
+ return purl.split('@')[0]
221
+
208
222
  def _extract_version_from_purl(self, purl: str) -> str:
209
223
  """
210
224
  Extract version from purl
@@ -219,6 +219,8 @@ class CycloneDx(ScanossBase):
219
219
  lic_set = set()
220
220
  for lic in licenses: # Get a unique set of licenses
221
221
  lc_id = lic.get('id')
222
+ if not lc_id:
223
+ continue
222
224
  spdx_id = self._spdx.get_spdx_license_id(lc_id)
223
225
  lic_set.add(spdx_id if spdx_id else lc_id)
224
226
  for lc_id in lic_set: # Store licenses for later inclusion
@@ -0,0 +1 @@
1
+ date: 20250714124110, utime: 1752496870
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scanoss
3
- Version: 1.28.0
3
+ Version: 1.28.2
4
4
  Summary: Simple Python library to leverage the SCANOSS APIs
5
5
  Home-page: https://scanoss.com
6
6
  Author: SCANOSS
@@ -1 +0,0 @@
1
- date: 20250710142446, utime: 1752157486
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes