sagemaker-core 1.0.47__py3-none-any.whl → 2.1.1__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 (363) hide show
  1. sagemaker/core/__init__.py +16 -0
  2. sagemaker/core/_studio.py +116 -0
  3. sagemaker/core/_version.py +11 -0
  4. sagemaker/core/accept_types.py +131 -0
  5. sagemaker/core/analytics.py +744 -0
  6. sagemaker/core/apiutils/__init__.py +13 -0
  7. sagemaker/core/apiutils/_base_types.py +228 -0
  8. sagemaker/core/apiutils/_boto_functions.py +130 -0
  9. sagemaker/core/apiutils/_utils.py +34 -0
  10. sagemaker/core/base_deserializers.py +35 -0
  11. sagemaker/core/base_serializers.py +35 -0
  12. sagemaker/core/clarify/__init__.py +2898 -0
  13. sagemaker/core/collection.py +467 -0
  14. sagemaker/core/common_utils.py +2281 -0
  15. sagemaker/core/compute_resource_requirements/__init__.py +18 -0
  16. sagemaker/core/compute_resource_requirements/resource_requirements.py +94 -0
  17. sagemaker/core/config/__init__.py +181 -0
  18. sagemaker/core/config/config.py +238 -0
  19. sagemaker/core/config/config_manager.py +595 -0
  20. sagemaker/core/config/config_schema.py +1220 -0
  21. sagemaker/core/config/config_utils.py +297 -0
  22. {sagemaker_core/main → sagemaker/core}/config_schema.py +410 -4
  23. sagemaker/core/constants.py +73 -0
  24. sagemaker/core/content_types.py +137 -0
  25. sagemaker/core/debugger/__init__.py +39 -0
  26. sagemaker/core/debugger/debugger.py +945 -0
  27. sagemaker/core/debugger/framework_profile.py +292 -0
  28. sagemaker/core/debugger/metrics_config.py +468 -0
  29. sagemaker/core/debugger/profiler.py +42 -0
  30. sagemaker/core/debugger/profiler_config.py +190 -0
  31. sagemaker/core/debugger/profiler_constants.py +40 -0
  32. sagemaker/core/debugger/utils.py +148 -0
  33. sagemaker/core/deprecations.py +254 -0
  34. sagemaker/core/deserializers/__init__.py +10 -0
  35. sagemaker/core/deserializers/base.py +424 -0
  36. sagemaker/core/deserializers/implementations.py +157 -0
  37. sagemaker/core/drift_check_baselines.py +106 -0
  38. sagemaker/core/enums.py +51 -0
  39. sagemaker/core/environment_variables.py +101 -0
  40. sagemaker/core/exceptions.py +108 -0
  41. sagemaker/core/experiments/__init__.py +53 -0
  42. sagemaker/core/experiments/_api_types.py +251 -0
  43. sagemaker/core/experiments/_environment.py +124 -0
  44. sagemaker/core/experiments/_helper.py +294 -0
  45. sagemaker/core/experiments/_metrics.py +333 -0
  46. sagemaker/core/experiments/_run_context.py +58 -0
  47. sagemaker/core/experiments/_utils.py +216 -0
  48. sagemaker/core/experiments/experiment.py +244 -0
  49. sagemaker/core/experiments/run.py +970 -0
  50. sagemaker/core/experiments/trial.py +296 -0
  51. sagemaker/core/experiments/trial_component.py +387 -0
  52. sagemaker/core/explainer/__init__.py +24 -0
  53. sagemaker/core/explainer/clarify_explainer_config.py +298 -0
  54. sagemaker/core/explainer/explainer_config.py +44 -0
  55. sagemaker/core/fw_utils.py +1176 -0
  56. sagemaker/core/git_utils.py +349 -0
  57. sagemaker/core/helper/pipeline_variable.py +82 -0
  58. sagemaker/core/helper/session_helper.py +2965 -0
  59. sagemaker/core/huggingface/__init__.py +29 -0
  60. sagemaker/core/huggingface/llm_utils.py +150 -0
  61. sagemaker/core/huggingface/processing.py +139 -0
  62. sagemaker/core/huggingface/training_compiler/config.py +167 -0
  63. sagemaker/core/hyperparameters.py +172 -0
  64. sagemaker/core/image_retriever/__init__.py +3 -0
  65. sagemaker/core/image_retriever/image_retriever.py +640 -0
  66. sagemaker/core/image_retriever/image_retriever_utils.py +511 -0
  67. sagemaker/core/image_retriever/test.py +7 -0
  68. sagemaker/core/image_uri_config/__init__.py +13 -0
  69. sagemaker/core/image_uri_config/autogluon.json +1335 -0
  70. sagemaker/core/image_uri_config/blazingtext.json +50 -0
  71. sagemaker/core/image_uri_config/chainer.json +104 -0
  72. sagemaker/core/image_uri_config/clarify.json +39 -0
  73. sagemaker/core/image_uri_config/coach-mxnet.json +70 -0
  74. sagemaker/core/image_uri_config/coach-tensorflow.json +186 -0
  75. sagemaker/core/image_uri_config/data-wrangler.json +91 -0
  76. sagemaker/core/image_uri_config/debugger.json +34 -0
  77. sagemaker/core/image_uri_config/detailed-profiler.json +18 -0
  78. sagemaker/core/image_uri_config/djl-deepspeed.json +385 -0
  79. sagemaker/core/image_uri_config/djl-fastertransformer.json +167 -0
  80. sagemaker/core/image_uri_config/djl-lmi.json +136 -0
  81. sagemaker/core/image_uri_config/djl-neuronx.json +258 -0
  82. sagemaker/core/image_uri_config/djl-tensorrtllm.json +262 -0
  83. sagemaker/core/image_uri_config/factorization-machines.json +50 -0
  84. sagemaker/core/image_uri_config/forecasting-deepar.json +50 -0
  85. sagemaker/core/image_uri_config/huggingface-llm-neuronx.json +660 -0
  86. sagemaker/core/image_uri_config/huggingface-llm.json +1158 -0
  87. sagemaker/core/image_uri_config/huggingface-neuron.json +52 -0
  88. sagemaker/core/image_uri_config/huggingface-neuronx.json +510 -0
  89. sagemaker/core/image_uri_config/huggingface-tei-cpu.json +298 -0
  90. sagemaker/core/image_uri_config/huggingface-tei.json +298 -0
  91. sagemaker/core/image_uri_config/huggingface-training-compiler.json +195 -0
  92. sagemaker/core/image_uri_config/huggingface.json +2138 -0
  93. sagemaker/core/image_uri_config/hyperpod-recipes-neuron.json +52 -0
  94. sagemaker/core/image_uri_config/image-classification-neo.json +43 -0
  95. sagemaker/core/image_uri_config/image-classification.json +50 -0
  96. sagemaker/core/image_uri_config/inferentia-mxnet.json +88 -0
  97. sagemaker/core/image_uri_config/inferentia-pytorch.json +127 -0
  98. sagemaker/core/image_uri_config/inferentia-tensorflow.json +88 -0
  99. sagemaker/core/image_uri_config/instance_gpu_info.json +782 -0
  100. sagemaker/core/image_uri_config/ipinsights.json +50 -0
  101. sagemaker/core/image_uri_config/kmeans.json +50 -0
  102. sagemaker/core/image_uri_config/knn.json +50 -0
  103. sagemaker/core/image_uri_config/lda.json +26 -0
  104. sagemaker/core/image_uri_config/linear-learner.json +50 -0
  105. sagemaker/core/image_uri_config/model-monitor.json +42 -0
  106. sagemaker/core/image_uri_config/mxnet.json +1154 -0
  107. sagemaker/core/image_uri_config/neo-mxnet.json +64 -0
  108. sagemaker/core/image_uri_config/neo-pytorch.json +341 -0
  109. sagemaker/core/image_uri_config/neo-tensorflow.json +109 -0
  110. sagemaker/core/image_uri_config/ntm.json +50 -0
  111. sagemaker/core/image_uri_config/object-detection.json +50 -0
  112. sagemaker/core/image_uri_config/object2vec.json +50 -0
  113. sagemaker/core/image_uri_config/pca.json +50 -0
  114. sagemaker/core/image_uri_config/pytorch-neuron.json +43 -0
  115. sagemaker/core/image_uri_config/pytorch-smp.json +218 -0
  116. sagemaker/core/image_uri_config/pytorch-training-compiler.json +80 -0
  117. sagemaker/core/image_uri_config/pytorch.json +3101 -0
  118. sagemaker/core/image_uri_config/randomcutforest.json +50 -0
  119. sagemaker/core/image_uri_config/ray-pytorch.json +46 -0
  120. sagemaker/core/image_uri_config/ray-tensorflow.json +194 -0
  121. sagemaker/core/image_uri_config/sagemaker-base-python.json +46 -0
  122. sagemaker/core/image_uri_config/sagemaker-distribution.json +37 -0
  123. sagemaker/core/image_uri_config/sagemaker-geospatial.json +13 -0
  124. sagemaker/core/image_uri_config/sagemaker-tritonserver.json +212 -0
  125. sagemaker/core/image_uri_config/semantic-segmentation.json +50 -0
  126. sagemaker/core/image_uri_config/seq2seq.json +50 -0
  127. sagemaker/core/image_uri_config/sklearn.json +446 -0
  128. sagemaker/core/image_uri_config/spark.json +280 -0
  129. sagemaker/core/image_uri_config/sparkml-serving.json +97 -0
  130. sagemaker/core/image_uri_config/stabilityai.json +53 -0
  131. sagemaker/core/image_uri_config/tensorflow.json +5086 -0
  132. sagemaker/core/image_uri_config/vw.json +25 -0
  133. sagemaker/core/image_uri_config/xgboost-neo.json +43 -0
  134. sagemaker/core/image_uri_config/xgboost.json +888 -0
  135. sagemaker/core/image_uris.py +810 -0
  136. sagemaker/core/inference_config.py +144 -0
  137. sagemaker/core/inference_recommender/__init__.py +18 -0
  138. sagemaker/core/inference_recommender/inference_recommender_mixin.py +622 -0
  139. sagemaker/core/inputs.py +366 -0
  140. sagemaker/core/instance_group.py +61 -0
  141. sagemaker/core/instance_types.py +164 -0
  142. sagemaker/core/instance_types_gpu_info.py +43 -0
  143. sagemaker/core/interactive_apps/__init__.py +41 -0
  144. sagemaker/core/interactive_apps/base_interactive_app.py +204 -0
  145. sagemaker/core/interactive_apps/detail_profiler_app.py +139 -0
  146. sagemaker/core/interactive_apps/tensorboard.py +149 -0
  147. sagemaker/core/iterators.py +186 -0
  148. sagemaker/core/job.py +380 -0
  149. sagemaker/core/jumpstart/__init__.py +156 -0
  150. sagemaker/core/jumpstart/accessors.py +390 -0
  151. sagemaker/core/jumpstart/artifacts/__init__.py +69 -0
  152. sagemaker/core/jumpstart/artifacts/environment_variables.py +252 -0
  153. sagemaker/core/jumpstart/artifacts/hyperparameters.py +120 -0
  154. sagemaker/core/jumpstart/artifacts/image_uris.py +139 -0
  155. sagemaker/core/jumpstart/artifacts/incremental_training.py +87 -0
  156. sagemaker/core/jumpstart/artifacts/instance_types.py +223 -0
  157. sagemaker/core/jumpstart/artifacts/kwargs.py +289 -0
  158. sagemaker/core/jumpstart/artifacts/metric_definitions.py +117 -0
  159. sagemaker/core/jumpstart/artifacts/model_packages.py +202 -0
  160. sagemaker/core/jumpstart/artifacts/model_uris.py +252 -0
  161. sagemaker/core/jumpstart/artifacts/payloads.py +96 -0
  162. sagemaker/core/jumpstart/artifacts/predictors.py +540 -0
  163. sagemaker/core/jumpstart/artifacts/resource_names.py +86 -0
  164. sagemaker/core/jumpstart/artifacts/resource_requirements.py +162 -0
  165. sagemaker/core/jumpstart/artifacts/script_uris.py +172 -0
  166. sagemaker/core/jumpstart/cache.py +663 -0
  167. sagemaker/core/jumpstart/configs.py +50 -0
  168. sagemaker/core/jumpstart/constants.py +198 -0
  169. sagemaker/core/jumpstart/deserializers.py +81 -0
  170. sagemaker/core/jumpstart/document.py +76 -0
  171. sagemaker/core/jumpstart/enums.py +168 -0
  172. sagemaker/core/jumpstart/exceptions.py +236 -0
  173. sagemaker/core/jumpstart/factory/utils.py +833 -0
  174. sagemaker/core/jumpstart/filters.py +597 -0
  175. sagemaker/core/jumpstart/hub/__init__.py +0 -0
  176. sagemaker/core/jumpstart/hub/constants.py +16 -0
  177. sagemaker/core/jumpstart/hub/hub.py +291 -0
  178. sagemaker/core/jumpstart/hub/interfaces.py +936 -0
  179. sagemaker/core/jumpstart/hub/parser_utils.py +70 -0
  180. sagemaker/core/jumpstart/hub/parsers.py +288 -0
  181. sagemaker/core/jumpstart/hub/types.py +35 -0
  182. sagemaker/core/jumpstart/hub/utils.py +260 -0
  183. sagemaker/core/jumpstart/models.py +499 -0
  184. sagemaker/core/jumpstart/notebook_utils.py +575 -0
  185. sagemaker/core/jumpstart/parameters.py +20 -0
  186. sagemaker/core/jumpstart/payload_utils.py +239 -0
  187. sagemaker/core/jumpstart/region_config.json +163 -0
  188. sagemaker/core/jumpstart/search.py +171 -0
  189. sagemaker/core/jumpstart/serializers.py +81 -0
  190. sagemaker/core/jumpstart/session_utils.py +234 -0
  191. sagemaker/core/jumpstart/types.py +3044 -0
  192. sagemaker/core/jumpstart/utils.py +1731 -0
  193. sagemaker/core/jumpstart/validators.py +257 -0
  194. sagemaker/core/lambda_helper.py +312 -0
  195. sagemaker/core/lineage/__init__.py +42 -0
  196. sagemaker/core/lineage/_api_types.py +239 -0
  197. sagemaker/core/lineage/_utils.py +49 -0
  198. sagemaker/core/lineage/action.py +345 -0
  199. sagemaker/core/lineage/artifact.py +646 -0
  200. sagemaker/core/lineage/association.py +190 -0
  201. sagemaker/core/lineage/context.py +505 -0
  202. sagemaker/core/lineage/lineage_trial_component.py +191 -0
  203. sagemaker/core/lineage/query.py +732 -0
  204. sagemaker/core/lineage/visualizer.py +346 -0
  205. sagemaker/core/local/__init__.py +18 -0
  206. sagemaker/core/local/data.py +413 -0
  207. sagemaker/core/local/entities.py +678 -0
  208. sagemaker/core/local/exceptions.py +17 -0
  209. sagemaker/core/local/image.py +1243 -0
  210. sagemaker/core/local/local_session.py +739 -0
  211. sagemaker/core/local/utils.py +245 -0
  212. sagemaker/core/logs.py +181 -0
  213. sagemaker/core/metadata_properties.py +56 -0
  214. sagemaker/core/metric_definitions.py +91 -0
  215. sagemaker/core/mlflow/__init__.py +38 -0
  216. sagemaker/core/mlflow/forward_sagemaker_metrics.py +44 -0
  217. sagemaker/core/model_card/__init__.py +26 -0
  218. sagemaker/core/model_life_cycle.py +51 -0
  219. sagemaker/core/model_metrics.py +160 -0
  220. sagemaker/core/model_monitor/__init__.py +66 -0
  221. sagemaker/core/model_monitor/clarify_model_monitoring.py +1495 -0
  222. sagemaker/core/model_monitor/cron_expression_generator.py +82 -0
  223. sagemaker/core/model_monitor/data_capture_config.py +115 -0
  224. sagemaker/core/model_monitor/data_quality_monitoring_config.py +66 -0
  225. sagemaker/core/model_monitor/dataset_format.py +102 -0
  226. sagemaker/core/model_monitor/model_monitoring.py +4266 -0
  227. sagemaker/core/model_monitor/monitoring_alert.py +76 -0
  228. sagemaker/core/model_monitor/monitoring_files.py +506 -0
  229. sagemaker/core/model_monitor/utils.py +793 -0
  230. sagemaker/core/model_registry.py +480 -0
  231. sagemaker/core/model_uris.py +97 -0
  232. sagemaker/core/modules/__init__.py +19 -0
  233. sagemaker/core/modules/configs.py +226 -0
  234. sagemaker/core/modules/constants.py +37 -0
  235. sagemaker/core/modules/distributed.py +182 -0
  236. sagemaker/core/modules/local_core/__init__.py +0 -0
  237. sagemaker/core/modules/local_core/local_container.py +605 -0
  238. sagemaker/core/modules/templates.py +83 -0
  239. sagemaker/core/modules/train/__init__.py +14 -0
  240. sagemaker/core/modules/train/container_drivers/__init__.py +14 -0
  241. sagemaker/core/modules/train/container_drivers/common/__init__.py +14 -0
  242. sagemaker/core/modules/train/container_drivers/common/utils.py +213 -0
  243. sagemaker/core/modules/train/container_drivers/distributed_drivers/__init__.py +14 -0
  244. sagemaker/core/modules/train/container_drivers/distributed_drivers/basic_script_driver.py +81 -0
  245. sagemaker/core/modules/train/container_drivers/distributed_drivers/mpi_driver.py +123 -0
  246. sagemaker/core/modules/train/container_drivers/distributed_drivers/mpi_utils.py +302 -0
  247. sagemaker/core/modules/train/container_drivers/distributed_drivers/torchrun_driver.py +129 -0
  248. sagemaker/core/modules/train/container_drivers/scripts/__init__.py +14 -0
  249. sagemaker/core/modules/train/container_drivers/scripts/environment.py +305 -0
  250. sagemaker/core/modules/train/sm_recipes/__init__.py +0 -0
  251. sagemaker/core/modules/train/sm_recipes/utils.py +330 -0
  252. sagemaker/core/modules/types.py +19 -0
  253. sagemaker/core/modules/utils.py +194 -0
  254. sagemaker/core/network.py +185 -0
  255. sagemaker/core/parameter.py +173 -0
  256. sagemaker/core/payloads.py +185 -0
  257. sagemaker/core/processing.py +1597 -0
  258. sagemaker/core/remote_function/__init__.py +19 -0
  259. sagemaker/core/remote_function/checkpoint_location.py +47 -0
  260. sagemaker/core/remote_function/client.py +1285 -0
  261. sagemaker/core/remote_function/core/__init__.py +0 -0
  262. sagemaker/core/remote_function/core/_custom_dispatch_table.py +72 -0
  263. sagemaker/core/remote_function/core/pipeline_variables.py +353 -0
  264. sagemaker/core/remote_function/core/serialization.py +422 -0
  265. sagemaker/core/remote_function/core/stored_function.py +226 -0
  266. sagemaker/core/remote_function/custom_file_filter.py +128 -0
  267. sagemaker/core/remote_function/errors.py +104 -0
  268. sagemaker/core/remote_function/invoke_function.py +172 -0
  269. sagemaker/core/remote_function/job.py +2140 -0
  270. sagemaker/core/remote_function/logging_config.py +38 -0
  271. sagemaker/core/remote_function/runtime_environment/__init__.py +14 -0
  272. sagemaker/core/remote_function/runtime_environment/bootstrap_runtime_environment.py +605 -0
  273. sagemaker/core/remote_function/runtime_environment/mpi_utils_remote.py +252 -0
  274. sagemaker/core/remote_function/runtime_environment/runtime_environment_manager.py +554 -0
  275. sagemaker/core/remote_function/runtime_environment/spark_app.py +18 -0
  276. sagemaker/core/remote_function/spark_config.py +149 -0
  277. sagemaker/core/resource_requirements.py +168 -0
  278. {sagemaker_core/main → sagemaker/core}/resources.py +20121 -11728
  279. sagemaker/core/s3/__init__.py +41 -0
  280. sagemaker/core/s3/client.py +367 -0
  281. sagemaker/core/s3/utils.py +175 -0
  282. sagemaker/core/script_uris.py +93 -0
  283. sagemaker/core/serializers/__init__.py +11 -0
  284. sagemaker/core/serializers/base.py +510 -0
  285. sagemaker/core/serializers/implementations.py +159 -0
  286. sagemaker/core/serializers/utils.py +223 -0
  287. sagemaker/core/serverless_inference_config.py +63 -0
  288. sagemaker/core/session_settings.py +55 -0
  289. sagemaker/core/shapes/__init__.py +3 -0
  290. sagemaker/core/shapes/model_card_shapes.py +159 -0
  291. {sagemaker_core/main → sagemaker/core/shapes}/shapes.py +6384 -1865
  292. sagemaker/core/spark/__init__.py +16 -0
  293. sagemaker/core/spark/defaults.py +16 -0
  294. sagemaker/core/spark/processing.py +1380 -0
  295. sagemaker/core/telemetry/__init__.py +23 -0
  296. sagemaker/core/telemetry/constants.py +84 -0
  297. sagemaker/core/telemetry/telemetry_logging.py +284 -0
  298. sagemaker/core/tools/__init__.py +1 -0
  299. {sagemaker_core → sagemaker/core}/tools/codegen.py +4 -4
  300. {sagemaker_core → sagemaker/core}/tools/constants.py +23 -15
  301. {sagemaker_core → sagemaker/core}/tools/data_extractor.py +1 -1
  302. {sagemaker_core → sagemaker/core}/tools/method.py +1 -1
  303. sagemaker/core/tools/model_card/generate_model_card_from_schema.py +562 -0
  304. {sagemaker_core → sagemaker/core}/tools/resources_codegen.py +165 -98
  305. {sagemaker_core → sagemaker/core}/tools/resources_extractor.py +5 -13
  306. {sagemaker_core → sagemaker/core}/tools/shapes_codegen.py +16 -17
  307. {sagemaker_core → sagemaker/core}/tools/shapes_extractor.py +29 -67
  308. {sagemaker_core → sagemaker/core}/tools/templates.py +39 -17
  309. sagemaker/core/training/__init__.py +14 -0
  310. sagemaker/core/training/configs.py +333 -0
  311. sagemaker/core/training/constants.py +37 -0
  312. sagemaker/core/training/utils.py +77 -0
  313. sagemaker/core/training_compiler/__init__.py +16 -0
  314. sagemaker/core/training_compiler/config.py +197 -0
  315. sagemaker/core/training_compiler_config.py +197 -0
  316. sagemaker/core/transformer.py +793 -0
  317. sagemaker/core/user_agent.py +76 -0
  318. sagemaker/core/utilities/__init__.py +24 -0
  319. sagemaker/core/utilities/cache.py +169 -0
  320. sagemaker/core/utilities/search_expression.py +133 -0
  321. sagemaker/core/utils/__init__.py +48 -0
  322. sagemaker/core/utils/code_injection/__init__.py +0 -0
  323. {sagemaker_core/main → sagemaker/core/utils}/code_injection/codec.py +2 -2
  324. {sagemaker_core/main → sagemaker/core/utils}/code_injection/shape_dag.py +6479 -136
  325. {sagemaker_core/main → sagemaker/core/utils}/exceptions.py +8 -8
  326. sagemaker_core/main/default_configs_helper.py → sagemaker/core/utils/intelligent_defaults_helper.py +5 -6
  327. {sagemaker_core/main → sagemaker/core/utils}/logs.py +1 -2
  328. {sagemaker_core/main → sagemaker/core/utils}/utils.py +25 -20
  329. sagemaker/core/workflow/__init__.py +152 -0
  330. sagemaker/core/workflow/conditions.py +313 -0
  331. sagemaker/core/workflow/entities.py +58 -0
  332. sagemaker/core/workflow/execution_variables.py +89 -0
  333. sagemaker/core/workflow/functions.py +193 -0
  334. sagemaker/core/workflow/parameters.py +222 -0
  335. sagemaker/core/workflow/pipeline_context.py +394 -0
  336. sagemaker/core/workflow/pipeline_definition_config.py +31 -0
  337. sagemaker/core/workflow/properties.py +285 -0
  338. sagemaker/core/workflow/step_outputs.py +65 -0
  339. sagemaker/core/workflow/utilities.py +507 -0
  340. sagemaker/lineage/__init__.py +33 -0
  341. sagemaker/lineage/action.py +28 -0
  342. sagemaker/lineage/artifact.py +28 -0
  343. sagemaker/lineage/context.py +28 -0
  344. sagemaker/lineage/lineage_trial_component.py +28 -0
  345. {sagemaker_core-1.0.47.dist-info → sagemaker_core-2.1.1.dist-info}/METADATA +28 -9
  346. sagemaker_core-2.1.1.dist-info/RECORD +355 -0
  347. sagemaker_core-2.1.1.dist-info/top_level.txt +1 -0
  348. sagemaker_core/__init__.py +0 -4
  349. sagemaker_core/_version.py +0 -3
  350. sagemaker_core/helper/session_helper.py +0 -769
  351. sagemaker_core/resources/__init__.py +0 -1
  352. sagemaker_core/shapes/__init__.py +0 -1
  353. sagemaker_core/tools/__init__.py +0 -1
  354. sagemaker_core-1.0.47.dist-info/RECORD +0 -35
  355. sagemaker_core-1.0.47.dist-info/top_level.txt +0 -1
  356. {sagemaker_core → sagemaker/core}/helper/__init__.py +0 -0
  357. {sagemaker_core/main → sagemaker/core/huggingface/training_compiler}/__init__.py +0 -0
  358. {sagemaker_core/main/code_injection → sagemaker/core/jumpstart/factory}/__init__.py +0 -0
  359. {sagemaker_core/main → sagemaker/core/utils}/code_injection/base.py +0 -0
  360. {sagemaker_core/main → sagemaker/core/utils}/code_injection/constants.py +0 -0
  361. {sagemaker_core/main → sagemaker/core/utils}/user_agent.py +0 -0
  362. {sagemaker_core-1.0.47.dist-info → sagemaker_core-2.1.1.dist-info}/WHEEL +0 -0
  363. {sagemaker_core-1.0.47.dist-info → sagemaker_core-2.1.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,76 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+ """This module contains code related to the MonitoringAlerts."""
14
+ from __future__ import print_function, absolute_import
15
+
16
+ import attr
17
+
18
+
19
+ @attr.define
20
+ class ModelDashboardIndicatorAction(object):
21
+ """An abstraction represents the monitoring dashboard indicator action summary.
22
+
23
+ Attributes:
24
+ enabled (bool): A boolean flag indicating if the model dashboard indicator is enabled or not.
25
+ """
26
+
27
+ enabled: bool = attr.ib()
28
+
29
+
30
+ @attr.define
31
+ class MonitoringAlertActions(object):
32
+ """An abstraction represents the monitoring action.
33
+
34
+ Attributes:
35
+ model_dashboard_indicator (ModelDashboardIndicatorAction):
36
+ """
37
+
38
+ model_dashboard_indicator: ModelDashboardIndicatorAction = attr.ib()
39
+
40
+
41
+ @attr.define
42
+ class MonitoringAlertSummary(object):
43
+ """An abstraction represents the monitoring alert summary.
44
+
45
+ Attributes:
46
+ alert_name (str): Monitoring alert name.
47
+ creation_time (str): Creation time of the alert.
48
+ last_modified_time (str): Last modified time of the alert.
49
+ alert_status (str): Alert status, either InAlert or Ok.
50
+ data_points_to_alert (int): Data points to evaluate to determine the alert status.
51
+ evaluation_period (int): Period to evaluate the alert status.
52
+ actions (MonitoringAlertActions): A list of actions to take when monitoring is InAlert
53
+ """
54
+
55
+ alert_name: str = attr.ib()
56
+ creation_time: str = attr.ib()
57
+ last_modified_time: str = attr.ib()
58
+ alert_status: str = attr.ib()
59
+ data_points_to_alert: int = attr.ib()
60
+ evaluation_period: int = attr.ib()
61
+ actions: MonitoringAlertActions = attr.ib()
62
+
63
+
64
+ @attr.define
65
+ class MonitoringAlertHistorySummary(object):
66
+ """An abstraction represents the monitoring alert history summary.
67
+
68
+ Attributes:
69
+ alert_name (str): Monitoring alert name.
70
+ creation_time (str): Creation time of the alert.
71
+ alert_status (str): Alert status, either InAlert or Ok.
72
+ """
73
+
74
+ alert_name: str = attr.ib()
75
+ creation_time: str = attr.ib()
76
+ alert_status: str = attr.ib()
@@ -0,0 +1,506 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+ """This module contains code related to the ModelMonitoringFile class.
14
+
15
+ Codes are used for managing the constraints and statistics JSON files generated and consumed by
16
+ Amazon SageMaker Model Monitoring Schedules.
17
+ """
18
+ from __future__ import print_function, absolute_import
19
+
20
+ import json
21
+ import logging
22
+ import os
23
+ import uuid
24
+
25
+ from botocore.exceptions import ClientError
26
+
27
+ from sagemaker.core import s3
28
+ from sagemaker.core.helper.session_helper import Session
29
+
30
+ NO_SUCH_KEY_CODE = "NoSuchKey"
31
+
32
+ logger = logging.getLogger(__name__)
33
+
34
+
35
+ class ModelMonitoringFile(object):
36
+ """Represents a file with a body and an S3 uri."""
37
+
38
+ def __init__(self, body_dict, file_s3_uri, kms_key, sagemaker_session):
39
+ """Initializes a file with a body and an S3 uri.
40
+
41
+ Args:
42
+ body_dict (str): The body of the JSON file.
43
+ file_s3_uri (str): The uri of the JSON file.
44
+ kms_key (str): The kms key to be used to decrypt the file in S3.
45
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
46
+ object, used for SageMaker interactions (default: None). If not
47
+ specified, one is created using the default AWS configuration
48
+ chain.
49
+
50
+ """
51
+ self.body_dict = body_dict
52
+ self.file_s3_uri = file_s3_uri
53
+ self.kms_key = kms_key
54
+ self.session = sagemaker_session
55
+
56
+ def save(self, new_save_location_s3_uri=None):
57
+ """Save the current instance's body to s3 using the instance's s3 path.
58
+
59
+ The S3 path can be overridden by providing one. This also overrides the
60
+ default save location for this object.
61
+
62
+ Args:
63
+ new_save_location_s3_uri (str): Optional. The S3 path to save the file to. If not
64
+ provided, the file is saved in place in S3. If provided, the file's S3 path is
65
+ permanently updated.
66
+
67
+ Returns:
68
+ str: The s3 location to which the file was saved.
69
+
70
+ """
71
+ if new_save_location_s3_uri is not None:
72
+ self.file_s3_uri = new_save_location_s3_uri
73
+
74
+ return s3.S3Uploader.upload_string_as_file_body(
75
+ body=json.dumps(self.body_dict),
76
+ desired_s3_uri=self.file_s3_uri,
77
+ kms_key=self.kms_key,
78
+ sagemaker_session=self.session,
79
+ )
80
+
81
+
82
+ class Statistics(ModelMonitoringFile):
83
+ """Represents the statistics JSON file used in Amazon SageMaker Model Monitoring."""
84
+
85
+ def __init__(self, body_dict, statistics_file_s3_uri, kms_key=None, sagemaker_session=None):
86
+ """Initializes the Statistics object used in Amazon SageMaker Model Monitoring.
87
+
88
+ Args:
89
+ body_dict (str): The body of the statistics JSON file.
90
+ statistics_file_s3_uri (str): The uri of the statistics JSON file.
91
+ kms_key (str): The kms key to be used to decrypt the file in S3.
92
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
93
+ object, used for SageMaker interactions (default: None). If not
94
+ specified, one is created using the default AWS configuration
95
+ chain.
96
+
97
+ """
98
+ super(Statistics, self).__init__(
99
+ body_dict=body_dict,
100
+ file_s3_uri=statistics_file_s3_uri,
101
+ kms_key=kms_key,
102
+ sagemaker_session=sagemaker_session,
103
+ )
104
+
105
+ @classmethod
106
+ def from_s3_uri(cls, statistics_file_s3_uri, kms_key=None, sagemaker_session=None):
107
+ """Generates a Statistics object from an s3 uri.
108
+
109
+ Args:
110
+ statistics_file_s3_uri (str): The uri of the statistics JSON file.
111
+ kms_key (str): The kms key to be used to decrypt the file in S3.
112
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
113
+ object, used for SageMaker interactions (default: None). If not
114
+ specified, one is created using the default AWS configuration
115
+ chain.
116
+
117
+ Returns:
118
+ sagemaker.model_monitor.Statistics: The instance of Statistics generated from
119
+ the s3 uri.
120
+
121
+ """
122
+ try:
123
+ body_dict = json.loads(
124
+ s3.S3Downloader.read_file(
125
+ s3_uri=statistics_file_s3_uri, sagemaker_session=sagemaker_session
126
+ )
127
+ )
128
+ except ClientError as error:
129
+ logger.warning(
130
+ "\nCould not retrieve statistics file at location '%s'. "
131
+ "To manually retrieve Statistics object from a given uri, "
132
+ "use 'my_model_monitor.statistics(my_s3_uri)' or "
133
+ "'Statistics.from_s3_uri(my_s3_uri)'",
134
+ statistics_file_s3_uri,
135
+ )
136
+ raise error
137
+
138
+ return cls(
139
+ body_dict=body_dict, statistics_file_s3_uri=statistics_file_s3_uri, kms_key=kms_key
140
+ )
141
+
142
+ @classmethod
143
+ def from_string(
144
+ cls, statistics_file_string, kms_key=None, file_name=None, sagemaker_session=None
145
+ ):
146
+ """Generates a Statistics object from an s3 uri.
147
+
148
+ Args:
149
+ statistics_file_string (str): The uri of the statistics JSON file.
150
+ kms_key (str): The kms key to be used to encrypt the file in S3.
151
+ file_name (str): The file name to use when uploading to S3.
152
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
153
+ object, used for SageMaker interactions (default: None). If not
154
+ specified, one is created using the default AWS configuration
155
+ chain.
156
+
157
+ Returns:
158
+ sagemaker.model_monitor.Statistics: The instance of Statistics generated from
159
+ the s3 uri.
160
+
161
+ """
162
+ sagemaker_session = sagemaker_session or Session()
163
+ file_name = file_name or "statistics.json"
164
+ desired_s3_uri = s3.s3_path_join(
165
+ "s3://",
166
+ sagemaker_session.default_bucket(),
167
+ sagemaker_session.default_bucket_prefix,
168
+ "monitoring",
169
+ str(uuid.uuid4()),
170
+ file_name,
171
+ )
172
+ s3_uri = s3.S3Uploader.upload_string_as_file_body(
173
+ body=statistics_file_string,
174
+ desired_s3_uri=desired_s3_uri,
175
+ kms_key=kms_key,
176
+ sagemaker_session=sagemaker_session,
177
+ )
178
+
179
+ return Statistics.from_s3_uri(
180
+ statistics_file_s3_uri=s3_uri, kms_key=kms_key, sagemaker_session=sagemaker_session
181
+ )
182
+
183
+ @classmethod
184
+ def from_file_path(cls, statistics_file_path, kms_key=None, sagemaker_session=None):
185
+ """Initializes a Statistics object from a file path.
186
+
187
+ Args:
188
+ statistics_file_path (str): The path to the statistics file.
189
+ kms_key (str): The kms_key to use when encrypting the file in S3.
190
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
191
+ object, used for SageMaker interactions (default: None). If not
192
+ specified, one is created using the default AWS configuration
193
+ chain.
194
+
195
+ Returns:
196
+ sagemaker.model_monitor.Statistics: The instance of Statistics generated from
197
+ the local file path.
198
+
199
+ """
200
+ file_name = os.path.basename(statistics_file_path)
201
+
202
+ with open(statistics_file_path, "r") as f:
203
+ file_body = f.read()
204
+
205
+ return Statistics.from_string(
206
+ statistics_file_string=file_body,
207
+ file_name=file_name,
208
+ kms_key=kms_key,
209
+ sagemaker_session=sagemaker_session,
210
+ )
211
+
212
+
213
+ class Constraints(ModelMonitoringFile):
214
+ """Represents the constraints JSON file used in Amazon SageMaker Model Monitoring."""
215
+
216
+ def __init__(self, body_dict, constraints_file_s3_uri, kms_key=None, sagemaker_session=None):
217
+ """Initializes the Constraints object used in Amazon SageMaker Model Monitoring.
218
+
219
+ Args:
220
+ body_dict (str): The body of the constraints JSON file.
221
+ constraints_file_s3_uri (str): The uri of the constraints JSON file.
222
+ kms_key (str): The kms key to be used to decrypt the file in S3.
223
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
224
+ object, used for SageMaker interactions (default: None). If not
225
+ specified, one is created using the default AWS configuration
226
+ chain.
227
+
228
+ """
229
+ super(Constraints, self).__init__(
230
+ body_dict=body_dict,
231
+ file_s3_uri=constraints_file_s3_uri,
232
+ kms_key=kms_key,
233
+ sagemaker_session=sagemaker_session,
234
+ )
235
+
236
+ @classmethod
237
+ def from_s3_uri(cls, constraints_file_s3_uri, kms_key=None, sagemaker_session=None):
238
+ """Generates a Constraints object from an s3 uri.
239
+
240
+ Args:
241
+ constraints_file_s3_uri (str): The uri of the constraints JSON file.
242
+ kms_key (str): The kms key to be used to decrypt the file in S3.
243
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
244
+ object, used for SageMaker interactions (default: None). If not
245
+ specified, one is created using the default AWS configuration
246
+ chain.
247
+
248
+ Returns:
249
+ sagemaker.model_monitor.Constraints: The instance of Constraints generated from
250
+ the s3 uri.
251
+
252
+ """
253
+ try:
254
+ body_dict = json.loads(
255
+ s3.S3Downloader.read_file(
256
+ s3_uri=constraints_file_s3_uri, sagemaker_session=sagemaker_session
257
+ )
258
+ )
259
+ except ClientError as error:
260
+ logger.warning(
261
+ "\nCould not retrieve constraints file at location '%s'. "
262
+ "To manually retrieve Constraints object from a given uri, "
263
+ "use 'my_model_monitor.constraints(my_s3_uri)' or "
264
+ "'Constraints.from_s3_uri(my_s3_uri)'",
265
+ constraints_file_s3_uri,
266
+ )
267
+ raise error
268
+
269
+ return cls(
270
+ body_dict=body_dict,
271
+ constraints_file_s3_uri=constraints_file_s3_uri,
272
+ kms_key=kms_key,
273
+ sagemaker_session=sagemaker_session,
274
+ )
275
+
276
+ @classmethod
277
+ def from_string(
278
+ cls, constraints_file_string, kms_key=None, file_name=None, sagemaker_session=None
279
+ ):
280
+ """Generates a Constraints object from an s3 uri.
281
+
282
+ Args:
283
+ constraints_file_string (str): The uri of the constraints JSON file.
284
+ kms_key (str): The kms key to be used to encrypt the file in S3.
285
+ file_name (str): The file name to use when uploading to S3.
286
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
287
+ object, used for SageMaker interactions (default: None). If not
288
+ specified, one is created using the default AWS configuration
289
+ chain.
290
+
291
+ Returns:
292
+ sagemaker.model_monitor.Constraints: The instance of Constraints generated from
293
+ the s3 uri.
294
+
295
+ """
296
+ sagemaker_session = sagemaker_session or Session()
297
+ file_name = file_name or "constraints.json"
298
+ desired_s3_uri = s3.s3_path_join(
299
+ "s3://",
300
+ sagemaker_session.default_bucket(),
301
+ sagemaker_session.default_bucket_prefix,
302
+ "monitoring",
303
+ str(uuid.uuid4()),
304
+ file_name,
305
+ )
306
+ s3_uri = s3.S3Uploader.upload_string_as_file_body(
307
+ body=constraints_file_string,
308
+ desired_s3_uri=desired_s3_uri,
309
+ kms_key=kms_key,
310
+ sagemaker_session=sagemaker_session,
311
+ )
312
+
313
+ return Constraints.from_s3_uri(
314
+ constraints_file_s3_uri=s3_uri, kms_key=kms_key, sagemaker_session=sagemaker_session
315
+ )
316
+
317
+ @classmethod
318
+ def from_file_path(cls, constraints_file_path, kms_key=None, sagemaker_session=None):
319
+ """Initializes a Constraints object from a file path.
320
+
321
+ Args:
322
+ constraints_file_path (str): The path to the constraints file.
323
+ kms_key (str): The kms_key to use when encrypting the file in S3.
324
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
325
+ object, used for SageMaker interactions (default: None). If not
326
+ specified, one is created using the default AWS configuration
327
+ chain.
328
+
329
+ Returns:
330
+ sagemaker.model_monitor.Constraints: The instance of Constraints generated from
331
+ the local file path.
332
+
333
+ """
334
+ file_name = os.path.basename(constraints_file_path)
335
+
336
+ with open(constraints_file_path, "r") as f:
337
+ file_body = f.read()
338
+
339
+ return Constraints.from_string(
340
+ constraints_file_string=file_body,
341
+ file_name=file_name,
342
+ kms_key=kms_key,
343
+ sagemaker_session=sagemaker_session,
344
+ )
345
+
346
+ def set_monitoring(self, enable_monitoring, feature_name=None):
347
+ """Sets the monitoring flags on this Constraints object.
348
+
349
+ If feature-name is provided, modify the feature-level override.
350
+ Else, modify the top-level monitoring flag.
351
+
352
+ Args:
353
+ enable_monitoring (bool): Whether to enable monitoring or not.
354
+ feature_name (str): Sets the feature-level monitoring flag if provided. Otherwise,
355
+ sets the file-level override.
356
+
357
+ """
358
+ monitoring_api_map = {True: "Enabled", False: "Disabled"}
359
+ flag = monitoring_api_map[enable_monitoring]
360
+ if feature_name is None:
361
+ self.body_dict["monitoring_config"]["evaluate_constraints"] = flag
362
+ else:
363
+ for feature in self.body_dict["features"]:
364
+ if feature["name"] == feature_name:
365
+ string_constraints = feature["string_constraints"]
366
+ if string_constraints.get("monitoring_config_overrides") is None:
367
+ string_constraints["monitoring_config_overrides"] = {}
368
+ string_constraints["monitoring_config_overrides"]["evaluate_constraints"] = flag
369
+
370
+
371
+ class ConstraintViolations(ModelMonitoringFile):
372
+ """Represents the constraint violations JSON file used in Amazon SageMaker Model Monitoring."""
373
+
374
+ def __init__(
375
+ self, body_dict, constraint_violations_file_s3_uri, kms_key=None, sagemaker_session=None
376
+ ):
377
+ """Initializes the ConstraintViolations object used in Amazon SageMaker Model Monitoring.
378
+
379
+ Args:
380
+ body_dict (str): The body of the constraint violations JSON file.
381
+ constraint_violations_file_s3_uri (str): The uri of the constraint violations JSON file.
382
+ kms_key (str): The kms key to be used to decrypt the file in S3.
383
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
384
+ object, used for SageMaker interactions (default: None). If not
385
+ specified, one is created using the default AWS configuration
386
+ chain.
387
+
388
+ """
389
+ super(ConstraintViolations, self).__init__(
390
+ body_dict=body_dict,
391
+ file_s3_uri=constraint_violations_file_s3_uri,
392
+ kms_key=kms_key,
393
+ sagemaker_session=sagemaker_session,
394
+ )
395
+
396
+ @classmethod
397
+ def from_s3_uri(cls, constraint_violations_file_s3_uri, kms_key=None, sagemaker_session=None):
398
+ """Generates a ConstraintViolations object from an s3 uri.
399
+
400
+ Args:
401
+ constraint_violations_file_s3_uri (str): The uri of the constraint violations JSON file.
402
+ kms_key (str): The kms key to be used to decrypt the file in S3.
403
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
404
+ object, used for SageMaker interactions (default: None). If not
405
+ specified, one is created using the default AWS configuration
406
+ chain.
407
+
408
+ Returns:
409
+ sagemaker.model_monitor.ConstraintViolations: The instance of ConstraintViolations
410
+ generated from the s3 uri.
411
+
412
+ """
413
+ try:
414
+ body_dict = json.loads(
415
+ s3.S3Downloader.read_file(
416
+ s3_uri=constraint_violations_file_s3_uri, sagemaker_session=sagemaker_session
417
+ )
418
+ )
419
+ except ClientError as error:
420
+ print(
421
+ "\nCould not retrieve constraints file at location '{}'. "
422
+ "To manually retrieve ConstraintViolations object from a given uri, "
423
+ "use 'my_model_monitor.constraints(my_s3_uri)' or "
424
+ "'ConstraintViolations.from_s3_uri(my_s3_uri)'".format(
425
+ constraint_violations_file_s3_uri
426
+ )
427
+ )
428
+ raise error
429
+
430
+ return cls(
431
+ body_dict=body_dict,
432
+ constraint_violations_file_s3_uri=constraint_violations_file_s3_uri,
433
+ kms_key=kms_key,
434
+ )
435
+
436
+ @classmethod
437
+ def from_string(
438
+ cls, constraint_violations_file_string, kms_key=None, file_name=None, sagemaker_session=None
439
+ ):
440
+ """Generates a ConstraintViolations object from an s3 uri.
441
+
442
+ Args:
443
+ constraint_violations_file_string (str): The uri of the constraint violations JSON file.
444
+ kms_key (str): The kms key to be used to encrypt the file in S3.
445
+ file_name (str): The file name to use when uploading to S3.
446
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
447
+ object, used for SageMaker interactions (default: None). If not
448
+ specified, one is created using the default AWS configuration
449
+ chain.
450
+
451
+ Returns:
452
+ sagemaker.model_monitor.ConstraintViolations: The instance of ConstraintViolations
453
+ generated from the s3 uri.
454
+
455
+ """
456
+ sagemaker_session = sagemaker_session or Session()
457
+ file_name = file_name or "constraint_violations.json"
458
+ desired_s3_uri = s3.s3_path_join(
459
+ "s3://",
460
+ sagemaker_session.default_bucket(),
461
+ sagemaker_session.default_bucket_prefix,
462
+ "monitoring",
463
+ str(uuid.uuid4()),
464
+ file_name,
465
+ )
466
+ s3_uri = s3.S3Uploader.upload_string_as_file_body(
467
+ body=constraint_violations_file_string,
468
+ desired_s3_uri=desired_s3_uri,
469
+ kms_key=kms_key,
470
+ sagemaker_session=sagemaker_session,
471
+ )
472
+
473
+ return ConstraintViolations.from_s3_uri(
474
+ constraint_violations_file_s3_uri=s3_uri,
475
+ kms_key=kms_key,
476
+ sagemaker_session=sagemaker_session,
477
+ )
478
+
479
+ @classmethod
480
+ def from_file_path(cls, constraint_violations_file_path, kms_key=None, sagemaker_session=None):
481
+ """Initializes a ConstraintViolations object from a file path.
482
+
483
+ Args:
484
+ constraint_violations_file_path (str): The path to the constraint violations file.
485
+ kms_key (str): The kms_key to use when encrypting the file in S3.
486
+ sagemaker_session (sagemaker.core.helper.session.Session): A SageMaker Session
487
+ object, used for SageMaker interactions (default: None). If not
488
+ specified, one is created using the default AWS configuration
489
+ chain.
490
+
491
+ Returns:
492
+ sagemaker.model_monitor.ConstraintViolations: The instance of ConstraintViolations
493
+ generated from the local file path.
494
+
495
+ """
496
+ file_name = os.path.basename(constraint_violations_file_path)
497
+
498
+ with open(constraint_violations_file_path, "r") as f:
499
+ file_body = f.read()
500
+
501
+ return ConstraintViolations.from_string(
502
+ constraint_violations_file_string=file_body,
503
+ file_name=file_name,
504
+ kms_key=kms_key,
505
+ sagemaker_session=sagemaker_session,
506
+ )