aws / aws/sagemaker-python-sdk
sagemaker-train should depend on mlflow-skinny, following sagemaker-mlflow 0.5.0
- 主要言語
- Python
- スター
- 2.3k
- フォーク
- 1.3k
- 平均マージ
- 1日 22時間
- マージ済み PR(30日)
- 35
説明
## Describe the feature you'd like
`sagemaker-train` (and `sagemaker-serve`) declare an unconditional dependency on the full `mlflow` distribution:
```
sagemaker-train 1.18.0: mlflow<4.0.0,>=3.0.0
```
The training integration uses MLflow purely as a tracking client (logging runs and metrics to a configured tracking server), which `mlflow-skinny` implements completely. The full distribution additionally drags in the tracking server stack and its dependency constraints.
`sagemaker-mlflow` already made exactly this change in 0.5.0: `mlflow-skinny>=2.8` as the base requirement, with full mlflow relegated to an optional `full` extra. Applying the same pattern to `sagemaker-train` and `sagemaker-serve` would make the SDK family consistent.
## Why it matters
Full mlflow currently caps `cryptography<50`. Snyk advisories SNYK-PYTHON-CRYPTOGRAPHY-18516620/21/22 (two high severity) are fixed only in cryptography 50.0.0, so any project consuming sagemaker-train transitively cannot reach the fixed version and must either waive the findings or remove sagemaker-train. Since the mlflow usage is client-only, the cap buys nothing for these packages.
## Suggested change
Mirror sagemaker-mlflow 0.5.0: depend on `mlflow-skinny`, offer full mlflow behind an extra for anyone who genuinely needs the server components.
コントリビューションガイド
調査の方向性
sagemaker-train と sagemaker-serve の依存関係メタデータを調査し、issue で説明されている sagemaker-mlflow 0.5.0 のパターンと比較してください。mlflow-skinny が基本要件であり、完全版の mlflow はオプションの extra を通じて利用でき、依存関係の解決によって報告された cryptography の上限がもはや課されないことを検証してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- aws, python
- 領域
- build-system, machine-learning
- issue の種類
- 機能追加
- 難易度
- 2/5
- 見積もり時間
- 半日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 72/100