The Real Python Podcast

Real Python
undefined
Oct 2, 2020 • 1h 9min

Resolving Package Dependencies With the New Version of Pip

If you use Python, then you probably have used pip to install additional packages from the Python package index. Part of the magic behind pip is the dependency resolver, and there is a new version of it in the latest version of pip. This week on the show, we have Sumana Harihareswara and Georgia Bullen, who have been working on the recent releases of pip. Sumana is the project manager for pip, and Georgia has been working on pip’s user experience (UX). The resolver is how pip determines what to install, and in what order, based on package requirements. We talk about how you can help, from updating to the latest release, testing out the new resolver with your projects, and answering surveys about your experiences. A ton of work has gone into making the updates this year. We also talk about the funding of projects like this in the open-source community. Course Spotlight: A Beginner’s Guide to Pip This course is a great introduction to pip for those who are getting started Python, and for those who want to understand more about what is happening when you install new packages into your environment. It’s a worthy investment of your time to understand the fundamentals of pip. Show Topics: 00:00:00 – Introduction 00:01:41 – Pip updates and changes to dependency resolver 00:08:49 – Different types of wheels 00:11:12 – Pinning package dependencies 00:13:19 – Work on the user experience (UX) of pip 00:15:45 – Documentation at Python packaging authority and thanks to Thea Flowers 00:16:21 – Types of issues that need resolving 00:20:48 – Need for reporting issues 00:23:41 – Pip usability survey and dependency recipes to test 00:27:21 – Call out to open source maintainers to test 00:29:32 – Video Course Spotlight 00:30:43 – How is this UX work different from Simply Secure 00:34:59 – How do you present errors to users? 00:41:14 – Pip release timeline for 2020 and into 2021 00:46:38 – The dynamics of responsibility and power 00:49:43 – What’s involved in getting more funding into open source? 00:54:10 – Grant writing for the PSF 00:57:53 – Call to action: How to help with pip? 01:00:54 – What are you excited about in the world of Python? 01:04:52 – What do you want to learn next? 01:08:22 – Thanks and goodbyes Show Links: New pip resolver to roll out this year: Python Software Foundation Changes to the pip dependency resolver in 20.2 (2020): Python Packaging Authority Changes are coming to pip: YouTube Sign-up for pip UX Studies! Upgrade to pip 20.2, plus, changes coming in 20.3: Python Insider Pip team midyear report: July 13, 2020 An Overview of Packaging for Python: PyPA pip dependency resolver changes: Test & Code Podcast What Are Python Wheels and Why Should You Care?: Real Python article Python Wheels and Pass by Reference in Python: Real Python Podcast Ep23 Options for Packaging Your Python Application: Wheels, Docker, and More: Real Python Podcast Ep24 UX Research & Design: 2020 Work on Improving pip’s user experience Simple Secure: User Research Roadmap update for TUF (The Update Framework) support Exploring CircuitPython with Thea Flowers: Real Python Podcast Ep5 PyPA - Packaging Problems Issue Tracker: Github PEP 458 - Secure PyPI downloads with signed repository metadata Fixing conflicting dependencies: PyPA Finish dependency resolver for pip: Github Announcing the PSF Project Funding Working Group: PSF Sponsor PyPI and related projects Tidelift: Managed open source. Backed by maintainers. Apply for Grants To Fund Open Source Work: changeset Open collective: Make your community sustainable Sustain: Holding a space for conversations about sustaining Open Source Answer these surveys to improve pip’s usability: Python Software Foundation Breaking Release Bottlenecks – What Changeset Can Do On The Art of Python 2019 Python Grab Bag: A Set of Short Plays “Apply for Grants to Fund Open Source Work” - Sumana Harihareswara: PyOhio 2020 PyGotham TV: 2020 Get paid to write Free software: Cristina - PyGotham 2020 Level up your Python skills with our expert-led courses: A Beginner's Guide to pip How to Publish Your Own Python Package to PyPI Python Modules and Packages: An Introduction Support the podcast & join our community of Pythonistas
undefined
Sep 25, 2020 • 50min

Using Pylance to Write Better Python Inside of Visual Studio Code

A big decision a developer has to make is what tool to use to write code? Would you like an editor that understands Python, and is there to help with suggestions, definitions, and analysis of your code? For many developers, its the free tool, Visual Studio Code. This week on the show, we have Savannah Ostrowski, program manager for the Python Language Server and Python in Visual Studio. We discuss Pylance, a new language server with fast, feature-rich language support for Python in VS Code. Savannah explains what a language server is and the types of features it can provide. This includes type information, code completion, automatic-imports, dead code analysis, code navigation, and more. We also have a discussion about type checking in Python, which led to how Pylance leverages the static type checking tool Pyright, and what are type stubs (.pyi files). Course Spotlight: Python Type Checking In this course, you’ll look at Python type checking. Traditionally, types have been handled by the Python interpreter in a flexible but implicit way. Recent versions of Python allow you to specify explicit type hints that can be used by different tools to help you develop your code more efficiently. Topics: 00:00:00 – Introduction 00:01:47 – Current Role at Microsoft 00:03:01 – Background with Python 00:04:21 – Origins of Pylance 00:06:53 – What is a language server? 00:09:56 – Diving deeper into the features individually 00:14:42 – Code navigation and diagnostics 00:15:43 – Methods of defining types and stub files 00:17:28 – What are examples of stub files? 00:21:16 – Comparing Pyright to Mypy 00:23:56 – Video Course Spotlight 00:25:02 – Auto-imports are a contentious feature 00:28:36 – Code actions and dead code analysis 00:31:46 – Pylance working with Jupyter notebooks in VSCode 00:33:30 – Multiple workspaces 00:36:16 – Why do you like to work on developer tools? 00:39:35 – How does a tool like Pylance help a beginner? 00:42:31 – What are you excited about in the world of Python? 00:46:25 – What do you want to learn next? 00:49:24 – Thanks and goodbyes Show Links: Announcing Pylance: Fast, feature-rich language support for Python in Visual Studio Code Pylance introduces five new features that enable type magic for Python developers Python in Visual Studio Code – September 2020 Release Pylance and Python in VS Code: Visual Studio Code v1.49 Release Party - YouTube Language Server Protocol Language Server Protocol: Github How the Language Server Protocol Affects the Future of IDEs typeshed: External type annotations for the Python standard library and Python builtins, as well as third party packages Pyright: Static type checker for Python PEP 561 – Distributing and Packaging Type Information Visual Studio IntelliCode: Provides AI-assisted development features for Python Creating Stubs For Python Modules Python Type Checking: Real Python video course Feather Huzzah: Adafruit Circuit Playground Express: Adafruit Circuit Python: The easiest way to program microcontrollers Big Honking Button: Winterbloom Arduino With Python: How to Get Started - Real Python video course Level up your Python skills with our expert-led courses: Arduino With Python: Getting Started Python Type Checking Finding the Perfect Python Code Editor Support the podcast & join our community of Pythonistas
undefined
Sep 18, 2020 • 47min

Preparing for an Interview With Python Practice Problems

What is an effective way to prepare for a Python interview? Would you like a set of problems that increase in difficulty to practice and hone your Python skills? This week on the show, we have Jim Anderson to talk about his new Real Python article, “Python Practice Problems: Get Ready for Your Next Interview.” This article provides several problems, which include skeleton code, unit tests, and solutions for you to compare your work. David Amos also joins us this week, and he has brought another batch of PyCoder’s Weekly articles and projects from the Python community. We cover these topics: Structural Pattern Matching, Common Python Data Structures, A Tax Attorney Uses Python, Discover the Role of Python in Space Exploration, and Five Pairs of Magic Methods in Python That You Should Know. Course Spotlight: How to Implement a Python Stack In this course, you’ll learn how to implement a Python stack. You’ll see how to recognize when a stack is a good choice for data structures, how to decide which implementation is best for a program, and what extra considerations to make about stacks in a threading or multiprocessing environment. Topics: 00:00:00 – Introduction 00:01:37 – Python Practice Problems 00:08:19 – Structural Pattern Matching 00:14:16 – Common Python Data Structures 00:17:49 – Video Course Spotlight 00:18:42 – A Tax Attorney Uses Python 00:23:36 – Discover the Role of Python in Space Exploration 00:26:33 – Thanks for the Reviews! 00:27:28 – 5 Pairs of Magic Methods in Python That You Should Know 00:36:56 – python-adventure: Original Colossal Caves Adventure Game 00:41:06 – clifford: Geometric Algebra for Python 00:43:45 – pippi: Computer Music With Python 00:46:24 – Thanks and Goodbye Show Links: Python Practice Problems: Get Ready for Your Next Interview – Are you a Python developer brushing up on your skills before an interview? If so, then this tutorial will usher you through a series of Python practice problems meant to simulate common coding test scenarios. “Structural Pattern Matching”; for Python, Part 2 – The saga of PEP 622 continues with updates to the proposed structure of the match statement—which has some similarities to a switch statement—and a discussion on the best way to document objections to a PEP. Common Python Data Structures (Guide) – In this tutorial, you’ll learn about Python’s data structures. You’ll look at several implementations of abstract data types and learn which implementations are best for your specific use cases. A Tax Attorney Uses Python – See how one tax attorney uses Python to automate grueling and repetitive tasks and improve his business. While the article is non-technical, it’s always fun to see how Python is used in diverse fields. Discover the Role of Python in Space Exploration – In this learning path from Microsoft, you’ll get an introduction to Python, and be inspired to learn, discover, and create using Python-based data science and machine learning to help generate knowledge about the world beyond Earth. 5 Pairs of Magic Methods in Python That You Should Know – Magic, or “dunder,” methods are an important part of creating custom classes in Python. Learn about some commonly used magic methods by exploring hem in pairs that are frequently used together. python-adventure: Original Colossal Caves Adventure Game, but in Python 3 clifford: Geometric Algebra for Python pippi: Computer Music With Python Additional Links: Python Coding Interviews: Tips & Best Practices: Real Python Course The Singleton Pattern: A “Creational Pattern” from the Gang of Four book The Python heapq Module: Using Heaps and Priority Queues: Real Python Article How to Implement a Python Stack: Real Python Article Python Stacks, Queues, and Priority Queues in Practice: Real Python Article codespell: Fix common misspellings in text files. Level up your Python skills with our expert-led courses: A Conceptual Primer on OOP in Python Implementing a Stack in Python Working With Linked Lists in Python Support the podcast & join our community of Pythonistas
undefined
4 snips
Sep 11, 2020 • 1h 28min

5 Years Podcasting Python With Michael Kennedy: Growth, GIL, Async, and More

Michael Kennedy, host of 'Talk Python to Me', reflects on 5 years of podcasting about Python, discussing growth, Async, GIL, desktop apps, type checking, and how podcasts aid language immersion. Python's appeal to new programmers, full-spectrum language usage, enterprise contributions, and stories from Talk Python are explored in depth.
undefined
Sep 4, 2020 • 1h

Data Version Control in Python and Real Python Video Transcripts

Wouldn’t it be nice to a use a form of version control for data? Something that would allow you to track and version your datasets and models. Well, that’s what the tool called DVC is designed to do. This week on the show, David Amos is here and he’s brought another batch of PyCoder’s Weekly articles and projects. David starts with a Real Python article titled, “Data Version Control With Python and DVC”. We also cover several other articles and projects from the Python community including: where to get exposure to well-written code, delegation – composition and inheritance, good Python project ideas for high school students, never run Python in your downloads folder, and more. We also have a special guest this week. I talk to Sadie Parker, who recently joined the Real Python team to help create and edit transcripts for all the Real Python video courses. We talk about how to take advantage of all the features this new resource provides. Sadie also discusses how she uses Python to speed up and simplify the editing process. The transcripts and closed captions are now live on the website for all new courses, and we are working through the back catalog. Course Spotlight: Parallel Iteration With Python’s zip() Function In this course, you’ll learn how to use the Python zip() function to solve common programming problems. You’ll learn how to traverse multiple iterables in parallel and create dictionaries with just a few lines of code. Topics: 00:00:00 – Introduction 00:02:01 – Data Version Control With Python and DVC 00:08:57 – Where Do You Go to Get Exposure to Well-Written Code? 00:13:13 – Delegation: Composition and Inheritance in Object-Oriented Programming 00:21:46 – What Are Some Good Python Project Ideas for High School Students? 00:26:53 – Video Course Spotlight 00:27:48 – Never Run Python in Your Downloads Folder 00:35:55 – present: A Terminal-Based Presentation Tool With Colors and Effects 00:37:36 – Mini Raspberry Pi Boston Dynamics–inspired Robot 00:41:48 – Sadie Parker and Transcripts for Real Python Video Courses 00:59:26 – Thanks and Goodbye Show Links: Data Version Control With Python and DVC – In this tutorial, you’ll learn to use DVC, a powerful tool that solves many problems encountered in machine learning and data science. You’ll find out how data version control helps you to track your data, share development machines with your team, and create easily reproducible experiments! Where Do You Go to Get Exposure to Well-Written Code? – Maybe someone needs to start a Python reading club… Delegation: Composition and Inheritance in Object-Oriented Programming – Delegation is often considered one of the three pillars of object-oriented programming. Learn how to use this powerful concept in Python. What Are Some Good Python Project Ideas for High School Students? – Honestly, some of these ideas are good for any beginning Pythonista! Never Run Python in Your Downloads Folder – Learn about security issues that exploit how Python interacts with PATH and why you should always think twice about your current working directory. present: A Terminal-Based Presentation Tool With Colors and Effects Mini Raspberry Pi Boston Dynamics–inspired Robot – See how one Redditor taught themselves robotics by building a miniature version of a Boston Dynamic’s robot dog “Spot” using a Raspberry Pi, C++, and Python. Additional Links: Python 3 Module of the Week The Algorithms - Python Awesome Python Applications James Powell: So you want to be a Python expert? | PyData Seattle 2017 Boston Dynamics: Spot WebVTT (Web Video Text Tracks): Wikipedia article webvtt-py: Python module for reading/writing WebVTT files pysrt: SubRip (.srt) subtitle parser and writer Srt: A tiny library for parsing, modifying, and composing SRT files Level up your Python skills with our expert-led courses: Grow Your Python Portfolio With 13 Intermediate Project Ideas Parallel Iteration With Python's zip() Function Editing Excel Spreadsheets in Python With openpyxl Support the podcast & join our community of Pythonistas
undefined
9 snips
Aug 28, 2020 • 1h 15min

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

Itamar Turner-Trauring, creator of pythonspeed.com, discusses packaging Python code with options like Wheels, Conda, and Docker. He also mentions his Python memory profiler, Fil, and shares resources for data scientists interested in Docker. The podcast covers topics such as Python memory usage, packaging with PEX, and the benefits of Conda. They also touch on Docker containerization and compare Docker and Singularity for data processing. Lastly, the speaker expresses excitement about virtual conferences and their interest in learning statistical rethinking and Bayesian programming.
undefined
Aug 21, 2020 • 1h 5min

Python Wheels and Pass by Reference in Python

Have you wondered what Python wheels are? How are they used to package Python code? Does Python use pass by value or pass by reference? This week on the show, David Amos is here to help answer these questions, and he has brought another batch of PyCoder’s Weekly articles and projects. We talk about an article called “What are Python Wheels, and Why Should You Care.” David talks about a Real Python article about pass by reference in Python. We cover several other articles and projects from the Python community including: transcribing speech to text, 4 powerful features Python is still missing, 10 awesome pythonic one-liners, and even more options for packaging your Python code. Course Spotlight: Practical Recipes for Working With Files in Python In this course, you’ll learn how you can work with files in Python by using built-in modules to perform practical tasks that involve groups of files, like renaming them, moving them around, archiving them, and getting their metadata. Topics: 00:00:00 – Introduction 00:01:25 – 4 Powerful Features Python Is Still Missing 00:14:41 – What Are Python Wheels and Why Should You Care? 00:23:58 – 10 Awesome Pythonic One-Liners Explained 00:38:11 – Video Course Spotlight 00:39:14 – How to Transcribe Speech Recordings Into Text With Python 00:43:34 – Pass by Reference in Python: Background and Best Practices 00:49:54 – Options for Packaging Your Python Code: Wheels, Conda, Docker, and More 00:55:53 – PyOxidizer: A Modern Python Application Packaging and Distribution Tool 01:00:13 – Python and PDF: A Review of Existing Tools 01:04:01 – Thanks and Goodbye Show Links: 4 Powerful Features Python Is Still Missing – Python doesn’t have true constants, nor does it implement features like tail recursion optimization that many compiled languages employ. Find out what other features Python is “missing” when compared to other languages, and why the core developers haven’t added these features to the language. What Are Python Wheels and Why Should You Care? – In this tutorial, you’ll learn what Python wheels are and why you should care as both a developer and end user of Python packages. You’ll see how the wheel format has gained momentum over the last decade and how it has made the package installation process faster and more stable. 10 Awesome Pythonic One-Liners Explained – Some things in Python are just better on one line. How to Transcribe Speech Recordings Into Text With Python – Learn to transcribe speech in recordings like MP3s into text with Python and AssemblyAI’s API Pass by Reference in Python: Background and Best Practices – In this tutorial, you’ll explore the concept of passing by reference and learn how it relates to Python’s own system for handling function arguments. You’ll look at several use cases for passing by reference and learn some best practices for implementing pass-by-reference constructs in Python. Options for Packaging Your Python Code: Wheels, Conda, Docker, and More – There’s a lot of ways to package your Python code. Find out which one is right for you. PyOxidizer: A Modern Python Application Packaging and Distribution Tool Python and PDF: A Review of Existing Tools – The ultimate list of PDF tools in Python. Additional Links: Cool New Features in Python 3.8: More Precise Types - Real Python article Python 101 - Chapter 39 – Python wheels Language Design Is Not Just Solving Puzzles: Guido Van Rossum How to Publish an Open-Source Python Package to PyPI - Real Python article AssemblyAI: Speech-to-Text API Level up your Python skills with our expert-led courses: Lists and Tuples in Python How to Work With a PDF in Python Practical Recipes for Working With Files in Python Support the podcast & join our community of Pythonistas
undefined
Aug 14, 2020 • 1h 24min

Create Cross-Platform Python GUI Apps With BeeWare

Founder of the BeeWare project, Russell Keith-Magee, discusses Briefcase for creating Python applications on various platforms. He talks about the challenges of cross-platform GUI development, how to contribute to open source projects, and the struggle of getting funding for such projects.
undefined
Aug 7, 2020 • 1h 1min

Exploring K-means Clustering and Building a Gradebook With Pandas

Join David Amos, a regular contributor and Python aficionado from PyCoder's Weekly, as he dives into K-means clustering techniques in Python. Discover how this powerful method can be applied to real-world data, including automating grade calculations with a gradebook using pandas. The conversation also unpacks intriguing topics like JPEG image decoding, advanced object-oriented programming, and a selection of helpful Python packages. It's an enlightening mix that sparks joy in the world of coding!
undefined
Jul 31, 2020 • 53min

Building PDFs in Python with ReportLab

Have you wanted to generate advanced reports as PDFs using Python? Maybe you want to build documents with tables, images, or fillable forms. This week on the show we have Mike Driscoll to talk about his book “ReportLab - PDF Processing with Python.” Mike is an author of multiple books about Python, and has recently re-written his Python 101 book. He is also a member of the Real Python team and has written several articles for the site. Along with our discussion about ReportLab and PDFs, Mike talks about being a self-published author. We also talk briefly about his favorite Python GUI framework. Course Spotlight: How to Work With a PDF in Python In this step-by-step course, you’ll learn how to work with a PDF in Python. You’ll see how to extract metadata from preexisting PDFs. You’ll also learn how to merge, split, watermark, and rotate pages in PDFs using Python and PyPDF2. Topics: 00:00:00 – Introduction 00:01:23 – Python 101 book revisions/rewrite 00:04:48 – Python 201 book 00:05:47 – What Python GUI framework do you prefer? 00:12:46 – MouseVsPython YouTube channel 00:14:34 – Why write a ReportLab book? 00:16:11 – Kickstarter and self-publishing books 00:21:38 – Reader feedback about the book 00:22:35 – What other PDF tools are covered in the book? 00:23:48 – Differences with ReportLab Plus 00:25:00 – Flowables and PLATYPUS 00:28:56 – Video Course Spotlight 00:29:49 – What types of projects have you used ReportLab for? 00:35:50 – Creating PDF forms with ReportLab 00:40:21 – LaTeX comparison with ReportLab 00:41:40 – PDFMiner text extraction 00:43:17 – PyFPDF Library for PDF document creation 00:45:28 – Camelot: PDF Table Extraction for Humans 00:47:17 – Working with passwords and encryption - PyPDF2 00:47:56 – What are you excited about in the world of Python? 00:48:47 – Learning OpenCV 00:49:38 – What do you want to learn next in Python? 00:50:20 – Suggestions for Python libraries to read 00:52:11 – Thanks and Goodbye Show links: MouseVsPython Blog Python 101: 2nd Edition – Leanpub Python 201: Intermediate Python – Leanpub How to Build a Python GUI Application With wxPython – Real Python article wxPython Recipes: A Problem - Solution Approach – Apress wxPython: The GUI Toolkit for Python PySimpleGUI: The Simple Way to Create a GUI With Python – Real Python article PySimpleGUI: Python GUI For Humans Mouse Vs Python: YouTube channel ReportLab - PDF Processing with Python – Leanpub ReportLab: Developer pages - Open Source LaTeX – Document preparation system PDFMiner: Text extraction tool for PDF documents PyFPDF: Library for PDF document generation under Python Camelot: PDF Table Extraction for Humans PyPDF2: Pure-Python library built as a PDF toolkit How to Work With a PDF in Python – Real Python article PyViz: List of libraries for visualizing data in Python Adrian Rosebrock: author page – pyimagesearch.com OpenCV Tutorials, Resources, and Guides - pyimagesearch.com Image Segmentation Using Color Spaces in OpenCV + Python – Real Python article Pillow: The friendly PIL (Python Imaging Library) fork Three Ways of Storing and Accessing Lots of Images in Python – Real Python article Level up your Python skills with our expert-led courses: Interactive Data Visualization With Bokeh and Python How to Work With a PDF in Python Histogram Plotting in Python: NumPy, Matplotlib, Pandas & Seaborn Support the podcast & join our community of Pythonistas

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app