How can I implement Comet / Server push in Google App Engine in Python?
This is not a simple question to answer. Reading this wiki might give you a hint as to the implementation you'd like to undertake. You might have to write the HTTP server yourself to implement sockets which remain open.
At this time, I would rule out doing Comet in App Engine (any language). Comet is based on long-lived HTTP connections, and App Engine will time out any single connection in about 30 seconds or so at most; it's hard to conceive of a worse match!
Comet (or something like it - XMPP API) is on the google app engine roadmap. For now, stay away.
I found this article which explains a sort of comet. It is not really but you can simulate realtime with it. It uses an external service
http://www.brightyellowcow.com/blog/Comet-AJAX-push-using-PHP-or-Google-App-Engine.html
30 seconds is more than enough,either way you should return a no-op message when a time passed a no new events occur,this prevents client timeouts and is done by everybody who does comet. just send the request,in the server make it wait until a event or timeout after 25 seconds.
We just announced the Channel API to do comet push with App Engine apps: http://googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html
If you're at Google IO, I'll be talking about this at 1pm tomorrow (on the APIs track): http://code.google.com/events/io/2010/sessions/building-real-time-apps-app-engine-feed-api.html
Here's the YouTube video of the session: http://www.youtube.com/watch?v=oMXe-xK0BWA
I would have commented on Moishe's answer , however my reputation doesn't seem to allow that... Here's that video to the Google I/O talk that describes the Channel API (only available to trusted developers for the moment, soon to be out)
Looking inside the App Engine 1.3.8-pre release, I see the Channel API service stub and more code. So it looks like we can start trying it out locally.