{'file': buf.getvalue()}
или после сохранения картинки выполнить buf.seek(0, 0)
ws
у вас сохранён подключенный websocket, тогда ws.send_str('hello')
python server.py
d = [lambda n: n + 10 for n in range(3)]
print(d[0](32))
[10, 11, 12]
можно было бы вызовом функций в момент их создания - [(lambda n: n + 10)(n) for n in range(3)]
Но зачем?