Ваше желание отправлять «логику приложения» с сервера клиенту без отправки «кода» само по себе противоречиво, хотя вы можете этого еще не осознавать - даже если «логика», которую вы отправляете, в некоторой степениупрощенный специальный «язык» (о котором вы даже не думаете как о языке ;-), во всех отношениях ваш код Python будет интерпретировать этот язык и, таким образом, выполнять этот код.Вы можете в некоторой степени «помещать в песочницу», но, в конце концов, это то, что вы делаете.
Чтобы избежать взломов и других уловок, вместо этого используйте HTTPS
и проверьте сертификат сервера в вашем клиенте:это защитит вас от всех проблем, о которых вы беспокоитесь (если кто-то может отредактировать приложение достаточно, чтобы победить проверку сертификата HTTPS, он может отредактировать его настолько, чтобы оно запускало любой код по своему усмотрению, без необходимости отправлять этот код изсервер; -).
После того, как вы используете https, сервер отправляет модули Python (в исходной форме, если вам нужно поддерживать несколько версий Python на клиентах, иначе подходит байт-код) и клиент, тем самымсохраните их на диск и импортируйте / перезагрузите их, все будет хорошо.В основном вы будете делать вариант классической «архитектуры плагинов», где «плагины» фактически отправляются с сервера (а не находятся на диске в заданном месте).