hiddenlayer-sdk 2.0.9__py3-none-any.whl → 3.0.0__py3-none-any.whl

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 (204) hide show
  1. hiddenlayer/__init__.py +109 -105
  2. hiddenlayer/_base_client.py +1995 -0
  3. hiddenlayer/_client.py +761 -0
  4. hiddenlayer/_compat.py +219 -0
  5. hiddenlayer/_constants.py +14 -0
  6. hiddenlayer/_exceptions.py +108 -0
  7. hiddenlayer/_files.py +123 -0
  8. hiddenlayer/_models.py +835 -0
  9. hiddenlayer/_oauth2.py +118 -0
  10. hiddenlayer/_qs.py +150 -0
  11. hiddenlayer/_resource.py +43 -0
  12. hiddenlayer/_response.py +832 -0
  13. hiddenlayer/_streaming.py +333 -0
  14. hiddenlayer/_types.py +260 -0
  15. hiddenlayer/_utils/__init__.py +64 -0
  16. hiddenlayer/_utils/_compat.py +45 -0
  17. hiddenlayer/_utils/_datetime_parse.py +136 -0
  18. hiddenlayer/_utils/_logs.py +25 -0
  19. hiddenlayer/_utils/_proxy.py +65 -0
  20. hiddenlayer/_utils/_reflection.py +42 -0
  21. hiddenlayer/_utils/_resources_proxy.py +24 -0
  22. hiddenlayer/_utils/_streams.py +12 -0
  23. hiddenlayer/_utils/_sync.py +86 -0
  24. hiddenlayer/_utils/_transform.py +457 -0
  25. hiddenlayer/_utils/_typing.py +156 -0
  26. hiddenlayer/_utils/_utils.py +421 -0
  27. hiddenlayer/_version.py +4 -0
  28. hiddenlayer/lib/.keep +4 -0
  29. hiddenlayer/lib/__init__.py +6 -0
  30. hiddenlayer/lib/community_scan.py +174 -0
  31. hiddenlayer/lib/model_scan.py +752 -0
  32. hiddenlayer/lib/scan_utils.py +142 -0
  33. hiddenlayer/pagination.py +127 -0
  34. hiddenlayer/resources/__init__.py +75 -0
  35. hiddenlayer/resources/interactions.py +205 -0
  36. hiddenlayer/resources/models/__init__.py +33 -0
  37. hiddenlayer/resources/models/cards.py +259 -0
  38. hiddenlayer/resources/models/models.py +284 -0
  39. hiddenlayer/resources/prompt_analyzer.py +207 -0
  40. hiddenlayer/resources/scans/__init__.py +61 -0
  41. hiddenlayer/resources/scans/jobs.py +499 -0
  42. hiddenlayer/resources/scans/results.py +169 -0
  43. hiddenlayer/resources/scans/scans.py +166 -0
  44. hiddenlayer/resources/scans/upload/__init__.py +33 -0
  45. hiddenlayer/resources/scans/upload/file.py +279 -0
  46. hiddenlayer/resources/scans/upload/upload.py +340 -0
  47. hiddenlayer/resources/sensors.py +575 -0
  48. hiddenlayer/types/__init__.py +16 -0
  49. hiddenlayer/types/interaction_analyze_params.py +62 -0
  50. hiddenlayer/types/interaction_analyze_response.py +199 -0
  51. hiddenlayer/types/model_retrieve_response.py +50 -0
  52. hiddenlayer/types/models/__init__.py +6 -0
  53. hiddenlayer/types/models/card_list_params.py +65 -0
  54. hiddenlayer/types/models/card_list_response.py +50 -0
  55. hiddenlayer/types/prompt_analyzer_create_params.py +23 -0
  56. hiddenlayer/types/prompt_analyzer_create_response.py +381 -0
  57. hiddenlayer/types/scans/__init__.py +14 -0
  58. hiddenlayer/types/scans/job_list_params.py +75 -0
  59. hiddenlayer/types/scans/job_list_response.py +22 -0
  60. hiddenlayer/types/scans/job_request_params.py +49 -0
  61. hiddenlayer/types/scans/job_retrieve_params.py +16 -0
  62. hiddenlayer/types/scans/result_sarif_response.py +7 -0
  63. hiddenlayer/types/scans/scan_job.py +46 -0
  64. hiddenlayer/types/scans/scan_report.py +367 -0
  65. hiddenlayer/types/scans/upload/__init__.py +6 -0
  66. hiddenlayer/types/scans/upload/file_add_response.py +24 -0
  67. hiddenlayer/types/scans/upload/file_complete_response.py +12 -0
  68. hiddenlayer/types/scans/upload_complete_all_response.py +12 -0
  69. hiddenlayer/types/scans/upload_start_params.py +34 -0
  70. hiddenlayer/types/scans/upload_start_response.py +12 -0
  71. hiddenlayer/types/sensor_create_params.py +24 -0
  72. hiddenlayer/types/sensor_create_response.py +33 -0
  73. hiddenlayer/types/sensor_query_params.py +39 -0
  74. hiddenlayer/types/sensor_query_response.py +43 -0
  75. hiddenlayer/types/sensor_retrieve_response.py +33 -0
  76. hiddenlayer/types/sensor_update_params.py +20 -0
  77. hiddenlayer/types/sensor_update_response.py +9 -0
  78. hiddenlayer_sdk-3.0.0.dist-info/METADATA +431 -0
  79. hiddenlayer_sdk-3.0.0.dist-info/RECORD +82 -0
  80. {hiddenlayer_sdk-2.0.9.dist-info → hiddenlayer_sdk-3.0.0.dist-info}/WHEEL +1 -2
  81. {hiddenlayer_sdk-2.0.9.dist-info → hiddenlayer_sdk-3.0.0.dist-info}/licenses/LICENSE +1 -1
  82. hiddenlayer/sdk/constants.py +0 -26
  83. hiddenlayer/sdk/exceptions.py +0 -12
  84. hiddenlayer/sdk/models.py +0 -58
  85. hiddenlayer/sdk/rest/__init__.py +0 -135
  86. hiddenlayer/sdk/rest/api/__init__.py +0 -10
  87. hiddenlayer/sdk/rest/api/aidr_predictive_api.py +0 -308
  88. hiddenlayer/sdk/rest/api/health_api.py +0 -272
  89. hiddenlayer/sdk/rest/api/model_api.py +0 -559
  90. hiddenlayer/sdk/rest/api/model_supply_chain_api.py +0 -4063
  91. hiddenlayer/sdk/rest/api/readiness_api.py +0 -272
  92. hiddenlayer/sdk/rest/api/sensor_api.py +0 -1432
  93. hiddenlayer/sdk/rest/api_client.py +0 -770
  94. hiddenlayer/sdk/rest/api_response.py +0 -21
  95. hiddenlayer/sdk/rest/configuration.py +0 -445
  96. hiddenlayer/sdk/rest/exceptions.py +0 -199
  97. hiddenlayer/sdk/rest/models/__init__.py +0 -113
  98. hiddenlayer/sdk/rest/models/address.py +0 -110
  99. hiddenlayer/sdk/rest/models/artifact.py +0 -155
  100. hiddenlayer/sdk/rest/models/artifact_change.py +0 -108
  101. hiddenlayer/sdk/rest/models/artifact_content.py +0 -101
  102. hiddenlayer/sdk/rest/models/artifact_location.py +0 -109
  103. hiddenlayer/sdk/rest/models/attachment.py +0 -129
  104. hiddenlayer/sdk/rest/models/begin_multi_file_upload200_response.py +0 -87
  105. hiddenlayer/sdk/rest/models/begin_multipart_file_upload200_response.py +0 -97
  106. hiddenlayer/sdk/rest/models/begin_multipart_file_upload200_response_parts_inner.py +0 -94
  107. hiddenlayer/sdk/rest/models/code_flow.py +0 -113
  108. hiddenlayer/sdk/rest/models/configuration_override.py +0 -108
  109. hiddenlayer/sdk/rest/models/conversion.py +0 -114
  110. hiddenlayer/sdk/rest/models/create_sensor_request.py +0 -95
  111. hiddenlayer/sdk/rest/models/edge.py +0 -108
  112. hiddenlayer/sdk/rest/models/edge_traversal.py +0 -122
  113. hiddenlayer/sdk/rest/models/errors_inner.py +0 -91
  114. hiddenlayer/sdk/rest/models/exception.py +0 -113
  115. hiddenlayer/sdk/rest/models/external_properties.py +0 -273
  116. hiddenlayer/sdk/rest/models/external_property_file_reference.py +0 -102
  117. hiddenlayer/sdk/rest/models/external_property_file_references.py +0 -240
  118. hiddenlayer/sdk/rest/models/file_details_v3.py +0 -139
  119. hiddenlayer/sdk/rest/models/file_result_v3.py +0 -117
  120. hiddenlayer/sdk/rest/models/file_scan_report_v3.py +0 -132
  121. hiddenlayer/sdk/rest/models/file_scan_reports_v3.py +0 -95
  122. hiddenlayer/sdk/rest/models/fix.py +0 -113
  123. hiddenlayer/sdk/rest/models/get_condensed_model_scan_reports200_response.py +0 -102
  124. hiddenlayer/sdk/rest/models/graph.py +0 -123
  125. hiddenlayer/sdk/rest/models/graph_traversal.py +0 -97
  126. hiddenlayer/sdk/rest/models/inventory_v3.py +0 -101
  127. hiddenlayer/sdk/rest/models/invocation.py +0 -199
  128. hiddenlayer/sdk/rest/models/location.py +0 -146
  129. hiddenlayer/sdk/rest/models/location_inner.py +0 -138
  130. hiddenlayer/sdk/rest/models/location_relationship.py +0 -107
  131. hiddenlayer/sdk/rest/models/logical_location.py +0 -104
  132. hiddenlayer/sdk/rest/models/message.py +0 -92
  133. hiddenlayer/sdk/rest/models/mitre_atlas_inner.py +0 -110
  134. hiddenlayer/sdk/rest/models/model.py +0 -103
  135. hiddenlayer/sdk/rest/models/model_inventory_info.py +0 -103
  136. hiddenlayer/sdk/rest/models/model_version.py +0 -97
  137. hiddenlayer/sdk/rest/models/multi_file_upload_request_v3.py +0 -97
  138. hiddenlayer/sdk/rest/models/multiformat_message_string.py +0 -95
  139. hiddenlayer/sdk/rest/models/node.py +0 -122
  140. hiddenlayer/sdk/rest/models/notification.py +0 -157
  141. hiddenlayer/sdk/rest/models/notify_model_scan_completed200_response.py +0 -87
  142. hiddenlayer/sdk/rest/models/paged_response_with_total.py +0 -94
  143. hiddenlayer/sdk/rest/models/pagination_v3.py +0 -95
  144. hiddenlayer/sdk/rest/models/physical_location.py +0 -94
  145. hiddenlayer/sdk/rest/models/problem_details.py +0 -103
  146. hiddenlayer/sdk/rest/models/property_bag.py +0 -101
  147. hiddenlayer/sdk/rest/models/rectangle.py +0 -110
  148. hiddenlayer/sdk/rest/models/region.py +0 -127
  149. hiddenlayer/sdk/rest/models/replacement.py +0 -103
  150. hiddenlayer/sdk/rest/models/reporting_configuration.py +0 -113
  151. hiddenlayer/sdk/rest/models/reporting_descriptor.py +0 -162
  152. hiddenlayer/sdk/rest/models/reporting_descriptor_reference.py +0 -103
  153. hiddenlayer/sdk/rest/models/reporting_descriptor_relationship.py +0 -115
  154. hiddenlayer/sdk/rest/models/result.py +0 -312
  155. hiddenlayer/sdk/rest/models/result_provenance.py +0 -133
  156. hiddenlayer/sdk/rest/models/rule_details_inner.py +0 -102
  157. hiddenlayer/sdk/rest/models/run.py +0 -318
  158. hiddenlayer/sdk/rest/models/run_automation_details.py +0 -129
  159. hiddenlayer/sdk/rest/models/sarif210.py +0 -123
  160. hiddenlayer/sdk/rest/models/scan_create_request.py +0 -87
  161. hiddenlayer/sdk/rest/models/scan_detection_v3.py +0 -159
  162. hiddenlayer/sdk/rest/models/scan_detection_v31.py +0 -158
  163. hiddenlayer/sdk/rest/models/scan_header_v3.py +0 -129
  164. hiddenlayer/sdk/rest/models/scan_job.py +0 -115
  165. hiddenlayer/sdk/rest/models/scan_job_access.py +0 -97
  166. hiddenlayer/sdk/rest/models/scan_model_details_v3.py +0 -99
  167. hiddenlayer/sdk/rest/models/scan_model_details_v31.py +0 -97
  168. hiddenlayer/sdk/rest/models/scan_model_ids_v3.py +0 -89
  169. hiddenlayer/sdk/rest/models/scan_report_v3.py +0 -139
  170. hiddenlayer/sdk/rest/models/scan_results_map_v3.py +0 -105
  171. hiddenlayer/sdk/rest/models/scan_results_v3.py +0 -120
  172. hiddenlayer/sdk/rest/models/security_posture.py +0 -89
  173. hiddenlayer/sdk/rest/models/sensor.py +0 -100
  174. hiddenlayer/sdk/rest/models/sensor_query_response.py +0 -101
  175. hiddenlayer/sdk/rest/models/sensor_sor_model_card_query_response.py +0 -101
  176. hiddenlayer/sdk/rest/models/sensor_sor_model_card_response.py +0 -127
  177. hiddenlayer/sdk/rest/models/sensor_sor_query_filter.py +0 -108
  178. hiddenlayer/sdk/rest/models/sensor_sor_query_request.py +0 -109
  179. hiddenlayer/sdk/rest/models/special_locations.py +0 -97
  180. hiddenlayer/sdk/rest/models/stack.py +0 -113
  181. hiddenlayer/sdk/rest/models/stack_frame.py +0 -104
  182. hiddenlayer/sdk/rest/models/submission_response.py +0 -95
  183. hiddenlayer/sdk/rest/models/submission_v2.py +0 -109
  184. hiddenlayer/sdk/rest/models/suppression.py +0 -133
  185. hiddenlayer/sdk/rest/models/thread_flow.py +0 -144
  186. hiddenlayer/sdk/rest/models/thread_flow_location.py +0 -166
  187. hiddenlayer/sdk/rest/models/tool.py +0 -107
  188. hiddenlayer/sdk/rest/models/tool_component.py +0 -251
  189. hiddenlayer/sdk/rest/models/tool_component_reference.py +0 -108
  190. hiddenlayer/sdk/rest/models/translation_metadata.py +0 -110
  191. hiddenlayer/sdk/rest/models/validation_error_model.py +0 -99
  192. hiddenlayer/sdk/rest/models/version_control_details.py +0 -108
  193. hiddenlayer/sdk/rest/models/web_request.py +0 -112
  194. hiddenlayer/sdk/rest/models/web_response.py +0 -112
  195. hiddenlayer/sdk/rest/rest.py +0 -257
  196. hiddenlayer/sdk/services/__init__.py +0 -0
  197. hiddenlayer/sdk/services/aidr_predictive.py +0 -130
  198. hiddenlayer/sdk/services/model_scan.py +0 -505
  199. hiddenlayer/sdk/utils.py +0 -92
  200. hiddenlayer/sdk/version.py +0 -1
  201. hiddenlayer_sdk-2.0.9.dist-info/METADATA +0 -368
  202. hiddenlayer_sdk-2.0.9.dist-info/RECORD +0 -126
  203. hiddenlayer_sdk-2.0.9.dist-info/top_level.txt +0 -1
  204. /hiddenlayer/{sdk/__init__.py → py.typed} +0 -0
@@ -0,0 +1,166 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .jobs import (
6
+ JobsResource,
7
+ AsyncJobsResource,
8
+ JobsResourceWithRawResponse,
9
+ AsyncJobsResourceWithRawResponse,
10
+ JobsResourceWithStreamingResponse,
11
+ AsyncJobsResourceWithStreamingResponse,
12
+ )
13
+ from .results import (
14
+ ResultsResource,
15
+ AsyncResultsResource,
16
+ ResultsResourceWithRawResponse,
17
+ AsyncResultsResourceWithRawResponse,
18
+ ResultsResourceWithStreamingResponse,
19
+ AsyncResultsResourceWithStreamingResponse,
20
+ )
21
+ from ..._compat import cached_property
22
+ from ..._resource import SyncAPIResource, AsyncAPIResource
23
+ from .upload.upload import (
24
+ UploadResource,
25
+ AsyncUploadResource,
26
+ UploadResourceWithRawResponse,
27
+ AsyncUploadResourceWithRawResponse,
28
+ UploadResourceWithStreamingResponse,
29
+ AsyncUploadResourceWithStreamingResponse,
30
+ )
31
+
32
+ __all__ = ["ScansResource", "AsyncScansResource"]
33
+
34
+
35
+ class ScansResource(SyncAPIResource):
36
+ @cached_property
37
+ def results(self) -> ResultsResource:
38
+ return ResultsResource(self._client)
39
+
40
+ @cached_property
41
+ def jobs(self) -> JobsResource:
42
+ return JobsResource(self._client)
43
+
44
+ @cached_property
45
+ def upload(self) -> UploadResource:
46
+ return UploadResource(self._client)
47
+
48
+ @cached_property
49
+ def with_raw_response(self) -> ScansResourceWithRawResponse:
50
+ """
51
+ This property can be used as a prefix for any HTTP method call to return
52
+ the raw response object instead of the parsed content.
53
+
54
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#accessing-raw-response-data-eg-headers
55
+ """
56
+ return ScansResourceWithRawResponse(self)
57
+
58
+ @cached_property
59
+ def with_streaming_response(self) -> ScansResourceWithStreamingResponse:
60
+ """
61
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
62
+
63
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#with_streaming_response
64
+ """
65
+ return ScansResourceWithStreamingResponse(self)
66
+
67
+
68
+ class AsyncScansResource(AsyncAPIResource):
69
+ @cached_property
70
+ def results(self) -> AsyncResultsResource:
71
+ return AsyncResultsResource(self._client)
72
+
73
+ @cached_property
74
+ def jobs(self) -> AsyncJobsResource:
75
+ return AsyncJobsResource(self._client)
76
+
77
+ @cached_property
78
+ def upload(self) -> AsyncUploadResource:
79
+ return AsyncUploadResource(self._client)
80
+
81
+ @cached_property
82
+ def with_raw_response(self) -> AsyncScansResourceWithRawResponse:
83
+ """
84
+ This property can be used as a prefix for any HTTP method call to return
85
+ the raw response object instead of the parsed content.
86
+
87
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#accessing-raw-response-data-eg-headers
88
+ """
89
+ return AsyncScansResourceWithRawResponse(self)
90
+
91
+ @cached_property
92
+ def with_streaming_response(self) -> AsyncScansResourceWithStreamingResponse:
93
+ """
94
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
95
+
96
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#with_streaming_response
97
+ """
98
+ return AsyncScansResourceWithStreamingResponse(self)
99
+
100
+
101
+ class ScansResourceWithRawResponse:
102
+ def __init__(self, scans: ScansResource) -> None:
103
+ self._scans = scans
104
+
105
+ @cached_property
106
+ def results(self) -> ResultsResourceWithRawResponse:
107
+ return ResultsResourceWithRawResponse(self._scans.results)
108
+
109
+ @cached_property
110
+ def jobs(self) -> JobsResourceWithRawResponse:
111
+ return JobsResourceWithRawResponse(self._scans.jobs)
112
+
113
+ @cached_property
114
+ def upload(self) -> UploadResourceWithRawResponse:
115
+ return UploadResourceWithRawResponse(self._scans.upload)
116
+
117
+
118
+ class AsyncScansResourceWithRawResponse:
119
+ def __init__(self, scans: AsyncScansResource) -> None:
120
+ self._scans = scans
121
+
122
+ @cached_property
123
+ def results(self) -> AsyncResultsResourceWithRawResponse:
124
+ return AsyncResultsResourceWithRawResponse(self._scans.results)
125
+
126
+ @cached_property
127
+ def jobs(self) -> AsyncJobsResourceWithRawResponse:
128
+ return AsyncJobsResourceWithRawResponse(self._scans.jobs)
129
+
130
+ @cached_property
131
+ def upload(self) -> AsyncUploadResourceWithRawResponse:
132
+ return AsyncUploadResourceWithRawResponse(self._scans.upload)
133
+
134
+
135
+ class ScansResourceWithStreamingResponse:
136
+ def __init__(self, scans: ScansResource) -> None:
137
+ self._scans = scans
138
+
139
+ @cached_property
140
+ def results(self) -> ResultsResourceWithStreamingResponse:
141
+ return ResultsResourceWithStreamingResponse(self._scans.results)
142
+
143
+ @cached_property
144
+ def jobs(self) -> JobsResourceWithStreamingResponse:
145
+ return JobsResourceWithStreamingResponse(self._scans.jobs)
146
+
147
+ @cached_property
148
+ def upload(self) -> UploadResourceWithStreamingResponse:
149
+ return UploadResourceWithStreamingResponse(self._scans.upload)
150
+
151
+
152
+ class AsyncScansResourceWithStreamingResponse:
153
+ def __init__(self, scans: AsyncScansResource) -> None:
154
+ self._scans = scans
155
+
156
+ @cached_property
157
+ def results(self) -> AsyncResultsResourceWithStreamingResponse:
158
+ return AsyncResultsResourceWithStreamingResponse(self._scans.results)
159
+
160
+ @cached_property
161
+ def jobs(self) -> AsyncJobsResourceWithStreamingResponse:
162
+ return AsyncJobsResourceWithStreamingResponse(self._scans.jobs)
163
+
164
+ @cached_property
165
+ def upload(self) -> AsyncUploadResourceWithStreamingResponse:
166
+ return AsyncUploadResourceWithStreamingResponse(self._scans.upload)
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .file import (
4
+ FileResource,
5
+ AsyncFileResource,
6
+ FileResourceWithRawResponse,
7
+ AsyncFileResourceWithRawResponse,
8
+ FileResourceWithStreamingResponse,
9
+ AsyncFileResourceWithStreamingResponse,
10
+ )
11
+ from .upload import (
12
+ UploadResource,
13
+ AsyncUploadResource,
14
+ UploadResourceWithRawResponse,
15
+ AsyncUploadResourceWithRawResponse,
16
+ UploadResourceWithStreamingResponse,
17
+ AsyncUploadResourceWithStreamingResponse,
18
+ )
19
+
20
+ __all__ = [
21
+ "FileResource",
22
+ "AsyncFileResource",
23
+ "FileResourceWithRawResponse",
24
+ "AsyncFileResourceWithRawResponse",
25
+ "FileResourceWithStreamingResponse",
26
+ "AsyncFileResourceWithStreamingResponse",
27
+ "UploadResource",
28
+ "AsyncUploadResource",
29
+ "UploadResourceWithRawResponse",
30
+ "AsyncUploadResourceWithRawResponse",
31
+ "UploadResourceWithStreamingResponse",
32
+ "AsyncUploadResourceWithStreamingResponse",
33
+ ]
@@ -0,0 +1,279 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ...._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
8
+ from ...._utils import strip_not_given
9
+ from ...._compat import cached_property
10
+ from ...._resource import SyncAPIResource, AsyncAPIResource
11
+ from ...._response import (
12
+ to_raw_response_wrapper,
13
+ to_streamed_response_wrapper,
14
+ async_to_raw_response_wrapper,
15
+ async_to_streamed_response_wrapper,
16
+ )
17
+ from ...._base_client import make_request_options
18
+ from ....types.scans.upload.file_add_response import FileAddResponse
19
+ from ....types.scans.upload.file_complete_response import FileCompleteResponse
20
+
21
+ __all__ = ["FileResource", "AsyncFileResource"]
22
+
23
+
24
+ class FileResource(SyncAPIResource):
25
+ @cached_property
26
+ def with_raw_response(self) -> FileResourceWithRawResponse:
27
+ """
28
+ This property can be used as a prefix for any HTTP method call to return
29
+ the raw response object instead of the parsed content.
30
+
31
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#accessing-raw-response-data-eg-headers
32
+ """
33
+ return FileResourceWithRawResponse(self)
34
+
35
+ @cached_property
36
+ def with_streaming_response(self) -> FileResourceWithStreamingResponse:
37
+ """
38
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
39
+
40
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#with_streaming_response
41
+ """
42
+ return FileResourceWithStreamingResponse(self)
43
+
44
+ def add(
45
+ self,
46
+ scan_id: str,
47
+ *,
48
+ file_content_length: int,
49
+ file_name: str,
50
+ x_correlation_id: str | Omit = omit,
51
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
52
+ # The extra values given here take precedence over values defined on the client or passed to this method.
53
+ extra_headers: Headers | None = None,
54
+ extra_query: Query | None = None,
55
+ extra_body: Body | None = None,
56
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
57
+ ) -> FileAddResponse:
58
+ """
59
+ Upload a model file
60
+
61
+ Args:
62
+ extra_headers: Send extra headers
63
+
64
+ extra_query: Add additional query parameters to the request
65
+
66
+ extra_body: Add additional JSON properties to the request
67
+
68
+ timeout: Override the client-level default timeout for this request, in seconds
69
+ """
70
+ if not scan_id:
71
+ raise ValueError(f"Expected a non-empty value for `scan_id` but received {scan_id!r}")
72
+ extra_headers = {
73
+ **strip_not_given(
74
+ {
75
+ "file-content-length": str(file_content_length),
76
+ "file-name": file_name,
77
+ "X-Correlation-Id": x_correlation_id,
78
+ }
79
+ ),
80
+ **(extra_headers or {}),
81
+ }
82
+ return self._post(
83
+ f"/scan/v3/upload/{scan_id}/file",
84
+ options=make_request_options(
85
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
86
+ ),
87
+ cast_to=FileAddResponse,
88
+ )
89
+
90
+ def complete(
91
+ self,
92
+ file_id: str,
93
+ *,
94
+ scan_id: str,
95
+ x_correlation_id: str | Omit = omit,
96
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
97
+ # The extra values given here take precedence over values defined on the client or passed to this method.
98
+ extra_headers: Headers | None = None,
99
+ extra_query: Query | None = None,
100
+ extra_body: Body | None = None,
101
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
102
+ ) -> FileCompleteResponse:
103
+ """
104
+ Complete a file upload
105
+
106
+ Args:
107
+ extra_headers: Send extra headers
108
+
109
+ extra_query: Add additional query parameters to the request
110
+
111
+ extra_body: Add additional JSON properties to the request
112
+
113
+ timeout: Override the client-level default timeout for this request, in seconds
114
+ """
115
+ if not scan_id:
116
+ raise ValueError(f"Expected a non-empty value for `scan_id` but received {scan_id!r}")
117
+ if not file_id:
118
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
119
+ extra_headers = {**strip_not_given({"X-Correlation-Id": x_correlation_id}), **(extra_headers or {})}
120
+ return self._patch(
121
+ f"/scan/v3/upload/{scan_id}/file/{file_id}",
122
+ options=make_request_options(
123
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
124
+ ),
125
+ cast_to=FileCompleteResponse,
126
+ )
127
+
128
+
129
+ class AsyncFileResource(AsyncAPIResource):
130
+ @cached_property
131
+ def with_raw_response(self) -> AsyncFileResourceWithRawResponse:
132
+ """
133
+ This property can be used as a prefix for any HTTP method call to return
134
+ the raw response object instead of the parsed content.
135
+
136
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#accessing-raw-response-data-eg-headers
137
+ """
138
+ return AsyncFileResourceWithRawResponse(self)
139
+
140
+ @cached_property
141
+ def with_streaming_response(self) -> AsyncFileResourceWithStreamingResponse:
142
+ """
143
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
144
+
145
+ For more information, see https://www.github.com/hiddenlayerai/hiddenlayer-sdk-python#with_streaming_response
146
+ """
147
+ return AsyncFileResourceWithStreamingResponse(self)
148
+
149
+ async def add(
150
+ self,
151
+ scan_id: str,
152
+ *,
153
+ file_content_length: int,
154
+ file_name: str,
155
+ x_correlation_id: str | Omit = omit,
156
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
157
+ # The extra values given here take precedence over values defined on the client or passed to this method.
158
+ extra_headers: Headers | None = None,
159
+ extra_query: Query | None = None,
160
+ extra_body: Body | None = None,
161
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
162
+ ) -> FileAddResponse:
163
+ """
164
+ Upload a model file
165
+
166
+ Args:
167
+ extra_headers: Send extra headers
168
+
169
+ extra_query: Add additional query parameters to the request
170
+
171
+ extra_body: Add additional JSON properties to the request
172
+
173
+ timeout: Override the client-level default timeout for this request, in seconds
174
+ """
175
+ if not scan_id:
176
+ raise ValueError(f"Expected a non-empty value for `scan_id` but received {scan_id!r}")
177
+ extra_headers = {
178
+ **strip_not_given(
179
+ {
180
+ "file-content-length": str(file_content_length),
181
+ "file-name": file_name,
182
+ "X-Correlation-Id": x_correlation_id,
183
+ }
184
+ ),
185
+ **(extra_headers or {}),
186
+ }
187
+ return await self._post(
188
+ f"/scan/v3/upload/{scan_id}/file",
189
+ options=make_request_options(
190
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
191
+ ),
192
+ cast_to=FileAddResponse,
193
+ )
194
+
195
+ async def complete(
196
+ self,
197
+ file_id: str,
198
+ *,
199
+ scan_id: str,
200
+ x_correlation_id: str | Omit = omit,
201
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
202
+ # The extra values given here take precedence over values defined on the client or passed to this method.
203
+ extra_headers: Headers | None = None,
204
+ extra_query: Query | None = None,
205
+ extra_body: Body | None = None,
206
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
207
+ ) -> FileCompleteResponse:
208
+ """
209
+ Complete a file upload
210
+
211
+ Args:
212
+ extra_headers: Send extra headers
213
+
214
+ extra_query: Add additional query parameters to the request
215
+
216
+ extra_body: Add additional JSON properties to the request
217
+
218
+ timeout: Override the client-level default timeout for this request, in seconds
219
+ """
220
+ if not scan_id:
221
+ raise ValueError(f"Expected a non-empty value for `scan_id` but received {scan_id!r}")
222
+ if not file_id:
223
+ raise ValueError(f"Expected a non-empty value for `file_id` but received {file_id!r}")
224
+ extra_headers = {**strip_not_given({"X-Correlation-Id": x_correlation_id}), **(extra_headers or {})}
225
+ return await self._patch(
226
+ f"/scan/v3/upload/{scan_id}/file/{file_id}",
227
+ options=make_request_options(
228
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
229
+ ),
230
+ cast_to=FileCompleteResponse,
231
+ )
232
+
233
+
234
+ class FileResourceWithRawResponse:
235
+ def __init__(self, file: FileResource) -> None:
236
+ self._file = file
237
+
238
+ self.add = to_raw_response_wrapper(
239
+ file.add,
240
+ )
241
+ self.complete = to_raw_response_wrapper(
242
+ file.complete,
243
+ )
244
+
245
+
246
+ class AsyncFileResourceWithRawResponse:
247
+ def __init__(self, file: AsyncFileResource) -> None:
248
+ self._file = file
249
+
250
+ self.add = async_to_raw_response_wrapper(
251
+ file.add,
252
+ )
253
+ self.complete = async_to_raw_response_wrapper(
254
+ file.complete,
255
+ )
256
+
257
+
258
+ class FileResourceWithStreamingResponse:
259
+ def __init__(self, file: FileResource) -> None:
260
+ self._file = file
261
+
262
+ self.add = to_streamed_response_wrapper(
263
+ file.add,
264
+ )
265
+ self.complete = to_streamed_response_wrapper(
266
+ file.complete,
267
+ )
268
+
269
+
270
+ class AsyncFileResourceWithStreamingResponse:
271
+ def __init__(self, file: AsyncFileResource) -> None:
272
+ self._file = file
273
+
274
+ self.add = async_to_streamed_response_wrapper(
275
+ file.add,
276
+ )
277
+ self.complete = async_to_streamed_response_wrapper(
278
+ file.complete,
279
+ )