Real Python Logo

Episode 24: Options for Packaging Your Python Application: Wheels, Docker, and More

The Real Python Podcast

Aug 28, 2020 1h 14m

Have you wondered, how should I package my Python code? You’ve written the application, but now you need to distribute it to the machines it’s intended to run on. It depends on what the code is, the libraries it depends on, and with whom do you want to share it. This week on the show we have Itamar Turner-Trauring, creator of the website pythonspeed.com. We discuss his article “Options for Packaging Your Python Code: Wheels, Conda, Docker, and More,” covering the how of sharing your code.

Itamar also briefly discusses his Python memory profiler named Fil. We talk about his recent PyCon 2020 presentation, “Small Big Data: What to do When Your Data Doesn’t Fit in Memory.” We also cover several of the resources available on his website for data scientists that want to get deeper into Docker.

Topics:

  • 00:00:00 – Introduction
  • 00:01:36 – About the naming of pythonspeed.com
  • 00:03:47 – Fil - Python Memory Profiler
  • 00:06:44 – Small Big Data: What to do when your data doesn’t fit in memory - PyCon 2020
  • 00:12:17 – Options for packaging your Python code: Wheels, Conda, Docker, and more
  • 00:15:13 – Python Wheels
  • 00:19:22 – pipx: Install and Run Python Applications in Isolated Environments
  • 00:20:52 – PEX, and friends
  • 00:24:51 – System Package, RPM or DEB
  • 00:29:42 – Conda Packaging and conda-forge
  • 00:36:09 – Video Course Spotlight
  • 00:37:23 – Self-contained executable: PyInstaller, PyOxidizer, Briefcase
  • 00:43:45 – Container image (Docker, Singularity)
  • 00:54:55 – Why alpine may not be the best choice
  • 01:05:28 – Singularity
  • 01:07:50 – What are you excited about in the world of Python?
  • 01:10:40 – What do you want to learn next?
  • 01:13:54 – Thanks and Goodbye

Show Links: