Skip to content

Importing sagemaker seems to enable rich tracebacks #5179

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
paw-lu opened this issue May 13, 2025 · 0 comments
Open

Importing sagemaker seems to enable rich tracebacks #5179

paw-lu opened this issue May 13, 2025 · 0 comments

Comments

@paw-lu
Copy link

paw-lu commented May 13, 2025

Describe the bug

Whenever sagemaker is imported, it seems to modify and automatically enable rich tracebacks.

To reproduce

Make a new environment

$ python -m venv .venv
$ source /.venv/bin/activate
$ python -m pip install sagemaker rich

Make a file that returns a traceback

"""rich_sage.py"""
import sagemaker


def main() -> None:
    raise ValueError


if __name__ == "__main__":
    main()

Run the file

$ 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 <module>                                │
│                                                                                                  │
│    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,

- import sagemaker

then the traceback renders as expected

$ python rich_sage.py
Traceback (most recent call last):
  File "/Users/pawlu/Documents/scratch/rich_sage/sage_me.py", line 8, in <module>
    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

Image

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants