Before you learn node.js to handle WebSockets or any type of full-duplex client-server communication, check out some Python options first. In this post I'll lay out some of the resources that I found most helpful for getting started coding Python web applications that use WebSockets.
Before diving in make sure you check out the WebSockets page on Full Stack Python. The page is new so it's a bit sparse at the moment but I'll continue filling it out throughout the rest of the month.
All code for the meetup live demo can be found on GitHub in the python-websockets-example repo.
The slides are also available but do not make a lot of sense without corresponding audio of the presentation.
The below WebSocket resources aren't specific to Python but it's a good idea to get grounded in the technology itself first.
I recommend reading the awesome-python list of concurrency and networking libraries.
These resources are specific to using WebSockets with Python web frameworks like Django, Flask and Bottle and Klein. Each tutorial will show you step-by-step how to implement WebSockets with that framework.
There are multiple ways to accomplish server push and full duplex communication between web browsers and a server. The WebRTC Data Channel and Server-Sent Events (SSE) can provide similar functionality to WebSockets, although there are differences such as SSE not being able to push from client to server, only server to client. There is often confusion for how these technologies compare so it's a good idea to read a few of the posts below to survey the landscape.