Rule('/', endpoint='index', view=('app.views.Index',(),{})),
So it does not really tell me if it is new instances or shared :)
I had an issue with some other non-gae framework, where instances where shared(this makes sense btw, talking about performance, but some functionality loses)
So highly aware about this matter.
BTW, made some checks now, I am afraid you are wrong and instances are shared (well, at least their common ancestor shared):
Done following:
Have two views, both extend MainPage
Made write to context['from_index'] on index page and read it with another request from another view.
The data in ['from_index'] was there... So ancestor shared.
So common ancestor cannot be used for storing anything. Only for overriding of pre-defined properties on class level, not on runtime logic.
And I can't find a way to check if race condition can occur inside same view by accessing same variable(e.g. context). A lot in-the-same time request should be made to check this...