From 7bdd6f2196d82355776f030146497333ef2f8ebf Mon Sep 17 00:00:00 2001 From: "Ekaterina.Itsenko" Date: Thu, 8 Jan 2026 17:30:22 +0000 Subject: [PATCH] [pycharm] PY-85743 Plots: save the active renderer to fix the bug Merge-request: IJ-MR-187273 Merged-by: Ekaterina Itsenko GitOrigin-RevId: 0ccfd46e80f599dac6088ab0c2759405bdd09980 --- .../pycharm_altair_backend/sitecustomize.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/python/helpers/pycharm_altair_backend/sitecustomize.py b/python/helpers/pycharm_altair_backend/sitecustomize.py index 185d263c0b9a..5c7e37757829 100644 --- a/python/helpers/pycharm_altair_backend/sitecustomize.py +++ b/python/helpers/pycharm_altair_backend/sitecustomize.py @@ -36,7 +36,9 @@ def init_altair_render(): return "pycharm-altair-image", body def pycharm_renderer(spec): + saved_renderer = alt.renderers.active image_str = None + html_str = "" try: alt.renderers.enable("png") png_renderer = alt.renderers.get() @@ -44,9 +46,17 @@ def init_altair_render(): image_str = base64.b64encode(image_bytes).decode("utf8") except: debug("Failed to render image") - alt.renderers.enable("html") - html_renderer = alt.renderers.get() - html_str = html_renderer(spec)['text/html'] + finally: + alt.renderers.enable(saved_renderer) + + try: + alt.renderers.enable("html") + html_renderer = alt.renderers.get() + html_str = html_renderer(spec)['text/html'] + except: + debug("Failed to render HTML") + finally: + alt.renderers.enable(saved_renderer) display(DisplayDataObject(html_str, image_str)) alt.renderers.register("browser", pycharm_renderer)