hiddenlayer-sdk 3.3.0__tar.gz → 3.4.0__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 (150) hide show
  1. hiddenlayer_sdk-3.4.0/.release-please-manifest.json +3 -0
  2. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/CHANGELOG.md +21 -0
  3. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/PKG-INFO +1 -1
  4. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/pyproject.toml +2 -2
  5. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/requirements-dev.lock +10 -10
  6. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/requirements.lock +4 -4
  7. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_oauth2.py +5 -2
  8. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_compat.py +1 -1
  9. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_version.py +1 -1
  10. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/models/cards.py +4 -0
  11. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/models/card_list_params.py +2 -0
  12. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/models/card_list_response.py +6 -0
  13. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/job_list_response.py +6 -0
  14. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/job_request_params.py +6 -0
  15. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/scan_job.py +6 -0
  16. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/scan_report.py +53 -0
  17. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/models/test_cards.py +2 -0
  18. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/scans/test_jobs.py +2 -0
  19. hiddenlayer_sdk-3.3.0/.release-please-manifest.json +0 -3
  20. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/.gitignore +0 -0
  21. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/CODE_OF_CONDUCT.md +0 -0
  22. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/CONTRIBUTING.md +0 -0
  23. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/LICENSE +0 -0
  24. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/README.md +0 -0
  25. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/SECURITY.md +0 -0
  26. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/api.md +0 -0
  27. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/bin/check-release-environment +0 -0
  28. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/bin/publish-jfrog +0 -0
  29. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/bin/publish-pypi +0 -0
  30. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/examples/.keep +0 -0
  31. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/examples/demo.py +0 -0
  32. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/noxfile.py +0 -0
  33. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/release-please-config.json +0 -0
  34. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/__init__.py +0 -0
  35. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_base_client.py +0 -0
  36. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_client.py +0 -0
  37. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_compat.py +0 -0
  38. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_constants.py +0 -0
  39. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_exceptions.py +0 -0
  40. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_files.py +0 -0
  41. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_models.py +0 -0
  42. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_qs.py +0 -0
  43. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_resource.py +0 -0
  44. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_response.py +0 -0
  45. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_streaming.py +0 -0
  46. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_types.py +0 -0
  47. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/__init__.py +0 -0
  48. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_datetime_parse.py +0 -0
  49. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_json.py +0 -0
  50. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_logs.py +0 -0
  51. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_proxy.py +0 -0
  52. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_reflection.py +0 -0
  53. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_resources_proxy.py +0 -0
  54. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_streams.py +0 -0
  55. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_sync.py +0 -0
  56. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_transform.py +0 -0
  57. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_typing.py +0 -0
  58. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/_utils/_utils.py +0 -0
  59. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/.keep +0 -0
  60. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/__init__.py +0 -0
  61. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/community_scan.py +0 -0
  62. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/evaluation_sessions.py +0 -0
  63. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/model_scan.py +0 -0
  64. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/red_team_exceptions.py +0 -0
  65. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/red_team_session.py +0 -0
  66. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/lib/scan_utils.py +0 -0
  67. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/pagination.py +0 -0
  68. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/py.typed +0 -0
  69. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/__init__.py +0 -0
  70. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/evaluations/__init__.py +0 -0
  71. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/evaluations/evaluations.py +0 -0
  72. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/evaluations/red_team.py +0 -0
  73. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/interactions.py +0 -0
  74. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/models/__init__.py +0 -0
  75. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/models/models.py +0 -0
  76. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/prompt_analyzer.py +0 -0
  77. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/scans/__init__.py +0 -0
  78. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/scans/jobs.py +0 -0
  79. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/scans/results.py +0 -0
  80. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/scans/scans.py +0 -0
  81. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/scans/upload/__init__.py +0 -0
  82. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/scans/upload/file.py +0 -0
  83. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/scans/upload/upload.py +0 -0
  84. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/resources/sensors.py +0 -0
  85. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/__init__.py +0 -0
  86. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/__init__.py +0 -0
  87. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/red_team_create_params.py +0 -0
  88. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/red_team_create_response.py +0 -0
  89. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/red_team_retrieve_evaluation_results_response.py +0 -0
  90. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/red_team_retrieve_next_action_response.py +0 -0
  91. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/red_team_retrieve_status_response.py +0 -0
  92. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/red_team_submit_target_response_params.py +0 -0
  93. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/evaluations/red_team_submit_target_response_response.py +0 -0
  94. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/interaction_analyze_params.py +0 -0
  95. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/interaction_analyze_response.py +0 -0
  96. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/model_retrieve_response.py +0 -0
  97. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/models/__init__.py +0 -0
  98. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/prompt_analyzer_create_params.py +0 -0
  99. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/prompt_analyzer_create_response.py +0 -0
  100. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/__init__.py +0 -0
  101. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/job_list_params.py +0 -0
  102. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/job_retrieve_params.py +0 -0
  103. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/result_sarif_response.py +0 -0
  104. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/upload/__init__.py +0 -0
  105. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/upload/file_add_response.py +0 -0
  106. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/upload/file_complete_response.py +0 -0
  107. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/upload_complete_all_response.py +0 -0
  108. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/upload_start_params.py +0 -0
  109. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/scans/upload_start_response.py +0 -0
  110. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/sensor_create_params.py +0 -0
  111. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/sensor_create_response.py +0 -0
  112. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/sensor_query_params.py +0 -0
  113. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/sensor_query_response.py +0 -0
  114. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/sensor_retrieve_response.py +0 -0
  115. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/sensor_update_params.py +0 -0
  116. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/src/hiddenlayer/types/sensor_update_response.py +0 -0
  117. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/__init__.py +0 -0
  118. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/__init__.py +0 -0
  119. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/evaluations/__init__.py +0 -0
  120. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/evaluations/test_red_team.py +0 -0
  121. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/models/__init__.py +0 -0
  122. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/scans/__init__.py +0 -0
  123. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/scans/test_results.py +0 -0
  124. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/scans/test_upload.py +0 -0
  125. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/scans/upload/__init__.py +0 -0
  126. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/scans/upload/test_file.py +0 -0
  127. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/test_interactions.py +0 -0
  128. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/test_models.py +0 -0
  129. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/test_prompt_analyzer.py +0 -0
  130. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/api_resources/test_sensors.py +0 -0
  131. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/conftest.py +0 -0
  132. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/sample_file.txt +0 -0
  133. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_client.py +0 -0
  134. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_community_scan.py +0 -0
  135. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_deepcopy.py +0 -0
  136. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_extract_files.py +0 -0
  137. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_files.py +0 -0
  138. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_model_scan.py +0 -0
  139. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_models.py +0 -0
  140. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_qs.py +0 -0
  141. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_red_team_session.py +0 -0
  142. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_required_args.py +0 -0
  143. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_response.py +0 -0
  144. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_streaming.py +0 -0
  145. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_transform.py +0 -0
  146. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_utils/test_datetime_parse.py +0 -0
  147. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_utils/test_json.py +0 -0
  148. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_utils/test_proxy.py +0 -0
  149. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/test_utils/test_typing.py +0 -0
  150. {hiddenlayer_sdk-3.3.0 → hiddenlayer_sdk-3.4.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "3.4.0"
3
+ }
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.4.0 (2026-02-14)
4
+
5
+ Full Changelog: [v3.3.0...v3.4.0](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/compare/v3.3.0...v3.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([a1c0278](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/commit/a1c0278363b3be694895f157bab4da233de753bb))
10
+ * **api:** api update ([4b1ef5b](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/commit/4b1ef5b5c16dd67e5a7756acf871acae5f11512a))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **client/oauth:** send grant_type in request body per RFC 6749 ([#173](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/issues/173)) ([2b4c58d](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/commit/2b4c58dc1fb3ad586e9a8fab90f3b900f59446c0))
16
+
17
+
18
+ ### Chores
19
+
20
+ * format all `api.md` files ([829c616](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/commit/829c616b17455c59641976e0c29702dfbba50e8e))
21
+ * **internal:** bump dependencies ([bfb6489](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/commit/bfb6489bb4b627f40fcf62c8ff06bd5946882b5b))
22
+ * **internal:** fix lint error on Python 3.14 ([e83496c](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/commit/e83496cc463b59eabd0e415d657fed751365b9f4))
23
+
3
24
  ## 3.3.0 (2026-02-04)
4
25
 
5
26
  Full Changelog: [v3.2.2...v3.3.0](https://github.com/hiddenlayerai/hiddenlayer-sdk-python/compare/v3.2.2...v3.3.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: hiddenlayer-sdk
3
- Version: 3.3.0
3
+ Version: 3.4.0
4
4
  Summary: The official Python library for the hiddenlayer API
5
5
  Project-URL: Homepage, https://github.com/hiddenlayerai/hiddenlayer-sdk-python
6
6
  Project-URL: Repository, https://github.com/hiddenlayerai/hiddenlayer-sdk-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hiddenlayer-sdk"
3
- version = "3.3.0"
3
+ version = "3.4.0"
4
4
  description = "The official Python library for the hiddenlayer API"
5
5
  dynamic = ["readme"]
6
6
  license = {text = "Apache-2.0"}
@@ -72,7 +72,7 @@ format = { chain = [
72
72
  # run formatting again to fix any inconsistencies when imports are stripped
73
73
  "format:ruff",
74
74
  ]}
75
- "format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md"
75
+ "format:docs" = "bash -c 'python scripts/utils/ruffen-docs.py README.md $(find . -type f -name api.md)'"
76
76
  "format:ruff" = "ruff format"
77
77
 
78
78
  "lint" = { chain = [
@@ -12,14 +12,14 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.13.2
15
+ aiohttp==3.13.3
16
16
  # via hiddenlayer-sdk
17
17
  # via httpx-aiohttp
18
18
  aiosignal==1.4.0
19
19
  # via aiohttp
20
20
  annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.12.0
22
+ anyio==4.12.1
23
23
  # via hiddenlayer-sdk
24
24
  # via httpx
25
25
  argcomplete==3.6.3
@@ -31,7 +31,7 @@ attrs==25.4.0
31
31
  # via nox
32
32
  backports-asyncio-runner==1.2.0
33
33
  # via pytest-asyncio
34
- certifi==2025.11.12
34
+ certifi==2026.1.4
35
35
  # via httpcore
36
36
  # via httpx
37
37
  colorlog==6.10.1
@@ -63,7 +63,7 @@ httpx==0.28.1
63
63
  # via hiddenlayer-sdk
64
64
  # via httpx-aiohttp
65
65
  # via respx
66
- httpx-aiohttp==0.1.9
66
+ httpx-aiohttp==0.1.12
67
67
  # via hiddenlayer-sdk
68
68
  humanize==4.13.0
69
69
  # via nox
@@ -72,7 +72,7 @@ idna==3.11
72
72
  # via httpx
73
73
  # via requests
74
74
  # via yarl
75
- importlib-metadata==8.7.0
75
+ importlib-metadata==8.7.1
76
76
  iniconfig==2.1.0
77
77
  # via pytest
78
78
  markdown-it-py==3.0.0
@@ -85,14 +85,14 @@ multidict==6.7.0
85
85
  mypy==1.17.0
86
86
  mypy-extensions==1.1.0
87
87
  # via mypy
88
- nodeenv==1.9.1
88
+ nodeenv==1.10.0
89
89
  # via pyright
90
90
  nox==2025.11.12
91
91
  packaging==25.0
92
92
  # via dependency-groups
93
93
  # via nox
94
94
  # via pytest
95
- pathspec==0.12.1
95
+ pathspec==1.0.3
96
96
  # via mypy
97
97
  platformdirs==4.4.0
98
98
  # via virtualenv
@@ -125,13 +125,13 @@ requests-auth==8.0.0
125
125
  # via hiddenlayer
126
126
  respx==0.22.0
127
127
  rich==14.2.0
128
- ruff==0.14.7
128
+ ruff==0.14.13
129
129
  six==1.17.0
130
130
  # via python-dateutil
131
131
  sniffio==1.3.1
132
132
  # via hiddenlayer-sdk
133
133
  time-machine==2.19.0
134
- tomli==2.3.0
134
+ tomli==2.4.0
135
135
  # via dependency-groups
136
136
  # via mypy
137
137
  # via nox
@@ -152,7 +152,7 @@ types-requests==2.32.4.20250611
152
152
  # via virtualenv
153
153
  typing-inspection==0.4.2
154
154
  # via pydantic
155
- virtualenv==20.35.4
155
+ virtualenv==20.36.1
156
156
  urllib3==2.5.0
157
157
  # via nox
158
158
  yarl==1.22.0
@@ -12,21 +12,21 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.13.2
15
+ aiohttp==3.13.3
16
16
  # via hiddenlayer-sdk
17
17
  # via httpx-aiohttp
18
18
  aiosignal==1.4.0
19
19
  # via aiohttp
20
20
  annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.12.0
22
+ anyio==4.12.1
23
23
  # via hiddenlayer-sdk
24
24
  # via httpx
25
25
  async-timeout==5.0.1
26
26
  # via aiohttp
27
27
  attrs==25.4.0
28
28
  # via aiohttp
29
- certifi==2025.11.12
29
+ certifi==2026.1.4
30
30
  # via httpcore
31
31
  # via httpx
32
32
  distro==1.9.0
@@ -45,7 +45,7 @@ httpcore==1.0.9
45
45
  httpx==0.28.1
46
46
  # via hiddenlayer-sdk
47
47
  # via httpx-aiohttp
48
- httpx-aiohttp==0.1.9
48
+ httpx-aiohttp==0.1.12
49
49
  # via hiddenlayer-sdk
50
50
  idna==3.11
51
51
  # via anyio
@@ -87,8 +87,11 @@ class OAuth2ClientCredentials(httpx.Auth):
87
87
  return httpx.Request(
88
88
  "POST",
89
89
  self._token_url,
90
- params={"grant_type": "client_credentials"},
91
- headers={"Authorization": f"Basic {encoded_credentials}"},
90
+ content=b"grant_type=client_credentials",
91
+ headers={
92
+ "Content-Type": "application/x-www-form-urlencoded",
93
+ "Authorization": f"Basic {encoded_credentials}",
94
+ },
92
95
  )
93
96
 
94
97
  def token_is_expired(self) -> bool:
@@ -26,7 +26,7 @@ def is_union(tp: Optional[Type[Any]]) -> bool:
26
26
  else:
27
27
  import types
28
28
 
29
- return tp is Union or tp is types.UnionType
29
+ return tp is Union or tp is types.UnionType # type: ignore[comparison-overlap]
30
30
 
31
31
 
32
32
  def is_typeddict(tp: Type[Any]) -> bool:
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "hiddenlayer"
4
- __version__ = "3.3.0" # x-release-please-version
4
+ __version__ = "3.4.0" # x-release-please-version
@@ -71,6 +71,7 @@ class CardsResource(SyncAPIResource):
71
71
  | Omit = omit,
72
72
  modscan_status: Literal["ENABLED", "DISABLED", "ANY"] | Omit = omit,
73
73
  offset: int | Omit = omit,
74
+ policy_status: List[Literal["COMPLIANT", "NONCOMPLIANT"]] | Omit = omit,
74
75
  provider: List[Literal["AZURE", "ADHOC"]] | Omit = omit,
75
76
  sort: str | Omit = omit,
76
77
  source: card_list_params.Source | Omit = omit,
@@ -128,6 +129,7 @@ class CardsResource(SyncAPIResource):
128
129
  "modscan_severity": modscan_severity,
129
130
  "modscan_status": modscan_status,
130
131
  "offset": offset,
132
+ "policy_status": policy_status,
131
133
  "provider": provider,
132
134
  "sort": sort,
133
135
  "source": source,
@@ -185,6 +187,7 @@ class AsyncCardsResource(AsyncAPIResource):
185
187
  | Omit = omit,
186
188
  modscan_status: Literal["ENABLED", "DISABLED", "ANY"] | Omit = omit,
187
189
  offset: int | Omit = omit,
190
+ policy_status: List[Literal["COMPLIANT", "NONCOMPLIANT"]] | Omit = omit,
188
191
  provider: List[Literal["AZURE", "ADHOC"]] | Omit = omit,
189
192
  sort: str | Omit = omit,
190
193
  source: card_list_params.Source | Omit = omit,
@@ -242,6 +245,7 @@ class AsyncCardsResource(AsyncAPIResource):
242
245
  "modscan_severity": modscan_severity,
243
246
  "modscan_status": modscan_status,
244
247
  "offset": offset,
248
+ "policy_status": policy_status,
245
249
  "provider": provider,
246
250
  "sort": sort,
247
251
  "source": source,
@@ -38,6 +38,8 @@ class CardListParams(TypedDict, total=False):
38
38
  offset: int
39
39
  """Begin returning the results from this offset"""
40
40
 
41
+ policy_status: List[Literal["COMPLIANT", "NONCOMPLIANT"]]
42
+
41
43
  provider: List[Literal["AZURE", "ADHOC"]]
42
44
 
43
45
  sort: str
@@ -49,6 +49,12 @@ class CardListResponse(BaseModel):
49
49
  model_scan_has_error: Optional[bool] = None
50
50
  """True if the model's latest scan has an error"""
51
51
 
52
+ policy_status: Optional[Literal["COMPLIANT", "COMPLIANT*", "NONCOMPLIANT", "NONCOMPLIANT*"]] = None
53
+ """The status of the model's compliance with regard to any policies.
54
+
55
+ A trailing asterisk indicates the model's status has been overridden.
56
+ """
57
+
52
58
  security_posture: Optional[SecurityPosture] = None
53
59
 
54
60
  tags: Optional[Dict[str, object]] = None
@@ -22,6 +22,12 @@ class ItemInventoryProviderDetails(BaseModel):
22
22
  - Azure AI Foundry: "Claude-3-5-Sonnet"
23
23
  """
24
24
 
25
+ country: Optional[str] = None
26
+ """
27
+ Optional country code (ISO 3166-1 alpha-2) for the location where the model
28
+ provider is primarily based.
29
+ """
30
+
25
31
  model_arn: Optional[str] = None
26
32
  """
27
33
  Optional full ARN or resource identifier for the model. Used for provisioned
@@ -65,6 +65,12 @@ class InventoryScanTargetProviderDetails(TypedDict, total=False):
65
65
  - Azure AI Foundry: "Claude-3-5-Sonnet"
66
66
  """
67
67
 
68
+ country: str
69
+ """
70
+ Optional country code (ISO 3166-1 alpha-2) for the location where the model
71
+ provider is primarily based.
72
+ """
73
+
68
74
  model_arn: str
69
75
  """
70
76
  Optional full ARN or resource identifier for the model. Used for provisioned
@@ -42,6 +42,12 @@ class InventoryScanTargetProviderDetails(BaseModel):
42
42
  - Azure AI Foundry: "Claude-3-5-Sonnet"
43
43
  """
44
44
 
45
+ country: Optional[str] = None
46
+ """
47
+ Optional country code (ISO 3166-1 alpha-2) for the location where the model
48
+ provider is primarily based.
49
+ """
50
+
45
51
  model_arn: Optional[str] = None
46
52
  """
47
53
  Optional full ARN or resource identifier for the model. Used for provisioned
@@ -25,6 +25,9 @@ __all__ = [
25
25
  "FileResultDetection",
26
26
  "FileResultDetectionMitreAtlas",
27
27
  "FileResultDetectionRuleDetail",
28
+ "Intelligence",
29
+ "IntelligenceLicense",
30
+ "IntelligenceUsagePolicy",
28
31
  ]
29
32
 
30
33
 
@@ -38,6 +41,12 @@ class InventoryProviderDetails(BaseModel):
38
41
  - Azure AI Foundry: "Claude-3-5-Sonnet"
39
42
  """
40
43
 
44
+ country: Optional[str] = None
45
+ """
46
+ Optional country code (ISO 3166-1 alpha-2) for the location where the model
47
+ provider is primarily based.
48
+ """
49
+
41
50
  model_arn: Optional[str] = None
42
51
  """
43
52
  Optional full ARN or resource identifier for the model. Used for provisioned
@@ -301,6 +310,44 @@ class FileResult(BaseModel):
301
310
  """Error messages returned by the scanner"""
302
311
 
303
312
 
313
+ class IntelligenceLicense(BaseModel):
314
+ """License information for a model"""
315
+
316
+ name: str
317
+ """Name of the license"""
318
+
319
+ sha256: str
320
+ """SHA256 hash of the license file"""
321
+
322
+
323
+ class IntelligenceUsagePolicy(BaseModel):
324
+ """Usage policy information for a model"""
325
+
326
+ name: str
327
+ """Name of the usage policy"""
328
+
329
+ sha256: str
330
+ """SHA256 hash of the policy document"""
331
+
332
+
333
+ class Intelligence(BaseModel):
334
+ """
335
+ Intelligence metadata about a model including origin, licensing, and usage policies
336
+ """
337
+
338
+ contributor_trust_level: Optional[str] = None
339
+ """Trust level of the model contributor"""
340
+
341
+ country_of_origin: Optional[List[str]] = None
342
+ """List of countries where the model originated"""
343
+
344
+ licenses: Optional[List[IntelligenceLicense]] = None
345
+ """List of licenses associated with the model"""
346
+
347
+ usage_policies: Optional[List[IntelligenceUsagePolicy]] = None
348
+ """List of usage policies associated with the model"""
349
+
350
+
304
351
  class ScanReport(BaseModel):
305
352
  """A scan report with all of its details."""
306
353
 
@@ -348,6 +395,12 @@ class ScanReport(BaseModel):
348
395
  has_genealogy: Optional[bool] = None
349
396
  """if there is model geneaology info available"""
350
397
 
398
+ intelligence: Optional[Intelligence] = None
399
+ """
400
+ Intelligence metadata about a model including origin, licensing, and usage
401
+ policies
402
+ """
403
+
351
404
  severity: Optional[Literal["critical", "high", "medium", "low", "unknown", "safe"]] = None
352
405
  """The highest severity of any detections on the scan, including "safe".
353
406
 
@@ -43,6 +43,7 @@ class TestCards:
43
43
  modscan_severity=["SAFE"],
44
44
  modscan_status="ENABLED",
45
45
  offset=250,
46
+ policy_status=["COMPLIANT"],
46
47
  provider=["AZURE"],
47
48
  sort="-model_name",
48
49
  source={
@@ -104,6 +105,7 @@ class TestAsyncCards:
104
105
  modscan_severity=["SAFE"],
105
106
  modscan_status="ENABLED",
106
107
  offset=250,
108
+ policy_status=["COMPLIANT"],
107
109
  provider=["AZURE"],
108
110
  sort="-model_name",
109
111
  source={
@@ -169,6 +169,7 @@ class TestJobs:
169
169
  "provider_details": {
170
170
  "provider": "AWS_BEDROCK",
171
171
  "provider_model_id": "anthropic.claude-3-5-sonnet-20241022-v2:0",
172
+ "country": "US",
172
173
  "model_arn": "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/my-custom-model",
173
174
  },
174
175
  },
@@ -365,6 +366,7 @@ class TestAsyncJobs:
365
366
  "provider_details": {
366
367
  "provider": "AWS_BEDROCK",
367
368
  "provider_model_id": "anthropic.claude-3-5-sonnet-20241022-v2:0",
369
+ "country": "US",
368
370
  "model_arn": "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/my-custom-model",
369
371
  },
370
372
  },
@@ -1,3 +0,0 @@
1
- {
2
- ".": "3.3.0"
3
- }
File without changes
File without changes