Setting up your environment
With the fast pace of change in all the packages used in the book, you will most likely come across some differences in functionality, so in order to reproduce the exact outcomes described in the book, you can clone the book's repository, install the packages used (in the specified versions), and use the included dataset. From the command line, go to a folder in which you want to build the project and do the following:
- Create a Python virtual environment in a folder called
dash_project
(or any other name you want). This will also create a new folder with the name you chose:python3 –m venv dash_project
- Activate the virtual environment.
On Unix or macOS, run this:
source dash_project/bin/activate
On Windows, run this:
dash_project\Scripts\activate.bat
- Go to the created folder:
cd dash_project
- Clone the book's GitHub repository:
git clone  https://github.com/PacktPublishing/Interactive-Dashboards-and-Data-Apps-with-Plotly-and-Dash
- You should now have a file containing the required packages and their versions called
requirements.txt
. You can install those packages by going to the repository's folder and running theinstall
command as follows:cd Interactive-Dashboards-and-Data-Apps-with-Plotly-and-Dash/ pip install -r requirements.txt
You should find a copy of the dataset in the data
folder, which was downloaded from this link: https://datacatalog.worldbank.org/dataset/poverty-and-equity-database. You can get the latest version if you want, but as with packages, if you want to get the same results, it's better to work with the provided dataset.
In order for Plotly figures and apps to be displayed in JupyterLab, you will need to install Node.js, which can be install from https://nodejs.org.
You will also need to install the JupyterLab Plotly extension, which can be done by running the following from the command line in your virtual environment:
jupyter labextension install jupyterlab-plotly@4.14.1
Note that the version number at the end should correspond to the version of Plotly that you are running. You can replace the preceding version numbers if you want to upgrade (making sure to upgrade the Plotly Python package as well).
Once you have run the preceding code, you should have everything you need to follow along. You will see that each chapter of this book builds on the previous one: we will be building an app that adds more and more functionality and complexity as we go through the chapters.
The main objective is to put you in a practical setting as much as possible. In general, it is straightforward to create any standalone Dash component, but it gets more challenging when you already have a few components in a running app. This becomes clear when you have to decide how to change the layout to accommodate new changes and how to refactor code, focusing on the details without losing sight of the big picture.
Now that the environment has been established, let's get an overview of Dash.