Skip to content

Commit d6665a0

Browse files
authored
Support specifying default renderer using PLOTLY_RENDERER env variable (#1578)
1 parent 7f17018 commit d6665a0

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

Diff for: plotly/io/_renderers.py

+19-7
Original file line numberDiff line numberDiff line change
@@ -401,15 +401,27 @@ def show(fig, renderer=None, validate=True, **kwargs):
401401
# Version 4 renderer configuration
402402
default_renderer = None
403403

404-
# Try to detect environment so that we can enable a useful
405-
# default renderer
406-
if ipython and ipython.get_ipython():
404+
# Handle the PLOTLY_RENDERER environment variable
405+
env_renderer = os.environ.get('PLOTLY_RENDERER', None)
406+
if env_renderer:
407407
try:
408-
import google.colab
408+
renderers._validate_coerce_renderers(env_renderer)
409+
except ValueError:
410+
raise ValueError("""
411+
Invalid named renderer(s) specified in the 'PLOTLY_RENDERER'
412+
environment variable: {env_renderer}""".format(env_renderer=env_renderer))
413+
414+
default_renderer = env_renderer
415+
elif ipython and ipython.get_ipython():
416+
# Try to detect environment so that we can enable a useful
417+
# default renderer
418+
if not default_renderer:
419+
try:
420+
import google.colab
409421

410-
default_renderer = 'colab'
411-
except ImportError:
412-
pass
422+
default_renderer = 'colab'
423+
except ImportError:
424+
pass
413425

414426
# Check if we're running in a Kaggle notebook
415427
if not default_renderer and os.path.exists('/kaggle/input'):

0 commit comments

Comments
 (0)