A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.
What is behavior-driven development, and how does it work alongside test-driven development? How do you communicate requirements between teams in an organization? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
In this episode, we expand on our software testing discussion from two weeks ago by adding behavior-driven development concepts. Christopher describes how BDD correlates with test-driven development and how it fosters collaboration within a team. We discuss building acceptance tests written in plain language and a handy tool for creating them.
We also share several other articles and projects from the Python community, including a news roundup, using regular expressions in Python, dealing with missing data in Polars, monkey patching in Django, first steps with Playwright, 3D printing giant things with a Python jigsaw generator, and a query language for JSON.
This episode is sponsored by Postman.
Course Spotlight: Regular Expressions and Building Regexes in Python
In this course, you’ll learn how to perform more complex string pattern matching using regular expressions, or regexes, in Python. You’ll also explore more advanced regex tools and techniques that are available in Python.
Topics:
News:
Topics:
Discussion:
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
Are you looking for fast tools to lint your code and manage your projects? How is the Rust programming language being used to speed up Python tools? This week on the show, we speak with Charlie Marsh about his company, Astral, and their tools, uv and Ruff.
Charlie started working on Ruff as a proof of concept, stating that Python tooling could be much faster. He had seen similar gains in JavaScript tools written in Rust. The project started as a speedy linter with a small ruleset. It’s grown to include code formatting and over 800 built-in linting rules.
Last year, the team at Astral started working on a Python package and project manager written in Rust. As a single tool, uv can replace pip, pip-tools, pipx, poetry, pyenv, and more. We discuss how uv can install and manage versions of Python and run scripts without thinking about virtual environments or dependencies.
Charlie talks about growing the team at Astral over the past couple of years. We also discuss the funding model Astral has adopted and sustaining open-source software.
This episode is sponsored by Postman.
Course Spotlight: Python Basics: Installing Packages With pip
Python’s standard library includes a whole buffet of useful packages, but sometimes you need to reach for a third-party library. That’s where pip comes in handy. In this video course, you’ll learn how to pip install packages.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
What goes into creating automated tests for your Python code? Should you focus on testing the individual code sections or on how the entire system runs? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss a recent article from Semaphore about unit testing vs. integration testing. Christopher shares his experiences setting up automated tests for his own smaller projects. He also answers questions about building tests in an existing codebase and integrating tests across systems.
We also share several other articles and projects from the Python community, including a news roundup, improving default line charts to journal-quality infographics, why hash(-1) == hash(-2) in Python, data cleaning in data science, ways to work with large files in Python, a lightweight CLI viewer for log files, and a tool for mocking the datetime module for testing.
This episode is sponsored by Postman.
Course Spotlight: Testing Your Code With pytest
In this video course, you’ll learn how to take your testing to the next level with pytest. You’ll cover intermediate and advanced pytest features such as fixtures, marks, parameters, and plugins. With pytest, you can make your test suites fast, effective, and less painful to maintain.
Topics:
News:
Topics:
Discussion:
Project:
Additional Links:
Level up your Python skills with our expert-led courses:
What are the current large language model (LLM) tools you can use to develop Python? What prompting techniques and strategies produce better results? This week on the show, we speak with Simon Willison about his LLM research and his exploration of writing Python code with these rapidly evolving tools.
Simon has been researching LLMs over the past two and a half years and documenting the results on his blog. He shares which models work best for writing Python versus JavaScript and compares coding tools and environments.
We discuss prompt engineering techniques and the first steps to take. Simon shares his enthusiasm for the usefulness of LLMs but cautions about the potential pitfalls.
Simon also shares how he got involved in open-source development and Django. He’s a proponent of starting a blog and shares how it opened doors for his career.
This episode is sponsored by Postman.
Course Spotlight: Advanced Python import Techniques
The Python import system is as powerful as it is useful. In this in-depth video course, you’ll learn how to harness this power to improve the structure and maintainability of your code.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
What are the principles you should consider when making decisions about which Python tools to use? What anti-patterns get in the way of making the right choices for your team? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss a recent article about effective Python developer tooling. Instead of digging into a list of current libraries, we talk about the principles you must consider before making decisions for your team. We cover common pitfalls teams get mired in and how to avoid them.
We also share several other articles and projects from the Python community, including a news roundup, a huge collection of the top Python libraries of 2024, programming sockets in Python, merging dictionaries, a Django quiz, mistakes to avoid in production, building a Portal sentry turret, a powerful TUI expense tracker, and a pure-Python async rendering engine.
Course Spotlight: Managing Dependencies With Python Poetry
Learn how Python Poetry can help you start new projects, maintain existing ones, and master dependency management.
Topics:
News:
Show Links:
Discussion:
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
What are the new ways we can teach and share our knowledge about Python? How can we improve the structure of our current offerings and build new educational resources for our audience of Python learners? This week on the show, Real Python core team members Stephen Gruppetta and Martin Breuss join us to discuss enhancements to the site and new ways to learn Python.
Stephen has recently joined the team, bringing years of online training expertise. He discusses our new offering of cohort-based courses, which combine live expert instruction, hands-on exercises, and a supportive community.
Martin has been busy leading the effort to create quizzes for our written tutorials to test your knowledge and Python skills. He’s also restructuring the learning paths to provide a more consistent way to navigate your journey learning Python.
Stephen is currently working on new Real Python books. These books will be collections of our tutorials based on specific Python topics and edited to provide a more structured learning experience. The first book, which covers object-oriented programming in Python, will be available in the next few months.
This episode is sponsored by Sentry.
Course Spotlight: Handling or Preventing Errors in Python: LBYL vs EAFP
In this video course, you’ll explore two popular coding styles in Python: Look Before You Leap (LBYL) and Easier to Ask Forgiveness than Permission (EAFP). These approaches help you handle errors and exceptional situations in your code effectively. You’ll dive into the key differences between LBYL and EAFP and learn when to use each one.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
PyCoder’s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2024. Christopher Trudeau is back on the show this week to help wrap it all up by sharing some highlights and uncovering a few missing gems from the pile.
We share the top links that PyCoder’s readers explored this year and uncover trends across all the articles and stories. We also highlight a few gems that we didn’t cover on the show and a couple that explore the overall themes of the year.
We hope you enjoy this review! We look forward to bringing you another year filled with great Python news, articles, topics, and projects.
Course Spotlight: Programming Sockets in Python
In this in-depth video course, you’ll learn how to build a socket server and client with Python. By the end, you’ll understand how to use the main functions and methods in Python’s socket module to write your own networked client-server applications.
Topics:
News:
Top PyCoders Links 2024:
Featured Links:
Additional Links:
Level up your Python skills with our expert-led courses:
What are the current approaches for analyzing emotions within a piece of text? Which tools and Python packages should you use for sentiment analysis? This week, Jodie Burchell, developer advocate for data science at JetBrains, returns to the show to discuss modern sentiment analysis in Python.
Jodie holds a PhD in clinical psychology. We discuss how her interest in studying emotions has continued throughout her career.
In this episode, Jodie covers three ways to approach sentiment analysis. We start by discussing traditional lexicon-based and machine-learning approaches. Then, we dive into how specific types of LLMs can be used for the task. We also share multiple resources so you can continue to explore sentiment analysis on your own.
This week’s episode is brought to you by Sentry.
Course Spotlight: Learn Text Classification With Python and Keras
In this course, you’ll learn about Python text classification with Keras, working your way from a bag-of-words model with logistic regression to more advanced methods, such as convolutional neural networks. You’ll see how you can use pretrained word embeddings, and you’ll squeeze more performance out of your model through hyperparameter optimization.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
What advice would you give to someone moving from another language to Python? What good programming practices are inherent to the language? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss an older forum post from a new Python user who came from Perl. We suggest checking out PEP 8, or as it’s commonly known, “The Style Guide for Python Code.” We provide advice about installing Python, avoiding common pitfalls, learning how scope is managed, and taking advantage of a collection of Real Python resources.
We share several other articles and projects from the Python community, including a new Python release, practical NumPy examples and exercises, considering targets of for loops, exploring Python dependency management, checking package compatibility with free-threading and subinterpreters, an experimental filesystem navigator in Textual, and a background workers reference implementation in Django.
This episode is sponsored by AssemblyAI.
Course Spotlight: Writing Beautiful Pythonic Code With PEP 8
Learn how to write high-quality, readable code by using the Python style guidelines laid out in PEP 8. Following these guidelines helps you make a great impression when sharing your work with potential employers and collaborators. This course outlines the key guidelines laid out in PEP 8. It’s aimed at beginner to intermediate programmers.
Topics:
News:
Topics:
Discussion:
Projects:
Additional Links:
Level up your Python skills with our expert-led courses:
What are common issues with using notebooks for Python development? How do you know the current state, share reproducible results, or create interactive applications? This week on the show, we speak with Akshay Agrawal about the open-source reactive marimo notebook for Python.
Before writing any code, Akshay wrote a 2,500-word design document. He wanted to create a maintainable and reproducible tool that avoided the hidden state of traditional notebooks. We discuss solving the hidden state problem by building the notebook as a directed acyclic graph (DAG).
Akshay shares how marimo notebooks are stored as pure Python files, which makes them easy to read, importable, and git-friendly. We discuss serializing package requirements using PEP 723 inline metadata to create standalone reproducible notebooks. We also cover how marimo notebooks can be deployed as a web app or dashboard using Pyodide.
Course Spotlight: Navigating Namespaces and Scope in Python
In this course, you’ll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You’ll learn when namespaces are created, how they are implemented, and how they define variable scope.
Topics:
Show Links:
Level up your Python skills with our expert-led courses:
What keeps your spark alive for developing software and learning Python? Do you like to try new frameworks, build toy projects, or collaborate with other developers? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss the joy of tinkering with Python as a way to keep your developer skills sharp. We dig into our techniques for continuing to learn and build projects.
Christopher shares an article that examines the performance of Python 3.13’s free-threading features. This piece uses a clever example to measure how the new features behave with large datasets and parallelization.
We share several other articles and projects from the Python community, including a group of new releases, common use cases and examples for Python closures, finding the opposite of cloud-native, Python’s soft keywords, a command-line utility for taking automated screenshots of websites, and putting the Django admin in the terminal with Textual.
This episode is sponsored by Windsurf.
Course Spotlight: Python Inner Functions
In this step-by-step course, you’ll learn what inner functions are in Python, how to define them, and what their main use cases are. You’ll see how to write helper functions, create closure factory functions, and how to add behavior to existing functions with decorators.
Topics:
News:
Show Links:
Discussion:
Projects:
Additional Projects:
Level up your Python skills with our expert-led courses: