Pyvascript started because I simply didn't like Javascript at the time (and still don't, for most things). I wanted a way to write my entire app in Python and use macros to make my life easier. To that end, I wrote two libraries: Transformana, which allows arbitrary manipulation of the Python AST by macros, and Pyvascript, which utilizes Transformana to compile down to Javascript on the fly. Combining the two allowed me to get all the benefits of Python with the flexibility of Javascript, and macros to make life easy. For example, when used with Pylons you can do _uriOf(SomeController.action) to generate a URL that gets baked into the JS. It also turns Python classes into JS classes, which allowed me to make AJAX calls trivial.
I used Pyvascript heavily for one product and it's fairly battle-hardened at this point, but since I don't really do anything web-wise anymore I haven't done much with it lately.