sagemaker 2.166.0__tar.gz → 2.167.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 (414) hide show
  1. {sagemaker-2.166.0/src/sagemaker.egg-info → sagemaker-2.167.0}/PKG-INFO +2 -1
  2. sagemaker-2.167.0/VERSION +1 -0
  3. sagemaker-2.167.0/requirements/extras/feature-processor_requirements.txt +2 -0
  4. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/extras/test_requirements.txt +2 -0
  5. {sagemaker-2.166.0 → sagemaker-2.167.0}/setup.py +3 -0
  6. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/estimator.py +36 -0
  7. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/__init__.py +35 -0
  8. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_config_uploader.py +180 -0
  9. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_constants.py +42 -0
  10. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_data_source.py +88 -0
  11. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_enums.py +23 -0
  12. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_env.py +78 -0
  13. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_event_bridge_scheduler_helper.py +118 -0
  14. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_exceptions.py +18 -0
  15. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_factory.py +151 -0
  16. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_feature_processor_config.py +64 -0
  17. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_input_loader.py +366 -0
  18. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_input_offset_parser.py +127 -0
  19. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_params_loader.py +83 -0
  20. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_spark_factory.py +189 -0
  21. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_udf_arg_provider.py +221 -0
  22. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_udf_output_receiver.py +98 -0
  23. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_udf_wrapper.py +88 -0
  24. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/_validation.py +174 -0
  25. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/feature_processor.py +117 -0
  26. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/feature_scheduler.py +792 -0
  27. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_feature_group_contexts.py +31 -0
  28. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_feature_group_lineage_entity_handler.py +184 -0
  29. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_feature_processor_lineage.py +632 -0
  30. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_feature_processor_lineage_name_helper.py +95 -0
  31. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_lineage_association_handler.py +300 -0
  32. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_lineage_entity_handler.py +105 -0
  33. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_schedule.py +44 -0
  34. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_pipeline_version_lineage_entity_handler.py +92 -0
  35. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_s3_lineage_entity_handler.py +249 -0
  36. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/_transformation_code.py +31 -0
  37. sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage/constants.py +43 -0
  38. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/spark.json +30 -0
  39. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/estimator.py +13 -7
  40. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/model.py +13 -7
  41. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/client.py +54 -34
  42. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/job.py +510 -13
  43. sagemaker-2.167.0/src/sagemaker/remote_function/runtime_environment/spark_app.py +18 -0
  44. sagemaker-2.167.0/src/sagemaker/remote_function/spark_config.py +62 -0
  45. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/session.py +22 -0
  46. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/spark/processing.py +88 -56
  47. sagemaker-2.167.0/src/sagemaker/wrangler/__init__.py +0 -0
  48. {sagemaker-2.166.0 → sagemaker-2.167.0/src/sagemaker.egg-info}/PKG-INFO +2 -1
  49. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker.egg-info/SOURCES.txt +35 -0
  50. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker.egg-info/requires.txt +8 -0
  51. sagemaker-2.166.0/VERSION +0 -1
  52. {sagemaker-2.166.0 → sagemaker-2.167.0}/LICENSE.txt +0 -0
  53. {sagemaker-2.166.0 → sagemaker-2.167.0}/MANIFEST.in +0 -0
  54. {sagemaker-2.166.0 → sagemaker-2.167.0}/README.rst +0 -0
  55. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/extras/local_requirements.txt +0 -0
  56. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/extras/scipy_requirements.txt +0 -0
  57. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/doc8_requirements.txt +0 -0
  58. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/docstyle_requirements.txt +0 -0
  59. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/flake8_requirements.txt +0 -0
  60. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/mypy_requirements.txt +0 -0
  61. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/pydocstyle_requirements.txt +0 -0
  62. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/pylint_requirements.txt +0 -0
  63. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/spelling_requirements.txt +0 -0
  64. {sagemaker-2.166.0 → sagemaker-2.167.0}/requirements/tox/twine_requirements.txt +0 -0
  65. {sagemaker-2.166.0 → sagemaker-2.167.0}/setup.cfg +0 -0
  66. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/__init__.py +0 -0
  67. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/_studio.py +0 -0
  68. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/accept_types.py +0 -0
  69. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/algorithm.py +0 -0
  70. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/__init__.py +0 -0
  71. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/amazon_estimator.py +0 -0
  72. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/common.py +0 -0
  73. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/factorization_machines.py +0 -0
  74. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/hyperparameter.py +0 -0
  75. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/ipinsights.py +0 -0
  76. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/kmeans.py +0 -0
  77. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/knn.py +0 -0
  78. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/lda.py +0 -0
  79. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/linear_learner.py +0 -0
  80. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/ntm.py +0 -0
  81. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/object2vec.py +0 -0
  82. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/pca.py +0 -0
  83. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/randomcutforest.py +0 -0
  84. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/record_pb2.py +0 -0
  85. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/amazon/validation.py +0 -0
  86. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/analytics.py +0 -0
  87. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/apiutils/__init__.py +0 -0
  88. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/apiutils/_base_types.py +0 -0
  89. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/apiutils/_boto_functions.py +0 -0
  90. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/apiutils/_utils.py +0 -0
  91. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/async_inference/__init__.py +0 -0
  92. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/async_inference/async_inference_config.py +0 -0
  93. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/async_inference/async_inference_response.py +0 -0
  94. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/async_inference/waiter_config.py +0 -0
  95. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/automl/__init__.py +0 -0
  96. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/automl/automl.py +0 -0
  97. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/automl/candidate_estimator.py +0 -0
  98. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/base_deserializers.py +0 -0
  99. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/base_predictor.py +0 -0
  100. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/base_serializers.py +0 -0
  101. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/chainer/__init__.py +0 -0
  102. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/chainer/defaults.py +0 -0
  103. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/chainer/estimator.py +0 -0
  104. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/chainer/model.py +0 -0
  105. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/clarify.py +0 -0
  106. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/__init__.py +0 -0
  107. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/__init__.py +0 -0
  108. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/__init__.py +0 -0
  109. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/ast_transformer.py +0 -0
  110. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/files.py +0 -0
  111. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/__init__.py +0 -0
  112. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/airflow.py +0 -0
  113. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/deprecated_params.py +0 -0
  114. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/framework_version.py +0 -0
  115. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/image_uris.py +0 -0
  116. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/matching.py +0 -0
  117. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/modifier.py +0 -0
  118. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/parsing.py +0 -0
  119. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/predictors.py +0 -0
  120. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/renamed_params.py +0 -0
  121. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/serde.py +0 -0
  122. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/tf_legacy_mode.py +0 -0
  123. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/tfs.py +0 -0
  124. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/training_input.py +0 -0
  125. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/modifiers/training_params.py +0 -0
  126. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/compatibility/v2/sagemaker_upgrade_v2.py +0 -0
  127. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/cli/framework_upgrade.py +0 -0
  128. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/collection.py +0 -0
  129. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/config/__init__.py +0 -0
  130. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/config/config.py +0 -0
  131. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/config/config_schema.py +0 -0
  132. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/config/config_utils.py +0 -0
  133. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/content_types.py +0 -0
  134. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/dataset_definition/__init__.py +0 -0
  135. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/dataset_definition/inputs.py +0 -0
  136. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/debugger/__init__.py +0 -0
  137. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/debugger/debugger.py +0 -0
  138. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/debugger/framework_profile.py +0 -0
  139. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/debugger/metrics_config.py +0 -0
  140. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/debugger/profiler_config.py +0 -0
  141. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/debugger/profiler_constants.py +0 -0
  142. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/debugger/utils.py +0 -0
  143. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/deprecations.py +0 -0
  144. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/deserializers.py +0 -0
  145. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/djl_inference/__init__.py +0 -0
  146. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/djl_inference/defaults.py +0 -0
  147. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/djl_inference/model.py +0 -0
  148. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/drift_check_baselines.py +0 -0
  149. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/environment_variables.py +0 -0
  150. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/exceptions.py +0 -0
  151. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/__init__.py +0 -0
  152. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/_api_types.py +0 -0
  153. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/_environment.py +0 -0
  154. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/_helper.py +0 -0
  155. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/_metrics.py +0 -0
  156. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/_run_context.py +0 -0
  157. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/_utils.py +0 -0
  158. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/experiment.py +0 -0
  159. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/run.py +0 -0
  160. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/trial.py +0 -0
  161. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/experiments/trial_component.py +0 -0
  162. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/explainer/__init__.py +0 -0
  163. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/explainer/clarify_explainer_config.py +0 -0
  164. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/explainer/explainer_config.py +0 -0
  165. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/feature_store/__init__.py +0 -0
  166. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/feature_store/dataset_builder.py +0 -0
  167. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/feature_store/feature_definition.py +0 -0
  168. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/feature_store/feature_group.py +0 -0
  169. {sagemaker-2.166.0/src/sagemaker/huggingface/training_compiler → sagemaker-2.167.0/src/sagemaker/feature_store/feature_processor/lineage}/__init__.py +0 -0
  170. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/feature_store/feature_store.py +0 -0
  171. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/feature_store/inputs.py +0 -0
  172. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/fw_utils.py +0 -0
  173. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/git_utils.py +0 -0
  174. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/huggingface/__init__.py +0 -0
  175. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/huggingface/estimator.py +0 -0
  176. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/huggingface/llm_utils.py +0 -0
  177. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/huggingface/model.py +0 -0
  178. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/huggingface/processing.py +0 -0
  179. {sagemaker-2.166.0/src/sagemaker/jumpstart → sagemaker-2.167.0/src/sagemaker/huggingface/training_compiler}/__init__.py +0 -0
  180. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/huggingface/training_compiler/config.py +0 -0
  181. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/hyperparameters.py +0 -0
  182. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/autogluon.json +0 -0
  183. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/blazingtext.json +0 -0
  184. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/chainer.json +0 -0
  185. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/clarify.json +0 -0
  186. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/coach-mxnet.json +0 -0
  187. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/coach-tensorflow.json +0 -0
  188. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/data-wrangler.json +0 -0
  189. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/debugger.json +0 -0
  190. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/djl-deepspeed.json +0 -0
  191. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/djl-fastertransformer.json +0 -0
  192. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/djl-neuronx.json +0 -0
  193. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/factorization-machines.json +0 -0
  194. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/forecasting-deepar.json +0 -0
  195. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/huggingface-llm.json +0 -0
  196. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/huggingface-neuron.json +0 -0
  197. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/huggingface-neuronx.json +0 -0
  198. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/huggingface-training-compiler.json +0 -0
  199. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/huggingface.json +0 -0
  200. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/image-classification-neo.json +0 -0
  201. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/image-classification.json +0 -0
  202. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/inferentia-mxnet.json +0 -0
  203. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/inferentia-pytorch.json +0 -0
  204. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/inferentia-tensorflow.json +0 -0
  205. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/ipinsights.json +0 -0
  206. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/kmeans.json +0 -0
  207. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/knn.json +0 -0
  208. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/lda.json +0 -0
  209. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/linear-learner.json +0 -0
  210. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/model-monitor.json +0 -0
  211. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/mxnet.json +0 -0
  212. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/neo-mxnet.json +0 -0
  213. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/neo-pytorch.json +0 -0
  214. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/neo-tensorflow.json +0 -0
  215. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/ntm.json +0 -0
  216. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/object-detection.json +0 -0
  217. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/object2vec.json +0 -0
  218. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/pca.json +0 -0
  219. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/pytorch-neuron.json +0 -0
  220. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/pytorch-training-compiler.json +0 -0
  221. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/pytorch.json +0 -0
  222. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/randomcutforest.json +0 -0
  223. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/ray-pytorch.json +0 -0
  224. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/ray-tensorflow.json +0 -0
  225. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/sagemaker-base-python.json +0 -0
  226. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/semantic-segmentation.json +0 -0
  227. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/seq2seq.json +0 -0
  228. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/sklearn.json +0 -0
  229. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/sparkml-serving.json +0 -0
  230. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/tensorflow.json +0 -0
  231. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/vw.json +0 -0
  232. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/xgboost-neo.json +0 -0
  233. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uri_config/xgboost.json +0 -0
  234. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/image_uris.py +0 -0
  235. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/inference_recommender/__init__.py +0 -0
  236. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/inference_recommender/inference_recommender_mixin.py +0 -0
  237. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/inputs.py +0 -0
  238. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/instance_group.py +0 -0
  239. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/instance_types.py +0 -0
  240. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/interactive_apps/tensorboard.py +0 -0
  241. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/job.py +0 -0
  242. {sagemaker-2.166.0/src/sagemaker/jumpstart/factory → sagemaker-2.167.0/src/sagemaker/jumpstart}/__init__.py +0 -0
  243. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/accessors.py +0 -0
  244. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/__init__.py +0 -0
  245. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/environment_variables.py +0 -0
  246. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/hyperparameters.py +0 -0
  247. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/image_uris.py +0 -0
  248. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/incremental_training.py +0 -0
  249. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/instance_types.py +0 -0
  250. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/kwargs.py +0 -0
  251. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/metric_definitions.py +0 -0
  252. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/model_uris.py +0 -0
  253. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/predictors.py +0 -0
  254. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/prepack.py +0 -0
  255. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/resource_names.py +0 -0
  256. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/artifacts/script_uris.py +0 -0
  257. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/cache.py +0 -0
  258. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/constants.py +0 -0
  259. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/enums.py +0 -0
  260. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/exceptions.py +0 -0
  261. {sagemaker-2.166.0/src/sagemaker/pytorch/training_compiler → sagemaker-2.167.0/src/sagemaker/jumpstart/factory}/__init__.py +0 -0
  262. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/factory/estimator.py +0 -0
  263. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/factory/model.py +0 -0
  264. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/filters.py +0 -0
  265. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/notebook_utils.py +0 -0
  266. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/parameters.py +0 -0
  267. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/types.py +0 -0
  268. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/utils.py +0 -0
  269. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/jumpstart/validators.py +0 -0
  270. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lambda_helper.py +0 -0
  271. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/__init__.py +0 -0
  272. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/_api_types.py +0 -0
  273. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/_utils.py +0 -0
  274. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/action.py +0 -0
  275. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/artifact.py +0 -0
  276. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/association.py +0 -0
  277. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/context.py +0 -0
  278. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/lineage_trial_component.py +0 -0
  279. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/query.py +0 -0
  280. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/lineage/visualizer.py +0 -0
  281. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/__init__.py +0 -0
  282. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/data.py +0 -0
  283. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/entities.py +0 -0
  284. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/exceptions.py +0 -0
  285. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/image.py +0 -0
  286. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/local_session.py +0 -0
  287. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/pipeline.py +0 -0
  288. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/local/utils.py +0 -0
  289. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/logs.py +0 -0
  290. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/metadata_properties.py +0 -0
  291. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/metric_definitions.py +0 -0
  292. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model.py +0 -0
  293. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_card/__init__.py +0 -0
  294. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_card/evaluation_metric_parsers.py +0 -0
  295. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_card/helpers.py +0 -0
  296. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_card/model_card.py +0 -0
  297. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_card/schema_constraints.py +0 -0
  298. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_metrics.py +0 -0
  299. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/__init__.py +0 -0
  300. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/clarify_model_monitoring.py +0 -0
  301. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/cron_expression_generator.py +0 -0
  302. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/data_capture_config.py +0 -0
  303. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/dataset_format.py +0 -0
  304. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/model_monitoring.py +0 -0
  305. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/monitoring_alert.py +0 -0
  306. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_monitor/monitoring_files.py +0 -0
  307. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/model_uris.py +0 -0
  308. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/multidatamodel.py +0 -0
  309. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/mxnet/__init__.py +0 -0
  310. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/mxnet/defaults.py +0 -0
  311. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/mxnet/estimator.py +0 -0
  312. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/mxnet/model.py +0 -0
  313. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/mxnet/processing.py +0 -0
  314. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/network.py +0 -0
  315. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/parameter.py +0 -0
  316. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/pipeline.py +0 -0
  317. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/predictor.py +0 -0
  318. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/predictor_async.py +0 -0
  319. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/processing.py +0 -0
  320. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/pytorch/__init__.py +0 -0
  321. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/pytorch/defaults.py +0 -0
  322. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/pytorch/estimator.py +0 -0
  323. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/pytorch/model.py +0 -0
  324. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/pytorch/processing.py +0 -0
  325. {sagemaker-2.166.0/src/sagemaker/remote_function/runtime_environment → sagemaker-2.167.0/src/sagemaker/pytorch/training_compiler}/__init__.py +0 -0
  326. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/pytorch/training_compiler/config.py +0 -0
  327. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/__init__.py +0 -0
  328. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/core/serialization.py +0 -0
  329. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/core/stored_function.py +0 -0
  330. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/errors.py +0 -0
  331. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/invoke_function.py +0 -0
  332. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/logging_config.py +0 -0
  333. {sagemaker-2.166.0/src/sagemaker/tensorflow/training_compiler → sagemaker-2.167.0/src/sagemaker/remote_function/runtime_environment}/__init__.py +0 -0
  334. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/runtime_environment/bootstrap_runtime_environment.py +0 -0
  335. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/remote_function/runtime_environment/runtime_environment_manager.py +0 -0
  336. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/rl/__init__.py +0 -0
  337. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/rl/estimator.py +0 -0
  338. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/s3.py +0 -0
  339. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/s3_utils.py +0 -0
  340. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/script_uris.py +0 -0
  341. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/serializers.py +0 -0
  342. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/serverless/__init__.py +0 -0
  343. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/serverless/model.py +0 -0
  344. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/serverless/predictor.py +0 -0
  345. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/serverless/serverless_inference_config.py +0 -0
  346. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/session_settings.py +0 -0
  347. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/sklearn/__init__.py +0 -0
  348. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/sklearn/defaults.py +0 -0
  349. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/sklearn/estimator.py +0 -0
  350. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/sklearn/model.py +0 -0
  351. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/sklearn/processing.py +0 -0
  352. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/spark/__init__.py +0 -0
  353. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/spark/defaults.py +0 -0
  354. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/sparkml/__init__.py +0 -0
  355. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/sparkml/model.py +0 -0
  356. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tensorflow/__init__.py +0 -0
  357. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tensorflow/defaults.py +0 -0
  358. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tensorflow/estimator.py +0 -0
  359. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tensorflow/model.py +0 -0
  360. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tensorflow/processing.py +0 -0
  361. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tensorflow/serving.py +0 -0
  362. {sagemaker-2.166.0/src/sagemaker → sagemaker-2.167.0/src/sagemaker/tensorflow}/training_compiler/__init__.py +0 -0
  363. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tensorflow/training_compiler/config.py +0 -0
  364. {sagemaker-2.166.0/src/sagemaker/utilities → sagemaker-2.167.0/src/sagemaker/training_compiler}/__init__.py +0 -0
  365. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/training_compiler/config.py +0 -0
  366. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/transformer.py +0 -0
  367. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/tuner.py +0 -0
  368. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/user_agent.py +0 -0
  369. {sagemaker-2.166.0/src/sagemaker/wrangler → sagemaker-2.167.0/src/sagemaker/utilities}/__init__.py +0 -0
  370. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/utilities/cache.py +0 -0
  371. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/utilities/search_expression.py +0 -0
  372. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/utils.py +0 -0
  373. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/vpc_utils.py +0 -0
  374. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/__init__.py +0 -0
  375. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/_repack_model.py +0 -0
  376. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/_utils.py +0 -0
  377. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/airflow.py +0 -0
  378. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/automl_step.py +0 -0
  379. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/callback_step.py +0 -0
  380. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/check_job_config.py +0 -0
  381. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/clarify_check_step.py +0 -0
  382. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/condition_step.py +0 -0
  383. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/conditions.py +0 -0
  384. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/emr_step.py +0 -0
  385. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/entities.py +0 -0
  386. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/execution_variables.py +0 -0
  387. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/fail_step.py +0 -0
  388. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/functions.py +0 -0
  389. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/lambda_step.py +0 -0
  390. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/model_step.py +0 -0
  391. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/monitor_batch_transform_step.py +0 -0
  392. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/parallelism_config.py +0 -0
  393. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/parameters.py +0 -0
  394. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/pipeline.py +0 -0
  395. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/pipeline_context.py +0 -0
  396. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/pipeline_experiment_config.py +0 -0
  397. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/properties.py +0 -0
  398. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/quality_check_step.py +0 -0
  399. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/retry.py +0 -0
  400. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/selective_execution_config.py +0 -0
  401. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/step_collections.py +0 -0
  402. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/steps.py +0 -0
  403. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/workflow/utilities.py +0 -0
  404. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/wrangler/ingestion.py +0 -0
  405. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/wrangler/processing.py +0 -0
  406. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/xgboost/__init__.py +0 -0
  407. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/xgboost/defaults.py +0 -0
  408. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/xgboost/estimator.py +0 -0
  409. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/xgboost/model.py +0 -0
  410. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/xgboost/processing.py +0 -0
  411. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker/xgboost/utils.py +0 -0
  412. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker.egg-info/dependency_links.txt +0 -0
  413. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker.egg-info/entry_points.txt +0 -0
  414. {sagemaker-2.166.0 → sagemaker-2.167.0}/src/sagemaker.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sagemaker
3
- Version: 2.166.0
3
+ Version: 2.167.0
4
4
  Summary: Open source library for training and deploying models on Amazon SageMaker.
5
5
  Home-page: https://github.com/aws/sagemaker-python-sdk/
6
6
  Author: Amazon Web Services
@@ -262,5 +262,6 @@ Classifier: Programming Language :: Python :: 3.10
262
262
  Requires-Python: >= 3.6
263
263
  Provides-Extra: local
264
264
  Provides-Extra: scipy
265
+ Provides-Extra: feature-processor
265
266
  Provides-Extra: all
266
267
  Provides-Extra: test
@@ -0,0 +1 @@
1
+ 2.167.0
@@ -0,0 +1,2 @@
1
+ pyspark==3.3.1
2
+ sagemaker-feature-store-pyspark-3.3
@@ -27,3 +27,5 @@ scipy==1.7.3
27
27
  urllib3>=1.26.8,<1.26.15
28
28
  docker>=5.0.2,<7.0.0
29
29
  PyYAML==6.0
30
+ pyspark==3.3.1
31
+ sagemaker-feature-store-pyspark-3.3
@@ -71,6 +71,9 @@ required_packages = [
71
71
  extras = {
72
72
  "local": read_requirements("requirements/extras/local_requirements.txt"),
73
73
  "scipy": read_requirements("requirements/extras/scipy_requirements.txt"),
74
+ "feature-processor": read_requirements(
75
+ "requirements/extras/feature-processor_requirements.txt"
76
+ ),
74
77
  }
75
78
  # Meta dependency groups
76
79
  extras["all"] = [item for group in extras.values() for item in group]
@@ -170,6 +170,8 @@ class EstimatorBase(with_metaclass(ABCMeta, object)): # pylint: disable=too-man
170
170
  instance_groups: Optional[List[InstanceGroup]] = None,
171
171
  training_repository_access_mode: Optional[Union[str, PipelineVariable]] = None,
172
172
  training_repository_credentials_provider_arn: Optional[Union[str, PipelineVariable]] = None,
173
+ container_entry_point: Optional[List[str]] = None,
174
+ container_arguments: Optional[List[str]] = None,
173
175
  **kwargs,
174
176
  ):
175
177
  """Initialize an ``EstimatorBase`` instance.
@@ -523,6 +525,11 @@ class EstimatorBase(with_metaclass(ABCMeta, object)): # pylint: disable=too-man
523
525
  private Docker registry where your training image is hosted (default: None).
524
526
  When it's set to None, SageMaker will not do authentication before pulling the image
525
527
  in the private Docker registry.
528
+ container_entry_point (List[str]): Optional. The entrypoint script for a Docker
529
+ container used to run a training job. This script takes precedence over
530
+ the default train processing instructions.
531
+ container_arguments (List[str]): Optional. The arguments for a container used to run
532
+ a training job.
526
533
  """
527
534
  instance_count = renamed_kwargs(
528
535
  "train_instance_count", "instance_count", instance_count, kwargs
@@ -647,6 +654,10 @@ class EstimatorBase(with_metaclass(ABCMeta, object)): # pylint: disable=too-man
647
654
  training_repository_credentials_provider_arn
648
655
  )
649
656
 
657
+ # container entry point / arguments configs
658
+ self.container_entry_point = container_entry_point
659
+ self.container_arguments = container_arguments
660
+
650
661
  self.encrypt_inter_container_traffic = resolve_value_from_config(
651
662
  direct_input=encrypt_inter_container_traffic,
652
663
  config_path=TRAINING_JOB_INTER_CONTAINER_ENCRYPTION_PATH,
@@ -1786,6 +1797,16 @@ class EstimatorBase(with_metaclass(ABCMeta, object)): # pylint: disable=too-man
1786
1797
  "MetricsDefinition"
1787
1798
  ]
1788
1799
 
1800
+ if "ContainerEntrypoint" in job_details["AlgorithmSpecification"]:
1801
+ init_params["container_entry_point"] = job_details["AlgorithmSpecification"][
1802
+ "ContainerEntrypoint"
1803
+ ]
1804
+
1805
+ if "ContainerArguments" in job_details["AlgorithmSpecification"]:
1806
+ init_params["container_arguments"] = job_details["AlgorithmSpecification"][
1807
+ "ContainerArguments"
1808
+ ]
1809
+
1789
1810
  if "EnableInterContainerTrafficEncryption" in job_details:
1790
1811
  init_params["encrypt_inter_container_traffic"] = job_details[
1791
1812
  "EnableInterContainerTrafficEncryption"
@@ -2266,6 +2287,12 @@ class _TrainingJob(_Job):
2266
2287
  ] = estimator.training_repository_credentials_provider_arn
2267
2288
  train_args["training_image_config"] = training_image_config
2268
2289
 
2290
+ if estimator.container_entry_point is not None:
2291
+ train_args["container_entry_point"] = estimator.container_entry_point
2292
+
2293
+ if estimator.container_arguments is not None:
2294
+ train_args["container_arguments"] = estimator.container_arguments
2295
+
2269
2296
  # encrypt_inter_container_traffic may be a pipeline variable place holder object
2270
2297
  # which is parsed in execution time
2271
2298
  # This does not check config because the EstimatorBase constuctor already did that check
@@ -2472,6 +2499,8 @@ class Estimator(EstimatorBase):
2472
2499
  instance_groups: Optional[List[InstanceGroup]] = None,
2473
2500
  training_repository_access_mode: Optional[Union[str, PipelineVariable]] = None,
2474
2501
  training_repository_credentials_provider_arn: Optional[Union[str, PipelineVariable]] = None,
2502
+ container_entry_point: Optional[List[str]] = None,
2503
+ container_arguments: Optional[List[str]] = None,
2475
2504
  **kwargs,
2476
2505
  ):
2477
2506
  """Initialize an ``Estimator`` instance.
@@ -2824,6 +2853,11 @@ class Estimator(EstimatorBase):
2824
2853
  private Docker registry where your training image is hosted (default: None).
2825
2854
  When it's set to None, SageMaker will not do authentication before pulling the image
2826
2855
  in the private Docker registry.
2856
+ container_entry_point (List[str]): Optional. The entrypoint script for a Docker
2857
+ container used to run a training job. This script takes precedence over
2858
+ the default train processing instructions.
2859
+ container_arguments (List[str]): Optional. The arguments for a container used to run
2860
+ a training job.
2827
2861
  """
2828
2862
  self.image_uri = image_uri
2829
2863
  self._hyperparameters = hyperparameters.copy() if hyperparameters else {}
@@ -2871,6 +2905,8 @@ class Estimator(EstimatorBase):
2871
2905
  instance_groups=instance_groups,
2872
2906
  training_repository_access_mode=training_repository_access_mode,
2873
2907
  training_repository_credentials_provider_arn=training_repository_credentials_provider_arn, # noqa: E501 # pylint: disable=line-too-long
2908
+ container_entry_point=container_entry_point,
2909
+ container_arguments=container_arguments,
2874
2910
  **kwargs,
2875
2911
  )
2876
2912
 
@@ -0,0 +1,35 @@
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
+ """Exported classes for the sagemaker.feature_store.feature_processor module."""
14
+ from __future__ import absolute_import
15
+
16
+ from sagemaker.feature_store.feature_processor._data_source import ( # noqa: F401
17
+ CSVDataSource,
18
+ FeatureGroupDataSource,
19
+ ParquetDataSource,
20
+ )
21
+ from sagemaker.feature_store.feature_processor._exceptions import ( # noqa: F401
22
+ IngestionError,
23
+ )
24
+ from sagemaker.feature_store.feature_processor.feature_processor import ( # noqa: F401
25
+ feature_processor,
26
+ )
27
+ from sagemaker.feature_store.feature_processor.feature_scheduler import ( # noqa: F401
28
+ to_pipeline,
29
+ schedule,
30
+ describe,
31
+ delete_schedule,
32
+ list_pipelines,
33
+ execute,
34
+ TransformationCode,
35
+ )
@@ -0,0 +1,180 @@
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
+ """Contains classes for preparing and uploading configs for a scheduled feature processor."""
14
+ from __future__ import absolute_import
15
+ from typing import Callable, Dict, Tuple, List
16
+
17
+ import attr
18
+
19
+ from sagemaker import Session
20
+ from sagemaker.feature_store.feature_processor._constants import (
21
+ SPARK_JAR_FILES_PATH,
22
+ SPARK_PY_FILES_PATH,
23
+ SPARK_FILES_PATH,
24
+ S3_DATA_DISTRIBUTION_TYPE,
25
+ )
26
+ from sagemaker.inputs import TrainingInput
27
+ from sagemaker.remote_function.core.stored_function import StoredFunction
28
+ from sagemaker.remote_function.job import (
29
+ _prepare_and_upload_dependencies,
30
+ _prepare_and_upload_runtime_scripts,
31
+ _JobSettings,
32
+ RUNTIME_SCRIPTS_CHANNEL_NAME,
33
+ REMOTE_FUNCTION_WORKSPACE,
34
+ SPARK_CONF_WORKSPACE,
35
+ _prepare_and_upload_spark_dependent_files,
36
+ )
37
+ from sagemaker.remote_function.runtime_environment.runtime_environment_manager import (
38
+ RuntimeEnvironmentManager,
39
+ )
40
+ from sagemaker.remote_function.spark_config import SparkConfig
41
+ from sagemaker.s3 import s3_path_join
42
+
43
+
44
+ @attr.s
45
+ class ConfigUploader:
46
+ """Prepares and uploads customer provided configs to S3"""
47
+
48
+ remote_decorator_config: _JobSettings = attr.ib()
49
+ runtime_env_manager: RuntimeEnvironmentManager = attr.ib()
50
+
51
+ def prepare_step_input_channel_for_spark_mode(
52
+ self, func: Callable, s3_base_uri: str, sagemaker_session: Session
53
+ ) -> Tuple[Dict, Dict]:
54
+ """Prepares input channels for SageMaker Pipeline Step."""
55
+ self._prepare_and_upload_callable(func, s3_base_uri, sagemaker_session)
56
+ bootstrap_scripts_s3uri = self._prepare_and_upload_runtime_scripts(
57
+ self.remote_decorator_config.spark_config,
58
+ s3_base_uri,
59
+ self.remote_decorator_config.s3_kms_key,
60
+ sagemaker_session,
61
+ )
62
+ dependencies_list_path = self.runtime_env_manager.snapshot(
63
+ self.remote_decorator_config.dependencies
64
+ )
65
+ user_dependencies_s3uri = self._prepare_and_upload_dependencies(
66
+ dependencies_list_path,
67
+ self.remote_decorator_config.include_local_workdir,
68
+ self.remote_decorator_config.pre_execution_commands,
69
+ self.remote_decorator_config.pre_execution_script,
70
+ s3_base_uri,
71
+ self.remote_decorator_config.s3_kms_key,
72
+ sagemaker_session,
73
+ )
74
+
75
+ (
76
+ submit_jars_s3_paths,
77
+ submit_py_files_s3_paths,
78
+ submit_files_s3_path,
79
+ config_file_s3_uri,
80
+ ) = self._prepare_and_upload_spark_dependent_files(
81
+ self.remote_decorator_config.spark_config,
82
+ s3_base_uri,
83
+ self.remote_decorator_config.s3_kms_key,
84
+ sagemaker_session,
85
+ )
86
+
87
+ input_data_config = {
88
+ RUNTIME_SCRIPTS_CHANNEL_NAME: TrainingInput(
89
+ s3_data=bootstrap_scripts_s3uri,
90
+ s3_data_type="S3Prefix",
91
+ distribution=S3_DATA_DISTRIBUTION_TYPE,
92
+ )
93
+ }
94
+ if user_dependencies_s3uri:
95
+ input_data_config[REMOTE_FUNCTION_WORKSPACE] = TrainingInput(
96
+ s3_data=s3_path_join(s3_base_uri, REMOTE_FUNCTION_WORKSPACE),
97
+ s3_data_type="S3Prefix",
98
+ distribution=S3_DATA_DISTRIBUTION_TYPE,
99
+ )
100
+
101
+ if config_file_s3_uri:
102
+ input_data_config[SPARK_CONF_WORKSPACE] = TrainingInput(
103
+ s3_data=config_file_s3_uri,
104
+ s3_data_type="S3Prefix",
105
+ distribution=S3_DATA_DISTRIBUTION_TYPE,
106
+ )
107
+
108
+ return input_data_config, {
109
+ SPARK_JAR_FILES_PATH: submit_jars_s3_paths,
110
+ SPARK_PY_FILES_PATH: submit_py_files_s3_paths,
111
+ SPARK_FILES_PATH: submit_files_s3_path,
112
+ }
113
+
114
+ def _prepare_and_upload_callable(
115
+ self, func: Callable, s3_base_uri: str, sagemaker_session: Session
116
+ ) -> None:
117
+ """Prepares and uploads callable to S3"""
118
+ stored_function = StoredFunction(
119
+ sagemaker_session=sagemaker_session,
120
+ s3_base_uri=s3_base_uri,
121
+ hmac_key=self.remote_decorator_config.environment_variables[
122
+ "REMOTE_FUNCTION_SECRET_KEY"
123
+ ],
124
+ s3_kms_key=self.remote_decorator_config.s3_kms_key,
125
+ )
126
+ stored_function.save(func)
127
+
128
+ def _prepare_and_upload_dependencies(
129
+ self,
130
+ local_dependencies_path: str,
131
+ include_local_workdir: bool,
132
+ pre_execution_commands: List[str],
133
+ pre_execution_script_local_path: str,
134
+ s3_base_uri: str,
135
+ s3_kms_key: str,
136
+ sagemaker_session: Session,
137
+ ) -> str:
138
+ """Upload the training step dependencies to S3 if present"""
139
+ return _prepare_and_upload_dependencies(
140
+ local_dependencies_path=local_dependencies_path,
141
+ include_local_workdir=include_local_workdir,
142
+ pre_execution_commands=pre_execution_commands,
143
+ pre_execution_script_local_path=pre_execution_script_local_path,
144
+ s3_base_uri=s3_base_uri,
145
+ s3_kms_key=s3_kms_key,
146
+ sagemaker_session=sagemaker_session,
147
+ )
148
+
149
+ def _prepare_and_upload_runtime_scripts(
150
+ self,
151
+ spark_config: SparkConfig,
152
+ s3_base_uri: str,
153
+ s3_kms_key: str,
154
+ sagemaker_session: Session,
155
+ ) -> str:
156
+ """Copy runtime scripts to a folder and upload to S3"""
157
+ return _prepare_and_upload_runtime_scripts(
158
+ spark_config=spark_config,
159
+ s3_base_uri=s3_base_uri,
160
+ s3_kms_key=s3_kms_key,
161
+ sagemaker_session=sagemaker_session,
162
+ )
163
+
164
+ def _prepare_and_upload_spark_dependent_files(
165
+ self,
166
+ spark_config: SparkConfig,
167
+ s3_base_uri: str,
168
+ s3_kms_key: str,
169
+ sagemaker_session: Session,
170
+ ) -> Tuple:
171
+ """Upload the spark dependencies to S3 if present"""
172
+ if not spark_config:
173
+ return None, None, None, None
174
+
175
+ return _prepare_and_upload_spark_dependent_files(
176
+ spark_config=spark_config,
177
+ s3_base_uri=s3_base_uri,
178
+ s3_kms_key=s3_kms_key,
179
+ sagemaker_session=sagemaker_session,
180
+ )
@@ -0,0 +1,42 @@
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
+ """Module containing constants for feature_processor and feature_scheduler module."""
14
+ from __future__ import absolute_import
15
+
16
+ from sagemaker.workflow.parameters import Parameter, ParameterTypeEnum
17
+
18
+ DEFAULT_INSTANCE_TYPE = "ml.m5.xlarge"
19
+ DEFAULT_SCHEDULE_STATE = "ENABLED"
20
+ UNDERSCORE = "_"
21
+ RESOURCE_NOT_FOUND_EXCEPTION = "ResourceNotFoundException"
22
+ RESOURCE_NOT_FOUND = "ResourceNotFound"
23
+ EXECUTION_TIME_PIPELINE_PARAMETER = "scheduled_time"
24
+ VALIDATION_EXCEPTION = "ValidationException"
25
+ EVENT_BRIDGE_INVOCATION_TIME = "<aws.scheduler.scheduled-time>"
26
+ SCHEDULED_TIME_PIPELINE_PARAMETER = Parameter(
27
+ name=EXECUTION_TIME_PIPELINE_PARAMETER, parameter_type=ParameterTypeEnum.STRING
28
+ )
29
+ EXECUTION_TIME_PIPELINE_PARAMETER_FORMAT = "%Y-%m-%dT%H:%M:%SZ" # 2023-01-01T07:00:00Z
30
+ NO_FLEXIBLE_TIME_WINDOW = dict(Mode="OFF")
31
+ PIPELINE_NAME_MAXIMUM_LENGTH = 80
32
+ PIPELINE_CONTEXT_TYPE = "FeatureEngineeringPipeline"
33
+ SPARK_JAR_FILES_PATH = "submit_jars_s3_paths"
34
+ SPARK_PY_FILES_PATH = "submit_py_files_s3_paths"
35
+ SPARK_FILES_PATH = "submit_files_s3_path"
36
+ FEATURE_PROCESSOR_TAG_KEY = "sm-fs-fe:created-from"
37
+ FEATURE_PROCESSOR_TAG_VALUE = "fp-to-pipeline"
38
+ FEATURE_GROUP_ARN_REGEX_PATTERN = r"arn:(.*?):sagemaker:(.*?):(.*?):feature-group/(.*?)$"
39
+ SAGEMAKER_WHL_FILE_S3_PATH = "s3://ada-private-beta/sagemaker-2.151.1.dev0-py2.py3-none-any.whl"
40
+ S3_DATA_DISTRIBUTION_TYPE = "FullyReplicated"
41
+ PIPELINE_CONTEXT_NAME_TAG_KEY = "sm-fs-fe:feature-engineering-pipeline-context-name"
42
+ PIPELINE_VERSION_CONTEXT_NAME_TAG_KEY = "sm-fs-fe:feature-engineering-pipeline-version-context-name"
@@ -0,0 +1,88 @@
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
+ """Contains classes to define input data sources."""
14
+ from __future__ import absolute_import
15
+
16
+ from typing import Optional
17
+
18
+ import attr
19
+
20
+
21
+ @attr.s
22
+ class FeatureGroupDataSource:
23
+ """A Feature Group data source definition for a FeatureProcessor.
24
+
25
+ Attributes:
26
+ name (str): The name or ARN of the Feature Group.
27
+ input_start_offset (Optional[str], optional): A duration specified as a string in the
28
+ format '<no> <unit>' where 'no' is a number and 'unit' is a unit of time in ['hours',
29
+ 'days', 'weeks', 'months', 'years'] (plural and singluar forms). Inputs contain data
30
+ with event times no earlier than input_start_offset in the past. Offsets are relative
31
+ to the function execution time. If the function is executed by a Schedule, then the
32
+ offset is relative to the scheduled start time. Defaults to None.
33
+ input_end_offset (Optional[str], optional): The 'end' (as opposed to start) counterpart for
34
+ the 'input_start_offset'. Inputs will contain records with event times no later than
35
+ 'input_end_offset' in the past. Defaults to None.
36
+ """
37
+
38
+ name: str = attr.ib()
39
+ input_start_offset: Optional[str] = attr.ib(default=None)
40
+ input_end_offset: Optional[str] = attr.ib(default=None)
41
+
42
+
43
+ @attr.s
44
+ class CSVDataSource:
45
+ """An CSV data source definition for a FeatureProcessor.
46
+
47
+ Attributes:
48
+ s3_uri (str): S3 URI of the data source.
49
+ csv_header (bool): Whether to read the first line of the CSV file as column names. This
50
+ option is only valid when file_format is set to csv. By default the value of this
51
+ option is true, and all column types are assumed to be a string.
52
+ infer_schema (bool): Whether to infer the schema of the CSV data source. This option is only
53
+ valid when file_format is set to csv. If set to true, two passes of the data is required
54
+ to load and infer the schema.
55
+ """
56
+
57
+ s3_uri: str = attr.ib()
58
+ csv_header: bool = attr.ib(default=True)
59
+ csv_infer_schema: bool = attr.ib(default=False)
60
+
61
+
62
+ @attr.s
63
+ class ParquetDataSource:
64
+ """An parquet data source definition for a FeatureProcessor.
65
+
66
+ Attributes:
67
+ s3_uri (str): S3 URI of the data source.
68
+ """
69
+
70
+ s3_uri: str = attr.ib()
71
+
72
+
73
+ @attr.s
74
+ class IcebergTableDataSource:
75
+ """An iceberg table data source definition for FeatureProcessor
76
+
77
+ Attributes:
78
+ warehouse_s3_uri (str): S3 URI of data warehouse. The value is usually
79
+ the URI where data is stored.
80
+ catalog (str): Name of the catalog.
81
+ database (str): Name of the database.
82
+ table (str): Name of the table.
83
+ """
84
+
85
+ warehouse_s3_uri: str = attr.ib()
86
+ catalog: str = attr.ib()
87
+ database: str = attr.ib()
88
+ table: str = attr.ib()
@@ -0,0 +1,23 @@
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
+ """Module containing Enums for the feature_processor module."""
14
+ from __future__ import absolute_import
15
+
16
+ from enum import Enum
17
+
18
+
19
+ class FeatureProcessorMode(Enum):
20
+ """Enum of feature_processor modes."""
21
+
22
+ PYSPARK = "pyspark" # Execute a pyspark job.
23
+ PYTHON = "python" # Execute a regular python script.
@@ -0,0 +1,78 @@
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
+ """Contains class that determines the current execution environment."""
14
+ from __future__ import absolute_import
15
+
16
+
17
+ from typing import Dict, Optional
18
+ from datetime import datetime, timezone
19
+ import json
20
+ import logging
21
+ import os
22
+ import attr
23
+ from sagemaker.feature_store.feature_processor._constants import (
24
+ EXECUTION_TIME_PIPELINE_PARAMETER,
25
+ EXECUTION_TIME_PIPELINE_PARAMETER_FORMAT,
26
+ )
27
+
28
+
29
+ logger = logging.getLogger("sagemaker")
30
+
31
+
32
+ @attr.s
33
+ class EnvironmentHelper:
34
+ """Helper class to retrieve info from environment.
35
+
36
+ Attributes:
37
+ current_time (datetime): The current datetime.
38
+ """
39
+
40
+ current_time = attr.ib(default=datetime.now(timezone.utc))
41
+
42
+ def is_training_job(self) -> bool:
43
+ """Determine if the current execution environment is inside a SageMaker Training Job"""
44
+ return self.load_training_resource_config() is not None
45
+
46
+ def get_instance_count(self) -> int:
47
+ """Determine the number of instances for the current execution environment."""
48
+ resource_config = self.load_training_resource_config()
49
+ return len(resource_config["hosts"]) if resource_config else 1
50
+
51
+ def load_training_resource_config(self) -> Optional[Dict]:
52
+ """Load the contents of resourceconfig.json contents.
53
+
54
+ Returns:
55
+ Optional[Dict]: None if not found.
56
+ """
57
+ SM_TRAINING_CONFIG_FILE_PATH = "/opt/ml/input/config/resourceconfig.json"
58
+ try:
59
+ with open(SM_TRAINING_CONFIG_FILE_PATH, "r") as cfgfile:
60
+ resource_config = json.load(cfgfile)
61
+ logger.debug("Contents of %s: %s", SM_TRAINING_CONFIG_FILE_PATH, resource_config)
62
+ return resource_config
63
+ except FileNotFoundError:
64
+ return None
65
+
66
+ def get_job_scheduled_time(self) -> str:
67
+ """Get the job scheduled time.
68
+
69
+ Returns:
70
+ str: Timestamp when the job is scheduled.
71
+ """
72
+
73
+ scheduled_time = self.current_time.strftime(EXECUTION_TIME_PIPELINE_PARAMETER_FORMAT)
74
+ if self.is_training_job():
75
+ envs = dict(os.environ)
76
+ return envs.get(EXECUTION_TIME_PIPELINE_PARAMETER, scheduled_time)
77
+
78
+ return scheduled_time