aws / aws/sagemaker-python-sdk
Rich logging still auto-enabled in sagemaker.core
- Lingua principale
- Python
- Stelle
- 2.3k
- Fork
- 1.3k
- Merge medio
- 1g 22h
- PR unite (30g)
- 35
Descrizione
**PySDK Version**
PySDK V3
**Describe the bug**
[sagemaker/core/__init__.py:4](https://github.com/aws/sagemaker-python-sdk/blob/master/sagemaker-core/src/sagemaker/core/__init__.py#L4) unconditionally calls enable_textual_rich_console_and_traceback() at import time, which installs Rich tracebacks (rich.traceback.install) and replaces the root logger with RichHandler the moment sagemaker is imported.
[aws/sagemaker-core#325](https://github.com/aws/sagemaker-core/pull/325) (merged Aug 2025) fixed this in the standalone sagemaker-core package by making Rich opt-in, but that change was never applied to the bundled copy in sagemaker-python-sdk.
To reproduce
```
import sagemaker
# Rich tracebacks are now globally installed
# Rich logging handler is now the root handler
# Any SageMaker job output (processing, training) renders with Rich formatting
from sagemaker.core.helper.session_helper import Session
from sagemaker.core.processing import FrameworkProcessor
sess = Session()
processor = FrameworkProcessor(
image_uri="",
role="",
instance_type="ml.m5.xlarge",
instance_count=1,
)
processor.run(code="script.py", source_dir="source_dir", wait=True)
# Output is non-scrollable Rich-formatted text in Jupyter
```
**Expected behavior**
Rich logging should be opt-in (as intended by [sagemaker-core#325](https://github.com/aws/sagemaker-core/pull/325)), not automatically enabled on import. Job outputs in Jupyter notebooks should be scrollable plain text by default.
**Screenshots or logs**
**System information**
SageMaker Python SDK version: 3.4.1 (sagemaker-core 2.4.1)
Python version: 3.11
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da sagemaker-core/src/sagemaker/core/__init__.py:4 e confronta la relativa configurazione di Rich al momento dell’importazione con il comportamento opt-in descritto in aws/sagemaker-core#325. Verifica che l’importazione di sagemaker non installi più i traceback di Rich né sostituisca il logger root e che l’output riportato dei job Jupyter rimanga semplice e scorrevole per impostazione predefinita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- machine-learning
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Tranquilla
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 65/100