A Tour of Wave

Your Wave release download ships with over 150 examples.

You can play around with these examples in your browser using tour.py, a Python script (itself a Wave app) located in examples/:

Contents of $HOME/wave
wave/
โ”œโ”€โ”€ examples/ <-- Examples live here.
| โ””โ”€โ”€ tour.py <-- The Wave Tour.
โ”œโ”€โ”€ test/
โ”œโ”€โ”€ www/
โ””โ”€โ”€ waved

To run the tour, as with any Wave app, we need to start both the Wave server (waved) and the tour (tour.py). Let's go ahead and do that.

Step 1: Start the Wave server

To start the Wave server, simply open a new terminal window and execute waved (or waved.exe on Windows).

cd $HOME/wave
./waved
2020/10/27 16:16:34 #
2020/10/27 16:16:34 # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
2020/10/27 16:16:34 # โ”‚ โ”Œ โ”Œ โ”Œโ”€โ”€โ” โ”Œ โ”Œ โ”Œโ”€โ”€โ” โ”‚ H2O Wave
2020/10/27 16:16:34 # โ”‚ โ”‚ โ”Œโ”€โ”€โ”˜ โ”‚โ”€โ”€โ”‚ โ”‚ โ”‚ โ””โ” โ”‚ (version) (build)
2020/10/27 16:16:34 # โ”‚ โ””โ”€โ”˜ โ”˜ โ”˜ โ””โ”€โ”€โ”˜ โ””โ”€โ”˜ โ”‚ ยฉ 2020 H2O.ai, Inc.
2020/10/27 16:16:34 # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
2020/10/27 16:16:34 #
2020/10/27 16:16:34 # {"address":":10101","t":"listen","webroot":"/home/elp/wave/www"}

The Wave server should now be running at http://localhost:10101.

Don't close this terminal window!

To run any Wave app, you need the Wave server up and running at all times. Your web browser communicates with the Wave server, and the Wave server in turn communicates with the Wave app.

Step 2: Run the tour

First, create a virtual environment, install the tour's dependencies.

important

Do this from a new terminal window!

cd $HOME/wave
python3 -m venv venv
source venv/bin/activate
pip install -r examples/requirements.txt

On Windows:

cd $HOME\wave
python3 -m venv venv
venv\Scripts\activate.bat
pip install -r examples\requirements.txt

Finally, run the tour:

wave run --no-reload examples.tour

Step 3: Enjoy the tour

Go to http://localhost:10101/tour to access the tour.

tour

tour.py is an ordinary Wave app that runs other apps. The tour itself runs at the route /tour, and each of the examples runs at /demo.

tip

To play with the tour's active example in isolation, simply open a new browser tab and head to http://localhost:10101/demo.

Wrapping up

In this section, we started the Wave server and then launched tour.py to experience the tour. In general, this is how you'd typically launch any app, including your own. There is nothing special about tour.py. In fact, to run any example, all you need to do is repeat the steps above in a new terminal window. For example, to run todo.py, simply run:

wave run examples.todo

You can now access the example at http://localhost:10101/demo. Simple!