This documentation is for Dash Enterprise.
Dash Enterprise is the fastest way to write & deploy Dash apps and
10% of the Fortune 500 uses Dash Enterprise to productionize AI and
data science apps. Find out if your company is using Dash Enterprise.
This page applies to Dash Enterprise 5. If your organization uses Dash Enterprise 4, view the Workspaces docs at
Dash 2.11 and later supports running Dash apps in Jupyter Notebooks without the need to update the code or use the additional
JupyterDash library. If you are using an earlier version of Dash, you can run Dash apps in a notebook using JupyterDash.
This page documents options available when running Dash apps in Jupyter Notebooks in Dash Enterprise Workspaces. For more general details on building Dash apps in Jupyter Notebooks, see the Dash in Jupyter Environments page.
In Jupyter Notebooks in Workspaces, you can run your app
inline (the default), at an
external URL, or you can open it in a browser
tab when you run the cell. To change the display mode on an app, set the
For more on these options, including how to set them at the notebook level, see the Display Modes section of the Dash in Jupyter Environments page.
You can also view your app in a tab within the workspace by running your notebook and selecting Preview.
The app loads in a preview panel:
To deploy your Dash app:
Procfilefiles to your project.
launch.shscript converts your notebook to a
.pyfile to deploy and the
Procfiletells Dash Enterprise which processes to run on startup.
Procfilewithout a file extension.
# Name of notebook to deploy (excluding .ipynb extension)
# Convert notebook to py script
jupyter nbconvert –to script $NAME.ipynb
# Depending on notebook metadata, command above may output a .txt file
# If so, change extension to .py
if [ -f $NAME.txt ]; then
mv $NAME.txt $NAME.py
is the name of your Jupyter notebook, excluding the.ipynb` extension.
web: gunicorn <name>:server --workers 2
<name> is the name of your Jupyter notebook, excluding the
In your notebook, define the
server variable for Gunicorn:
server = app.server
requirements.txt file for your app dependencies with
pip freeze > requirements.txt; then go in
requirements.txt and add
launch.sh script in the workspace terminal:
If you get an error “setuidgid: fatal: unable to run ./launch.sh: access denied”, then make the script executable and run it again:
chmod +x launch.sh
Note: You’ll need to run the
launch.shscript any time you make changes in the Jupyter Notebook
and want to deploy those changes.