Listen

Cast

Description

In this episode, Elixir Wizard Charles Suggs sits down with Victor Björklund to map out the landscape of Python integration in Elixir applications. From HTTP APIs and external services to embedded runtimes like ErlPort, PythonX, and the Venomous library, we evaluate each approach’s impact on performance, coupling, and developer experience. Victor draws on real-world examples like Scrapy-based web scraping and the Swedish BankID authentication to illustrate best practices for error handling, process pooling, and effective telemetry across the BEAM boundary.

We also tackle the practical side of deployment: packaging Python dependencies in Mix releases, mocking Python calls in tests, and deploying multi-language apps with confidence. Wrapping up, Victor shares his wishlist for even tighter interop (think multiple Python interpreter instances per VM) and offers low-risk entry points, like automating monthly reports, for teams ready to explore the power of Python’s ecosystem within Elixir.

Key topics discussed in this episode:

Links mentioned:

jawdropping.io

https://cplusplus.com/

https://www.python.org/

https://react.dev/

https://nodejs.org/en

https://erlport.org/

https://hexdocs.pm/pythonx/Pythonx.html

https://pyrlang.github.io/Pyrlang/

Python GIL (Global Interpreter Lock): https://realpython.com/python-gil/

https://github.com/devinus/poolboy

https://hexdocs.pm/venomous/Venomous.html

Try-catch https://syntaxdb.com/ref/python/try-catch

https://www.scrapy.org/

https://www.bankid.com/en/

https://www.phoenixframework.org/

https://www.tzeyiing.com/posts/using-a-hunky-poolboy-to-manage-your-python-erlport-processes-in-elixir/

https://medium.com/stuart-engineering/how-we-use-python-within-elixir-486eb4d266f9

https://x.com/bjorklundvictor

https://victorbjorklund.com/

https://www.linkedin.com/in/victorbjorklund/

hello@victorbjorklund.com