XMPPなどの既存のプロトコルを使用するのがおそらく最善です。たとえば、Plone(Python CMS)の場合、collective.xmpp.chatとの完全なXMPP統合があり、Ploneサイトの認証されたユーザー間でマルチユーザーチャットとインスタントメッセージングを提供します(デモビデオ)。
[1]
Pyramidの場合、Jabber / XMPPサーバー(ejabberdなど)を実行し、Python用の既存のXMPPクライアントライブラリを使用してPyramidと通信することにより、この統合を自分で行う必要があります。Python用のXMPPライブラリはたくさんありますが、そのうちのいくつかはこの質問への回答で説明されています。
注:XMPPを見た後、複雑に見えても怖がらないでください。XMPPとその拡張機能は、メッセージングとプレゼンスに関連するさまざまな機能を記述しています。チャットはその1つにすぎません。他の機能が必要ない場合は、単にそれらをWebアプリに実装しないでください。
[1]
実際、まさにそれを実行しているように見えるPyramidプロジェクトがあります:@KirkStrauserによって書かれたseshat。自分で使ったことはありませんが、とても有望に見えます。