Protocol Buffer Basics: Python refers to __metaclass__ but there is none of that in the code snippet
Looking at the rendered output of the Python Tutorial today, I see the following paragraph, which still references __metaclass__. I think some more cleanup in needed, but I'm not sure what...
The important line in each class is
__metaclass__ = reflection.GeneratedProtocolMessageType. While the details of how Python metaclasses work is beyond the scope of this tutorial, you can think of them as like a template for creating classes. At load time, theGeneratedProtocolMessageTypemetaclass uses the specified descriptors to create all the Python methods you need to work with each message type and adds them to the relevant classes.
It looks like some cleanup was done in response to #124 in commit 654b896, but there are still some lingering references to __metaclass__ that makes the documentation confusing.
Thanks for the heads up. I'll check with our main Python SWE and get the docs into a more consistent state.