hiddenlayer-sdk 0.1.2__tar.gz → 1.0.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/PKG-INFO +26 -7
  2. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/README.md +25 -6
  3. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/models.py +59 -0
  4. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/__init__.py +126 -0
  5. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/api/__init__.py +3 -0
  6. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/api/aidr_predictive_api.py +1 -1
  7. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/api/health_api.py +272 -0
  8. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/api/model_scan_api.py +1 -1
  9. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/api/model_supply_chain_api.py +2927 -0
  10. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/api/readiness_api.py +272 -0
  11. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/api/sensor_api.py +345 -16
  12. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/api_client.py +1 -1
  13. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/configuration.py +4 -4
  14. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/exceptions.py +1 -1
  15. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/__init__.py +104 -0
  16. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/address.py +110 -0
  17. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/artifact.py +155 -0
  18. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/artifact_change.py +108 -0
  19. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/artifact_content.py +101 -0
  20. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/artifact_location.py +109 -0
  21. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/attachment.py +129 -0
  22. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/code_flow.py +113 -0
  23. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/configuration_override.py +108 -0
  24. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/conversion.py +114 -0
  25. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/create_sensor_request.py +1 -1
  26. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/detections.py +101 -0
  27. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/edge.py +108 -0
  28. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/edge_traversal.py +122 -0
  29. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/exception.py +113 -0
  30. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/external_properties.py +273 -0
  31. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/external_property_file_reference.py +102 -0
  32. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/external_property_file_references.py +240 -0
  33. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/file_details_v3.py +140 -0
  34. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/file_results_inner.py +121 -0
  35. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/file_scan_report_v3.py +95 -0
  36. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/fix.py +113 -0
  37. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/get_multipart_upload_response.py +1 -1
  38. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/graph.py +123 -0
  39. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/graph_traversal.py +97 -0
  40. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/invocation.py +199 -0
  41. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/location.py +146 -0
  42. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/rest/models/validation_error_model_loc_inner.py → hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/location_inner.py +7 -7
  43. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/location_relationship.py +107 -0
  44. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/logical_location.py +104 -0
  45. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/message.py +92 -0
  46. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/mitre_atlas_inner.py +110 -0
  47. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/model.py +1 -1
  48. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/model_inventory_info.py +99 -0
  49. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/model_query_response.py +1 -1
  50. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/model_scan_api_v3_scan_model_version_id_patch200_response.py +87 -0
  51. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/model_scan_api_v3_scan_query200_response.py +102 -0
  52. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/multiformat_message_string.py +95 -0
  53. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/multipart_upload_part.py +1 -1
  54. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/node.py +122 -0
  55. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/notification.py +157 -0
  56. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/paged_response_with_total.py +94 -0
  57. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/physical_location.py +94 -0
  58. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/property_bag.py +101 -0
  59. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/rectangle.py +110 -0
  60. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/region.py +127 -0
  61. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/replacement.py +103 -0
  62. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/reporting_configuration.py +113 -0
  63. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/reporting_descriptor.py +162 -0
  64. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/reporting_descriptor_reference.py +103 -0
  65. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/reporting_descriptor_relationship.py +115 -0
  66. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/result.py +312 -0
  67. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/result_provenance.py +133 -0
  68. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/rule_details_inner.py +102 -0
  69. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/run.py +318 -0
  70. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/run_automation_details.py +129 -0
  71. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/sarif210.py +123 -0
  72. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_create_request.py +87 -0
  73. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_detection_v3.py +156 -0
  74. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_header_v3.py +129 -0
  75. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_job.py +109 -0
  76. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_job_inventory.py +137 -0
  77. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_model_details_v3.py +95 -0
  78. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_model_ids_v3.py +89 -0
  79. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/scan_model_request.py +1 -1
  80. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_report_v3.py +139 -0
  81. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/rest/models/file_info.py → hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/scan_results.py +14 -6
  82. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/scan_results_v2.py +30 -10
  83. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/security_posture.py +89 -0
  84. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/sensor_sor_model_card_query_response.py +101 -0
  85. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/sensor_sor_model_card_response.py +127 -0
  86. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/sensor_sor_query_filter.py +1 -1
  87. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/sensor_sor_query_request.py +1 -1
  88. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/special_locations.py +97 -0
  89. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/stack.py +113 -0
  90. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/stack_frame.py +104 -0
  91. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/submission_response.py +1 -1
  92. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/submission_v2.py +1 -1
  93. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/suppression.py +133 -0
  94. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/thread_flow.py +144 -0
  95. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/thread_flow_location.py +166 -0
  96. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/tool.py +107 -0
  97. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/tool_component.py +251 -0
  98. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/tool_component_reference.py +108 -0
  99. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/translation_metadata.py +110 -0
  100. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/models/validation_error_model.py +4 -4
  101. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/version_control_details.py +108 -0
  102. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/web_request.py +112 -0
  103. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/rest/models/web_response.py +112 -0
  104. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/rest.py +1 -1
  105. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/services/model.py +5 -2
  106. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/services/model_scan.py +153 -105
  107. hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/version.py +1 -0
  108. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer_sdk.egg-info/PKG-INFO +26 -7
  109. hiddenlayer_sdk-1.0.0/hiddenlayer_sdk.egg-info/SOURCES.txt +123 -0
  110. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/enterprise/enterprise_model_scan_api.py +0 -55
  111. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/models.py +0 -22
  112. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/rest/__init__.py +0 -49
  113. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/rest/models/__init__.py +0 -30
  114. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/services/__init__.py +0 -0
  115. hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/version.py +0 -1
  116. hiddenlayer_sdk-0.1.2/hiddenlayer_sdk.egg-info/SOURCES.txt +0 -48
  117. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/LICENSE +0 -0
  118. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/__init__.py +0 -0
  119. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/__init__.py +0 -0
  120. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/constants.py +0 -0
  121. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/exceptions.py +0 -0
  122. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/rest/api_response.py +0 -0
  123. {hiddenlayer_sdk-0.1.2/hiddenlayer/sdk/enterprise → hiddenlayer_sdk-1.0.0/hiddenlayer/sdk/services}/__init__.py +0 -0
  124. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/services/aidr_predictive.py +0 -0
  125. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer/sdk/utils.py +0 -0
  126. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer_sdk.egg-info/dependency_links.txt +0 -0
  127. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer_sdk.egg-info/requires.txt +0 -0
  128. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/hiddenlayer_sdk.egg-info/top_level.txt +0 -0
  129. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/pyproject.toml +0 -0
  130. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/setup.cfg +0 -0
  131. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/tests/test_hiddenlayer.py +0 -0
  132. {hiddenlayer_sdk-0.1.2 → hiddenlayer_sdk-1.0.0}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hiddenlayer-sdk
3
- Version: 0.1.2
3
+ Version: 1.0.0
4
4
  Summary: Official HiddenLayer Python SDK
5
5
  Author-email: HiddenLayer Integrations Team <integrations@hiddenlayer.com>
6
6
  Maintainer-email: HiddenLayer Integrations Team <integrations@hiddenlayer.com>
@@ -277,25 +277,44 @@ hl_client = HiddenlayerServiceClient(
277
277
  )
278
278
  ```
279
279
 
280
- If you are using the Enterprise version of the production, you can instantiate the `HiddenlayerServiceClient` as follows:
280
+ ### Scanning Models
281
281
 
282
282
  ```python
283
- from hiddenlayer import HiddenlayerServiceClient
284
-
285
- hl_client = HiddenlayerServiceClient(
286
- host="https://your.hiddenlayer.enterprise.url",
283
+ hl_client.model_scanner.scan_file(
284
+ model_name="name_of_the_model",
285
+ model_path="path/to/model/file.pkl"
287
286
  )
288
287
  ```
289
288
 
290
- ### Scanning Models
289
+ If you would like to specify the version associated with the model, you can pass that in as well. Note that the model version must not already exist.
291
290
 
292
291
  ```python
293
292
  hl_client.model_scanner.scan_file(
294
293
  model_name="name_of_the_model",
294
+ model_version=1,
295
295
  model_path="path/to/model/file.pkl"
296
296
  )
297
297
  ```
298
298
 
299
+ ### Scanning Folders
300
+
301
+ ```python
302
+ hl_client.model_scanner.scan_folder(
303
+ model_name="name_of_the_model",
304
+ path="path/to/model/"
305
+ )
306
+ ```
307
+
308
+ If you would like to specify the version associated with the model, you can pass that in as well. Note that the model version must not already exist.
309
+
310
+ ```python
311
+ hl_client.model_scanner.scan_folder(
312
+ model_name="name_of_the_model",
313
+ model_version=1,
314
+ path="path/to/model/"
315
+ )
316
+ ```
317
+
299
318
  ### Using AIDR for Predictive Models
300
319
 
301
320
  > Note: This is only supported using the SaaS version of the platform.
@@ -38,25 +38,44 @@ hl_client = HiddenlayerServiceClient(
38
38
  )
39
39
  ```
40
40
 
41
- If you are using the Enterprise version of the production, you can instantiate the `HiddenlayerServiceClient` as follows:
41
+ ### Scanning Models
42
42
 
43
43
  ```python
44
- from hiddenlayer import HiddenlayerServiceClient
45
-
46
- hl_client = HiddenlayerServiceClient(
47
- host="https://your.hiddenlayer.enterprise.url",
44
+ hl_client.model_scanner.scan_file(
45
+ model_name="name_of_the_model",
46
+ model_path="path/to/model/file.pkl"
48
47
  )
49
48
  ```
50
49
 
51
- ### Scanning Models
50
+ If you would like to specify the version associated with the model, you can pass that in as well. Note that the model version must not already exist.
52
51
 
53
52
  ```python
54
53
  hl_client.model_scanner.scan_file(
55
54
  model_name="name_of_the_model",
55
+ model_version=1,
56
56
  model_path="path/to/model/file.pkl"
57
57
  )
58
58
  ```
59
59
 
60
+ ### Scanning Folders
61
+
62
+ ```python
63
+ hl_client.model_scanner.scan_folder(
64
+ model_name="name_of_the_model",
65
+ path="path/to/model/"
66
+ )
67
+ ```
68
+
69
+ If you would like to specify the version associated with the model, you can pass that in as well. Note that the model version must not already exist.
70
+
71
+ ```python
72
+ hl_client.model_scanner.scan_folder(
73
+ model_name="name_of_the_model",
74
+ model_version=1,
75
+ path="path/to/model/"
76
+ )
77
+ ```
78
+
60
79
  ### Using AIDR for Predictive Models
61
80
 
62
81
  > Note: This is only supported using the SaaS version of the platform.
@@ -0,0 +1,59 @@
1
+ from datetime import datetime
2
+ from typing import List, Optional
3
+
4
+ from pydantic import StrictStr
5
+ from typing_extensions import Self
6
+
7
+ from hiddenlayer.sdk.constants import ScanStatus
8
+ from hiddenlayer.sdk.rest.models import (
9
+ ModelInventoryInfo,
10
+ ScanReportV3,
11
+ )
12
+ from hiddenlayer.sdk.rest.models.file_results_inner import FileResultsInner
13
+ from hiddenlayer.sdk.rest.models.sarif210 import Sarif210
14
+
15
+
16
+ class ScanResults(ScanReportV3):
17
+ """This class exists because the ScanResults API doesn't return anything about the file name or path that was scanned."""
18
+
19
+ file_name: Optional[str] = None
20
+ file_path: Optional[str] = None
21
+ model_id: Optional[str] = None
22
+
23
+ @classmethod
24
+ def from_scanreportv3(
25
+ cls, *, scan_report_v3: ScanReportV3, model_id: Optional[str] = None
26
+ ) -> Self:
27
+ scan_results_dict = scan_report_v3.to_dict()
28
+ scan_results_dict["model_id"] = model_id
29
+
30
+ return cls(**scan_results_dict)
31
+
32
+
33
+ class EmptyScanResults(ScanResults):
34
+ status: str = ScanStatus.PENDING
35
+ file_count: int = 0
36
+ files_with_detections_count: int = 0
37
+ detection_count: int = 0
38
+ detection_categories: Optional[List[StrictStr]] = []
39
+ inventory: ModelInventoryInfo = ModelInventoryInfo(
40
+ model_name="",
41
+ model_version="",
42
+ model_source="",
43
+ requested_scan_location="",
44
+ requesting_entity="",
45
+ model_id="",
46
+ model_version_id="",
47
+ )
48
+ version: str = ""
49
+ scan_id: str = ""
50
+ start_time: datetime = datetime.now()
51
+ end_time: Optional[datetime] = datetime.now()
52
+ severity: Optional[StrictStr] = ""
53
+ file_results: Optional[List[FileResultsInner]] = []
54
+
55
+
56
+ class Sarif(Sarif210):
57
+ """This class exists because the generated code for Sarif210 treats version as a Dictionary which it is not."""
58
+
59
+ version: str # type: ignore
@@ -0,0 +1,126 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ """
6
+ HiddenLayer ModelScan V2
7
+
8
+ HiddenLayer ModelScan API for scanning of models
9
+
10
+ The version of the OpenAPI document: 1
11
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
+
13
+ Do not edit the class manually.
14
+ """ # noqa: E501
15
+
16
+
17
+ __version__ = "1.0.0"
18
+
19
+ # import apis into sdk package
20
+ from hiddenlayer.sdk.rest.api.health_api import HealthApi
21
+ from hiddenlayer.sdk.rest.api.model_supply_chain_api import ModelSupplyChainApi
22
+ from hiddenlayer.sdk.rest.api.readiness_api import ReadinessApi
23
+ from hiddenlayer.sdk.rest.api.aidr_predictive_api import AidrPredictiveApi
24
+ from hiddenlayer.sdk.rest.api.model_scan_api import ModelScanApi
25
+ from hiddenlayer.sdk.rest.api.sensor_api import SensorApi
26
+
27
+ # import ApiClient
28
+ from hiddenlayer.sdk.rest.api_response import ApiResponse
29
+ from hiddenlayer.sdk.rest.api_client import ApiClient
30
+ from hiddenlayer.sdk.rest.configuration import Configuration
31
+ from hiddenlayer.sdk.rest.exceptions import OpenApiException
32
+ from hiddenlayer.sdk.rest.exceptions import ApiTypeError
33
+ from hiddenlayer.sdk.rest.exceptions import ApiValueError
34
+ from hiddenlayer.sdk.rest.exceptions import ApiKeyError
35
+ from hiddenlayer.sdk.rest.exceptions import ApiAttributeError
36
+ from hiddenlayer.sdk.rest.exceptions import ApiException
37
+
38
+ # import models into sdk package
39
+ from hiddenlayer.sdk.rest.models.address import Address
40
+ from hiddenlayer.sdk.rest.models.artifact import Artifact
41
+ from hiddenlayer.sdk.rest.models.artifact_change import ArtifactChange
42
+ from hiddenlayer.sdk.rest.models.artifact_content import ArtifactContent
43
+ from hiddenlayer.sdk.rest.models.artifact_location import ArtifactLocation
44
+ from hiddenlayer.sdk.rest.models.attachment import Attachment
45
+ from hiddenlayer.sdk.rest.models.code_flow import CodeFlow
46
+ from hiddenlayer.sdk.rest.models.configuration_override import ConfigurationOverride
47
+ from hiddenlayer.sdk.rest.models.conversion import Conversion
48
+ from hiddenlayer.sdk.rest.models.create_sensor_request import CreateSensorRequest
49
+ from hiddenlayer.sdk.rest.models.detections import Detections
50
+ from hiddenlayer.sdk.rest.models.edge import Edge
51
+ from hiddenlayer.sdk.rest.models.edge_traversal import EdgeTraversal
52
+ from hiddenlayer.sdk.rest.models.exception import Exception
53
+ from hiddenlayer.sdk.rest.models.external_properties import ExternalProperties
54
+ from hiddenlayer.sdk.rest.models.external_property_file_reference import ExternalPropertyFileReference
55
+ from hiddenlayer.sdk.rest.models.external_property_file_references import ExternalPropertyFileReferences
56
+ from hiddenlayer.sdk.rest.models.file_details_v3 import FileDetailsV3
57
+ from hiddenlayer.sdk.rest.models.file_results_inner import FileResultsInner
58
+ from hiddenlayer.sdk.rest.models.file_scan_report_v3 import FileScanReportV3
59
+ from hiddenlayer.sdk.rest.models.fix import Fix
60
+ from hiddenlayer.sdk.rest.models.get_multipart_upload_response import GetMultipartUploadResponse
61
+ from hiddenlayer.sdk.rest.models.graph import Graph
62
+ from hiddenlayer.sdk.rest.models.graph_traversal import GraphTraversal
63
+ from hiddenlayer.sdk.rest.models.invocation import Invocation
64
+ from hiddenlayer.sdk.rest.models.location import Location
65
+ from hiddenlayer.sdk.rest.models.location_inner import LocationInner
66
+ from hiddenlayer.sdk.rest.models.location_relationship import LocationRelationship
67
+ from hiddenlayer.sdk.rest.models.logical_location import LogicalLocation
68
+ from hiddenlayer.sdk.rest.models.mitre_atlas_inner import MITREAtlasInner
69
+ from hiddenlayer.sdk.rest.models.message import Message
70
+ from hiddenlayer.sdk.rest.models.model import Model
71
+ from hiddenlayer.sdk.rest.models.model_inventory_info import ModelInventoryInfo
72
+ from hiddenlayer.sdk.rest.models.model_query_response import ModelQueryResponse
73
+ from hiddenlayer.sdk.rest.models.model_scan_api_v3_scan_model_version_id_patch200_response import ModelScanApiV3ScanModelVersionIdPatch200Response
74
+ from hiddenlayer.sdk.rest.models.model_scan_api_v3_scan_query200_response import ModelScanApiV3ScanQuery200Response
75
+ from hiddenlayer.sdk.rest.models.multiformat_message_string import MultiformatMessageString
76
+ from hiddenlayer.sdk.rest.models.multipart_upload_part import MultipartUploadPart
77
+ from hiddenlayer.sdk.rest.models.node import Node
78
+ from hiddenlayer.sdk.rest.models.notification import Notification
79
+ from hiddenlayer.sdk.rest.models.paged_response_with_total import PagedResponseWithTotal
80
+ from hiddenlayer.sdk.rest.models.physical_location import PhysicalLocation
81
+ from hiddenlayer.sdk.rest.models.property_bag import PropertyBag
82
+ from hiddenlayer.sdk.rest.models.rectangle import Rectangle
83
+ from hiddenlayer.sdk.rest.models.region import Region
84
+ from hiddenlayer.sdk.rest.models.replacement import Replacement
85
+ from hiddenlayer.sdk.rest.models.reporting_configuration import ReportingConfiguration
86
+ from hiddenlayer.sdk.rest.models.reporting_descriptor import ReportingDescriptor
87
+ from hiddenlayer.sdk.rest.models.reporting_descriptor_reference import ReportingDescriptorReference
88
+ from hiddenlayer.sdk.rest.models.reporting_descriptor_relationship import ReportingDescriptorRelationship
89
+ from hiddenlayer.sdk.rest.models.result import Result
90
+ from hiddenlayer.sdk.rest.models.result_provenance import ResultProvenance
91
+ from hiddenlayer.sdk.rest.models.rule_details_inner import RuleDetailsInner
92
+ from hiddenlayer.sdk.rest.models.run import Run
93
+ from hiddenlayer.sdk.rest.models.run_automation_details import RunAutomationDetails
94
+ from hiddenlayer.sdk.rest.models.sarif210 import Sarif210
95
+ from hiddenlayer.sdk.rest.models.scan_create_request import ScanCreateRequest
96
+ from hiddenlayer.sdk.rest.models.scan_detection_v3 import ScanDetectionV3
97
+ from hiddenlayer.sdk.rest.models.scan_header_v3 import ScanHeaderV3
98
+ from hiddenlayer.sdk.rest.models.scan_job import ScanJob
99
+ from hiddenlayer.sdk.rest.models.scan_job_inventory import ScanJobInventory
100
+ from hiddenlayer.sdk.rest.models.scan_model_details_v3 import ScanModelDetailsV3
101
+ from hiddenlayer.sdk.rest.models.scan_model_ids_v3 import ScanModelIdsV3
102
+ from hiddenlayer.sdk.rest.models.scan_model_request import ScanModelRequest
103
+ from hiddenlayer.sdk.rest.models.scan_report_v3 import ScanReportV3
104
+ from hiddenlayer.sdk.rest.models.scan_results import ScanResults
105
+ from hiddenlayer.sdk.rest.models.scan_results_v2 import ScanResultsV2
106
+ from hiddenlayer.sdk.rest.models.security_posture import SecurityPosture
107
+ from hiddenlayer.sdk.rest.models.sensor_sor_model_card_query_response import SensorSORModelCardQueryResponse
108
+ from hiddenlayer.sdk.rest.models.sensor_sor_model_card_response import SensorSORModelCardResponse
109
+ from hiddenlayer.sdk.rest.models.sensor_sor_query_filter import SensorSORQueryFilter
110
+ from hiddenlayer.sdk.rest.models.sensor_sor_query_request import SensorSORQueryRequest
111
+ from hiddenlayer.sdk.rest.models.special_locations import SpecialLocations
112
+ from hiddenlayer.sdk.rest.models.stack import Stack
113
+ from hiddenlayer.sdk.rest.models.stack_frame import StackFrame
114
+ from hiddenlayer.sdk.rest.models.submission_response import SubmissionResponse
115
+ from hiddenlayer.sdk.rest.models.submission_v2 import SubmissionV2
116
+ from hiddenlayer.sdk.rest.models.suppression import Suppression
117
+ from hiddenlayer.sdk.rest.models.thread_flow import ThreadFlow
118
+ from hiddenlayer.sdk.rest.models.thread_flow_location import ThreadFlowLocation
119
+ from hiddenlayer.sdk.rest.models.tool import Tool
120
+ from hiddenlayer.sdk.rest.models.tool_component import ToolComponent
121
+ from hiddenlayer.sdk.rest.models.tool_component_reference import ToolComponentReference
122
+ from hiddenlayer.sdk.rest.models.translation_metadata import TranslationMetadata
123
+ from hiddenlayer.sdk.rest.models.validation_error_model import ValidationErrorModel
124
+ from hiddenlayer.sdk.rest.models.version_control_details import VersionControlDetails
125
+ from hiddenlayer.sdk.rest.models.web_request import WebRequest
126
+ from hiddenlayer.sdk.rest.models.web_response import WebResponse
@@ -1,6 +1,9 @@
1
1
  # flake8: noqa
2
2
 
3
3
  # import apis into api package
4
+ from hiddenlayer.sdk.rest.api.health_api import HealthApi
5
+ from hiddenlayer.sdk.rest.api.model_supply_chain_api import ModelSupplyChainApi
6
+ from hiddenlayer.sdk.rest.api.readiness_api import ReadinessApi
4
7
  from hiddenlayer.sdk.rest.api.aidr_predictive_api import AidrPredictiveApi
5
8
  from hiddenlayer.sdk.rest.api.model_scan_api import ModelScanApi
6
9
  from hiddenlayer.sdk.rest.api.sensor_api import SensorApi
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- HiddenLayer ModelScan
4
+ HiddenLayer ModelScan V2
5
5
 
6
6
  HiddenLayer ModelScan API for scanning of models
7
7
 
@@ -0,0 +1,272 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ HiddenLayer ModelScan V2
5
+
6
+ HiddenLayer ModelScan API for scanning of models
7
+
8
+ The version of the OpenAPI document: 1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+
20
+ from hiddenlayer.sdk.rest.api_client import ApiClient, RequestSerialized
21
+ from hiddenlayer.sdk.rest.api_response import ApiResponse
22
+ from hiddenlayer.sdk.rest.rest import RESTResponseType
23
+
24
+
25
+ class HealthApi:
26
+ """NOTE: This class is auto generated by OpenAPI Generator
27
+ Ref: https://openapi-generator.tech
28
+
29
+ Do not edit the class manually.
30
+ """
31
+
32
+ def __init__(self, api_client=None) -> None:
33
+ if api_client is None:
34
+ api_client = ApiClient.get_default()
35
+ self.api_client = api_client
36
+
37
+
38
+ @validate_call
39
+ def modelscanner_api_v3_health_check(
40
+ self,
41
+ _request_timeout: Union[
42
+ None,
43
+ Annotated[StrictFloat, Field(gt=0)],
44
+ Tuple[
45
+ Annotated[StrictFloat, Field(gt=0)],
46
+ Annotated[StrictFloat, Field(gt=0)]
47
+ ]
48
+ ] = None,
49
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
50
+ _content_type: Optional[StrictStr] = None,
51
+ _headers: Optional[Dict[StrictStr, Any]] = None,
52
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
53
+ ) -> None:
54
+ """Health check endpoint for Model Supply Chain Services
55
+
56
+
57
+ :param _request_timeout: timeout setting for this request. If one
58
+ number provided, it will be total request
59
+ timeout. It can also be a pair (tuple) of
60
+ (connection, read) timeouts.
61
+ :type _request_timeout: int, tuple(int, int), optional
62
+ :param _request_auth: set to override the auth_settings for an a single
63
+ request; this effectively ignores the
64
+ authentication in the spec for a single request.
65
+ :type _request_auth: dict, optional
66
+ :param _content_type: force content-type for the request.
67
+ :type _content_type: str, Optional
68
+ :param _headers: set to override the headers for a single
69
+ request; this effectively ignores the headers
70
+ in the spec for a single request.
71
+ :type _headers: dict, optional
72
+ :param _host_index: set to override the host_index for a single
73
+ request; this effectively ignores the host_index
74
+ in the spec for a single request.
75
+ :type _host_index: int, optional
76
+ :return: Returns the result object.
77
+ """ # noqa: E501
78
+
79
+ _param = self._modelscanner_api_v3_health_check_serialize(
80
+ _request_auth=_request_auth,
81
+ _content_type=_content_type,
82
+ _headers=_headers,
83
+ _host_index=_host_index
84
+ )
85
+
86
+ _response_types_map: Dict[str, Optional[str]] = {
87
+ '200': None,
88
+ '503': None,
89
+ }
90
+ response_data = self.api_client.call_api(
91
+ *_param,
92
+ _request_timeout=_request_timeout
93
+ )
94
+ response_data.read()
95
+ return self.api_client.response_deserialize(
96
+ response_data=response_data,
97
+ response_types_map=_response_types_map,
98
+ ).data
99
+
100
+
101
+ @validate_call
102
+ def modelscanner_api_v3_health_check_with_http_info(
103
+ self,
104
+ _request_timeout: Union[
105
+ None,
106
+ Annotated[StrictFloat, Field(gt=0)],
107
+ Tuple[
108
+ Annotated[StrictFloat, Field(gt=0)],
109
+ Annotated[StrictFloat, Field(gt=0)]
110
+ ]
111
+ ] = None,
112
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
113
+ _content_type: Optional[StrictStr] = None,
114
+ _headers: Optional[Dict[StrictStr, Any]] = None,
115
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
116
+ ) -> ApiResponse[None]:
117
+ """Health check endpoint for Model Supply Chain Services
118
+
119
+
120
+ :param _request_timeout: timeout setting for this request. If one
121
+ number provided, it will be total request
122
+ timeout. It can also be a pair (tuple) of
123
+ (connection, read) timeouts.
124
+ :type _request_timeout: int, tuple(int, int), optional
125
+ :param _request_auth: set to override the auth_settings for an a single
126
+ request; this effectively ignores the
127
+ authentication in the spec for a single request.
128
+ :type _request_auth: dict, optional
129
+ :param _content_type: force content-type for the request.
130
+ :type _content_type: str, Optional
131
+ :param _headers: set to override the headers for a single
132
+ request; this effectively ignores the headers
133
+ in the spec for a single request.
134
+ :type _headers: dict, optional
135
+ :param _host_index: set to override the host_index for a single
136
+ request; this effectively ignores the host_index
137
+ in the spec for a single request.
138
+ :type _host_index: int, optional
139
+ :return: Returns the result object.
140
+ """ # noqa: E501
141
+
142
+ _param = self._modelscanner_api_v3_health_check_serialize(
143
+ _request_auth=_request_auth,
144
+ _content_type=_content_type,
145
+ _headers=_headers,
146
+ _host_index=_host_index
147
+ )
148
+
149
+ _response_types_map: Dict[str, Optional[str]] = {
150
+ '200': None,
151
+ '503': None,
152
+ }
153
+ response_data = self.api_client.call_api(
154
+ *_param,
155
+ _request_timeout=_request_timeout
156
+ )
157
+ response_data.read()
158
+ return self.api_client.response_deserialize(
159
+ response_data=response_data,
160
+ response_types_map=_response_types_map,
161
+ )
162
+
163
+
164
+ @validate_call
165
+ def modelscanner_api_v3_health_check_without_preload_content(
166
+ self,
167
+ _request_timeout: Union[
168
+ None,
169
+ Annotated[StrictFloat, Field(gt=0)],
170
+ Tuple[
171
+ Annotated[StrictFloat, Field(gt=0)],
172
+ Annotated[StrictFloat, Field(gt=0)]
173
+ ]
174
+ ] = None,
175
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
176
+ _content_type: Optional[StrictStr] = None,
177
+ _headers: Optional[Dict[StrictStr, Any]] = None,
178
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
179
+ ) -> RESTResponseType:
180
+ """Health check endpoint for Model Supply Chain Services
181
+
182
+
183
+ :param _request_timeout: timeout setting for this request. If one
184
+ number provided, it will be total request
185
+ timeout. It can also be a pair (tuple) of
186
+ (connection, read) timeouts.
187
+ :type _request_timeout: int, tuple(int, int), optional
188
+ :param _request_auth: set to override the auth_settings for an a single
189
+ request; this effectively ignores the
190
+ authentication in the spec for a single request.
191
+ :type _request_auth: dict, optional
192
+ :param _content_type: force content-type for the request.
193
+ :type _content_type: str, Optional
194
+ :param _headers: set to override the headers for a single
195
+ request; this effectively ignores the headers
196
+ in the spec for a single request.
197
+ :type _headers: dict, optional
198
+ :param _host_index: set to override the host_index for a single
199
+ request; this effectively ignores the host_index
200
+ in the spec for a single request.
201
+ :type _host_index: int, optional
202
+ :return: Returns the result object.
203
+ """ # noqa: E501
204
+
205
+ _param = self._modelscanner_api_v3_health_check_serialize(
206
+ _request_auth=_request_auth,
207
+ _content_type=_content_type,
208
+ _headers=_headers,
209
+ _host_index=_host_index
210
+ )
211
+
212
+ _response_types_map: Dict[str, Optional[str]] = {
213
+ '200': None,
214
+ '503': None,
215
+ }
216
+ response_data = self.api_client.call_api(
217
+ *_param,
218
+ _request_timeout=_request_timeout
219
+ )
220
+ return response_data.response
221
+
222
+
223
+ def _modelscanner_api_v3_health_check_serialize(
224
+ self,
225
+ _request_auth,
226
+ _content_type,
227
+ _headers,
228
+ _host_index,
229
+ ) -> RequestSerialized:
230
+
231
+ _host = None
232
+
233
+ _collection_formats: Dict[str, str] = {
234
+ }
235
+
236
+ _path_params: Dict[str, str] = {}
237
+ _query_params: List[Tuple[str, str]] = []
238
+ _header_params: Dict[str, Optional[str]] = _headers or {}
239
+ _form_params: List[Tuple[str, str]] = []
240
+ _files: Dict[str, Union[str, bytes]] = {}
241
+ _body_params: Optional[bytes] = None
242
+
243
+ # process the path parameters
244
+ # process the query parameters
245
+ # process the header parameters
246
+ # process the form parameters
247
+ # process the body parameter
248
+
249
+
250
+
251
+
252
+ # authentication setting
253
+ _auth_settings: List[str] = [
254
+ 'BearerAuth'
255
+ ]
256
+
257
+ return self.api_client.param_serialize(
258
+ method='GET',
259
+ resource_path='/scans/v3/health',
260
+ path_params=_path_params,
261
+ query_params=_query_params,
262
+ header_params=_header_params,
263
+ body=_body_params,
264
+ post_params=_form_params,
265
+ files=_files,
266
+ auth_settings=_auth_settings,
267
+ collection_formats=_collection_formats,
268
+ _host=_host,
269
+ _request_auth=_request_auth
270
+ )
271
+
272
+
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
 
3
3
  """
4
- HiddenLayer ModelScan
4
+ HiddenLayer ModelScan V2
5
5
 
6
6
  HiddenLayer ModelScan API for scanning of models
7
7