ちょっと調べてみたら、想像してたよりもライブラリが充実していたので、各ライブラリの特徴をまとめておきます。
AutobahnPython
Autobahn が Python 用にサーバー、クライアント用のライブラリを提供しています。
AutoBahn Python は Pure Python で Twisted に依存しています。 Twisted を使うなら Autobahn でいいのですが、そうでない場合は別のものを使う必要があります。
Autobahn は Python 用以外に JavaScript と Java(Android) 用にもライブラリを提供していて、また他の多くのプロジェクトでも利用されている WebSocket 用のテストスイートも提供しています。高品質な WebSocket ライブラリがいっぱい揃っているのは多分このテストスイートのおかげでしょう。
Tornado
Tornado は標準で WebSocket Handler を提供していて、簡単に WebSocket に対応することができます。
tornado.websocket.WebSocketConnect
を使ってクライアントになることもできます。
ws4py
WebSocket4Python は Twisted以外にも、スレッド・gevent・Tornadoなどに対応したサーバー・クライアントライブラリです。 Autobahn のテストスイートを(多分一部の実装も)利用しています。
gevent-websocket
gevent-websocket は、 gevent の pywsgi を WebSocket に対応させることに特化したライブラリです。これも Autobahn テストスイートを利用しています。ただ、半年ほど更新が無いようなのがちょっと気がかりです。 (やっと WebSocket の仕様が安定して修正が要らなくなっただけかもしれませんが)
websocket-client
websocket-client は liris さんが開発されたクライアントライブラリです。
WebSocket はサーバーとクライアントのどちらも非同期的にメッセージを送れるので、他のライブラリはイベントドリブンかスレッド・geventを前提に作られているのですが、このライブラリは同期的に使えるのが特徴です。
実際にはクライアントの送信とサーバー側の送信のタイミングが完全に非同期ではないことも多いですし、チャットなどのサーバーを書く場合でもテスト用クライアントを書くときはサーバーからメッセージが来るタイミングが予期できるので、同期的な書き方ができるのは大変便利です。