Congrats for the detailed post. I had a quick glance and was surprised you didn't mention ErlPort. It seems it could simplify things a bit or am I missing something?
Erlport isn't in development anymore(hasnt it been replaced by ports?) , and the ports system of erlang and elixir nowadays is perfectly fine, a new porcelain would be cool tho
Ports aren't a replacement for ErlPort, they're a pre-existing mechanism of Erlang/OTP. ErlPort is a library that makes it easy to use ports with Ruby and Python. It's not actively developped but the community has managed to keep it compatible with recent Erlang/OTP releases. In my experience it works well and makes it a breeze to call Python from Elixir.