Let's return to our Terminal application—Terminal on macOS, or Anaconda Prompt on Windows. First, verify that your command prompt displays the dvenv environment indicator, confirming you're working within the correct Python environment.
If the environment indicator isn't visible, activate it using the conda activate dvenv command. Equally important is ensuring you're positioned in the correct directory structure for your project files.
Currently, we're operating from the home directory—on Mac, this appears simply as the tilde (~) symbol, representing the parent directory containing your Downloads, Documents, Pictures, and Desktop folders. Windows displays the home directory with the full path format (C:\Users\[username]). Regardless of your operating system, this home directory serves as our starting point.
Our destination is the data visualization curriculum directory, nested within your Downloads folder. Navigation requires the cd (change directory) command followed by the relative file path. Here's a productivity tip that will save you considerable time and prevent typing errors: leverage tab completion rather than manually typing full directory names.
Begin typing "Downloads" with a capital D, but stop after "Dow" and press TAB. Your terminal will auto-complete the directory name, eliminating potential typos. Follow this with the appropriate path separator—forward slash (/) on macOS and Linux, backslash (\) on Windows. Continue with "data" and press TAB again to auto-complete "data-visualization-curriculum-main".
This tab completion technique isn't just convenient—it's a professional best practice that reduces errors and increases efficiency when navigating complex directory structures. Once your path is complete, press Enter to execute the directory change.
Notice that successful directory changes provide minimal feedback—no verbose output like echo commands or installation processes. Instead, observe the updated command prompt, which now reflects your new location. The prompt should display both your active environment (DVENV) and your current directory (data-visualization-curriculum-main). Windows provides more detailed path information, showing parent directories, while macOS keeps it concise.
With your terminal properly configured—correct environment activated and positioned in the right directory—you're ready to launch the Dash application using Python's execution command.
Execute your application using the python command followed by the target file path. Your project directory contains multiple notebook subdirectories (notebook-1, notebook-2, etc.). Use tab completion here as well: type "note" and press TAB to see available options, then specify "notebook-1" followed by the path separator and "app.py".
The complete command structure looks like: python notebook-1/app.py (or python notebook-1\app.py on Windows). This approach scales beautifully as your project grows—you'll appreciate the time saved and errors avoided through consistent use of tab completion.
Upon execution, you'll see confirmation that "Dash is running" followed by a local URL (typically http://127.0.0.1:8050/) and "Debug mode: on" status. This output indicates successful application startup and reveals Dash's fundamental architecture.
Your Python script is now executing continuously, not as a one-time run. The app.run() command initiates a local web server that listens for HTTP requests on your specified port. This server-client model is the foundation of modern web applications—your Python code generates HTML, CSS, and JavaScript that browsers can interpret and display.
Debug mode, enabled by default in development, provides real-time code reloading and detailed error messages—invaluable features during the development process that automatically refresh your application when you modify source files.
Access your running application by copying the provided URL. Right-click the URL in your terminal and select copy (or use your system's keyboard shortcuts), then paste it into your browser's address bar. The resulting page displays "My First Dash App" exactly as programmed—a simple but complete demonstration of Dash's request-response cycle.
This local development server approach mirrors professional web development workflows, where applications are built and tested locally before deployment to production environments. Understanding this fundamental pattern will serve you well as you progress to more complex Dash applications.
Next, we'll examine Dash's underlying architecture, explore customization options, and dive into the powerful visualization capabilities that make Dash an essential tool for data professionals in 2026.