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.
00:00:00 – Introduction00:01:36 – About the naming of pythonspeed.com00:03:47 – Fil - Python Memory Profiler00:06:44 – Small Big Data: What to do when your data doesn’t fit in memory - PyCon 202000:12:17 – Options for packaging your Python code: Wheels, Conda, Docker, and more00:15:13 – Python Wheels00:19:22 – pipx: Install and Run Python Applications in Isolated Environments00:20:52 – PEX, and friends00:24:51 – System Package, RPM or DEB00:29:42 – Conda Packaging and conda-forge00:36:09 – Video Course Spotlight00:37:23 – Self-contained executable: PyInstaller, PyOxidizer, Briefcase00:43:45 – Container image (Docker, Singularity)00:54:55 – Why alpine may not be the best choice01:05:28 – Singularity01: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 GoodbyePython => Speed: Ship Better Python Software, FasterCode Without Rules: Helping You Become a Productive Programmer and Get Work/Life BalanceTalk Python to Me – Episode #274: Profiling Data Science Code with FILFil: A New Python Memory Profiler for Data Scientists and ScientistsSmall Big Data: What to do When Your Data Doesn’t Fit in Memory - PyCon 2020Episode 16: Thinking in Pandas: Python Data Analysis the Right WayOptions for Packaging Your Python Code: Wheels, Conda, Docker, and MoreWhat Are Python Wheels and Why Should You Care?: Real Python articlepipx — Install and Run Python Applications in Isolated Environmentspex: A Library and Tool for Generating .pex (Python EXecutable) FilesWTF is PEX?: Twitter Lightning Talk - YouTubeRPM (Red Hat Package Manager): Wikipedia articleDEB (Debian Package - file format): Wikipedia articleConda: Package, Dependency and Environment Management for Any Languageconda-forge: A community-led collection of recipes, build infrastructure and distributions for the conda package managerPyInstaller: Freezes (packages) Python applications into stand-alone executablesPyOxidizer: A utility for producing binaries that embed PythonBriefcase: Convert a Python project into a standalone native applicationDocker: Get Started with DockerJust Enough Docker Packaging: BookEpisode 8: Docker + Python for Data Science and Machine LearningUsing Alpine can make Python Docker builds 50× slowerIntroduction to SingularityDocker vs. Singularity for data processing: UIDs and filesystem accessBest practices for production-ready Docker packaging: EuroPython 2020 talkEuroPython 2020 Talk: Brian Track Stream - Unedited - Starts @08:33:45Statistical Rethinking: A Bayesian Course with ExamplesBayes Theorem: 3Blue1Brown - YouTubeLevel up your Python skills with our expert-led courses:
Python Coding Interviews: Tips & Best PracticesDocumenting Code in PythonHow to Publish Your Own Python Package to PyPI Support the podcast & join our community of Pythonistas