The Real Python Podcast

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


Listen Later

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.

Course Spotlight: Python Coding Interviews: Tips & Best Practices

In this step-by-step course, you’ll learn how to take your Python coding interview skills to the next level and use Python’s built-in functions and modules to solve problems faster and more easily.

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:

    • Python => Speed: Ship Better Python Software, Faster
    • Code Without Rules: Helping You Become a Productive Programmer and Get Work/Life Balance
    • Talk Python to Me – Episode #274: Profiling Data Science Code with FIL
    • Fil: A New Python Memory Profiler for Data Scientists and Scientists
    • Small Big Data: What to do When Your Data Doesn’t Fit in Memory - PyCon 2020
    • Episode 16: Thinking in Pandas: Python Data Analysis the Right Way
    • Options for Packaging Your Python Code: Wheels, Conda, Docker, and More
    • What Are Python Wheels and Why Should You Care?: Real Python article
    • pipx — Install and Run Python Applications in Isolated Environments
    • pex: A Library and Tool for Generating .pex (Python EXecutable) Files
    • WTF is PEX?: Twitter Lightning Talk - YouTube
    • RPM (Red Hat Package Manager): Wikipedia article
    • DEB (Debian Package - file format): Wikipedia article
    • Conda: Package, Dependency and Environment Management for Any Language
    • conda-forge: A community-led collection of recipes, build infrastructure and distributions for the conda package manager
    • PyInstaller: Freezes (packages) Python applications into stand-alone executables
    • PyOxidizer: A utility for producing binaries that embed Python
    • Briefcase: Convert a Python project into a standalone native application
    • Docker: Get Started with Docker
    • Just Enough Docker Packaging: Book
    • Episode 8: Docker + Python for Data Science and Machine Learning
    • Using Alpine can make Python Docker builds 50× slower
    • Introduction to Singularity
    • Docker vs. Singularity for data processing: UIDs and filesystem access
    • Best practices for production-ready Docker packaging: EuroPython 2020 talk
    • EuroPython 2020 Talk: Brian Track Stream - Unedited - Starts @08:33:45
    • Statistical Rethinking: A Bayesian Course with Examples
    • Bayes Theorem: 3Blue1Brown - YouTube
    • Level up your Python skills with our expert-led courses:

      • Python Coding Interviews: Tips & Best Practices
      • Documenting Code in Python
      • How to Publish Your Own Python Package to PyPI
      • Support the podcast & join our community of Pythonistas

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Real Python PodcastBy Real Python

        • 4.7
        • 4.7
        • 4.7
        • 4.7
        • 4.7

        4.7

        136 ratings


        More shows like The Real Python Podcast

        View all
        Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

        Software Engineering Radio - the podcast for professional software developers

        272 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        283 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        41 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        592 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        624 Listeners

        Soft Skills Engineering by Jamison Dance and Dave Smith

        Soft Skills Engineering

        269 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        298 Listeners

        Python Bytes by Michael Kennedy and Brian Okken

        Python Bytes

        213 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        142 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        982 Listeners

        DataFramed by DataCamp

        DataFramed

        266 Listeners

        Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

        Kubernetes Podcast from Google

        181 Listeners

        Practical AI by Practical AI LLC

        Practical AI

        190 Listeners

        The Stack Overflow Podcast by The Stack Overflow Podcast

        The Stack Overflow Podcast

        64 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        52 Listeners