aws / aws/sagemaker-python-sdk
Importing sagemaker seems to enable rich tracebacks
- Langage dominant
- Python
- Étoiles
- 2.3k
- Forks
- 1.3k
- Merge moyen
- 1 j 22 h
- PR mergées (30 j)
- 35
Description
**Describe the bug**
Whenever sagemaker is imported, it seems to modify and automatically enable [rich](https://github.com/Textualize/rich) tracebacks.
**To reproduce**
Make a new environment
```console
$ python -m venv .venv
$ source /.venv/bin/activate
$ python -m pip install sagemaker rich
```
Make a file that returns a traceback
```python
"""rich_sage.py"""
import sagemaker
def main() -> None:
raise ValueError
if __name__ == "__main__":
main()
```
Run the file
```console
$ python rich_sage.py
sagemaker.config INFO - Not applying SDK defaults from location: /Library/Application Support/sagemaker/config.yaml
sagemaker.config INFO - Not applying SDK defaults from location: /Users/pawlu/Library/Application Support/sagemaker/config.yaml
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/pawlu/Documents/scratch/rich_sage/sage_me.py:9 in │
│ │
│ 6 │
│ 7 │
│ 8 if __name__ == "__main__": │
│ ❱ 9 │ main() │
│ 10 │
│ │
│ /Users/pawlu/Documents/scratch/rich_sage/sage_me.py:5 in main │
│ │
│ 2 │
│ 3 │
│ 4 def main() -> None: │
│ ❱ 5 │ raise ValueError │
│ 6 │
│ 7 │
│ 8 if __name__ == "__main__": │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
ValueError
```
If the import statement is removed,
```diff
- import sagemaker
```
then the traceback renders as expected
```console
$ python rich_sage.py
Traceback (most recent call last):
File "/Users/pawlu/Documents/scratch/rich_sage/sage_me.py", line 8, in
main()
File "/Users/pawlu/Documents/scratch/rich_sage/sage_me.py", line 4, in main
raise ValueError
ValueError
```
**Expected behavior**
Ideally, tracebacks shouldn't be modified without users input. At worst there should be a way to opt out of this. But we shouldn't be modifying tracebacks automatically at import. It's a tricky behavior that's hard to debug.
**Screenshots or logs**
**System information**
A description of your system. Please provide:
- **SageMaker Python SDK version**: 2.244.0
- **Framework name (eg. PyTorch) or algorithm (eg. KMeans)**: Rich
- **Framework version**: 14.0.0
- **Python version**: 3.12.9
- **CPU or GPU**: M3 (macbook)
- **Custom Docker image (Y/N)**: N
---
Thank you very much!
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Exécutez la reproduction dans rich_sage.py avec les versions signalées de SageMaker et Rich, en comparant la sortie du traceback avec et sans import sagemaker. Suivez l’effet secondaire de l’importation dans le package SageMaker et vérifiez que son importation n’active plus les tracebacks enrichis de Rich sans intervention de l’utilisateur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- machine-learning
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100