Your suggestion ('_name' -> implementation, 'name' -> API) makes sense as a convention between programmers that know a fair amount about each other's classes before using them.
I don't think it is reasonable in general to only subclass from base classes you have studied the full API of, however. The double underscore is a decent solution to my problem. I imagine it must be used a lot in domains where people are making heavy use of third party python code. Chris Marshall -- http://mail.python.org/mailman/listinfo/python-list