JS клиент и Python сервер, как передавать данные через socket?
Дело в том что на клиенте вы используете протокол websocket, а на сервере чистые tcp сокеты. Если вам нужен websocket на python, то посмотрите https://flask-socketio.readthedocs.io/en/latest/ он самый простой на мой взгляд.
Если хотите делать протокол самостоятельно то вот спецификация https://tools.ietf.org/html/rfc6455
Для современного асинхронного WebSocket-сервера на Python выбор библиотеки фактически сводится к:https://github.com/KeepSafe/aiohttp - эталонный HTTP-клиент и сервер под asyncio, среди прочего есть поддержка WebSocket на клиенте и на сервере.https://github.com/crossbario/autobahn-python - (по историческим причинам) эталонная реализация WebSocket на Python под asyncio или twisted; остальные реализации обычно сверяют свой функционал с ней.https://github.com/aaugustin/websockets  - под asyncio.https://github.com/Lawouach/WebSocket-for-Python (AKA ws4py) - под asyncio или gevent или CherryPy.