{"id":7332,"library":"jupyter-dash","title":"Jupyter Dash","description":"Jupyter Dash integrates Plotly Dash applications directly into Jupyter environments like Jupyter Notebook, JupyterLab, and Google Colab. It allows for the development and display of interactive Dash apps within cells, supporting various display modes including inline, external, and JupyterLab extensions. The current version is 0.4.2, and releases are made as needed to address compatibility with Dash and Jupyter ecosystem updates.","status":"active","version":"0.4.2","language":"en","source_language":"en","source_url":"https://github.com/plotly/jupyter-dash","tags":["jupyter","dash","plotly","web-app","interactive","notebook","jupyterlab","colab"],"install":[{"cmd":"pip install jupyter-dash","lang":"bash","label":"Install jupyter-dash"}],"dependencies":[{"reason":"JupyterDash is an extension for Dash applications.","package":"dash","optional":false}],"imports":[{"symbol":"JupyterDash","correct":"from jupyter_dash import JupyterDash"}],"quickstart":{"code":"import dash_html_components as html\nimport dash_core_components as dcc\nfrom dash.dependencies import Input, Output\nfrom jupyter_dash import JupyterDash\n\n# Create a Dash app in a Jupyter environment\napp = JupyterDash(__name__)\n\napp.layout = html.Div([\n    html.H1(\"JupyterDash Test\"),\n    dcc.Dropdown(\n        id='dropdown',\n        options=[\n            {'label': 'New York City', 'value': 'NYC'},\n            {'label': 'Montreal', 'value': 'MTL'},\n            {'label': 'San Francisco', 'value': 'SF'}\n        ],\n        value='NYC'\n    ),\n    html.Div(id='output-container')\n])\n\n@app.callback(\n    Output('output-container', 'children'),\n    Input('dropdown', 'value')\n)\ndef display_value(value):\n    return f'You have selected \"{value}\"'\n\n# Run the app. For JupyterLab/Notebook use mode=\"inline\" or \"jupyterlab\"\n# For Google Colab, use mode=\"external\" or omit mode\n# You might need to adjust the port if it's already in use\n# For colab, 'mode=\"jupyterlab\"' will often also work\napp.run_server(mode=\"inline\", port=8050, debug=True)\n","lang":"python","description":"This quickstart demonstrates how to create a simple interactive Dash application and display it directly within a Jupyter notebook or JupyterLab environment using `JupyterDash`. The `mode` parameter in `run_server` determines how the application is displayed (e.g., inline within the cell, or as a separate tab/window). Ensure `dash_html_components` and `dash_core_components` are also installed (`pip install dash`)."},"warnings":[{"fix":"Upgrade `jupyter-dash` to version 0.4.2 or newer: `pip install --upgrade jupyter-dash`. Alternatively, downgrade `werkzeug` to a version prior to 2.1.0 if upgrading `jupyter-dash` is not an option.","message":"JupyterDash versions prior to 0.4.2 are incompatible with `werkzeug` versions 2.1.0 and later, leading to `ImportError: cannot import name 'skip' from 'werkzeug.local'`.","severity":"breaking","affected_versions":"<0.4.2"},{"fix":"Upgrade `jupyter-dash` to version 0.4.1 or newer: `pip install --upgrade jupyter-dash`. Alternatively, downgrade `dash` to a version prior to 2.1.0.","message":"JupyterDash versions prior to 0.4.1 are incompatible with `dash` versions 2.1.0 and later, resulting in an `AttributeError: Read-only: requests_pathname_prefix`.","severity":"breaking","affected_versions":"<0.4.1"},{"fix":"Upgrade `jupyter-dash` to version 0.4.0 or newer: `pip install --upgrade jupyter-dash`.","message":"JupyterDash versions prior to 0.4.0 do not support JupyterLab 3.0+ due to significant changes in JupyterLab's server architecture.","severity":"breaking","affected_versions":"<0.4.0"},{"fix":"If you rely on the previous fixed width, you'll need to explicitly set the width using CSS within your Dash application's layout. No action is needed if the new default is acceptable.","message":"The default display width for `mode='inline'` changed from a fixed value to `100%` in version 0.3.0, which might alter the visual layout of your inline Dash apps.","severity":"gotcha","affected_versions":"<0.3.0"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"pip install --upgrade jupyter-dash","cause":"Using `jupyter-dash` version older than 0.4.2 with `werkzeug` version 2.1.0 or newer.","error":"ImportError: cannot import name 'skip' from 'werkzeug.local'"},{"fix":"pip install --upgrade jupyter-dash","cause":"Using `jupyter-dash` version older than 0.4.1 with `dash` version 2.1.0 or newer.","error":"AttributeError: Read-only: requests_pathname_prefix"},{"fix":"pip install --upgrade jupyter-dash","cause":"Using `jupyter-dash` version older than 0.4.0 with JupyterLab 3.0 or newer.","error":"JupyterDash app fails to display or throws server errors in JupyterLab 3.0"}]}