With rendering currently running on a background thread, we currently have no way to report to Python (or any other client) errors. This is especially important for debugging the VideoCore frontend.
Using glib-based types, create a queue for GErrors which is exposed as a read-only soy.Client property. Create a soy.Client property which turns on logging (default to off). Expose these via PySoy's API.
Test that your code works by throwing dummy errors during the render cycle when logging is requested. For the scope of this task, you do not need to throw real errors from appropriate places - future GCI tasks may be added for that.
You will need a RaspberryPi computer to work on this task. Using an SD card image for Sprout, start by building libsoy from Mercurial which will allow you to modify and test your changes.
While working on this task you should join and remain in #CopyleftGames on Freenode to get help, feedback, and guidance from mentors and other developers. Code updates which may affect your work are also announced here as they happen.
When you've done, commit your work and post the resulting changeset url to this task.