As noted elsewhere, if you make a mistake in boot.py you can render the board useless (also called "bricking" the device.) Fortunately, there's an easy way to fix it! All it takes is a single jumper wire.
The WiPy stores three firmware configurations: the current firmware config, the previous firmware configuration, and the factory configuration.
Power off the device. Bridge pin G28 and 3V3 with the jumper wire to pull G28 high. Power on the board. The heartbeat LED will start flashing. It will flash for three seconds. For the next three seconds, it will flash faster. For the next three seconds, it will flash even faster. After that, disconnect the jumper and the board will be running the factory firmware without running either boot.p or main.py!
At this point you can connect your laptop to the default WiFi network that the WiPy generates,
ftp to 192.168.1.1, and put a fresh, unbroken version of boot.py in flash. Push reset and the WiPy will boot with the new configuration. It's that simple!