<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:rp="https://realpython.com">
  <channel>
    <title>The Real Python Podcast</title>
    <itunes:subtitle>Python Tips, Interviews, and More</itunes:subtitle>
    <link>https://realpython.com/podcasts/rpp/</link>
    <language>en-us</language>
    <copyright>&#169; 2020 Real Python</copyright>
    <itunes:author>Real Python</itunes:author>
    <description>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&#x27;s new in the world of Python programming and become a more effective Pythonista.</description>
    <itunes:category text="Technology"/>
    <itunes:keywords>python, data science, python2, python3, learn python, django, coding, programming, development, developer, dev, code, open source, software, testing</itunes:keywords>
    <itunes:type>episodic</itunes:type>
    <itunes:owner>
      <itunes:name>Real Python</itunes:name>
      <itunes:email>info@realpython.com</itunes:email>
    </itunes:owner>
    <itunes:image href="https://files.realpython.com/media/real-python-logo-square.28474fda9228.png"/>
    <itunes:explicit>no</itunes:explicit>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>286</itunes:episode>
        <title>Overcoming Testing Obstacles With Python&#x27;s Mock Object Library</title>
        <itunes:title>Overcoming Testing Obstacles With Python&#x27;s Mock Object Library</itunes:title>
        <link>https://realpython.com/podcasts/rpp/286/</link>
        <description>Do you have complex logic and unpredictable dependencies that make it hard to write reliable tests? How can you use Python&#x27;s mock object library to improve your tests? Christopher Trudeau is back on the show this week with another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you have complex logic and unpredictable dependencies that make it hard to write reliable tests? How can you use Python&amp;rsquo;s mock object library to improve your tests? Christopher Trudeau is back on the show this week with another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares details about his recent Real Python video course, &amp;ldquo;Improving Your Tests With the Python Mock Object Library.&amp;rdquo; He describes how mocking in Python with &lt;code&gt;unittest.mock&lt;/code&gt; allows you to simulate complex logic or unpredictable dependencies, such as responses from external services. He covers how the &lt;code&gt;Mock&lt;/code&gt; class can imitate real objects, and the &lt;code&gt;patch()&lt;/code&gt; function lets you temporarily substitute mocks for real objects in your tests. &lt;/p&gt;
&lt;p&gt;We also share other articles and projects from the Python community, including a collection of recent releases, using open source AI at Wagtail, updates from the inaugural PyPI Support Specialist, a lightweight OS for microcontrollers in MicroPythonOS, why match-case is not necessarily switch-case for Python, thinking about time in programming, a TUI-based presentation tool for the terminal, and a tool to check Django projects for dead code.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by AgentField.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/improve-tests-mock-object-library/&quot;&gt;Improving Your Tests With the Python Mock Object Library&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Master Python testing with unittest.mock. Create mock objects to tame complex logic and unpredictable dependencies.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:53 &amp;ndash; Python 3.14.3 and 3.13.12 Released&lt;/li&gt;
&lt;li&gt;00:03:15 &amp;ndash; Django Security Releases Issued: 6.0.2, 5.2.11, and 4.2.28&lt;/li&gt;
&lt;li&gt;00:03:36 &amp;ndash; Open Source AI We Use to Work on Wagtail&lt;/li&gt;
&lt;li&gt;00:07:27 &amp;ndash; Dispatch From the Inaugural PyPI Support Specialist&lt;/li&gt;
&lt;li&gt;00:09:01 &amp;ndash; MicroPythonOS Graphical Operating System&lt;/li&gt;
&lt;li&gt;00:11:27 &amp;ndash; Sponsor: AgentField&lt;/li&gt;
&lt;li&gt;00:12:21 &amp;ndash; Improving Your Tests With the Python Mock Object Library&lt;/li&gt;
&lt;li&gt;00:17:30 &amp;ndash; Need Switch-Case in Python? It&amp;rsquo;s Not Match-Case!&lt;/li&gt;
&lt;li&gt;00:26:03 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:38 &amp;ndash; How to Think About Time in Programming&lt;/li&gt;
&lt;li&gt;00:31:58 &amp;ndash; Prezo: A TUI-based Presentation Tool for the Terminal&lt;/li&gt;
&lt;li&gt;00:34:52 &amp;ndash; django-deadcode: Tracks URLs, Templates, and Django Views&lt;/li&gt;
&lt;li&gt;00:38:09 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2026/02/python-3143-and-31312-are-now-available.html&quot;&gt;Python 3.14.3 and 3.13.12 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2026/02/python-3150-alpha-6.html&quot;&gt;Python 3.15.0 Alpha 6 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2026/feb/03/security-releases/&quot;&gt;Django Security Releases Issued: 6.0.2, 5.2.11, and 4.2.28&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wagtail.org/blog/open-source-ai-we-use-to-work-on-wagtail/&quot;&gt;Open Source AI We Use to Work on Wagtail&lt;/a&gt; &amp;ndash; One of the core maintainers at Wagtail CMS shares what open source models have been working best for the project so far.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2026-01-26-a-year-and-a-half-as-inaugural-pypi-support-specialist/&quot;&gt;Dispatch From the Inaugural PyPI Support Specialist&lt;/a&gt; &amp;ndash; Maria Ashna (Thespi-Brain on GitHub) is the inaugural PyPI Support Specialist and she&amp;rsquo;s written up how the first year went.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnx-software.com/2026/01/29/micropythonos-graphical-operating-system-delivers-android-like-user-experience-on-microcontrollers/&quot;&gt;MicroPythonOS Graphical Operating System&lt;/a&gt; &amp;ndash; MicroPythonOS lightweight OS for microcontrollers targets applications with graphical user interfaces with a look similar to Android/iOS.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/improve-tests-mock-object-library/&quot;&gt;Improving Your Tests With the Python Mock Object Library&lt;/a&gt; &amp;ndash; Master Python testing with unittest.mock. Create mock objects to tame complex logic and unpredictable dependencies.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/switch-case-in-python/&quot;&gt;Need Switch-Case in Python? It&amp;rsquo;s Not Match-Case!&lt;/a&gt; &amp;ndash; Python&amp;rsquo;s match-case is not a switch-case statement. If you need switch-case, you can often use a dictionary instead.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://shanrauf.com/archive/how-to-think-about-time-in-programming&quot;&gt;How to Think About Time in Programming&lt;/a&gt; &amp;ndash; Time is a complex thing to code. This article is a very deep dive, covering absolute measurement, civil time, modern time keeping, the mess that are timezones, and much more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/abilian/prezo&quot;&gt;Prezo: A TUI-based Presentation Tool for the Terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nanorepublica/django-deadcode&quot;&gt;django-deadcode: Tracks URLs, Templates, and Django Views&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wagtail.org/blog/ai-in-the-cms-steering-the-ecosystem/&quot;&gt;AI in the CMS: steering the ecosystem - Wagtail CMS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/258/&quot;&gt;Episode #258: Supporting the Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/MicroPythonOS/MicroPythonOS&quot;&gt;MicroPythonOS: A complete operating system for microcontrollers like the ESP32, inspired by Android and iOS.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://micropythonos.com/&quot;&gt;MicroPythonOS - The Ultimate MicroPython Operating System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lvgl.io/&quot;&gt;LVGL — Light and Versatile Embedded Graphics Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/structural-pattern-matching/&quot;&gt;Structural Pattern Matching in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textual.textualize.io/&quot;&gt;Textual&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/improve-tests-mock-object-library/&quot;&gt;Improving Your Tests With the Python Mock Object Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-assert-statement/&quot;&gt;Using Python&amp;#x27;s assert to Debug and Test Your Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E286_03_PyCoders.a55572818314.mp3" type="audio/mpeg" length="39096552"/>
        <guid isPermaLink="false">c2ac50a4-3f36-4417-a92b-bd77ea9eb84e</guid>
        <pubDate>Fri, 27 Feb 2026 12:00:00 +0000</pubDate>
        <itunes:duration>2381</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_286_Podcast.b2d21bd01285.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Overcoming Testing Obstacles With Python&#x27;s Mock Object Library”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>285</itunes:episode>
        <title>Exploring MCP Apps &amp; Adding Interactive UIs to Clients</title>
        <itunes:title>Exploring MCP Apps &amp; Adding Interactive UIs to Clients</itunes:title>
        <link>https://realpython.com/podcasts/rpp/285/</link>
        <description>How can you move your MCP tools beyond plain text? How do you add interactive UI components directly inside chat conversations? This week on the show, Den Delimarsky from Anthropic joins us to discuss MCP Apps and interactive UIs in MCP.</description>
        <content:encoded>&lt;p&gt;How can you move your MCP tools beyond plain text? How do you add interactive UI components directly inside chat conversations? This week on the show, Den Delimarsky from Anthropic joins us to discuss MCP Apps and interactive UIs in MCP.&lt;/p&gt;
&lt;p&gt;Den is a member of the MCP Steering Committee and a Core Maintainer focusing on auth and security. He explains how MCP acts as a universal bridge, providing AI models with the real-time context they need. He shares insights on working with MCP Apps and moving beyond simple text to render web-based user interfaces directly in your chat window.&lt;/p&gt;
&lt;p&gt;Den previously worked on GitHub Spec Kit, and we discuss taking advantage of spec-driven development and how to use &amp;ldquo;Skills&amp;rdquo; to remove the toil from your workflow. We also talk briefly about his podcast and his conversations about navigating careers in technology.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by AgentField.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/getting-started-google-gemini-cli/&quot;&gt;Getting Started With Google Gemini CLI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn how to use Gemini CLI to bring Google&amp;rsquo;s AI-powered coding assistance into your terminal for faster code analysis, debugging, and fixes.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:17 &amp;ndash; Den&amp;rsquo;s Background&lt;/li&gt;
&lt;li&gt;00:02:53 &amp;ndash; The Work Item Podcast&lt;/li&gt;
&lt;li&gt;00:06:55 &amp;ndash; Career Move to Anthropic&lt;/li&gt;
&lt;li&gt;00:10:24 &amp;ndash; What is Model Context Protocol (MCP)?&lt;/li&gt;
&lt;li&gt;00:11:39 &amp;ndash; MCP UI and MCP Apps&lt;/li&gt;
&lt;li&gt;00:16:17 &amp;ndash; Sponsor: AgentField&lt;/li&gt;
&lt;li&gt;00:17:13 &amp;ndash; Structuring MCP Tools&lt;/li&gt;
&lt;li&gt;00:24:52 &amp;ndash; Cloudflared &amp;amp; tunneling&lt;/li&gt;
&lt;li&gt;00:29:59 &amp;ndash; Reverse engineering with Ghidra MCP&lt;/li&gt;
&lt;li&gt;00:35:43 &amp;ndash; Connecting MCP tools&lt;/li&gt;
&lt;li&gt;00:43:10 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:23 &amp;ndash; Spec-Driven Development &amp;amp; Context Management&lt;/li&gt;
&lt;li&gt;00:57:23 &amp;ndash; Leveraging Skills for Model Guidance&lt;/li&gt;
&lt;li&gt;01:02:51 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:03:42 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:07:14 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:07:48 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://theworkitem.com/&quot;&gt;The Work Item Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://den.dev/&quot;&gt;Den Delimarsky - Principal Product Engineer, Tinkerer, Nerd, Trail Explorer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://den.dev/blog/anthropic/&quot;&gt;Hello, Anthropic · Den Delimarsky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modelcontextprotocol.io/docs/getting-started/intro&quot;&gt;What is the Model Context Protocol (MCP)? - Model Context Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://den.dev/blog/mcp-apps/&quot;&gt;MCP Apps And Interactive UIs In MCP Clients - Den Delimarsky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/modelcontextprotocol/ext-apps/tree/main?tab=readme-ov-file&quot;&gt;ext-apps: Official repo for spec &amp;amp; SDK of MCP Apps protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=d1Aditif0wI&quot;&gt;MCP Will Never Be The Same - Render UI With MCP Apps - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/playwright-mcp&quot;&gt;playwright-mcp: Playwright MCP server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/NationalSecurityAgency/ghidra&quot;&gt;NationalSecurityAgency/ghidra: Software reverse engineering (SRE) framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/LaurieWired/GhidraMCP&quot;&gt;GhidraMCP: MCP Server for Ghidra&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://claude.com/plugins/ralph-loop&quot;&gt;Ralph Loop – Claude Plugin - Anthropic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://speckit.org/&quot;&gt;Spec Kit - AI-Powered Specification-Driven Development Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://claude.com/blog/skills&quot;&gt;Introducing Agent Skills - Claude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastmcp.wiki/en/getting-started/welcome&quot;&gt;Welcome to FastMCP 2.0! - FastMCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/uv/&quot;&gt;uv - Astral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/den.dev&quot;&gt;Den Delimarsky (@den.dev) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mastodon.social/@localden&quot;&gt;Den Delimarsky (@localden@mastodon.social) - Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-claude-code/&quot;&gt;Getting Started With Claude Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-google-gemini-cli/&quot;&gt;Getting Started With Google Gemini CLI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/write-python-docstrings-effectively/&quot;&gt;Write Python Docstrings Effectively&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E285_03_Den.6267a3b0a05b.mp3" type="audio/mpeg" length="67531500"/>
        <guid isPermaLink="false">560820c1-1e07-4416-be7f-d70fdea1b6ae</guid>
        <pubDate>Fri, 20 Feb 2026 12:00:00 +0000</pubDate>
        <itunes:duration>4158</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_285_Podcast.8e34b488fbfb.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring MCP Apps &amp; Adding Interactive UIs to Clients”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>284</itunes:episode>
        <title>Running Local LLMs With Ollama and Connecting With Python</title>
        <itunes:title>Running Local LLMs With Ollama and Connecting With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/284/</link>
        <description>Would you like to learn how to work with LLMs locally on your own computer? How do you integrate your Python projects with a local model? Christopher Trudeau is back on the show this week with another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like to learn how to work with LLMs locally on your own computer? How do you integrate your Python projects with a local model? Christopher Trudeau is back on the show this week with another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We cover a recent Real Python step-by-step tutorial on installing local LLMs with Ollama and connecting them to Python. It begins by outlining the advantages this strategy offers, including reducing costs, improving privacy, and enabling offline-capable AI-powered apps. We talk through the steps of setting things up, generating text and code, and calling tools.&lt;/p&gt;
&lt;p&gt;We also share other articles and projects from the Python community, including the 2026 Python Developers Survey, creating callable instances with Python&amp;rsquo;s &lt;code&gt;.__call__()&lt;/code&gt;, creating maps and projections with GeoPandas, ending 15 years of &lt;code&gt;subprocess&lt;/code&gt; polling, discussing backseat software, a retry library that classifies errors, and a peer-to-peer encrypted CLI chat project.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Honeybadger.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/tips-using-ai-coding-editor-cursor/&quot;&gt;Tips for Using the AI Coding Editor Cursor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn Cursor fast: Use AI-powered coding with agents, project-aware chat, and inline edits to supercharge your VS Code workflow.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:37 &amp;ndash; Take the Python Developers Survey 2026&lt;/li&gt;
&lt;li&gt;00:03:07 &amp;ndash; How to Integrate Local LLMs With Ollama and Python&lt;/li&gt;
&lt;li&gt;00:08:15 &amp;ndash; Sponsor: Honeybadger&lt;/li&gt;
&lt;li&gt;00:09:01 &amp;ndash; Create Callable Instances With Python&amp;rsquo;s &lt;code&gt;.__call__()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:12:13 &amp;ndash; GeoPandas Basics: Maps, Projections, and Spatial Joins&lt;/li&gt;
&lt;li&gt;00:16:03 &amp;ndash; Ending 15 Years of &lt;code&gt;subprocess&lt;/code&gt; Polling&lt;/li&gt;
&lt;li&gt;00:18:57 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:20:23 &amp;ndash; Backseat Software – Mike Swanson&lt;/li&gt;
&lt;li&gt;00:39:06 &amp;ndash; cmd-chat: Peer-to-Peer Encrypted CLI Chat&lt;/li&gt;
&lt;li&gt;00:41:58 &amp;ndash; redress: A Retry Library That Classifies Errors&lt;/li&gt;
&lt;li&gt;00:43:56 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2026/01/your-python-your-voice-join-python.html&quot;&gt;Take the Python Developers Survey 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2025/08/the-state-of-python-2025/&quot;&gt;The State of Python 2025: Trends and Survey Insights - The PyCharm Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ollama-python/&quot;&gt;How to Integrate Local LLMs With Ollama and Python&lt;/a&gt; &amp;ndash; Learn how to integrate your Python projects with local models (LLMs) using Ollama for enhanced privacy and cost efficiency.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/create-callable-instances-dunder-call/&quot;&gt;Create Callable Instances With Python&amp;rsquo;s &lt;code&gt;.__call__()&lt;/code&gt;&lt;/a&gt; &amp;ndash; Learn about Python callables, including what &amp;ldquo;callable&amp;rdquo; means, how to use dunder call, and how to build callable objects with step-by-step examples.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/geopandas/&quot;&gt;GeoPandas Basics: Maps, Projections, and Spatial Joins&lt;/a&gt; &amp;ndash; Dive into GeoPandas with this tutorial covering data loading, mapping, CRS concepts, projections, and spatial joins for intuitive analysis.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gmpy.dev/blog/2026/event-driven-process-waiting&quot;&gt;Ending 15 Years of &lt;code&gt;subprocess&lt;/code&gt; Polling&lt;/a&gt; &amp;ndash; Python&amp;rsquo;s standard library &lt;code&gt;subprocess&lt;/code&gt; module relies on busy-loop polling to determine whether a process has completed yet. Modern operating systems have callback mechanisms to do this, and Python 3.15 will now take advantage of these.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.mikeswanson.com/backseat-software/&quot;&gt;Backseat Software – Mike Swanson&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=46817452&quot;&gt;Backseat Software – Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/diorwave/cmd-chat&quot;&gt;cmd-chat: Peer-to-Peer Encrypted CLI Chat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/aponysus/redress&quot;&gt;redress: A Retry Library That Classifies Errors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ollama.com/&quot;&gt;Ollama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-callable-instances/&quot;&gt;Python&amp;rsquo;s .&lt;strong&gt;call&lt;/strong&gt;() Method: Creating Callable Instances – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/geopandas/&quot;&gt;Quiz: GeoPandas Basics: Maps, Projections, and Spatial Joins&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/customize-vscode-settings/&quot;&gt;Customize VS Code Settings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-google-gemini-cli/&quot;&gt;Getting Started With Google Gemini CLI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/tips-using-ai-coding-editor-cursor/&quot;&gt;Tips for Using the AI Coding Editor Cursor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E284_03_PyCoders.65310fe4e34e.mp3" type="audio/mpeg" length="44613118"/>
        <guid isPermaLink="false">cfd85188-e908-46d5-b505-7739873e62d0</guid>
        <pubDate>Fri, 13 Feb 2026 12:00:00 +0000</pubDate>
        <itunes:duration>2727</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_284_Podcast.2eafdd6c6486.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Running Local LLMs With Ollama and Connecting With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>283</itunes:episode>
        <title>Improving Your GitHub Developer Experience</title>
        <itunes:title>Improving Your GitHub Developer Experience</itunes:title>
        <link>https://realpython.com/podcasts/rpp/283/</link>
        <description>What are ways to improve how you&#x27;re using GitHub? How can you collaborate more effectively and improve your technical writing? This week on the show, Adam Johnson is back to talk about his new book, &quot;Boost Your GitHub DX: Tame the Octocat and Elevate Your Productivity&quot;.</description>
        <content:encoded>&lt;p&gt;What are ways to improve how you&amp;rsquo;re using GitHub? How can you collaborate more effectively and improve your technical writing? This week on the show, Adam Johnson is back to talk about his new book, &amp;ldquo;Boost Your GitHub DX: Tame the Octocat and Elevate Your Productivity&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Adam has written a series of books about improving developer experience (DX). In this episode, we dig into his newest book, which focuses on GitHub and how to get the most out of its features&amp;mdash;from settings and keyboard shortcuts to hidden tools, CLI commands, and the command palette.&lt;/p&gt;
&lt;p&gt;Adam also shares insights on the best ways to communicate on the platform. We discuss the nuances of GitHub-Flavored Markdown (GFM), best practices for effective communication in open source, the importance of maintaining civility in issue reports, and why he included a glossary of acronyms to help developers decode common shorthand like &lt;code&gt;LGTM&lt;/code&gt; and &lt;code&gt;FTFY&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Honeybadger.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-git-github-intro/&quot;&gt;Introduction to Git and GitHub for Python Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What is Git, what is GitHub, and what&amp;rsquo;s the difference? Learn the basics of Git and GitHub from the perspective of a Pythonista in this step-by-step video course.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:20 &amp;ndash; Why the focus on developer experience?&lt;/li&gt;
&lt;li&gt;00:03:41 &amp;ndash; Process of writing the book&lt;/li&gt;
&lt;li&gt;00:06:26 &amp;ndash; Filling in the gaps of knowledge&lt;/li&gt;
&lt;li&gt;00:11:52 &amp;ndash; GitHub-Flavored Markdown&lt;/li&gt;
&lt;li&gt;00:16:00 &amp;ndash; Sponsor: Honeybadger&lt;/li&gt;
&lt;li&gt;00:16:47 &amp;ndash; Acronym glossary&lt;/li&gt;
&lt;li&gt;00:25:18 &amp;ndash; GitHub command palette&lt;/li&gt;
&lt;li&gt;00:28:35 &amp;ndash; What questions did you want to answer?&lt;/li&gt;
&lt;li&gt;00:29:42 &amp;ndash; Whether to cover Copilot or not&lt;/li&gt;
&lt;li&gt;00:36:14 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:50 &amp;ndash; Advice on working with coding agents&lt;/li&gt;
&lt;li&gt;00:40:46 &amp;ndash; Defining the scope&lt;/li&gt;
&lt;li&gt;00:48:07 &amp;ndash; GitHub pages and codespaces&lt;/li&gt;
&lt;li&gt;00:50:46 &amp;ndash; Finding the hidden features&lt;/li&gt;
&lt;li&gt;00:51:53 &amp;ndash; Data-oriented Django series&lt;/li&gt;
&lt;li&gt;00:53:59 &amp;ndash; How to find the book&lt;/li&gt;
&lt;li&gt;00:54:51 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:57:27 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:58:00 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:58:22 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/&quot;&gt;Adam Johnson&amp;rsquo;s Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamchainz.gumroad.com/l/byghdx?layout=profile&quot;&gt;Boost Your GitHub DX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamchainz.gumroad.com/l/bygdx&quot;&gt;Boost Your Git DX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.github.com/gfm/&quot;&gt;GitHub-Flavored Markdown (GFM) Spec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cli.github.com/&quot;&gt;GitHub CLI (gh)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/get-started/accessibility/github-command-palette&quot;&gt;GitHub Command Palette - GitHub Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/get-started/accessibility/keyboard-shortcuts&quot;&gt;Keyboard shortcuts - GitHub Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.google.com/search?q=https://docs.github.com/en/issues/tracking-your-work-with-issues/best-practices-for-writing-issues&quot;&gt;GitHub&amp;rsquo;s Guide on Writing Great Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository&quot;&gt;GitHub Pull Request Templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/pages&quot;&gt;GitHub Pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/features/codespaces&quot;&gt;GitHub Codespaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=gfPNeQR1aSc&quot;&gt;Data-Oriented Django - DjangoCon 2022 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=_0F6fyI5u8w&quot;&gt;Data-Oriented Django Deux - DjangoCon Europe 2024 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=L7WXcWuH21U&amp;amp;t=2s&quot;&gt;Data-Oriented Django Drei - DjangoCon Europe 2025 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.15/library/profiling.sampling.html&quot;&gt;Tachyon — Statistical profiler — Python 3.15.0a5 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/adamj.eu&quot;&gt;Adam Johnson (@adamj.eu) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@adamchainz&quot;&gt;Adam Johnson (@adamchainz@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cicd-github-actions/&quot;&gt;Python Continuous Integration and Deployment Using GitHub Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-git-github-intro/&quot;&gt;Introduction to Git and GitHub for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E283_03_Adam.bf73eccb2f84.mp3" type="audio/mpeg" length="58543247"/>
        <guid isPermaLink="false">bb68db15-8ee5-4f57-ad8f-60d94de3a70a</guid>
        <pubDate>Fri, 06 Feb 2026 12:00:00 +0000</pubDate>
        <itunes:duration>3595</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_283_Podcast.7e02805fe158.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Improving Your GitHub Developer Experience”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>282</itunes:episode>
        <title>Testing Python Code for Scalability &amp; What&#x27;s New in pandas 3.0</title>
        <itunes:title>Testing Python Code for Scalability &amp; What&#x27;s New in pandas 3.0</itunes:title>
        <link>https://realpython.com/podcasts/rpp/282/</link>
        <description>How do you create automated tests to check your code for degraded performance as data sizes increase? What are the new features in pandas 3.0? Christopher Trudeau is back on the show this week with another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you create automated tests to check your code for degraded performance as data sizes increase? What are the new features in pandas 3.0? Christopher Trudeau is back on the show this week with another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher digs into an article about building tests to make sure your software is fast, or at least doesn&amp;rsquo;t get slower as it scales. The piece focuses on testing Big-O scaling and its implications for algorithms.&lt;/p&gt;
&lt;p&gt;We also discuss another article covering the top features in pandas 3.0, including the new dedicated string dtype, a cleaner way to perform column-based operations, and more predictable default copying behavior with Copy-on-Write.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a collection of recent releases and PEPs, a profiler for targeting individual functions, a quiz to test your Django knowledge, when to use each of the eight versions of UUID, the hard-to-swallow truths about being a software engineer, an offline reverse geocoding library, and a library for auto-generating CLIs from any Python object.&lt;/p&gt;
&lt;p&gt;Our live Python cohorts start February 2, and we&amp;rsquo;re down to the last few seats. There are two tracks: &lt;a href=&quot;https://realpython.com/workshops/python-for-beginners/&quot;&gt;Python for Beginners&lt;/a&gt; or &lt;a href=&quot;https://realpython.com/workshops/intermediate-deep-dive/&quot;&gt;Intermediate Deep Dive&lt;/a&gt;. Eight weeks of live instruction, small groups, and real accountability. Grab your seat at &lt;a href=&quot;https://realpython.com/live/&quot;&gt;realpython.com/live&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Honeybadger.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming/&quot;&gt;Intro to Object-Oriented Programming (OOP) in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn Python OOP fundamentals fast: master classes, objects, and constructors with hands-on lessons in this beginner-friendly video course.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:28 &amp;ndash; Python 3.15.0 Alpha 4 Released&lt;/li&gt;
&lt;li&gt;00:03:50 &amp;ndash; Django Bugfix Release: 5.2.10, 6.0.1&lt;/li&gt;
&lt;li&gt;00:04:22 &amp;ndash; PEP 819: JSON Package Metadata&lt;/li&gt;
&lt;li&gt;00:04:41 &amp;ndash; PEP 820: PySlot: Unified Slot System for the C API&lt;/li&gt;
&lt;li&gt;00:04:59 &amp;ndash; PEP 822: Dedented Multiline String (d-String)&lt;/li&gt;
&lt;li&gt;00:06:04 &amp;ndash; What&amp;rsquo;s New in pandas 3.0&lt;/li&gt;
&lt;li&gt;00:13:11 &amp;ndash; pandas 3.0.0 documentation&lt;/li&gt;
&lt;li&gt;00:13:44 &amp;ndash; Sponsor: Honeybadger&lt;/li&gt;
&lt;li&gt;00:14:30 &amp;ndash; Unit Testing Your Code&amp;rsquo;s Performance&lt;/li&gt;
&lt;li&gt;00:17:51 &amp;ndash; Introducing &lt;code&gt;tprof&lt;/code&gt;, a Targeting Profiler&lt;/li&gt;
&lt;li&gt;00:23:03 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:31 &amp;ndash; Django Quiz 2025&lt;/li&gt;
&lt;li&gt;00:24:56 &amp;ndash; 8 Versions of UUID and When to Use Them&lt;/li&gt;
&lt;li&gt;00:29:17 &amp;ndash; 10 hard-to-swallow truths they won&amp;rsquo;t tell you about software engineer job&lt;/li&gt;
&lt;li&gt;00:44:02 &amp;ndash; gazetteer: Offline Reverse Geocoding Library&lt;/li&gt;
&lt;li&gt;00:46:13 &amp;ndash; python-fire: A library for automatically generating command-line interfaces&lt;/li&gt;
&lt;li&gt;00:47:40 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2026/01/python-3150-alpha-4.html&quot;&gt;Python 3.15.0 Alpha 4 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3150a5/&quot;&gt;Python 3.15.0a5 Alpha 5 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2026/jan/06/bugfix-releases/&quot;&gt;Django Bugfix Release: 5.2.10, 6.0.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0819/&quot;&gt;PEP 819: JSON Package Metadata (Draft)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0820/&quot;&gt;PEP 820: PySlot: Unified Slot System for the C API (Draft)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0822/&quot;&gt;PEP 822: Dedented Multiline String (d-String) (Draft)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/pandas-3-whats-new/&quot;&gt;What&amp;rsquo;s New in pandas 3.0&lt;/a&gt; &amp;ndash; Learn what&amp;rsquo;s new in pandas 3.0: &lt;code&gt;pd.col&lt;/code&gt; expressions for cleaner code, Copy-on-Write for predictable behavior, and PyArrow-backed strings for 5-10x faster operations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/docs/whatsnew/v3.0.0.html&quot;&gt;What&amp;rsquo;s new in 3.0.0 (January 21, 2026) — pandas 3.0.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/big-o-tests/&quot;&gt;Unit Testing Your Code&amp;rsquo;s Performance&lt;/a&gt; &amp;ndash; Testing your code is important, not just for correctness but also for performance. One approach is to check performance degradation as data sizes go up, also known as Big-O scaling.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2026/01/14/python-introducing-tprof/&quot;&gt;Introducing &lt;code&gt;tprof&lt;/code&gt;, a Targeting Profiler&lt;/a&gt; &amp;ndash; Adam has written &lt;code&gt;tprof&lt;/code&gt;, a targeting profiler for Python 3.12+. This article introduces you to the tool and why he wrote it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2026/01/03/django-quiz-2025/&quot;&gt;Django Quiz 2025&lt;/a&gt; &amp;ndash; Last month, Adam held another quiz at the December edition of Django London. This is an annual tradition at the meetup, and now you can take it yourself or just skim the answers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ntietz.com/blog/til-uses-for-the-different-uuid-versions/&quot;&gt;8 Versions of UUID and When to Use Them&lt;/a&gt; &amp;ndash; RFC 9562 outlines the structure of Universally Unique Identifiers (UUIDs) and includes eight different versions. In this post, Nicole gives a quick intro to each kind so you don&amp;rsquo;t have to read the docs, and explains why you might choose each.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/uuid.html&quot;&gt;uuid — UUID objects according to RFC 9562 — Python 3.14.2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mensurdurakovic.com/hard-to-swallow-truths-they-wont-tell-you-about-software-engineer-job/&quot;&gt;10 hard-to-swallow truths they won&amp;rsquo;t tell you about software engineer job&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/SOORAJTS2001/gazetteer&quot;&gt;gazetteer: Offline Reverse Geocoding Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/google/python-fire&quot;&gt;python-fire: Python Fire is a library for automatically generating command-line interfaces (CLIs) from absolutely any Python object&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=J8UynYKx5no&quot;&gt;Gary Gnu Sings &amp;ldquo;No Gnews Is Good Gnews Song&amp;rdquo; - The Great Space Coaster - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/plasma-umass/bigO/&quot;&gt;plasma-umass/bigO: Measures empirical computational complexity (in both time and space) of functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/172/&quot;&gt;Episode #172: Measuring Multiple Facets of Python Performance With Scalene&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/investigating-quasar-data-polars-marimo-notebooks/&quot;&gt;Investigating Quasar Data With Polars and Interactive marimo Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming/&quot;&gt;Intro to Object-Oriented Programming (OOP) in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E282_03_PyCoders.4852e6c3c1a7.mp3" type="audio/mpeg" length="48285421"/>
        <guid isPermaLink="false">38d14c81-9ea0-4b76-a6cf-907e902ea26e</guid>
        <pubDate>Fri, 30 Jan 2026 12:00:00 +0000</pubDate>
        <itunes:duration>2953</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_282_Podcast.f736d1936f8c.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Testing Python Code for Scalability &amp; What&#x27;s New in pandas 3.0”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>281</itunes:episode>
        <title>Continuing to Improve the Learning Experience at Real Python</title>
        <itunes:title>Continuing to Improve the Learning Experience at Real Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/281/</link>
        <description>If you haven&#x27;t visited the Real Python website lately, then it&#x27;s time to check out a great batch of updates on realpython.com! Dan Bader returns to the show this week to discuss improvements to the site and more ways to learn Python.</description>
        <content:encoded>&lt;p&gt;If you haven&amp;rsquo;t visited the Real Python website lately, then it&amp;rsquo;s time to check out a great batch of updates on realpython.com! Dan Bader returns to the show this week to discuss improvements to the site and more ways to learn Python.&lt;/p&gt;
&lt;p&gt;Dan details changes to the website, including our Python reference area. This tool provides a quick reference for both beginners and experienced developers looking for concise definitions and refreshers on Python&amp;rsquo;s features.&lt;/p&gt;
&lt;p&gt;We discuss the expansion of our live courses to include a beginner course and an intermediate deep dive. Dan also shares how we&amp;rsquo;re growing the team and highlights the ongoing commitment to our editorial standards.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/workshops/python-for-beginners/&quot;&gt;Python for Beginners: Code With Confidence&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn the fundamentals of Python step-by-step in a friendly, interactive cohort. Build confidence writing code and understand the &amp;ldquo;why&amp;rdquo; behind Python&amp;rsquo;s core concepts.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:54 &amp;ndash; Real Python Reference &lt;/li&gt;
&lt;li&gt;00:08:31 &amp;ndash; Integration with search   &lt;/li&gt;
&lt;li&gt;00:13:51 &amp;ndash; Sponsor: Honeybadger  &lt;/li&gt;
&lt;li&gt;00:14:38 &amp;ndash; Live courses  &lt;/li&gt;
&lt;li&gt;00:23:20 &amp;ndash; Podcast visibility and interconnection    &lt;/li&gt;
&lt;li&gt;00:32:42 &amp;ndash; Spotlight &lt;/li&gt;
&lt;li&gt;00:33:35 &amp;ndash; Editorial standards and goals for 2026    &lt;/li&gt;
&lt;li&gt;00:36:28 &amp;ndash; Building the team &lt;/li&gt;
&lt;li&gt;00:37:52 &amp;ndash; Real Python for teams &lt;/li&gt;
&lt;li&gt;00:40:56 &amp;ndash; Feedback and listening to users   &lt;/li&gt;
&lt;li&gt;00:43:23 &amp;ndash; Thanks and goodbye    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ref/&quot;&gt;Reference – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/live/&quot;&gt;Cohort-Based Live Python Courses – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/246/&quot;&gt;Episode #246: Learning Intermediate Python With a Deep Dive Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/279/&quot;&gt;Episode #279: Coding Python With Confidence: Beginners Live Course Participants&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/&quot;&gt;The Real Python Podcast – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/&quot;&gt;Python Learning Paths – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/editorial-guidelines/&quot;&gt;Editorial Guidelines – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/&quot;&gt;Meet Our Team – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/account/join-team/&quot;&gt;Team Memberships – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/feedback/&quot;&gt;Feedback – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming/&quot;&gt;Intro to Object-Oriented Programming (OOP) in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E281_03_Dan.a2bc43e1aafd.mp3" type="audio/mpeg" length="44310672"/>
        <guid isPermaLink="false">796f60e6-2da4-446f-ade7-34c99856c6e5</guid>
        <pubDate>Fri, 23 Jan 2026 12:00:00 +0000</pubDate>
        <itunes:duration>2704</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_281_Podcast.a52144937872.jpg"/>
        <rp:twitter-handles>@dbader_org</rp:twitter-handles>
        <rp:twitter-title>“Continuing to Improve the Learning Experience at Real Python” with @dbader_org</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>280</itunes:episode>
        <title>Considering Fast and Slow in Python Programming</title>
        <itunes:title>Considering Fast and Slow in Python Programming</itunes:title>
        <link>https://realpython.com/podcasts/rpp/280/</link>
        <description>How often have you heard about the speed of Python? What&#x27;s actually being measured, where are the bottlenecks---development time or run time---and which matters more for productivity? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How often have you heard about the speed of Python? What&amp;rsquo;s actually being measured, where are the bottlenecks&amp;mdash;development time or run time&amp;mdash;and which matters more for productivity? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article titled &amp;ldquo;The Uselessness of &amp;lsquo;Fast&amp;rsquo; and &amp;lsquo;Slow&amp;rsquo; in Programming.&amp;rdquo; It digs into how the different aspects of software performance span a wide range of orders of magnitude, and how developers can obsess over irrelevant performance details, often losing more time working in suboptimal environments than building what they need with tools they already know.&lt;/p&gt;
&lt;p&gt;We also discuss an article about why &lt;code&gt;uv&lt;/code&gt; is fast, which explains how most of its speed comes from engineering decisions rather than just being written in Rust.&lt;/p&gt;
&lt;p&gt;We then share several other articles and projects from the Python community, including a roundup of 2025 year-end lists, an explanation of why Python&amp;rsquo;s &lt;code&gt;deepcopy&lt;/code&gt; can be so slow, serving a website with FastAPI using Jinja2, Python numbers every programmer should know, a discussion of spec-driven development and whether waterfall is back, a tool to detect whether a PDF has a bad redaction, and a CLI for measuring HTTP request phases.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/jinja-templating/&quot;&gt;Jinja Templating&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With Jinja, you can build rich templates that power the front end of your web applications. But you can also use Jinja without a web framework running in the background. Whenever you need to generate text files with dynamic content, Jinja provides a flexible and powerful solution.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:53 &amp;ndash; Top Python Libraries of 2025&lt;/li&gt;
&lt;li&gt;00:04:43 &amp;ndash; 2025 Python Year in Review&lt;/li&gt;
&lt;li&gt;00:04:58 &amp;ndash; PyPI in 2025: A Year in Review&lt;/li&gt;
&lt;li&gt;00:05:36 &amp;ndash; Join in the PSF Year-End Fundraiser &amp;amp; Membership Drive!&lt;/li&gt;
&lt;li&gt;00:06:10 &amp;ndash; How &lt;code&gt;uv&lt;/code&gt; Got So Fast&lt;/li&gt;
&lt;li&gt;00:12:29 &amp;ndash; Why Python&amp;rsquo;s &lt;code&gt;deepcopy&lt;/code&gt; Can Be So Slow&lt;/li&gt;
&lt;li&gt;00:17:03 &amp;ndash; Serve a Website With FastAPI Using HTML and Jinja2&lt;/li&gt;
&lt;li&gt;00:23:19 &amp;ndash; The Uselessness of &amp;ldquo;Fast&amp;rdquo; and &amp;ldquo;Slow&amp;rdquo; in Programming&lt;/li&gt;
&lt;li&gt;00:27:06 &amp;ndash; Python Numbers Every Programmer Should Know&lt;/li&gt;
&lt;li&gt;00:28:17 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:43 &amp;ndash; Spec-Driven Development: The Waterfall Strikes Back&lt;/li&gt;
&lt;li&gt;00:49:21 &amp;ndash; x-ray: A Tool to Detect Whether a PDF Has a Bad Redaction&lt;/li&gt;
&lt;li&gt;00:52:20 &amp;ndash; httptap: CLI Measuring HTTP Request Phases&lt;/li&gt;
&lt;li&gt;00:54:19 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;2025 Top List Roundup&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tryolabs.com/blog/top-python-libraries-2025&quot;&gt;Top Python Libraries of 2025&lt;/a&gt; &amp;ndash; Explore Tryolabs&amp;rsquo; 11th annual Top Python Libraries roundup, featuring two curated Top 10 lists: one for General Use and one for AI/ML/Data tools.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/532/2025-python-year-in-review&quot;&gt;2025 Python Year in Review&lt;/a&gt; &amp;ndash; Talk Python interviews Barry Warsaw, Brett Cannon, Gregory Kapfhammer, Jodie Burchell, Reuven Lerner, and Thomas Wouters, and the panel discusses what mattered for Python in 2025.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2025-12-31-pypi-2025-in-review/&quot;&gt;PyPI in 2025: A Year in Review&lt;/a&gt; &amp;ndash; Dustin summarizes all the happenings with the Python Packaging Index in 2025, including 130,000 new projects and over 2.5 trillion requests served.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2025/11/python-is-for-everyone-join-in-psf-year.html&quot;&gt;Join in the PSF Year-End Fundraiser &amp;amp; Membership Drive!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nesbitt.io/2025/12/26/how-uv-got-so-fast.html&quot;&gt;How &lt;code&gt;uv&lt;/code&gt; Got So Fast&lt;/a&gt; &amp;ndash; &lt;code&gt;uv&lt;/code&gt;&amp;rsquo;s speed comes from engineering decisions, not just Rust. Static metadata, dropping legacy formats, and standards that didn&amp;rsquo;t exist five years ago.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.codeflash.ai/blog-posts/why-pythons-deepcopy-can-be-so-slow-and-how-to-avoid-it&quot;&gt;Why Python&amp;rsquo;s &lt;code&gt;deepcopy&lt;/code&gt; Can Be So Slow&lt;/a&gt; &amp;ndash; &amp;ldquo;Python&amp;rsquo;s &lt;code&gt;copy.deepcopy()&lt;/code&gt; creates a fully independent clone of an object, traversing every nested element of the object graph.&amp;rdquo; That can be expensive. Learn what it&amp;rsquo;s doing and how you can sometimes avoid the cost.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fastapi-jinja2-template/&quot;&gt;Serve a Website With FastAPI Using HTML and Jinja2&lt;/a&gt; &amp;ndash; Use FastAPI to render Jinja2 templates and serve dynamic sites with HTML, CSS, and JavaScript, then add a color picker that copies hex codes.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jerf.org/iri/post/2025/the_uselessness_of_fast/&quot;&gt;The Uselessness of &amp;ldquo;Fast&amp;rdquo; and &amp;ldquo;Slow&amp;rdquo; in Programming&lt;/a&gt; &amp;ndash; &amp;ldquo;One of the unique aspects of software is how it spans such a large number of orders of magnitude.&amp;rdquo; The huge difference makes the terms &amp;ldquo;fast&amp;rdquo; and &amp;ldquo;slow&amp;rdquo; arbitrary. Read on to discover how this affects our thinking as programmers and what mistakes it can cause.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mkennedy.codes/posts/python-numbers-every-programmer-should-know/&quot;&gt;Python Numbers Every Programmer Should Know&lt;/a&gt; &amp;ndash; Ever wonder how much memory an empty list takes? How about how long it takes to add two integers in Python? This post contains loads of performance data for common Python operations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://marmelab.com/blog/2025/11/12/spec-driven-development-waterfall-strikes-back.html&quot;&gt;Spec-Driven Development: The Waterfall Strikes Back&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.robbowley.net/2026/01/05/coding-has-never-been-the-bottleneck/&quot;&gt;Coding has never been the bottleneck - Rob Bowley&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/freelawproject/x-ray&quot;&gt;x-ray: A Tool to Detect Whether a PDF Has a Bad Redaction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ozeranskii/httptap&quot;&gt;httptap: CLI Measuring HTTP Request Phases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/238/&quot;&gt;Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/primer-on-jinja-templating/&quot;&gt;Primer on Jinja Templating – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/get-started-with-fastapi/&quot;&gt;Get Started With FastAPI – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://norvig.com/21-days.html&quot;&gt;Teach Yourself Programming in Ten Years&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rest-apis-with-fastapi/&quot;&gt;Python REST APIs With FastAPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/create-scalable-flask-web-app/&quot;&gt;Creating a Scalable Flask Web Application From Scratch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/jinja-templating/&quot;&gt;Jinja Templating&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E280_2_PyCoders.36b02dfbc8fb.mp3" type="audio/mpeg" length="54154301"/>
        <guid isPermaLink="false">0dc4b383-9c3f-4e59-8dd4-86d31204dbf8</guid>
        <pubDate>Fri, 16 Jan 2026 12:00:00 +0000</pubDate>
        <itunes:duration>3319</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_280_Podcast.da563b9ddc55.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Considering Fast and Slow in Python Programming”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>279</itunes:episode>
        <title>Coding Python With Confidence: Beginners Live Course Participants</title>
        <itunes:title>Coding Python With Confidence: Beginners Live Course Participants</itunes:title>
        <link>https://realpython.com/podcasts/rpp/279/</link>
        <description>Are you looking for that solid foundation to begin your Python journey? Would the accountability of scheduled group classes help you get through the basics and start building something? This week, two members of the Python for Beginners live course discuss their experiences.</description>
        <content:encoded>&lt;p&gt;Are you looking for that solid foundation to begin your Python journey? Would the accountability of scheduled group classes help you get through the basics and start building something? This week, two members of the Python for Beginners live course discuss their experiences.&lt;/p&gt;
&lt;p&gt;We speak with course instructor Stephen Gruppetta about building a course where the participants start using their knowledge as soon as possible. He describes how he&amp;rsquo;s evolved his teaching techniques over years of working with beginners. We explore the advantages of having a curated collection of written tutorials, video courses, and a forum for asking those nagging questions.&lt;/p&gt;
&lt;p&gt;We also speak with students Louis and Andrew about their experiences learning Python through the course. They discuss learning how to apply their new skills, employing them in their careers, and building confidence to continue their Python learning journey.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/workshops/python-for-beginners/&quot;&gt;Python for Beginners: Code With Confidence&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn the fundamentals of Python step-by-step in a friendly, interactive cohort. Build confidence writing code and understand the &amp;ldquo;why&amp;rdquo; behind Python&amp;rsquo;s core concepts.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:40 &amp;ndash; Instructor Stephen Gruppetta&lt;/li&gt;
&lt;li&gt;00:02:42 &amp;ndash; Designing the course&lt;/li&gt;
&lt;li&gt;00:09:01 &amp;ndash; Introducing mini-projects early&lt;/li&gt;
&lt;li&gt;00:13:22 &amp;ndash; How have the questions changed for Python beginners?&lt;/li&gt;
&lt;li&gt;00:20:23 &amp;ndash; Taking advantage of Real Python resources&lt;/li&gt;
&lt;li&gt;00:24:07 &amp;ndash; More courses for 2026&lt;/li&gt;
&lt;li&gt;00:25:40 &amp;ndash; Spotlight: Python for Beginners&lt;/li&gt;
&lt;li&gt;00:26:39 &amp;ndash; Python for Beginners participants&lt;/li&gt;
&lt;li&gt;00:27:50 &amp;ndash; Louis&amp;rsquo; background in programming&lt;/li&gt;
&lt;li&gt;00:30:46 &amp;ndash; Andrew&amp;rsquo;s background in programming&lt;/li&gt;
&lt;li&gt;00:37:43 &amp;ndash; Starting to use the knowledge with mini-projects&lt;/li&gt;
&lt;li&gt;00:42:52 &amp;ndash; What were challenges with the language?&lt;/li&gt;
&lt;li&gt;00:54:15 &amp;ndash; Working on the larger final project&lt;/li&gt;
&lt;li&gt;00:59:45 &amp;ndash; What advantages did the cohort-style course provide?&lt;/li&gt;
&lt;li&gt;01:03:56 &amp;ndash; Are you ready for that blank page?&lt;/li&gt;
&lt;li&gt;01:12:00 &amp;ndash; How do you see yourself using these new skills?&lt;/li&gt;
&lt;li&gt;01:17:39 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/workshops/python-for-beginners/&quot;&gt;Python for Beginners: Code With Confidence – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/246/&quot;&gt;Episode #246: Learning Intermediate Python With a Deep Dive Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/workshops/intermediate-deep-dive/&quot;&gt;Intermediate Python Deep Dive Course – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/live/&quot;&gt;Cohort-Based Live Python Courses – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theregister.com/2025/12/16/mi6_chief_well_be_as/&quot;&gt;MI6 chief: We&amp;rsquo;ll be as fluent in Python as we are in Russian - The Register&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/setting-up-python/&quot;&gt;Python Basics: Setting Up Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-lists-tuples/&quot;&gt;Python Basics: Lists and Tuples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E279_04_PfB_Students.26d153bfcdc4.mp3" type="audio/mpeg" length="76533854"/>
        <guid isPermaLink="false">60981be9-9359-4119-b5a8-bdd7d4a8140a</guid>
        <pubDate>Fri, 09 Jan 2026 12:00:00 +0000</pubDate>
        <itunes:duration>4719</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_279_Podcast.1729c3a42ea1.jpg"/>
        <rp:twitter-handles>@s_gruppetta</rp:twitter-handles>
        <rp:twitter-title>“Coding Python With Confidence: Beginners Live Course Participants” with @s_gruppetta</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>278</itunes:episode>
        <title>PyCoder&#x27;s Weekly 2025 Top Articles &amp; Hidden Gems</title>
        <itunes:title>PyCoder&#x27;s Weekly 2025 Top Articles &amp; Hidden Gems</itunes:title>
        <link>https://realpython.com/podcasts/rpp/278/</link>
        <description>PyCoder&#x27;s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2025. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and uncovering a few hidden gems from the pile.</description>
        <content:encoded>&lt;p&gt;PyCoder&amp;rsquo;s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2025. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and uncovering a few hidden gems from the pile.&lt;/p&gt;
&lt;p&gt;We share the top links explored by PyCoder&amp;rsquo;s readers. We also dig into trends across all the articles and stories this year. We highlight a few gems that we didn&amp;rsquo;t cover on the show and a couple that explore the overall themes of the year. &lt;/p&gt;
&lt;p&gt;We hope you enjoy this review! We look forward to bringing you an upcoming year full of great Python news, articles, topics, and projects. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/videos/using-functional-programming-overview/&quot;&gt;Using Functional Programming in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Boost your Python skills with a quick dive into functional programming: what it is, how Python supports it, and why it matters.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:52 &amp;ndash; Django 6.0 released&lt;/li&gt;
&lt;li&gt;00:02:58 &amp;ndash; The Inner Workings of Python Dataclasses Explained&lt;/li&gt;
&lt;li&gt;00:03:40 &amp;ndash; Going Beyond requirements.txt With pylock.toml and PEP 751&lt;/li&gt;
&lt;li&gt;00:04:58 &amp;ndash; Django vs. FastAPI, An Honest Comparison&lt;/li&gt;
&lt;li&gt;00:05:46 &amp;ndash; How to Use Loguru for Simpler Python Logging&lt;/li&gt;
&lt;li&gt;00:06:47 &amp;ndash; Narwhals: Unified DataFrame Functions&lt;/li&gt;
&lt;li&gt;00:08:32 &amp;ndash; Observations and statistics for the year of articles&lt;/li&gt;
&lt;li&gt;00:13:23 &amp;ndash; Data Validation Libraries for Polars (2025 Edition)&lt;/li&gt;
&lt;li&gt;00:18:53 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:20:25 &amp;ndash; Create Temporary Files and Directories in Unittest&lt;/li&gt;
&lt;li&gt;00:22:27 &amp;ndash; Capture Stdout and Stderr in Unittest&lt;/li&gt;
&lt;li&gt;00:24:59 &amp;ndash; I don&amp;rsquo;t like NumPy&lt;/li&gt;
&lt;li&gt;00:26:34 &amp;ndash; Python performance myths and fairy tales &lt;/li&gt;
&lt;li&gt;00:31:05 &amp;ndash; Congratulations on making through 2025!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/dec/03/django-60-released/&quot;&gt;Django 6.0 released - Django Weblog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Top PyCoders Links 2025:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jacobpadilla.com/articles/python-dataclass-internals&quot;&gt;The Inner Workings of Python Dataclasses Explained&lt;/a&gt; &amp;ndash; Discover how Python dataclasses work internally! Learn how to use &lt;code&gt;__annotations__&lt;/code&gt; and &lt;code&gt;exec()&lt;/code&gt; to make our own dataclass decorator!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/249/&quot;&gt;Episode #249: Going Beyond requirements.txt With pylock.toml and PEP 751&lt;/a&gt; &amp;ndash; What is the best way to record the Python dependencies for the reproducibility of your projects? What advantages will lock files provide for those projects? This week on the show, we welcome back Python Core Developer Brett Cannon to discuss his journey to bring PEP 751 and the pylock.toml file format to the community.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.david-dahan.com/blog/comparing-fastapi-and-django&quot;&gt;Django vs. FastAPI, An Honest Comparison&lt;/a&gt; &amp;ndash; David has worked with Django for a long time, but recently has done some deeper coding with FastAPI. As a result, he&amp;rsquo;s able to provide a good contrast between the libraries and why/when you might choose one over the other.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-loguru/&quot;&gt;How to Use Loguru for Simpler Python Logging – Real Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use Loguru to quickly implement better logging in your Python applications. You&amp;rsquo;ll spend less time wrestling with logging configuration and more time using logs effectively to debug issues.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/unified-dataframe-functions-pandas-polars-pyspark/&quot;&gt;Narwhals: Unified DataFrame Functions for pandas, Polars, and PySpark&lt;/a&gt; &amp;ndash; Narwhals is a lightweight compatibility layer between DataFrame libraries. You can use it as a common interface to write reproducible and maintainable data science code which supports pandas, Polars, DuckDB, PySpark, PyArrow, and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Featured Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://posit-dev.github.io/pointblank/blog/validation-libs-2025/&quot;&gt;Data Validation Libraries for Polars (2025 Edition) – Pointblank&lt;/a&gt; - Given that Polars is so hot right now and that data validation is an important part of a data pipeline, this post explores five Python data validation libraries that support Polars DataFrames. Through contrasting and comparison, the post puts forward which of them are best for specific use cases.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2024/12/30/python-temporary-files-directories-unittest/&quot;&gt;Python: Create Temporary Files and Directories in Unittest&lt;/a&gt; &amp;ndash; Sometimes, tests need temporary files or directories. You can do this in Python&amp;rsquo;s unittest with the standard library tempfile module. This post looks at some recipes to do so within individual tests and &lt;code&gt;setUp()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2025/08/29/python-unittest-capture-stdout-stderr/&quot;&gt;Python: Capture Stdout and Stderr in Unittest&lt;/a&gt; &amp;ndash; When testing code that outputs to the terminal through either standard out (stdout) or standard error (stderr), you might want to capture that output and make assertions on it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dynomight.net/numpy/&quot;&gt;I don&amp;rsquo;t like NumPy&lt;/a&gt; &amp;ndash; This opinion piece talks about why NumPy gets difficult fast. Two dimensions to your array? No problem, the calc is mostly self evident. Add a couple more dimensions and it gets messy fast. See also the &lt;a href=&quot;https://news.ycombinator.com/item?id=43996431&quot;&gt;associated HN discussion, which also includes possible solutions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lwn.net/Articles/1031707/&quot;&gt;Python performance myths and fairy tales&lt;/a&gt; &amp;ndash; This post summarizes a talk by Antonio Cuni who is a long time contributor to PyPy, the alternate Python interpreter. The talk spoke about the challenges and limits of performance in Python and how the flexibility of dynamic languages comes at a cost. See also the associated &lt;a href=&quot;https://news.ycombinator.com/item?id=44809387&quot;&gt;HN discussion&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/224/&quot;&gt;Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/272/&quot;&gt;Episode #272: Michael Kennedy: Managing Your Own Python Infrastructure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/510/10-polars-tools-and-techniques-to-level-up-your-data-science&quot;&gt;Episode #510 - 10 Polars Tools and Techniques To Level Up Your Data Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/ty/&quot;&gt;ty&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cltrudeau/waelstow&quot;&gt;waelstow: Python unittest utilities. Includes output capture, test discovery, and directory relocation.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypy.org/&quot;&gt;PyPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/spylang&quot;&gt;spylang · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-filter-function/&quot;&gt;Filtering Iterables With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-functional-programming/&quot;&gt;Using Functional Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E278_03_PyCoders.6ca590f6cd53.mp3" type="audio/mpeg" length="32315492"/>
        <guid isPermaLink="false">1f01b729-f635-4e34-a754-8e849920ccf0</guid>
        <pubDate>Fri, 02 Jan 2026 12:00:00 +0000</pubDate>
        <itunes:duration>1960</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_278_Podcast.9abe4d8983a9.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“PyCoder&#x27;s Weekly 2025 Top Articles &amp; Hidden Gems”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>277</itunes:episode>
        <title>Moving Towards Spec-Driven Development</title>
        <itunes:title>Moving Towards Spec-Driven Development</itunes:title>
        <link>https://realpython.com/podcasts/rpp/277/</link>
        <description>What are the advantages of spec-driven development compared to vibe coding with an LLM? Are these recent trends a move toward declarative programming? This week on the show, Marc Brooker, VP and Distinguished Engineer at AWS, joins us to discuss specification-driven development and Kiro.</description>
        <content:encoded>&lt;p&gt;What are the advantages of spec-driven development compared to vibe coding with an LLM? Are these recent trends a move toward declarative programming? This week on the show, Marc Brooker, VP and Distinguished Engineer at AWS, joins us to discuss specification-driven development and Kiro.&lt;/p&gt;
&lt;p&gt;Marc describes the process of developing an application by writing specifications, which outline what a program should do and what needs it should meet. We dig into a bit of computer science history to explore the differences between declarative and imperative programming.&lt;/p&gt;
&lt;p&gt;We also discuss Kiro, a new integrated development environment from Amazon, built around turning prompts into structured requirements. We examine the various types of documents used to specify tasks, requirements, design, and steering. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Real Python Resource Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/learning-paths/coding-with-ai/&quot;&gt;Python Coding With AI - Learning Path&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Explore tools and workflows for AI in Python: coding partners, prompt engineering, RAG, ChromaDB, FastAPI chatbots, and MCP integrations. Stay current and start today.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:41 &amp;ndash; How did you get involved in open source?&lt;/li&gt;
&lt;li&gt;00:07:23 &amp;ndash; How would you describe spec-driven development?&lt;/li&gt;
&lt;li&gt;00:10:49 &amp;ndash; Balancing the desire to start coding with defining the project&lt;/li&gt;
&lt;li&gt;00:13:06 &amp;ndash; What does this documentation look like?&lt;/li&gt;
&lt;li&gt;00:18:27 &amp;ndash; Declarative vs imperative programming&lt;/li&gt;
&lt;li&gt;00:24:13 &amp;ndash; Infrastructure as part of the design&lt;/li&gt;
&lt;li&gt;00:27:03 &amp;ndash; Getting started with a small project&lt;/li&gt;
&lt;li&gt;00:29:05 &amp;ndash; Committing the spec files along with the code&lt;/li&gt;
&lt;li&gt;00:31:08 &amp;ndash; What is steering?&lt;/li&gt;
&lt;li&gt;00:34:17 &amp;ndash; How to get better at distilling specifications?&lt;/li&gt;
&lt;li&gt;00:38:59 &amp;ndash; What are anti-patterns in spec-driven development?&lt;/li&gt;
&lt;li&gt;00:41:08 &amp;ndash; Should you avoid third-party libraries?&lt;/li&gt;
&lt;li&gt;00:43:16 &amp;ndash; Real Python Resource Spotlight    &lt;/li&gt;
&lt;li&gt;00:44:39 &amp;ndash; Getting started with Kiro&lt;/li&gt;
&lt;li&gt;00:51:00 &amp;ndash; Neuro-symbolic AI&lt;/li&gt;
&lt;li&gt;00:55:41 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:36 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:18 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:00:57 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://kiro.dev/blog/kiro-and-the-future-of-software-development/&quot;&gt;Kiro and the future of AI spec-driven software development - Kiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://brooker.co.za/blog/&quot;&gt;Marc Brooker&amp;rsquo;s Blog - Marc&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kiro.dev/&quot;&gt;Kiro: The AI IDE for prototype to production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=OdD9eLiRRVo&amp;amp;t=1s&quot;&gt;Beyond Prompts: The Future of AI-Assisted Development | Marc Brooker  - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html&quot;&gt;Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Declarative_programming&quot;&gt;Declarative programming - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cucumber.io/docs/bdd/&quot;&gt;Behaviour-Driven Development - Cucumber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kiro.dev/docs/steering/&quot;&gt;Steering - Docs - Kiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kiro.dev/docs/specs/best-practices/&quot;&gt;Best practices - Docs - Kiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kiro.dev/cli/&quot;&gt;CLI - Kiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kiro.dev/blog/property-based-testing/&quot;&gt;Does your code match your spec? - Kiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fastcompany.com/91446331/amazon-byron-cook-ai-artificial-intelligence-automated-reasoning-neurosymbolic-hallucination-logic&quot;&gt;Amazon takes on AI&amp;rsquo;s biggest nightmare: Hallucinations - Fast Company&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Neuro-symbolic_AI&quot;&gt;Neuro-symbolic AI - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marmelab.com/blog/2025/11/12/spec-driven-development-waterfall-strikes-back.html&quot;&gt;Spec-Driven Development: The Waterfall Strikes Back&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/G-code&quot;&gt;G-code - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/MarcJBrooker&quot;&gt;Marc Brooker (@MarcJBrooker) / X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fediscience.org/@marcbrooker&quot;&gt;Marc Brooker (@marcbrooker@fediscience.org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/marc-brooker-b431772b/&quot;&gt;Marc Brooker - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-claude-code/&quot;&gt;Getting Started With Claude Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/first-steps-langchain/&quot;&gt;First Steps With LangChain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/build-neural-network-python-ai/&quot;&gt;Building a Neural Network &amp;amp; Making Predictions With Python AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E277_02_Marc_2.e9e0f5048263.mp3" type="audio/mpeg" length="60434623"/>
        <guid isPermaLink="false">9366af2c-b00a-48e9-84ca-ab9fc6e1c5dd</guid>
        <pubDate>Fri, 19 Dec 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3714</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_277_Podcast.991862b6cb33.jpg"/>
        <rp:twitter-handles>@MarcJBrooker</rp:twitter-handles>
        <rp:twitter-title>“Moving Towards Spec-Driven Development” with @MarcJBrooker</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>276</itunes:episode>
        <title>Exploring Quantum Computing &amp; Python Frameworks</title>
        <itunes:title>Exploring Quantum Computing &amp; Python Frameworks</itunes:title>
        <link>https://realpython.com/podcasts/rpp/276/</link>
        <description>What are the recent advances in the field of quantum computing and high-performance computing? And what Python tools can you use to develop programs that run on quantum computers? This week on the show, Real Python author Negar Vahid discusses her tutorial, &quot;Quantum Computing Basics With Qiskit.&quot;</description>
        <content:encoded>&lt;p&gt;What are the recent advances in the field of quantum computing and high-performance computing? And what Python tools can you use to develop programs that run on quantum computers? This week on the show, Real Python author Negar Vahid discusses her tutorial, &amp;ldquo;Quantum Computing Basics With Qiskit.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Negar digs into the fundamentals of quantum computers, describing qubits, superposition, entanglement, and interference. We discuss the concept of quantum advantage and the fields of exploration where quantum computing promises speed-ups over classical computers. She also shares tools for designing quantum circuits with Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/profiling-performance/&quot;&gt;Profiling Performance in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn to profile Python programs with built-in and popular third-party tools, and turn performance insights into faster code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:31 &amp;ndash; Writing for Real Python&lt;/li&gt;
&lt;li&gt;00:02:37 &amp;ndash; What drew you to quantum computing?&lt;/li&gt;
&lt;li&gt;00:04:27 &amp;ndash; What is quantum advantage?&lt;/li&gt;
&lt;li&gt;00:07:10 &amp;ndash; Quantum computing basics article&lt;/li&gt;
&lt;li&gt;00:09:32 &amp;ndash; Linear algebra&lt;/li&gt;
&lt;li&gt;00:10:32 &amp;ndash; What is a quantum computer?&lt;/li&gt;
&lt;li&gt;00:14:52 &amp;ndash; Superconducting devices&lt;/li&gt;
&lt;li&gt;00:17:29 &amp;ndash; Looking for ways to advance computing&lt;/li&gt;
&lt;li&gt;00:19:17 &amp;ndash; Superposition of qubits and entanglement&lt;/li&gt;
&lt;li&gt;00:22:43 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:27 &amp;ndash; Potential areas of research&lt;/li&gt;
&lt;li&gt;00:26:45 &amp;ndash; IBM quantum computing &amp;amp; Qiskit&lt;/li&gt;
&lt;li&gt;00:29:43 &amp;ndash; Describing superposition as a spinning coin&lt;/li&gt;
&lt;li&gt;00:30:41 &amp;ndash; Other types of quantum computers&lt;/li&gt;
&lt;li&gt;00:32:08 &amp;ndash; Qiskit Global Summer School 2025&lt;/li&gt;
&lt;li&gt;00:32:48 &amp;ndash; Qiskit Advocate&lt;/li&gt;
&lt;li&gt;00:33:49 &amp;ndash; What do you see in the near future?&lt;/li&gt;
&lt;li&gt;00:37:42 &amp;ndash; What are the type of HPCs?&lt;/li&gt;
&lt;li&gt;00:40:05 &amp;ndash; Additional resources to learn more&lt;/li&gt;
&lt;li&gt;00:43:32 &amp;ndash; Answering to skeptics&lt;/li&gt;
&lt;li&gt;00:47:51 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:48:24 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:49:04 &amp;ndash; What&amp;rsquo;s the best way to follow your work online?&lt;/li&gt;
&lt;li&gt;00:49:25 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quantum-computing-basics/&quot;&gt;Quantum Computing Basics With Qiskit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Quantum_mechanics&quot;&gt;Quantum mechanics - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Qubit&quot;&gt;Qubit - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Quantum_superposition&quot;&gt;Quantum superposition - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Quantum_entanglement&quot;&gt;Quantum entanglement - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Quantum_supremacy&quot;&gt;Quantum supremacy - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-linear-algebra/&quot;&gt;Linear Algebra in Python: Matrix Inverses and Least Squares – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.khanacademy.org/math/linear-algebra&quot;&gt;Linear Algebra - Khan Academy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=mEBCQidaNTQ&quot;&gt;Quantum Echoes: Towards real world applications - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.google/technology/research/google-willow-quantum-chip/&quot;&gt;Meet Willow, our state-of-the-art quantum chip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ibm.com/quantum/blog/vanguard-portfolio-optimization&quot;&gt;IBM and Vanguard explore quantum optimization for finance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ibm.com/quantum/blog/qiskit-summer-school-2025&quot;&gt;Register today for Qiskit Global Summer School 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aqora.io/&quot;&gt;Aqora: Explore Quantum Computing for Real-World Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ibm.com/quantum/qiskit&quot;&gt;Qiskit - IBM Quantum Computing &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://quantum.cloud.ibm.com/&quot;&gt;IBM Quantum Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://quantumai.google/cirq&quot;&gt;Cirq - Google Quantum AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.xanadu.ai/products/pennylane/&quot;&gt;Xanadu - PennyLane&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.classiq.io/&quot;&gt;Classiq - Quantum Computing Software - Limitless Development | &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Computer_architecture&quot;&gt;Computer architecture - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/&quot;&gt;NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/uv/&quot;&gt;uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/nvahid/&quot;&gt;About Negar Vahid – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thepathintegral.org/&quot;&gt;The Path Integral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/negar-vahid/&quot;&gt;Negar Vahid - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/profiling-performance/&quot;&gt;Profiling Performance in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-project-management-with-uv/&quot;&gt;Python Project Management With uv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E276_03_Negar.e5a839e21da6.mp3" type="audio/mpeg" length="49410909"/>
        <guid isPermaLink="false">e9d73e5e-e3fe-45bf-9eeb-2e2503a0e502</guid>
        <pubDate>Fri, 05 Dec 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3024</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_276_Podcast.1b8ca41c337b.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring Quantum Computing &amp; Python Frameworks”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>275</itunes:episode>
        <title>Building a FastAPI Application &amp; Exploring Python Concurrency</title>
        <itunes:title>Building a FastAPI Application &amp; Exploring Python Concurrency</itunes:title>
        <link>https://realpython.com/podcasts/rpp/275/</link>
        <description>What are the steps to get started building a FastAPI application? What are the different types of concurrency available in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the steps to get started building a FastAPI application? What are the different types of concurrency available in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent Real Python step-by-step tutorial about programming a FastAPI example application. You practice installing FastAPI, building your first endpoints, adding path and query parameters, and validating endpoints using Pydantic. &lt;/p&gt;
&lt;p&gt;Christopher covers updates to his Real Python video course about concurrency in Python. The course digs into what concurrency means in Python and why you might want to incorporate it in your code. He describes the different methods and demonstrates how to approach coding using threading, asyncio, and multiprocessing.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, the PSF fundraiser campaign for 2025, where Python stores attributes, performance hacks for faster Python code, a project to transform functions into a web interface, and a Python disk-backed cache.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-descriptors/&quot;&gt;Python Descriptors&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn what Python descriptors are, how the descriptor protocol works, and when descriptors are useful, with practical, hands-on examples.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; Django Security Release&lt;/li&gt;
&lt;li&gt;00:02:46 &amp;ndash; Django Is Now a CVE Numbering Authority (CNA)&lt;/li&gt;
&lt;li&gt;00:03:53 &amp;ndash; An Annual Release Cycle for Django&lt;/li&gt;
&lt;li&gt;00:04:12 &amp;ndash; PEP 810: Explicit Lazy Imports (Accepted)&lt;/li&gt;
&lt;li&gt;00:04:27 &amp;ndash; PSF Board Office Hour Sessions for 2026&lt;/li&gt;
&lt;li&gt;00:05:42 &amp;ndash; PyCon US 2026: Call for Proposals Open&lt;/li&gt;
&lt;li&gt;00:06:15 &amp;ndash; PSF Fundraiser campaign for 2025&lt;/li&gt;
&lt;li&gt;00:10:12 &amp;ndash; A Close Look at a FastAPI Example Application&lt;/li&gt;
&lt;li&gt;00:16:36 &amp;ndash; Speed Up Python With Concurrency&lt;/li&gt;
&lt;li&gt;00:21:08 &amp;ndash; &lt;code&gt;__dict__&lt;/code&gt;: Where Python Stores Attributes&lt;/li&gt;
&lt;li&gt;00:25:59 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:17 &amp;ndash; 10 Smart Performance Hacks for Faster Python Code&lt;/li&gt;
&lt;li&gt;00:29:56 &amp;ndash; FuncToWeb: Transform Python Functions Into a Web Interface&lt;/li&gt;
&lt;li&gt;00:32:48 &amp;ndash; python-diskcache: Python Disk-Backed Cache&lt;/li&gt;
&lt;li&gt;00:34:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/nov/05/security-releases/&quot;&gt;Django Security Release: 5.2.8, 5.1.14, and 4.2.26&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/oct/30/django-is-now-a-cve-numbering-authority-cna/&quot;&gt;Django Is Now a CVE Numbering Authority (CNA)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://buttondown.com/carlton/archive/an-annual-release-cycle-for-django/&quot;&gt;An Annual Release Cycle for Django - Buttondown&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0810/&quot;&gt;PEP 810: Explicit Lazy Imports (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2025/10/a-new-psf-board-another-year-of-psf.html&quot;&gt;PSF Board Office Hour Sessions for 2026&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.blogspot.com/2025/10/pycon-us-2026-call-for-proposals-now.html&quot;&gt;PyCon US, Long Beach CA, 2026: Call for Proposals Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://donate.python.org/&quot;&gt;PSF Fundraiser campaign for 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2025/10/connecting-the-dots.html&quot;&gt;Connecting the Dots: Understanding the PSF&amp;rsquo;s Current Financial Outlook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fastapi-python-web-apis/&quot;&gt;A Close Look at a FastAPI Example Application&lt;/a&gt; &amp;ndash; Set up a FastAPI example app, add path and query parameters, and handle CRUD operations with Pydantic for clean, validated endpoints.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt; &amp;ndash; Learn what concurrency means in Python and why you might want to use it. You&amp;rsquo;ll see a simple, non-concurrent approach and then look into why you&amp;rsquo;d want threading, asyncio, or multiprocessing.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/__dict__/&quot;&gt;&lt;code&gt;__dict__&lt;/code&gt;: Where Python Stores Attributes&lt;/a&gt; &amp;ndash; Most Python objects store their attributes in a &lt;code&gt;__dict__&lt;/code&gt; dictionary. Modules and classes always use &lt;code&gt;__dict__&lt;/code&gt;, but not everything does.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2025/11/10-smart-performance-hacks-for-faster-python-code/&quot;&gt;10 Smart Performance Hacks for Faster Python Code&lt;/a&gt; &amp;ndash; Some practical optimization hacks, from data structures to built-in modules, that boost speed, reduce overhead, and keep your Python code clean.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/offerrall/FuncToWeb&quot;&gt;FuncToWeb: Transform Python Functions Into a Web Interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/grantjenks/python-diskcache&quot;&gt;python-diskcache: Python Disk-Backed Cache&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/membership/&quot;&gt;Become a Member of the PSF - Python Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastapi.tiangolo.com/&quot;&gt;FastAPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pydantic.dev/latest/&quot;&gt;Welcome to Pydantic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/fastapi-python-web-apis/&quot;&gt;Quiz: A Close Look at a FastAPI Example Application&lt;/a&gt; &amp;ndash; Practice FastAPI basics with path parameters, request bodies, async endpoints, and CORS. Build confidence to design and test simple Python web APIs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/diskcache-more-than-caching&quot;&gt;Diskcache, more than caching - Bite code!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rest-apis-with-fastapi/&quot;&gt;Python REST APIs With FastAPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-descriptors/&quot;&gt;Python Descriptors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E275_02_PyCoders.a3c2921ff647.mp3" type="audio/mpeg" length="34720159"/>
        <guid isPermaLink="false">606060b8-f697-4137-b96d-e43ad1012b34</guid>
        <pubDate>Fri, 21 Nov 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2107</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_275_Podcast.1dc5aa57018f.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building a FastAPI Application &amp; Exploring Python Concurrency”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>274</itunes:episode>
        <title>Preparing Data Science Projects for Production</title>
        <itunes:title>Preparing Data Science Projects for Production</itunes:title>
        <link>https://realpython.com/podcasts/rpp/274/</link>
        <description>How do you prepare your Python data science projects for production? What are the essential tools and techniques to make your code reproducible, organized, and testable? This week on the show, Khuyen Tran from CodeCut discusses her new book, &quot;Production Ready Data Science.&quot;</description>
        <content:encoded>&lt;p&gt;How do you prepare your Python data science projects for production? What are the essential tools and techniques to make your code reproducible, organized, and testable? This week on the show, Khuyen Tran from CodeCut discusses her new book, &amp;ldquo;Production Ready Data Science.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Khuyen shares how she got into blogging and what motivated her to write a book. She shares tips on how to create repeatable workflows. We delve into modern Python tools that will help you bring your projects to production.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-project-management-with-uv/&quot;&gt;Python Project Management With uv&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Create and manage Python projects with uv, a blazing-fast package and project manager built in Rust. Learn setup, workflow, and best practices.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:27 &amp;ndash; Recent article about top six visualization libraries&lt;/li&gt;
&lt;li&gt;00:02:19 &amp;ndash; How long have you been blogging?&lt;/li&gt;
&lt;li&gt;00:03:55 &amp;ndash; What do you cover in your book?&lt;/li&gt;
&lt;li&gt;00:07:07 &amp;ndash; Potential issues with notebooks&lt;/li&gt;
&lt;li&gt;00:11:40 &amp;ndash; Structuring data science projects&lt;/li&gt;
&lt;li&gt;00:15:12 &amp;ndash; Reproducibility and sharing notebooks&lt;/li&gt;
&lt;li&gt;00:20:33 &amp;ndash; Using Polars&lt;/li&gt;
&lt;li&gt;00:26:03 &amp;ndash; Advantages of marimo notebooks&lt;/li&gt;
&lt;li&gt;00:34:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:44 &amp;ndash; Shipping a project in data science&lt;/li&gt;
&lt;li&gt;00:42:10 &amp;ndash; Advice on testing&lt;/li&gt;
&lt;li&gt;00:49:50 &amp;ndash; Creating importable parameter values&lt;/li&gt;
&lt;li&gt;00:53:55 &amp;ndash; Seeing the commit diff of a notebook&lt;/li&gt;
&lt;li&gt;00:55:12 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:56:04 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:56:52 &amp;ndash; What&amp;rsquo;s the best way to follow your work online?&lt;/li&gt;
&lt;li&gt;00:58:28 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/production-ready-data-science/&quot;&gt;Production Ready Data Science by Khuyen Tran - CodeCut&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/&quot;&gt;CodeCut&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/top-6-python-libraries-for-visualization-which-one-to-use/&quot;&gt;Top 6 Python Libraries for Visualization: Which One to Use? - CodeCut&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/ruff/&quot;&gt;Ruff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/uv/&quot;&gt;uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cookiecutter.io/&quot;&gt;Cookiecutter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/&quot;&gt;marimo - a next-generation Python notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/230/&quot;&gt;Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars — DataFrames for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/260/&quot;&gt;Episode #260: Harnessing the Power of Python Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://narwhals-dev.github.io/narwhals/&quot;&gt;Narwhals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/224/&quot;&gt;Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/stable/&quot;&gt;pytest documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jupyter/nbdime&quot;&gt;nbdime: Tools for diffing and merging of Jupyter notebooks.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.langchain.com/&quot;&gt;LangChain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/langchain-1-0-middleware-production-agents/&quot;&gt;Build Production-Ready LLM Agents with LangChain 1.0 Middleware - CodeCut&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-llm-rag-chatbot-with-langchain/&quot;&gt;Build an LLM RAG Chatbot With LangChain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/khuyen-tran-1401/&quot;&gt;Khuyen Tran - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/KhuyenTran16&quot;&gt;Khuyen Tran (@KhuyenTran16) - X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-with-python-polars/&quot;&gt;Working With Python Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-with-marimo-notebooks/&quot;&gt;Getting Started With marimo Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-project-management-with-uv/&quot;&gt;Python Project Management With uv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E274_02_Khuyen.3960f4de8d36.mp3" type="audio/mpeg" length="57786410"/>
        <guid isPermaLink="false">2e546883-9706-4686-9a25-51726b75a409</guid>
        <pubDate>Fri, 14 Nov 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3552</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_274_Podcast.87a02c62b655.jpg"/>
        <rp:twitter-handles>@KhuyenTran16</rp:twitter-handles>
        <rp:twitter-title>“Preparing Data Science Projects for Production” with @KhuyenTran16</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>273</itunes:episode>
        <title>Advice for Writing Maintainable Python Code</title>
        <itunes:title>Advice for Writing Maintainable Python Code</itunes:title>
        <link>https://realpython.com/podcasts/rpp/273/</link>
        <description>What are techniques for writing maintainable Python code? How do you make your Python more readable and easier to refactor? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are techniques for writing maintainable Python code? How do you make your Python more readable and easier to refactor? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent article about writing code that is easy to maintain. We cover writing comments, creating meaningful names, avoiding magic numbers, and preparing code for your future self.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including release news, modifying the REPL, differences between Polars and pandas, generating realistic test data in Python, investigating quasars with Polars and marimo, creating simple meta tags for Django objects, and a GUI toolkit for grids of buttons.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/modern-python-linting-ruff/&quot;&gt;Modern Python Linting With Ruff&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ruff is a blazing-fast, modern Python linter with a simple interface that can replace Pylint, isort, and Black—and it&amp;rsquo;s rapidly becoming popular.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; PyTorch 2.9 Release&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Django 6.0 Beta 1&lt;/li&gt;
&lt;li&gt;00:03:05 &amp;ndash; Handy Python REPL Modifications&lt;/li&gt;
&lt;li&gt;00:11:06 &amp;ndash; Polars vs pandas: What&amp;rsquo;s the Difference?&lt;/li&gt;
&lt;li&gt;00:17:55 &amp;ndash; Faker: Generate Realistic Test Data in Python&lt;/li&gt;
&lt;li&gt;00:22:06 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:23:35 &amp;ndash; Investigating Quasars With Polars and marimo&lt;/li&gt;
&lt;li&gt;00:27:37 &amp;ndash; Writing Maintainable Code&lt;/li&gt;
&lt;li&gt;00:49:48 &amp;ndash; buttonpad: GUI Toolkit for Grids of Buttons&lt;/li&gt;
&lt;li&gt;00:52:10 &amp;ndash; django-snakeoil: Simple Meta Tags for Django Objects&lt;/li&gt;
&lt;li&gt;00:54:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pytorch.org/blog/pytorch-2-9/&quot;&gt;PyTorch 2.9 Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/oct/22/django-60-beta-released/&quot;&gt;Django 6.0 Beta 1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://treyhunner.com/2025/10/handy-python-repl-modifications/&quot;&gt;Handy Python REPL Modifications&lt;/a&gt; &amp;ndash; Trey uses the the Python REPL a lot. In this post he shows you his favorite customizations to make the REPL even better.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/polars-vs-pandas/&quot;&gt;Polars vs pandas: What&amp;rsquo;s the Difference?&lt;/a&gt; &amp;ndash; Discover the key differences in Polars vs pandas to help you choose the right Python library for faster, more efficient data analysis.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/faker-python-generate-test-data/&quot;&gt;Faker: Generate Realistic Test Data in Python&lt;/a&gt; &amp;ndash; If you want to generate test data with specific types (bool, float, text, integers) and realistic characteristics (names, addresses, colors, emails, phone numbers, locations), Faker can help you do that.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/investigating-quasar-data-polars-marimo-notebooks/&quot;&gt;Investigating Quasars With Polars and &lt;code&gt;marimo&lt;/code&gt;&lt;/a&gt; &amp;ndash; Learn to visualize quasar redshift data by building an interactive marimo dashboard using Polars, pandas, and Matplotlib. You&amp;rsquo;ll practice retrieving, cleaning, and displaying data in your notebook. You&amp;rsquo;ll also build interactive UI components that live-update visualizations in the notebook.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wedgworth.dev/crafting-software-writing-maintainable-code/&quot;&gt;Writing Maintainable Code&lt;/a&gt; &amp;ndash; &amp;ldquo;Maintainable code can easily be the difference between long-lived, profitable software, and short-lived money pits.&amp;rdquo; Read on to see just what maintainable code is and how to achieve it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/asweigart/buttonpad&quot;&gt;buttonpad: GUI Toolkit for Grids of Buttons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/knyghty/django-snakeoil&quot;&gt;django-snakeoil: Simple Meta Tags for Django Objects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-repl/#customizing-the-standard-repl&quot;&gt;The Python Standard REPL: Try Out Code and Ideas Quickly – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/treyhunner/pyrepl-hacks&quot;&gt;pyrepl-hacks: Hacky extensions and helper functions for the new Python REPL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/&quot;&gt;pandas - Python Data Analysis Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars — DataFrames for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://faker.readthedocs.io/en/stable/index.html&quot;&gt;Welcome to Faker&amp;rsquo;s documentation!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/solid-principles-python/&quot;&gt;SOLID Principles: Improve Object-Oriented Design in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Pragmatic_Programmer?ref=wedgworth.dev&quot;&gt;The Pragmatic Programmer - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/modern-python-linting-ruff/&quot;&gt;Modern Python Linting With Ruff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/solid-principles-python/&quot;&gt;Design and Guidance: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/investigating-quasar-data-polars-marimo-notebooks/&quot;&gt;Investigating Quasar Data With Polars and Interactive marimo Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E273_02_PyCoders.c4030c27e5a2.mp3" type="audio/mpeg" length="53728801"/>
        <guid isPermaLink="false">a588b5e9-2ed3-428e-ad58-7ccb551313b6</guid>
        <pubDate>Fri, 07 Nov 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3293</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_273_Podcast.8405fcc98c33.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Advice for Writing Maintainable Python Code”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>272</itunes:episode>
        <title>Michael Kennedy: Managing Your Own Python Infrastructure</title>
        <itunes:title>Michael Kennedy: Managing Your Own Python Infrastructure</itunes:title>
        <link>https://realpython.com/podcasts/rpp/272/</link>
        <description>How do you deploy your Python application without getting locked into an expensive cloud-based service? This week on the show, Michael Kennedy from the Talk Python podcast returns to discuss his new book, &quot;Talk Python in Production.&quot;</description>
        <content:encoded>&lt;p&gt;How do you deploy your Python application without getting locked into an expensive cloud-based service? This week on the show, Michael Kennedy from the Talk Python podcast returns to discuss his new book, &amp;ldquo;Talk Python in Production.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Michael runs multiple Python applications online, including a training site, blog, and two podcasts. While searching for the best solution for hosting his business, he documented his findings in a book. We talk about containerizing Python applications, generating static sites, preparing for traffic spikes, and avoiding cloud service lock-in.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn what concurrency means in Python and why you might want to use it. You&amp;rsquo;ll see a simple, non-concurrent approach and then look into why you&amp;rsquo;d want threading, asyncio, or multiprocessing.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:28 &amp;ndash; Welcome back!&lt;/li&gt;
&lt;li&gt;00:03:05 &amp;ndash; Is this your first book?&lt;/li&gt;
&lt;li&gt;00:04:13 &amp;ndash; A book that reads like a blog&lt;/li&gt;
&lt;li&gt;00:06:15 &amp;ndash; Incentives to keep you locked in&lt;/li&gt;
&lt;li&gt;00:09:20 &amp;ndash; Following the journey of the Talk Python sites&lt;/li&gt;
&lt;li&gt;00:11:47 &amp;ndash; Audio reader briefs&lt;/li&gt;
&lt;li&gt;00:15:19 &amp;ndash; Discussing Dev Ops as a topic&lt;/li&gt;
&lt;li&gt;00:18:31 &amp;ndash; Background of developing for the web&lt;/li&gt;
&lt;li&gt;00:20:14 &amp;ndash; Stack-Native vs Cloud-Native&lt;/li&gt;
&lt;li&gt;00:24:40 &amp;ndash; Using Quart web framework&lt;/li&gt;
&lt;li&gt;00:25:50 &amp;ndash; Embracing Docker&lt;/li&gt;
&lt;li&gt;00:32:39 &amp;ndash; Sharing a single powerful machine allows for individual peaks&lt;/li&gt;
&lt;li&gt;00:37:04 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:38:30 &amp;ndash; Minimal cloud lock-in&lt;/li&gt;
&lt;li&gt;00:40:04 &amp;ndash; Using OrbStack for local builds and testing&lt;/li&gt;
&lt;li&gt;00:42:07 &amp;ndash; Coolify as a Docker host&lt;/li&gt;
&lt;li&gt;00:47:14 &amp;ndash; Moving away from Google analytics and a GDPR rant&lt;/li&gt;
&lt;li&gt;00:50:43 &amp;ndash; Diving deep into web tech of ngnix, SSL, and CDNs&lt;/li&gt;
&lt;li&gt;00:54:33 &amp;ndash; Talking about the prices for hosting&lt;/li&gt;
&lt;li&gt;00:59:09 &amp;ndash; Creating static sites&lt;/li&gt;
&lt;li&gt;01:06:22 &amp;ndash; Invitation to come back to discuss AI and agents&lt;/li&gt;
&lt;li&gt;01:10:06 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:16:19 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:17:34 &amp;ndash; What&amp;rsquo;s the best way to follow your work online?&lt;/li&gt;
&lt;li&gt;01:19:40 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/books/python-in-production&quot;&gt;Talk Python in Production Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://quart.palletsprojects.com/en/latest/index.html&quot;&gt;Quart documentation: Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.docker.com/&quot;&gt;Docker: Accelerated Container Application Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloudnews.tech/south-korea-loses-its-government-cloud-after-a-fire-no-backups-or-recovery-plan/&quot;&gt;South Korea Loses Its Government &amp;ldquo;Cloud&amp;rdquo; After a Fire: No Backups or Recovery Plan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://orbstack.dev/&quot;&gt;OrbStack: Fast, light, simple Docker &amp;amp; Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coolify.io/&quot;&gt;Coolify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cara.app/blog/finances-and-future-of-cara&quot;&gt;Finances &amp;amp; the Future of Cara: Artist Social &amp;amp; Portfolio Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/awesome-selfhosted/awesome-selfhosted&quot;&gt;awesome-selfhosted: A list of Free Software network services and web applications which can be hosted on your own servers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://umami.is/&quot;&gt;Umami: Modern analytics platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mikeckennedy/umami-python&quot;&gt;umami-python: Umami Analytics Client for Python by Michael Kennedy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gohugo.io/&quot;&gt;Hugo: The world&amp;rsquo;s fastest framework for building websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mikeckennedy&quot;&gt;mikeckennedy - Michael Kennedy: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mkennedy.codes/&quot;&gt;Michael Kennedy&amp;rsquo;s Thoughts on Technology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mikeckennedy.gumroad.com/l/talk-python-in-production-book/3s9o1s3&quot;&gt;Talk Python in Production Book - Link With Discount Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Michael&amp;rsquo;s Recommended Hosting Locations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.digitalocean.com/&quot;&gt;DigitalOcean - Cloud Infrastructure for Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hetzner.com/&quot;&gt;Hetzner - Dedicated Server, Cloud &amp;amp; Hosting aus Deutschland&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/deploy-python-script-web-flask/&quot;&gt;Deploy Your Python Script on the Web With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/create-scalable-flask-web-app/&quot;&gt;Creating a Scalable Flask Web Application From Scratch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E272_02_Michael.3932dd5b0ff8.mp3" type="audio/mpeg" length="78254117"/>
        <guid isPermaLink="false">db2f2fc2-2b23-4b1e-9154-9a1e9d0466a5</guid>
        <pubDate>Fri, 31 Oct 2025 12:00:00 +0000</pubDate>
        <itunes:duration>4825</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_272_Podcast.23dab3bb82bf.jpg"/>
        <rp:twitter-handles>@mkennedy</rp:twitter-handles>
        <rp:twitter-title>“Michael Kennedy: Managing Your Own Python Infrastructure” with @mkennedy</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>271</itunes:episode>
        <title>Benchmarking Python 3.14 &amp; Enabling Asyncio to Scale</title>
        <itunes:title>Benchmarking Python 3.14 &amp; Enabling Asyncio to Scale</itunes:title>
        <link>https://realpython.com/podcasts/rpp/271/</link>
        <description>How does Python 3.14 perform under a few hand-crafted benchmarks? Does the performance of asyncio scale on the free-threaded build? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How does Python 3.14 perform under a few hand-crafted benchmarks? Does the performance of asyncio scale on the free-threaded build? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;At the top of the show, we have a mountain of release news and Python Enhancement Proposals to cover. Then, we dig into a couple of articles covering the performance of Python 3.14. The first is a benchmarking comparison of the last several Python versions and their variations, including JIT and free-threaded mode. The second explores the changes in 3.14 that enable &lt;code&gt;asyncio&lt;/code&gt; to scale on CPython&amp;rsquo;s free-threaded build.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including an introduction to NiceGUI, a free-threaded Python library compatibility checker, an exploration of what is &amp;ldquo;good taste&amp;rdquo; in software engineering, HTML templating with t‑strings, and a tool for testing Sphinx docs instantly in the browser.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video series, you&amp;rsquo;ll create project documentation from scratch using Sphinx, the de facto standard for Python. You&amp;rsquo;ll also hook your code repository up to Read the Docs to automatically build and publish your code documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:28 &amp;ndash; Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 now available&lt;/li&gt;
&lt;li&gt;00:03:08 &amp;ndash; Python 3.13.9 is now available&lt;/li&gt;
&lt;li&gt;00:03:26 &amp;ndash; Python 3.15.0 alpha 1&lt;/li&gt;
&lt;li&gt;00:04:02 &amp;ndash; PEP 804: An External Dependency Registry and Name Mapping Mechanism&lt;/li&gt;
&lt;li&gt;00:04:56 &amp;ndash; PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking&lt;/li&gt;
&lt;li&gt;00:06:34 &amp;ndash; PEP 807: Index Support for Trusted Publishing&lt;/li&gt;
&lt;li&gt;00:07:21 &amp;ndash; PEP 809: Stable ABI for the Future&lt;/li&gt;
&lt;li&gt;00:08:10 &amp;ndash; PEP 810: Explicit Lazy Imports &lt;/li&gt;
&lt;li&gt;00:10:31 &amp;ndash; Python lazy imports you can use today&lt;/li&gt;
&lt;li&gt;00:10:48 &amp;ndash; Lazy Imports Using wrapt&lt;/li&gt;
&lt;li&gt;00:11:18 &amp;ndash; Python 3.14 Is Here. How Fast Is It?&lt;/li&gt;
&lt;li&gt;00:17:45 &amp;ndash; Free-Threaded Python Library Compatibility Checker&lt;/li&gt;
&lt;li&gt;00:19:54 &amp;ndash; Scaling Asyncio on Free-Threaded Python&lt;/li&gt;
&lt;li&gt;00:24:06 &amp;ndash; Real Python 3.14 Resources&lt;/li&gt;
&lt;li&gt;00:25:18 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:31 &amp;ndash; Intro to NiceGUI: Build Interactive Python Web Apps&lt;/li&gt;
&lt;li&gt;00:30:22 &amp;ndash; What Is &amp;ldquo;Good Taste&amp;rdquo; in Software Engineering?&lt;/li&gt;
&lt;li&gt;00:40:52 &amp;ndash; Try Sphinx Docs Instantly in Your Browser&lt;/li&gt;
&lt;li&gt;00:43:11 &amp;ndash; Introducing tdom: HTML Templating With t‑strings&lt;/li&gt;
&lt;li&gt;00:46:21 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/10/python-31212-31114-31019-and-3924-are.html&quot;&gt;Python Insider: Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 are now available!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/10/python-3139-is-now-available.html&quot;&gt;Python Insider: Python 3.13.9 is now available!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/10/python-3150-alpha-1.html&quot;&gt;Python Insider: Python 3.15.0 alpha 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0804/&quot;&gt;PEP 804: An External Dependency Registry and Name Mapping Mechanism (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0806/&quot;&gt;PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0807/&quot;&gt;PEP 807: Index Support for Trusted Publishing (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0809/&quot;&gt;PEP 809: Stable ABI for the Future (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0810/&quot;&gt;PEP 810: Explicit Lazy Imports (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythontest.com/python-lazy-imports-now/&quot;&gt;Python lazy imports you can use today - PythonTest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grahamdumpleton.me/posts/2025/10/lazy-imports-using-wrapt/&quot;&gt;Lazy Imports Using &lt;code&gt;wrapt&lt;/code&gt;&lt;/a&gt; &amp;ndash; PEP 810 proposes adding explicit lazy imports to Python, but you can already achieve this with third-party libraries. This post shows you how using &lt;code&gt;wrapt&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/python-3-14-is-here-how-fast-is-it&quot;&gt;Python 3.14 Is Here. How Fast Is It?&lt;/a&gt; &amp;ndash; A comprehensive deep-dive comparison of performance figures between Python versions and variations, including the JIT and free-threaded mode.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ft-checker.com/&quot;&gt;Free-Threaded Python Library Compatibility Checker&lt;/a&gt; &amp;ndash; A heat map and table summarizing Python free-threaded compatibility in a variety of common Python packages.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.changs.co.uk/python-314-3-asyncio-changes.html&quot;&gt;Python 3.14: 3 &lt;code&gt;asyncio&lt;/code&gt; Changes&lt;/a&gt; &amp;ndash; &lt;code&gt;asyncio&lt;/code&gt; changes are often overlooked. In the latest 3.14 release, there are three new &lt;code&gt;asyncio&lt;/code&gt; features and changes.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://labs.quansight.org/blog/scaling-asyncio-on-free-threaded-python&quot;&gt;Scaling Asyncio on Free-Threaded Python&lt;/a&gt; &amp;ndash; A recap of the work done in Python 3.14 to enable &lt;code&gt;asyncio&lt;/code&gt; to scale on the free-threaded build of CPython.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hazimed.com/2025/09/13/meet-nicegui-the-nice-guy-of-python-web-frameworks/&quot;&gt;Intro to NiceGUI: Build Interactive Python Web Apps&lt;/a&gt; &amp;ndash; Use &lt;code&gt;NiceGUI&lt;/code&gt; to turn Python scripts into interactive web apps without touching HTML, CSS, or JavaScript.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.seangoedecke.com/taste/&quot;&gt;What Is &amp;ldquo;Good Taste&amp;rdquo; in Software Engineering?&lt;/a&gt; &amp;ndash; This opinion piece discusses the difference between skill and taste when writing software. What counts as “clean code” for one person may not be the same for another.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snippets.documatt.com/&quot;&gt;Try Sphinx Docs Instantly in Your Browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://davepeck.org/2025/09/22/introducing-tdom-html-templating-with-python-t-strings/&quot;&gt;Introducing &lt;code&gt;tdom&lt;/code&gt;: HTML Templating With t‑strings&lt;/a&gt; &amp;ndash; Python 3.14 introduces t-strings, and this article showcases &lt;code&gt;tdom&lt;/code&gt;, a new HTML DOM toolkit that takes advantage of them to produce safer output.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/benchmarking-micropython&quot;&gt;Benchmarking MicroPython - miguelgrinberg.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/is-python-really-that-slow&quot;&gt;Is Python Really That Slow? - miguelgrinberg.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bubble_sort&quot;&gt;Bubble sort - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Fibonacci_sequence&quot;&gt;Fibonacci sequence - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python314-new-features/&quot;&gt;Python 3.14: Cool New Features for You to Try &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/whats-new-python-314/&quot;&gt;What&amp;rsquo;s New in Python 3.14 &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-repl-autocompletion-highlighting/&quot;&gt;Python 3.14 Preview: REPL Autocompletion and Highlighting &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-repl/&quot;&gt;Python 3.13 Preview: A Modern REPL &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-annotations/&quot;&gt;Python 3.14 Preview: Lazy Annotations &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python314-error-messages/&quot;&gt;Python 3.14 Preview: Better Syntax Error Messages &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-t-strings/&quot;&gt;Python 3.14 Preview: Template Strings (T-Strings) &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-free-threading-jit/&quot;&gt;Python 3.13: Free Threading and a JIT Compiler &amp;ndash; Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://quasar.dev/&quot;&gt;Quasar Framework&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-gui-application-tkinter/&quot;&gt;Building a Python GUI Application With Tkinter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/whats-new-python-314/&quot;&gt;What&amp;#x27;s New in Python 3.14&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E271_02_PyCoders.078f28cbd7a3.mp3" type="audio/mpeg" length="46552809"/>
        <guid isPermaLink="false">9b1f62a2-6605-4005-9b0f-4c51e8b124dc</guid>
        <pubDate>Fri, 24 Oct 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2844</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_271_Podcast.5814c12ddecf.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Benchmarking Python 3.14 &amp; Enabling Asyncio to Scale”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>270</itunes:episode>
        <title>Evolving Teaching Python in the Classroom</title>
        <itunes:title>Evolving Teaching Python in the Classroom</itunes:title>
        <link>https://realpython.com/podcasts/rpp/270/</link>
        <description>How is teaching young students Python changing with the advent of LLMs? This week on the show, Kelly Schuster-Paredes from the Teaching Python podcast joins us to discuss coding and AI in the classroom.</description>
        <content:encoded>&lt;p&gt;How is teaching young students Python changing with the advent of LLMs? This week on the show, Kelly Schuster-Paredes from the Teaching Python podcast joins us to discuss coding and AI in the classroom.&lt;/p&gt;
&lt;p&gt;Kelly shares her current thoughts on teaching Python to young students. She stresses that the earliest classes still need to cover the fundamentals. We also discuss how coding instruction is evolving toward reading and reviewing code more than writing it.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/building-gui-application-tkinter/&quot;&gt;Building a Python GUI Application With Tkinter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn the basics of GUI programming with Tkinter, the de facto Python GUI framework. Master GUI programming concepts such as widgets, geometry managers, and event handlers. Then, put it all together by building two applications: a temperature converter and a text editor.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:28 &amp;ndash; Starting to use AI in the classroom&lt;/li&gt;
&lt;li&gt;00:05:17 &amp;ndash; How did students react to using NLP and NLTK?&lt;/li&gt;
&lt;li&gt;00:06:40 &amp;ndash; Teaching Python beginners now&lt;/li&gt;
&lt;li&gt;00:12:31 &amp;ndash; Code editor changes with LLM features&lt;/li&gt;
&lt;li&gt;00:15:25 &amp;ndash; Less in-classroom teaching&lt;/li&gt;
&lt;li&gt;00:16:22 &amp;ndash; What sparks interest in coding for students?&lt;/li&gt;
&lt;li&gt;00:21:14 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:22:44 &amp;ndash; Exploratory robotics&lt;/li&gt;
&lt;li&gt;00:25:56 &amp;ndash; Do you need to struggle to learn?&lt;/li&gt;
&lt;li&gt;00:32:52 &amp;ndash; Working through frustration and the tendency not to read&lt;/li&gt;
&lt;li&gt;00:36:37 &amp;ndash; Mixed feelings on the changes to teaching &lt;/li&gt;
&lt;li&gt;00:41:19 &amp;ndash; Teaching through reading and code reviewing&lt;/li&gt;
&lt;li&gt;00:45:33 &amp;ndash; Lower-level classes are still about fundamentals&lt;/li&gt;
&lt;li&gt;00:47:47 &amp;ndash; Other areas of teaching using AI tools&lt;/li&gt;
&lt;li&gt;00:51:29 &amp;ndash; Improving prompting skills&lt;/li&gt;
&lt;li&gt;00:54:22 &amp;ndash; Using these tools to organize creativity&lt;/li&gt;
&lt;li&gt;00:54:53 &amp;ndash; What AI tools are working for you?&lt;/li&gt;
&lt;li&gt;00:57:13 &amp;ndash; Sharing knowledge and techniques with other teachers&lt;/li&gt;
&lt;li&gt;01:00:02 &amp;ndash; General advice for teachers&lt;/li&gt;
&lt;li&gt;01:02:03 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:02:52 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:03:46 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:04:10 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm/&quot;&gt;Teaching Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codewith.mu/&quot;&gt;Code With Mu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.flintk12.com/&quot;&gt;Flint - AI for schools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://claude.ai/login?returnTo=%2F%3F&quot;&gt;Claude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://colab.google/&quot;&gt;colab.google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://digitalthriving.gse.harvard.edu/ai-explorers-club/&quot;&gt;AI Explorers&amp;rsquo; Club 🛶 – Center for Digital Thriving&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-gui-application-tkinter/&quot;&gt;Building a Python GUI Application With Tkinter – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tensorflow.org/&quot;&gt;TensorFlow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://education.lego.com/en-us/products/lego-education-spike-prime-set/45678/&quot;&gt;SPIKE™ Prime – STEAM Set - Grades 6 - 8 - LEGO® Education&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Hexapod_(robotics)&quot;&gt;Hexapod (robotics) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://commoncog.com/how-to-use-ai-without-becoming-stupid/&quot;&gt;How to Use AI Without Becoming Stupid - Commoncog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.promptcowboy.ai/&quot;&gt;Prompt Cowboy - #1 prompt generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.microsoft.com/en-us/office/get-started-with-python-in-excel-a33fbcbe-065b-41d3-82cf-23d05397f53d&quot;&gt;Get started with Python in Excel - Microsoft Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/186/&quot;&gt;Episode #186: Exploring Python in Excel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ibm.com/community/ibm-techxchange-conference/&quot;&gt;IBM TechXchange 2025 - Orlando, FL - October 6-9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/kelly-schuster-paredes-4b887264/&quot;&gt;Kelly Schuster- Paredes - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-gui-application-tkinter/&quot;&gt;Building a Python GUI Application With Tkinter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/deep-learning-pytorch-tensorflow/&quot;&gt;Python Deep Learning: PyTorch vs Tensorflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E270_02_Kelly.410a6edeb583.mp3" type="audio/mpeg" length="63411002"/>
        <guid isPermaLink="false">5149d078-b4ba-439f-b9e1-5fa30ddd17fb</guid>
        <pubDate>Fri, 17 Oct 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3899</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_270_Podcast.02bf189e231e.jpg"/>
        <rp:twitter-handles>@KellyPared</rp:twitter-handles>
        <rp:twitter-title>“Evolving Teaching Python in the Classroom” with @KellyPared</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>269</itunes:episode>
        <title>Python 3.14: Exploring the New Features</title>
        <itunes:title>Python 3.14: Exploring the New Features</itunes:title>
        <link>https://realpython.com/podcasts/rpp/269/</link>
        <description>Python 3.14 is here! Christopher Trudeau returns to discuss the new version with Real Python team member Bartosz Zaczyński. This year, Bartosz coordinated the series of preview articles with members of the Real Python team and wrote the showcase tutorial, &quot;Python 3.14: Cool New Features for You to Try.&quot; Christopher&#x27;s video course, &quot;What&#x27;s New in Python 3.14&quot;, covers the topics from the article and shows the new features in action.</description>
        <content:encoded>&lt;p&gt;Python 3.14 is here! Christopher Trudeau returns to discuss the new version with Real Python team member Bartosz Zaczyński. This year, Bartosz coordinated the series of preview articles with members of the Real Python team and wrote the showcase tutorial, &amp;ldquo;Python 3.14: Cool New Features for You to Try.&amp;rdquo; Christopher&amp;rsquo;s video course, &amp;ldquo;What&amp;rsquo;s New in Python 3.14&amp;rdquo;, covers the topics from the article and shows the new features in action.&lt;/p&gt;
&lt;p&gt;Christopher and Bartosz dug into the new release to create code examples showcasing the new features for the tutorial and course. We look at the enhanced and more colorful REPL experience, better error messages, safer hooks for live debugging, and deferred annotation evaluation. We also discuss template strings, Zstandard compression, and multiple performance improvements.&lt;/p&gt;
&lt;p&gt;We share our thoughts on the updates and offer advice about incorporating them into your projects. We also discuss when you should start running Python 3.14.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/whats-new-python-314/&quot;&gt;What&amp;rsquo;s New in Python 3.14&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Covers Python 3.14&amp;rsquo;s key changes: free-threading, subinterpreters, t-strings, lazy annotations, new REPL features, and improved error messages.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:03 &amp;ndash; Cool New Features for You to Try - Tutorial&lt;/li&gt;
&lt;li&gt;00:02:20 &amp;ndash; What&amp;rsquo;s New in Python 3.14 - Video Course&lt;/li&gt;
&lt;li&gt;00:02:54 &amp;ndash; Even Friendlier Python REPL&lt;/li&gt;
&lt;li&gt;00:05:05 &amp;ndash; Allow &amp;ldquo;json&amp;rdquo; instead of &amp;ldquo;json.tool&amp;rdquo;&lt;/li&gt;
&lt;li&gt;00:05:49 &amp;ndash; Zstandard compression&lt;/li&gt;
&lt;li&gt;00:06:37 &amp;ndash; Working With Numbers&lt;/li&gt;
&lt;li&gt;00:11:09 &amp;ndash; Deferred Evaluation of Annotations&lt;/li&gt;
&lt;li&gt;00:17:35 &amp;ndash; More Helpful Error Messages&lt;/li&gt;
&lt;li&gt;00:20:41 &amp;ndash; Warnings in try…finally Blocks&lt;/li&gt;
&lt;li&gt;00:22:08 &amp;ndash; Safer Live Process Debugging&lt;/li&gt;
&lt;li&gt;00:25:22 &amp;ndash; Pathlib Improvements&lt;/li&gt;
&lt;li&gt;00:26:50 &amp;ndash; Additional assert methods for unittest&lt;/li&gt;
&lt;li&gt;00:27:19 &amp;ndash; Template Strings (T-strings)&lt;/li&gt;
&lt;li&gt;00:31:01 &amp;ndash; Free-threaded Build Updates&lt;/li&gt;
&lt;li&gt;00:35:30 &amp;ndash; Incremental Garbage Collector&lt;/li&gt;
&lt;li&gt;00:37:59 &amp;ndash; functools partial &amp;amp; placeholder improvement&lt;/li&gt;
&lt;li&gt;00:40:13 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:12 &amp;ndash; Experimental JIT Builds&lt;/li&gt;
&lt;li&gt;00:46:52 &amp;ndash; Parallel Subinterpreters&lt;/li&gt;
&lt;li&gt;00:48:59 &amp;ndash; Unicode Database Update&lt;/li&gt;
&lt;li&gt;00:49:47 &amp;ndash; 𝜋thon - Easter Egg&lt;/li&gt;
&lt;li&gt;00:51:26 &amp;ndash; Starting to use the new version&lt;/li&gt;
&lt;li&gt;00:55:26 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python314-new-features/&quot;&gt;Python 3.14: Cool New Features for You to Try – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/whats-new-python-314/&quot;&gt;What&amp;rsquo;s New in Python 3.14&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-repl-autocompletion-highlighting/&quot;&gt;Python 3.14 Preview: REPL Autocompletion and Highlighting – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-repl/&quot;&gt;Python 3.13 Preview: A Modern REPL – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/cpython/issues/122873&quot;&gt;Allow &amp;ldquo;-m json&amp;rdquo; instead of &amp;ldquo;-m json.tool&amp;rdquo; · Issue #122873&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.14/library/compression.zstd.html&quot;&gt;compression.zstd — Compression compatible with the Zstandard format — Python 3.14.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-annotations/&quot;&gt;Python 3.14 Preview: Lazy Annotations – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python314-error-messages/&quot;&gt;Python 3.14 Preview: Better Syntax Error Messages – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/whatsnew/3.14.html#pep-765-control-flow-in-finally-blocks&quot;&gt;PEP 765: Control flow in finally blocks — Python 3.14.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.14/howto/remote_debugging.html#remote-debugging&quot;&gt;Remote debugging attachment protocol — Python 3.14.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-t-strings/&quot;&gt;Python 3.14 Preview: Template Strings (T-Strings)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/cpython/issues/119127&quot;&gt;functools.partial placeholders · Issue #119127&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/cpython/blob/3.14/InternalDocs/garbage_collector.md&quot;&gt;garbage_collector Internal Docs at 3.14&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-free-threading-jit/&quot;&gt;Python 3.13: Free Threading and a JIT Compiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/whatsnew/3.14.html#pep-734-multiple-interpreters-in-the-standard-library&quot;&gt;Multiple interpreters in the standard library — Python 3.14.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/whatsnew/3.14.html#pep-784-zstandard-support-in-the-standard-library&quot;&gt;PEP 784: Zstandard support in the standard library - Python 3.14.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/262/&quot;&gt;Episode #262: Travis Oliphant: SciPy, NumPy, and Fostering Scientific Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-complex-numbers/&quot;&gt;Simplify Complex Numbers With Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pathlib-python/&quot;&gt;Using Python&amp;rsquo;s pathlib Module – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-t-strings/&quot;&gt;Exploring Python T-Strings – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-free-threading-jit/&quot;&gt;Python 3.13 Preview: Free Threading and a JIT Compiler – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://py-free-threading.github.io/tracking/&quot;&gt;Compatibility Status Tracking - Python Free-Threading Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypy.org/&quot;&gt;PyPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/lessons/functools-module/&quot;&gt;functools Module (Video) – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-subinterpreters/&quot;&gt;Python 3.12 Preview: Subinterpreters – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-313/&quot;&gt;What&amp;#x27;s New in Python 3.13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/whats-new-python-314/&quot;&gt;What&amp;#x27;s New in Python 3.14&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-312/&quot;&gt;What&amp;#x27;s New in Python 3.12&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E269_02_3_14_Release.5f18498b9b74.mp3" type="audio/mpeg" length="54951140"/>
        <guid isPermaLink="false">653b8a8e-78da-448d-88c4-7033434a3031</guid>
        <pubDate>Fri, 10 Oct 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3373</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_269_Podcast.e6e0cfe29c86.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python 3.14: Exploring the New Features”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>268</itunes:episode>
        <title>Advice on Beginning to Learn Python</title>
        <itunes:title>Advice on Beginning to Learn Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/268/</link>
        <description>What&#x27;s changed about learning Python over the last few years? What new techniques and updated advice should beginners have as they start their journey? This week on the show, Stephen Gruppetta and Martin Breuss return to discuss beginning to learn Python.</description>
        <content:encoded>&lt;p&gt;What&amp;rsquo;s changed about learning Python over the last few years? What new techniques and updated advice should beginners have as they start their journey? This week on the show, Stephen Gruppetta and Martin Breuss return to discuss beginning to learn Python.&lt;/p&gt;
&lt;p&gt;We share techniques for finding motivation, building projects, and learning the fundamentals. We provide advice on installing Python and not obsessing over finding the perfect editor. We also examine incorporating LLMs into learning to code and practicing asking good questions.&lt;/p&gt;
&lt;p&gt;Stephen shares details about our upcoming eight-week live course, &lt;a href=&quot;https://realpython.com/workshops/python-for-beginners/&quot;&gt;Python for Beginners: Code With Confidence&lt;/a&gt;. Check out &lt;a href=&quot;https://realpython.com/live&quot;&gt;&lt;strong&gt;realpython.com/live&lt;/strong&gt;&lt;/a&gt; to learn more and reserve your spot.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-beginner-tips/&quot;&gt;11 Beginner Tips for Learning Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll see several learning strategies and tips that will help you jumpstart your journey towards becoming a successful Python programmer.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:36 &amp;ndash; Martin&amp;rsquo;s teaching background&lt;/li&gt;
&lt;li&gt;00:02:57 &amp;ndash; Stephen&amp;rsquo;s teaching background&lt;/li&gt;
&lt;li&gt;00:04:07 &amp;ndash; Having a vested interest in learning&lt;/li&gt;
&lt;li&gt;00:08:35 &amp;ndash; No shortcut to learning the fundamentals&lt;/li&gt;
&lt;li&gt;00:09:21 &amp;ndash; Parallels to learning a foreign language&lt;/li&gt;
&lt;li&gt;00:12:43 &amp;ndash; What&amp;rsquo;s different about starting to learn Python now?&lt;/li&gt;
&lt;li&gt;00:15:03 &amp;ndash; Stephen&amp;rsquo;s journey to coaching and using LLMs&lt;/li&gt;
&lt;li&gt;00:16:20 &amp;ndash; Are LLMs helpful for learning?&lt;/li&gt;
&lt;li&gt;00:18:50 &amp;ndash; Teaching what you&amp;rsquo;ve learned to someone else&lt;/li&gt;
&lt;li&gt;00:19:38 &amp;ndash; Learning how to ask good questions&lt;/li&gt;
&lt;li&gt;00:22:11 &amp;ndash; Improved error messages&lt;/li&gt;
&lt;li&gt;00:24:35 &amp;ndash; REPL: Read Evaluate Print Loop&lt;/li&gt;
&lt;li&gt;00:26:33 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:48 &amp;ndash; Installing Python and choosing an editor&lt;/li&gt;
&lt;li&gt;00:35:16 &amp;ndash; Considering the scale of beginner projects&lt;/li&gt;
&lt;li&gt;00:37:39 &amp;ndash; Should a beginner be concerned with making Pythonic code?&lt;/li&gt;
&lt;li&gt;00:40:55 &amp;ndash; Using LLM tools and defining your level of skill&lt;/li&gt;
&lt;li&gt;00:42:39 &amp;ndash; Python for Beginners: Code With Confidence - live course&lt;/li&gt;
&lt;li&gt;00:47:32 &amp;ndash; Looking at projects - Awesome Python&lt;/li&gt;
&lt;li&gt;00:48:02 &amp;ndash; Asking an LLM to explain the code generated&lt;/li&gt;
&lt;li&gt;00:50:46 &amp;ndash; Debuggers and seeing code run&lt;/li&gt;
&lt;li&gt;00:51:23 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/workshops/python-for-beginners/&quot;&gt;Python for Beginners: Code With Confidence&lt;/a&gt;: Real Python&amp;rsquo;s intensive Python training program with live expert instruction&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-beginner-tips/&quot;&gt;11 Beginner Tips for Learning Python Programming – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/4/&quot;&gt;Episode #4: Learning Python Through Errors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://automatetheboringstuff.com/&quot;&gt;Automate the Boring Stuff with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/&quot;&gt;Download Python - Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Visual Studio Code - Code Editing Redefined&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-error-messages/&quot;&gt;Python 3.12 Preview: Ever Better Error Messages – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://claude.com/product/claude-code&quot;&gt;Claude Code - Claude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://backonthetrack.substack.com/&quot;&gt;Back on the Track - Stephen Gruppetta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python –  Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-idiomatic-python/&quot;&gt;Writing Idiomatic Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/71/&quot;&gt;Episode #71: Start Using a Debugger With Your Python Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vinta/awesome-python?tab=readme-ov-file&quot;&gt;awesome-python: An opinionated list of awesome Python frameworks, libraries, software and resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-beginner-tips/&quot;&gt;11 Beginner Tips for Learning Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E268_02_Stephen_Martin.0973f92f4ce9.mp3" type="audio/mpeg" length="51129829"/>
        <guid isPermaLink="false">d850d33a-3e3b-4747-be28-68d92bfc414a</guid>
        <pubDate>Fri, 03 Oct 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3131</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_268_Podcast.d84db6cd3c52.jpg"/>
        <rp:twitter-handles>@martinbreuss, @s_gruppetta</rp:twitter-handles>
        <rp:twitter-title>“Advice on Beginning to Learn Python” with @martinbreuss, @s_gruppetta</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>267</itunes:episode>
        <title>Managing Feature Flags &amp; Comparing Python Visualization Libraries</title>
        <itunes:title>Managing Feature Flags &amp; Comparing Python Visualization Libraries</itunes:title>
        <link>https://realpython.com/podcasts/rpp/267/</link>
        <description>What&#x27;s a good way to enable or disable code paths without redeploying the software? How can you use feature flags to toggle functionality for specific users of your application? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What&amp;rsquo;s a good way to enable or disable code paths without redeploying the software? How can you use feature flags to toggle functionality for specific users of your application? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article exploring the use of feature flags. The piece advises targeting specific users, storing schemas, and relying on well-worn code paths. He also discusses the danger of the exponential growth of functionality tests as feature flags are added. &lt;/p&gt;
&lt;p&gt;We dig into a comparison of six popular Python visualization libraries. The article provides code examples along with their respective visual output to highlight features and make selecting the optimal library for your work easier.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, benchmarking MicroPython, simplifying IPs and networks in Python, a &amp;ldquo;scream&amp;rdquo; cipher, and a browser-based graphical viewer for the output of Python&amp;rsquo;s cProfile module.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/astrophysics-pandas-matplotlib/&quot;&gt;Exploring Astrophysics in Python With pandas and Matplotlib&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course uses three problems often covered in introductory astrophysics courses to explore in Python. Along the way, you&amp;rsquo;ll learn some astronomy and how to use a variety of data science libraries like NumPy, Matplotlib, pandas, and pint.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:04 &amp;ndash; Python 3.14.0rc3 is go!&lt;/li&gt;
&lt;li&gt;00:03:14 &amp;ndash; Django 6.0 alpha 1 released&lt;/li&gt;
&lt;li&gt;00:04:27 &amp;ndash; PEP 782: Add PyBytesWriter C API&lt;/li&gt;
&lt;li&gt;00:05:06 &amp;ndash; PEP 794: Import Name Metadata&lt;/li&gt;
&lt;li&gt;00:05:30 &amp;ndash; PEP 803: Stable ABI for Free-Threaded Builds&lt;/li&gt;
&lt;li&gt;00:05:55 &amp;ndash; Announcing the 2025 PSF Board Election Results!&lt;/li&gt;
&lt;li&gt;00:06:18 &amp;ndash; Top 6 Python Libraries for Visualization: Which One to Use?&lt;/li&gt;
&lt;li&gt;00:18:34 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:19:24 &amp;ndash; Feature Flags in Depth&lt;/li&gt;
&lt;li&gt;00:22:55 &amp;ndash; Benchmarking MicroPython&lt;/li&gt;
&lt;li&gt;00:30:02 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:16 &amp;ndash; Simplify IPs, Networks, and Subnets With the &lt;code&gt;ipaddress&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:34:52 &amp;ndash; SCREAM CIPHER (&amp;ldquo;ǠĂȦẶAẦ ĂǍÄẴẶȦ&amp;rdquo;&lt;/li&gt;
&lt;li&gt;00:36:20 &amp;ndash; SnakeViz: browser based graphical viewer for the output of Python&amp;rsquo;s cProfile module&lt;/li&gt;
&lt;li&gt;00:40:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/09/python-3140rc3-is-go.html&quot;&gt;Python Insider: Python 3.14.0rc3 is go!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/sep/17/django-60-alpha-released/&quot;&gt;Django 6.0 alpha 1 released - Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0782/&quot;&gt;PEP 782: Add PyBytesWriter C API (Final)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0794/&quot;&gt;PEP 794: Import Name Metadata (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0803/&quot;&gt;PEP 803: Stable ABI for Free-Threaded Builds (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2025/09/announcing-2025-psf-board-election.html&quot;&gt;Python Software Foundation News: Announcing the 2025 PSF Board Election Results!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://codecut.ai/top-6-python-libraries-for-visualization-which-one-to-use/&quot;&gt;Top 6 Python Libraries for Visualization: Which One to Use?&lt;/a&gt; &amp;ndash; The vast number of Python visualization libraries can be overwhelming. This article shows you the pros and cons of some popular libraries, including Matplotlib, seaborn, Plotly, Bokeh, Altair, and Pygal.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rtpg.co/2023/11/15/feature-flags-in-depth/&quot;&gt;Feature Flags in Depth&lt;/a&gt; &amp;ndash; Feature flags are a way to enable or disable blocks of code without needing to redeploy your software. This post shows you several different approaches to feature flags.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/benchmarking-micropython&quot;&gt;Benchmarking MicroPython&lt;/a&gt; &amp;ndash; This post compares the performance of running Python on several microcontroller boards.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hazimed.com/2025/09/07/hidden-python-powers-master-ips-networks-and-subnets-efficiently/&quot;&gt;Simplify IPs, Networks, and Subnets With the &lt;code&gt;ipaddress&lt;/code&gt;&lt;/a&gt; &amp;ndash; Python&amp;rsquo;s built-in &lt;code&gt;ipaddress&lt;/code&gt; module makes handling IP addresses and networks clean and reliable. This article shows how to validate, iterate, and manage addresses and subnets while avoiding common pitfalls of string-based handling.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sethmlarson.dev/scream-cipher&quot;&gt;SCREAM CIPHER (&amp;ldquo;ǠĂȦẶAẦ ĂǍÄẴẶȦ&amp;rdquo;)&lt;/a&gt; &amp;ndash; Seth discovered that Unicode has more accented &amp;ldquo;Latin capital letter A&amp;rdquo; characters than the 26 letters in the English alphabet.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jiffyclub.github.io/snakeviz/&quot;&gt;SnakeViz: browser based graphical viewer for the output of Python&amp;rsquo;s cProfile module&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astropy-astronomy/&quot;&gt;Using Astropy for Astronomy With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astrophysics-pandas-matplotlib/&quot;&gt;Exploring Astrophysics in Python With pandas and Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E267_03_PyCoders.8466c0d223d5.mp3" type="audio/mpeg" length="41592296"/>
        <guid isPermaLink="false">f6953229-1998-4cfc-9a6c-fa57de6365c2</guid>
        <pubDate>Fri, 26 Sep 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2537</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_267_Podcast.fc275f70e90b.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Managing Feature Flags &amp; Comparing Python Visualization Libraries”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>266</itunes:episode>
        <title>Dangers of Automatically Converting a REST API to MCP</title>
        <itunes:title>Dangers of Automatically Converting a REST API to MCP</itunes:title>
        <link>https://realpython.com/podcasts/rpp/266/</link>
        <description>When converting an existing REST API to the Model Context Protocol, what should you consider? What anti-patterns should you avoid to keep an AI agent’s context clean? This week on the show, Kyle Stratis returns to discuss his upcoming book, &quot;AI Agents with MCP&quot;.</description>
        <content:encoded>&lt;p&gt;When converting an existing REST API to the Model Context Protocol, what should you consider? What anti-patterns should you avoid to keep an AI agent’s context clean? This week on the show, Kyle Stratis returns to discuss his upcoming book, &amp;ldquo;AI Agents with MCP&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Kyle has been busy since he last appeared on the show in 2020. He&amp;rsquo;s taken his experience working in machine learning startups and started his own consultancy, Stratis Data Labs. He&amp;rsquo;s been documenting his explorations working with LLMs and MCP on his blog, &lt;em&gt;The Signal Path&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Kyle is also writing a book about building MCP clients, services, and end-to-end agents. We discuss a recent article he wrote about the hazards of using an automated tool to convert a REST API into an MCP server. He shares his personal experiences with building MCP tools and provides additional resources for you to learn more about the topic.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/workshops/python-for-beginners/&quot;&gt;Python for Beginners: Code With Confidence – Real Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn Programming Fundamentals and Pythonic Coding in Eight Weeks&amp;mdash;With a Structured Course&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:41 &amp;ndash; Updates on career&lt;/li&gt;
&lt;li&gt;00:04:36 &amp;ndash; The Signal Path - newsletter&lt;/li&gt;
&lt;li&gt;00:07:15 &amp;ndash; Moving into consulting&lt;/li&gt;
&lt;li&gt;00:12:35 &amp;ndash; Recent projects&lt;/li&gt;
&lt;li&gt;00:14:51 &amp;ndash; Need for data skills with MCP&lt;/li&gt;
&lt;li&gt;00:16:49 &amp;ndash; Describing the differences between REST APIs and MCP&lt;/li&gt;
&lt;li&gt;00:19:59 &amp;ndash; Interaction model differences&lt;/li&gt;
&lt;li&gt;00:27:29 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:28:21 &amp;ndash; Agent stories&lt;/li&gt;
&lt;li&gt;00:32:58 &amp;ndash; Going through a simple example of MCP server&lt;/li&gt;
&lt;li&gt;00:37:50 &amp;ndash; Defining client and server&lt;/li&gt;
&lt;li&gt;00:40:19 &amp;ndash; Examples of servers currently&lt;/li&gt;
&lt;li&gt;00:51:44 &amp;ndash; Announcement: Python for Beginners: Code with Confidence&lt;/li&gt;
&lt;li&gt;01:02:07 &amp;ndash; Resources for further study&lt;/li&gt;
&lt;li&gt;01:05:07 &amp;ndash; Breaking down advice on moving an API to MCP&lt;/li&gt;
&lt;li&gt;01:08:04 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:18:20 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:21:35 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:22:46 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/ai-agents-with/9798341639546/&quot;&gt;AI Agents with MCP - Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/10/&quot;&gt;Episode #10: Python Job Hunting in a Pandemic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jlowin.dev/blog/stop-converting-rest-apis-to-mcp?ref=thesignalpath.xyz&quot;&gt;Stop Converting Your REST APIs to MCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thesignalpath.xyz/stop-generating-mcp-servers-from-rest-apis/&quot;&gt;Stop Generating MCP Servers from REST APIs!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://context7.com/&quot;&gt;Context7 - Up-to-date documentation for LLMs and AI code editors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anthropic.com/&quot;&gt;Anthropic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modelcontextprotocol.io/docs/getting-started/intro&quot;&gt;What is the Model Context Protocol (MCP)? - Model Context Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/github/github-mcp-server&quot;&gt;github-mcp-server: GitHub&amp;rsquo;s official MCP Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/mcp/&quot;&gt;Model Context Protocol (/MCP) - Reddit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/modelcontextprotocol/servers&quot;&gt;modelcontextprotocol/servers: Model Context Protocol Servers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mcpmarket.com/server&quot;&gt;Browse All MCP Servers - MCP Market&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gofastmcp.com/getting-started/welcome&quot;&gt;Welcome to FastMCP 2.0! - FastMCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.letta.com/blog/agent-memory&quot;&gt;Agent Memory: How to Build Agents that Learn and Remember - Letta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kylestratis.com/&quot;&gt;Kyle Stratis Personal Blog - The Edge Cases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thesignalpath.xyz/&quot;&gt;The Signal Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stratisdatalabs.com/&quot;&gt;Stratis Data Labs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/kylestratis/&quot;&gt;Kyle Stratis - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/kylestratis.com&quot;&gt;Kyle (@kylestratis.com) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pydantic-simplify-data-validation/&quot;&gt;Using Pydantic to Simplify Python Data Validation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/history-python-versions-features/&quot;&gt;A History of Python Versions and Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/interacting-rest-apis-python/&quot;&gt;Interacting With REST APIs and Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E266_03_Kyle.9d97c7238336.mp3" type="audio/mpeg" length="82046885"/>
        <guid isPermaLink="false">1ffabe2c-5198-4387-989d-108f97fd6249</guid>
        <pubDate>Fri, 19 Sep 2025 12:00:00 +0000</pubDate>
        <itunes:duration>5065</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_266_Podcast.6f68beff8d5a.jpg"/>
        <rp:twitter-handles>@kylestratis</rp:twitter-handles>
        <rp:twitter-title>“Dangers of Automatically Converting a REST API to MCP” with @kylestratis</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>265</itunes:episode>
        <title>Python App Hosting Choices &amp; Documenting Python&#x27;s History</title>
        <itunes:title>Python App Hosting Choices &amp; Documenting Python&#x27;s History</itunes:title>
        <link>https://realpython.com/podcasts/rpp/265/</link>
        <description>What are your options for hosting your Python application or scripts? What are the advantages of a platform as a service, container-based hosts, or setting up a virtual machine? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are your options for hosting your Python application or scripts? What are the advantages of a platform as a service, container-based hosts, or setting up a virtual machine? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent article about hosting Python applications. The piece digs into the differences between using containers or platform-provided tools to automatically configure your project. We also cover an older article listing several free hosting options for smaller projects or Python scripts.&lt;/p&gt;
&lt;p&gt;The Python documentary premiered this past week, and we provide a synopsis and our thoughts. Following a similar theme, we cover our recent code conversation video course, which explores the history of Python versions and the features added across the releases.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, regex affordances, four different ways to speed up your code, a Python-based music library manager, a tool to visualize the structure of your data in Python, and a project for exploring color science in Python.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/history-python-versions-features/&quot;&gt;A History of Python Versions and Features&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Explore Python’s evolution from the 1990s to today with a brief history and demos of key features added throughout its lifetime.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:02 &amp;ndash; PEP 728: TypedDict With Typed Extra Items&lt;/li&gt;
&lt;li&gt;00:04:09 &amp;ndash; Django security releases issued: 5.2.6, 5.1.12, and 4.2.24&lt;/li&gt;
&lt;li&gt;00:04:37 &amp;ndash; Python Type System and Tooling Survey 2025&lt;/li&gt;
&lt;li&gt;00:04:56 &amp;ndash; Python: The Documentary - An Origin Story&lt;/li&gt;
&lt;li&gt;00:14:11 &amp;ndash; A History of Python Versions and Features&lt;/li&gt;
&lt;li&gt;00:16:58 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:17:48 &amp;ndash; Regex Affordances&lt;/li&gt;
&lt;li&gt;00:21:34 &amp;ndash; Where to Host Your Python App&lt;/li&gt;
&lt;li&gt;00:26:48 &amp;ndash; Best hosting platforms for Python applications and Python scripts&lt;/li&gt;
&lt;li&gt;00:30:18 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:59 &amp;ndash; 330× Faster: Four Different Ways to Speed Up Your Code&lt;/li&gt;
&lt;li&gt;00:37:18 &amp;ndash; beets: Music Library Manager&lt;/li&gt;
&lt;li&gt;00:39:12 &amp;ndash; Memory Graph - GitHub&lt;/li&gt;
&lt;li&gt;00:40:49 &amp;ndash; colour: Colour Science for Python&lt;/li&gt;
&lt;li&gt;00:42:35 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0728/&quot;&gt;PEP 728: TypedDict With Typed Extra Items (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/sep/03/security-releases/&quot;&gt;Django security releases issued: 5.2.6, 5.1.12, and 4.2.24&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSeOFkLutxMLqsU6GPe60OJFYVN699vqjXPtuvUoxbz108eDWQ/viewform?pli=1&quot;&gt;Python Type System and Tooling Survey 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GfH4QL4VqJ0&quot;&gt;Python: The Documentary - An Origin Story - YouTube&lt;/a&gt; &amp;ndash; &amp;ldquo;This is the story of the world&amp;rsquo;s most beloved programming language: Python. What began as a side project in Amsterdam during the 1990s became the software powering artificial intelligence, data science and some of the world&amp;rsquo;s biggest companies.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/history-python-versions-features/&quot;&gt;A History of Python Versions and Features – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/blog/202504/regex_affordances.html&quot;&gt;Regex Affordances&lt;/a&gt; &amp;ndash; A tour of some real code showing little-used power features of the Python regular expression module, including verbose regex syntax, calling &lt;code&gt;re.sub()&lt;/code&gt; with a function reference, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://judoscale.com/blog/where-to-host-python-app&quot;&gt;Where to Host Your Python App&lt;/a&gt; &amp;ndash; Whether it&amp;rsquo;s Django, Flask, FastAPI, or some other Python web framework, your hosting options are plenty. This guide will show you how to choose.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python-engineer.com/posts/hosting-platforms-for-python/&quot;&gt;Best hosting platforms for Python applications and Python scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/different-ways-speed/&quot;&gt;330× Faster: Four Different Ways to Speed Up Your Code&lt;/a&gt; &amp;ndash; There are many approaches to speeding up Python code; applying multiple approaches can make your code even faster. This post talks about four different ways you can achieve speed-up.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/beetbox/beets&quot;&gt;beets: Music Library Manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bterwijn/memory_graph&quot;&gt;Memory Graph - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/colour-science/colour&quot;&gt;colour: Colour Science for Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/text/which-py.html&quot;&gt;What’s in which Python - Ned Batchelder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anvil.works/&quot;&gt;Anvil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.opalstack.com/&quot;&gt;Opalstack: Managed Hosting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-defaultdict-type/&quot;&gt;Handling Missing Keys With the Python defaultdict Type&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/structural-pattern-matching/&quot;&gt;Using Structural Pattern Matching in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/history-python-versions-features/&quot;&gt;A History of Python Versions and Features&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E265_03_PyCoders.ef2b38db7dfb.mp3" type="audio/mpeg" length="43087730"/>
        <guid isPermaLink="false">096bfa24-a552-499c-86f9-eba9cc26b76f</guid>
        <pubDate>Fri, 12 Sep 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2630</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_265_Podcast.20a942cc0609.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python App Hosting Choices &amp; Documenting Python&#x27;s History”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>264</itunes:episode>
        <title>Large Language Models on the Edge of the Scaling Laws</title>
        <itunes:title>Large Language Models on the Edge of the Scaling Laws</itunes:title>
        <link>https://realpython.com/podcasts/rpp/264/</link>
        <description>What&#x27;s happening with the latest releases of large language models? Is the industry hitting the edge of the scaling laws, and do the current benchmarks provide reliable performance assessments? This week on the show, Jodie Burchell returns to discuss the current state of LLM releases.</description>
        <content:encoded>&lt;p&gt;What&amp;rsquo;s happening with the latest releases of large language models? Is the industry hitting the edge of the scaling laws, and do the current benchmarks provide reliable performance assessments? This week on the show, Jodie Burchell returns to discuss the current state of LLM releases.&lt;/p&gt;
&lt;p&gt;The most recent release of GPT-5 has been a wake-up call for the LLM industry. We discuss how the current scaling of these systems is reaching a diminishing edge. Jodie also shares how many AI model assessments and benchmarks are flawed. We also take a sober look at the productivity gains from using these tools for software development within companies.&lt;/p&gt;
&lt;p&gt;We discuss how newer developers should consider additional factors when looking at the current job market. Jodie digs into how economic changes and rising interest rates are influencing layoffs and hiring freezes. Then we share a wide collection of resources for you to continue exploring these topics.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/closures-examples-use-cases/&quot;&gt;Exploring Python Closures: Examples and Use Cases&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn about Python closures: function-like objects with extended scope used for decorators, factories, and stateful functions.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:00 &amp;ndash; Recent conferences and talks&lt;/li&gt;
&lt;li&gt;00:04:18 &amp;ndash; What&amp;rsquo;s going on with LLMs?&lt;/li&gt;
&lt;li&gt;00:06:06 &amp;ndash; What happened with the GPT-5 release?&lt;/li&gt;
&lt;li&gt;00:08:14 &amp;ndash; Simon Willison - 2025 in LLMs so far&lt;/li&gt;
&lt;li&gt;00:09:00 &amp;ndash; How did we get here?&lt;/li&gt;
&lt;li&gt;00:10:37 &amp;ndash; OpenAI&amp;rsquo;s and scaling laws&lt;/li&gt;
&lt;li&gt;00:12:25 &amp;ndash; Pivoting to post-training&lt;/li&gt;
&lt;li&gt;00:16:01 &amp;ndash; Some history of AI eras&lt;/li&gt;
&lt;li&gt;00:17:54 &amp;ndash; Issues with measuring performance and benchmarks&lt;/li&gt;
&lt;li&gt;00:22:19 &amp;ndash; Chatbot Arena&lt;/li&gt;
&lt;li&gt;00:24:06 &amp;ndash; Languages are finite&lt;/li&gt;
&lt;li&gt;00:26:22 &amp;ndash; LLMs and the illusion of humanity&lt;/li&gt;
&lt;li&gt;00:30:41 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:31:34 &amp;ndash; Types of solutions to move past these limits&lt;/li&gt;
&lt;li&gt;00:36:57 &amp;ndash; Does AI actually boost developer productivity?&lt;/li&gt;
&lt;li&gt;00:44:19 &amp;ndash; Agentic Al Programming with Python&lt;/li&gt;
&lt;li&gt;00:48:02 &amp;ndash; Results of non-programmers vibe coding&lt;/li&gt;
&lt;li&gt;00:50:18 &amp;ndash; Back to the concept of overfitting&lt;/li&gt;
&lt;li&gt;00:52:52 &amp;ndash; The money involved in training&lt;/li&gt;
&lt;li&gt;00:56:50 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:58:21 &amp;ndash; Deepseek and new methods of training&lt;/li&gt;
&lt;li&gt;01:01:02 &amp;ndash; Quantizing and fitting on a local machine&lt;/li&gt;
&lt;li&gt;01:04:48 &amp;ndash; The layoffs and the economic changes&lt;/li&gt;
&lt;li&gt;01:10:32 &amp;ndash; AI implementation failures&lt;/li&gt;
&lt;li&gt;01:21:01 &amp;ndash; Don&amp;rsquo;t doubt yourself as a developer&lt;/li&gt;
&lt;li&gt;01:24:06 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:25:39 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:26:42 &amp;ndash; What&amp;rsquo;s the best way to follow your work online?&lt;/li&gt;
&lt;li&gt;01:27:04 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Survey:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tally.so/r/nWbKgJ&quot;&gt;Listener Survey - Help Shape the Future of the Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ep2025.europython.eu/&quot;&gt;EuroPython 2025 - July 14th-20th 2025 - Prague, Czech Republic &amp;amp; Remote&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/232/&quot;&gt;Episode #232: Exploring Modern Sentiment Analysis Approaches in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://garymarcus.substack.com/p/gpt-5-overdue-overhyped-and-underwhelming&quot;&gt;GPT-5: Overdue, overhyped and underwhelming. And that&amp;rsquo;s not the worst of it.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spectrum.ieee.org/gpt-5-trough-of-disillusionment&quot;&gt;GPT 5&amp;rsquo;s Rocky Launch Highlights AI Disillusionment - IEEE Spectrum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=YpY83-kA7Bo&quot;&gt;2025 in LLMs so far, illustrated by Pelicans on Bicycles — Simon Willison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://research.google/pubs/attention-is-all-you-need/&quot;&gt;Attention is All You Need - Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/scaling-laws-for-neural-language-models/&quot;&gt;Scaling laws for neural language models - OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://calnewport.com/what-if-ai-doesnt-get-much-better-than-this/&quot;&gt;What if AI Doesn&amp;rsquo;t Get Much Better Than This? - Cal Newport&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.latimes.com/business/story/2025-08-20/say-farewell-to-the-ai-bubble-and-get-ready-for-the-crash&quot;&gt;Hiltzik: AI hype is fading fast - Los Angeles Times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=tbDDYKRFjhk&quot;&gt;Does AI Actually Boost Developer Productivity? (100k Devs Study) - Yegor Denisov-Blanch, Stanford - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/&quot;&gt;Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity - METR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.businessinsider.com/amazon-cloud-chief-replacing-junior-staff-ai-matt-garman-2025-8&quot;&gt;Amazon Cloud Chief: Replacing Junior Staff With AI Is &amp;lsquo;Dumbest&amp;rsquo; Idea - Business Insider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.evidentlyai.com/llm-guide/llm-benchmarks#reasoning-and-language-understanding-benchmarks&quot;&gt;20 LLM evaluation benchmarks and how they work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/2009.03300&quot;&gt;MMLU - Measuring Massive Multitask Language Understanding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/1905.07830&quot;&gt;HellaSwag: Can a Machine Really Finish Your Sentence?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.m.wikipedia.org/wiki/Mechanical_Turk&quot;&gt;Mechanical Turk - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mturk.com/&quot;&gt;Amazon Mechanical Turk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lmarena.ai/?leaderboard&quot;&gt;Chatbot Arena - LMArena&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://customgpt.ai/llm-reasoning-vs-memorization/&quot;&gt;LLMs Can&amp;rsquo;t Reason - The Reversal Curse, The Alice In Wonderland Test, And The ARC - AGI Challenge - CustomGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=kqJ7rZHFx84&quot;&gt;Mirror, mirror: LLMs and the illusion of humanity - Jodie Burchell - NDC Oslo 2024 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/pdf/2508.01191&quot;&gt;Is Chain-of-Thought Reasoning of LLMs a Mirage? A Data Distribution Lens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=TUjQuC4ugak&amp;amp;list=WL&amp;amp;index=1&quot;&gt;Context Rot: How Increasing Input Tokens Impacts LLM Performance - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=tbDDYKRFjhk&quot;&gt;Does AI Actually Boost Developer Productivity? (100k Devs Study) - Yegor Denisov-Blanch, Stanford - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teamblind.com/post/aws-ceo-says-no-more-programmers-in-2-years-wqarugct&quot;&gt;AWS CEO says no more programmers in 2 years - Tech Industry - Blind&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortune.com/2025/08/18/mit-report-95-percent-generative-ai-pilots-at-companies-failing-cfo/&quot;&gt;MIT report: 95% of generative AI pilots at companies are failing - Fortune&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/517/agentic-al-programming-with-python&quot;&gt;Agentic Al Programming with Python - Talk Python To Me Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/the-vergecast/759768/gpt5-backlash-vibe-coding-attempts-corporate-stunts&quot;&gt;Vibe coding through the GPT-5 mess - The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Overfitting&quot;&gt;Overfitting - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=zjkBMFhNj_g&amp;amp;t=107s&quot;&gt;Andrej Karpathy - Busy Person&amp;rsquo;s Intro to LLMs - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://andrewstiefel.com/ai-layoff-myth/&quot;&gt;AI Isn&amp;rsquo;t Taking Your Job – The Economy Is - Andrew Stiefel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.abc.net.au/news/2025-08-21/cba-backtracks-on-ai-job-cuts-as-chatbot-lifts-call-volumes/105679492&quot;&gt;Commonwealth Bank backtracks on AI job cuts, apologizes for &amp;lsquo;error&amp;rsquo; as call volumes rise - ABC News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.entrepreneur.com/business-news/klarna-ceo-reverses-course-by-hiring-more-humans-not-ai/491396&quot;&gt;Klarna CEO Reverses Course By Hiring More Humans, Not AI | Entrepreneur&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/follow-the-rabbit/has-duolingo-lost-its-streak-9cb362232eeb&quot;&gt;Has Duolingo Lost Its Streak? - Matt Jones - Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bbc.com/news/articles/c722gne7qngo&quot;&gt;McDonald&amp;rsquo;s removes AI drive-throughs after order errors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://futurism.com/openai-use-cheating-homework&quot;&gt;OpenAI Usage Plummets in the Summer, When Students Aren&amp;rsquo;t Cheating on Homework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lithub.com/what-happened-when-i-tried-to-replace-myself-with-chatgpt-in-my-english-classroom/&quot;&gt;What Happened When I Tried to Replace Myself with ChatGPT in My English Classroom - Literary Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?app=desktop&amp;amp;v=CcTC3I5SF7k&quot;&gt;Learning to code in the age of AI — Sheena O&amp;rsquo;Connell - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/author/jodie-burchell-jetbrains-com/&quot;&gt;Jodie Burchell - The JetBrains Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t-redactyl.io/&quot;&gt;Jodie Burchell&amp;rsquo;s Blog - Standard error&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/t-redactyl.bsky.social&quot;&gt;Jodie Burchell (@t-redactyl.bsky.social) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/history-python-versions-features/&quot;&gt;A History of Python Versions and Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/closures-examples-use-cases/&quot;&gt;Exploring Python Closures: Examples and Use Cases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E264_03_Jodie.eb4d28d87a35.mp3" type="audio/mpeg" length="86070499"/>
        <guid isPermaLink="false">b45efa70-30bd-49b4-8b33-a705374944fa</guid>
        <pubDate>Fri, 05 Sep 2025 12:00:00 +0000</pubDate>
        <itunes:duration>5314</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_264_Podcast.dff3a0849d40.jpg"/>
        <rp:twitter-handles>@t_redactyl</rp:twitter-handles>
        <rp:twitter-title>“Large Language Models on the Edge of the Scaling Laws” with @t_redactyl</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>263</itunes:episode>
        <title>Exploring Mixin Classes in Python</title>
        <itunes:title>Exploring Mixin Classes in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/263/</link>
        <description>What is a good way to add isolated, reusable functionality to Python classes? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What is a good way to add isolated, reusable functionality to Python classes? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher covers a recent Real Python tutorial about developing mixin classes to reuse code across multiple Python classes. He describes how mixins rely on multiple inheritance to combine features from different classes, enhancing flexibility and code reuse.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, highlights from the 2024 Python Developers Survey, reasons you might not need a Python class, an exploration of asyncio&amp;rsquo;s sharp corners, an explanation of how JIT builds of CPython work, a web-based GUI library, and a project for quickly querying Python lists.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/solid-principles-python/&quot;&gt;Design and Guidance: Object-Oriented Programming in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about the SOLID principles, which are five well-established standards for improving your object-oriented design in Python. By applying these principles, you can create object-oriented code that&amp;rsquo;s more maintainable, extensible, scalable, and testable.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:14 &amp;ndash; Python 3.13.7 Released&lt;/li&gt;
&lt;li&gt;00:03:38 &amp;ndash; Python 3.14.0rc2 Released&lt;/li&gt;
&lt;li&gt;00:04:10 &amp;ndash; PEP 802: Display Syntax for the Empty Set&lt;/li&gt;
&lt;li&gt;00:04:59 &amp;ndash; Announcing the PSF Board Candidates for 2025&lt;/li&gt;
&lt;li&gt;00:05:26 &amp;ndash; Rodrigo - PSF - Community Service Award for Q2 2025&lt;/li&gt;
&lt;li&gt;00:06:06 &amp;ndash; Python Developers Survey 2024 Results&lt;/li&gt;
&lt;li&gt;00:13:27 &amp;ndash; pyx: A Python-Native Package Registry&lt;/li&gt;
&lt;li&gt;00:15:12 &amp;ndash; Test &amp;amp; Code Final Episode&lt;/li&gt;
&lt;li&gt;00:15:48 &amp;ndash; You Might Not Need a Python Class&lt;/li&gt;
&lt;li&gt;00:20:52 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:21:44 &amp;ndash; asyncio: A Library With Too Many Sharp Corners&lt;/li&gt;
&lt;li&gt;00:25:43 &amp;ndash; How JIT Builds of CPython Actually Work&lt;/li&gt;
&lt;li&gt;00:35:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:12 &amp;ndash; What Are Mixin Classes in Python?&lt;/li&gt;
&lt;li&gt;00:44:05 &amp;ndash; nicegui: Create Web-Based UI With Python&lt;/li&gt;
&lt;li&gt;00:46:51 &amp;ndash; leopards: Quickly query your Python lists&lt;/li&gt;
&lt;li&gt;00:49:00 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Survey:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tally.so/r/nWbKgJ&quot;&gt;Listener Survey - Help Shape the Future of the Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/release/3.13.7/whatsnew/changelog.html&quot;&gt;Python 3.13.7 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/08/python-3140rc2-and-3137-are-go.html&quot;&gt;Python 3.14.0rc2 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0802/&quot;&gt;PEP 802: Display Syntax for the Empty Set (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2025/08/announcing-psf-board-candidates-for-2025.html&quot;&gt;Announcing the PSF Board Candidates for 2025&lt;/a&gt; &amp;ndash; The Python Software Foundation elections are upon us, and this post announces this year&amp;rsquo;s candidates. Voting is September 2nd to 16th. To vote, you must be registered by August 26th.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/mathspp.com/post/3lwhb3a3gzk2d&quot;&gt;Rodrigo - PSF - Community Service Award for Q2 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lp.jetbrains.com/python-developers-survey-2024/&quot;&gt;Python Developers Survey 2024 Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2025/08/the-state-of-python-2025/&quot;&gt;The State of Python 2025 - The PyCharm Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/blog/introducing-pyx&quot;&gt;pyx: A Python-Native Package Registry, Now in Beta&lt;/a&gt; &amp;ndash; The folks at Astral, who brought you uv and more, have created a new commercial Python-native package registry called &amp;ldquo;pyx&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://testandcode.com/episodes/so-long-and-thanks-for-all-the-fish&quot;&gt;Test &amp;amp; Code Final Episode&lt;/a&gt; &amp;ndash; After 10 years and 237 episodes, Brian Okken has decided to stop recording Test &amp;amp; Code. He&amp;rsquo;ll still be contributing to Python Bytes. Here&amp;rsquo;s to all his work on a great podcast over the last decade.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adamgrant.micro.blog/2025/07/24/123050.html&quot;&gt;You Might Not Need a Python Class&lt;/a&gt; &amp;ndash; If you&amp;rsquo;re coming from other languages, you might think a class is the easiest way to do something, but Python has other options. This post shows you some alternatives and why you might choose them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sailor.li/asyncio&quot;&gt;&lt;code&gt;asyncio&lt;/code&gt;: A Library With Too Many Sharp Corners&lt;/a&gt; &amp;ndash; &lt;code&gt;asyncio&lt;/code&gt; has a few gotchas and this post describes five different problems, including: cancellation, disappearing tasks, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://savannah.dev/posts/how-your-code-runs-in-a-jit-build/&quot;&gt;How JIT Builds of CPython Actually Work&lt;/a&gt; &amp;ndash; You don&amp;rsquo;t have to be a compiler engineer to understand how your code runs in a JIT build of CPython. This article runs you through just what happens under the covers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-mixin/&quot;&gt;What Are Mixin Classes in Python?&lt;/a&gt; &amp;ndash; Learn how to use Python mixin classes to write modular, reusable, and flexible code with practical examples and design tips.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/zauberzeug/nicegui&quot;&gt;nicegui: Create Web-Based UI With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mkalioby/leopards&quot;&gt;leopards: Quickly query your Python lists&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/259/&quot;&gt;Episode #259: Design Patterns That Don&amp;rsquo;t Translate to Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/123/&quot;&gt;Episode #123: Creating a Python Code Completer &amp;amp; More Abstract Syntax Tree Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0659/&quot;&gt;Specializing Adaptive Interpreter&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://llvm.org/&quot;&gt;The LLVM Compiler Infrastructure Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0774/&quot;&gt;PEP 774 – Removing the LLVM requirement for JIT builds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=kMO3Ju0QCDo&quot;&gt;Building a JIT compiler for CPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=NE-Oq8I3X_w&quot;&gt;What they don&amp;rsquo;t tell you about building a JIT compiler for CPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/python-mixin/&quot;&gt;Quiz: What Are Mixin Classes in Python?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nicegui.io/&quot;&gt;NiceGUI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-object/&quot;&gt;Class Concepts: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-inheritance/&quot;&gt;Inheritance and Internals: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/solid-principles-python/&quot;&gt;Design and Guidance: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E263_03_PyCoders.2bc3988b9310.mp3" type="audio/mpeg" length="49216632"/>
        <guid isPermaLink="false">1eb6c94a-0fc5-4113-aa79-d77a4164d559</guid>
        <pubDate>Fri, 29 Aug 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3015</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_263_Podcast.9637698e492a.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring Mixin Classes in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>262</itunes:episode>
        <title>Travis Oliphant: SciPy, NumPy, and Fostering Scientific Python</title>
        <itunes:title>Travis Oliphant: SciPy, NumPy, and Fostering Scientific Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/262/</link>
        <description>What went into developing the open-source Python tools data scientists use every day? This week on the show, we talk with Travis Oliphant about his work on SciPy, NumPy, Numba, and many other contributions to the Python scientific community.</description>
        <content:encoded>&lt;p&gt;What went into developing the open-source Python tools data scientists use every day? This week on the show, we talk with Travis Oliphant about his work on SciPy, NumPy, Numba, and many other contributions to the Python scientific community.&lt;/p&gt;
&lt;p&gt;Travis discusses his initial involvement in the open-source community and how he discovered Python while working in biomedical imaging. He was trying to find ways to manage large sets of numerical data, which led to his initial contributions and collaborations in building scientific libraries. &lt;/p&gt;
&lt;p&gt;His appearance on the show coincides with the release of the Python documentary, in which he&amp;rsquo;s featured. We discuss the myriad organizations Travis founded, including Quansight, OpenTeams, and Anaconda. We dig into his underlying mission to continue fostering the growth of the open-source scientific computing community.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to use NumPy by exploring several interesting examples. You&amp;rsquo;ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You&amp;rsquo;ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:41 &amp;ndash; Python documentary&lt;/li&gt;
&lt;li&gt;00:07:44 &amp;ndash; Getting involved in open source&lt;/li&gt;
&lt;li&gt;00:12:04 &amp;ndash; Numeric Python&lt;/li&gt;
&lt;li&gt;00:15:36 &amp;ndash; SciPy and the SciPy community&lt;/li&gt;
&lt;li&gt;00:17:35 &amp;ndash; Starting to think about entrepreneurship &lt;/li&gt;
&lt;li&gt;00:18:16 &amp;ndash; NumPy evolving from the work of Numeric&lt;/li&gt;
&lt;li&gt;00:22:01 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:22:53 &amp;ndash; Python as controlling code for lower-level libraries&lt;/li&gt;
&lt;li&gt;00:23:37 &amp;ndash; Numba open-source JIT compiler&lt;/li&gt;
&lt;li&gt;00:30:09 &amp;ndash; Starting to build in Python before learning it all&lt;/li&gt;
&lt;li&gt;00:34:45 &amp;ndash; Python as the language AI generates&lt;/li&gt;
&lt;li&gt;00:36:31 &amp;ndash; Guilds and sharing knowledge&lt;/li&gt;
&lt;li&gt;00:40:15 &amp;ndash; More NumPy backstory&lt;/li&gt;
&lt;li&gt;00:46:36 &amp;ndash; Contributing to Python&lt;/li&gt;
&lt;li&gt;00:48:24 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:49:41 &amp;ndash; The investment of companies in Python&lt;/li&gt;
&lt;li&gt;00:51:22 &amp;ndash; Quansight and businesses in open source&lt;/li&gt;
&lt;li&gt;00:53:09 &amp;ndash; Open Teams and Quansight details&lt;/li&gt;
&lt;li&gt;00:57:14 &amp;ndash; NumFOCUS and Anaconda&lt;/li&gt;
&lt;li&gt;00:58:51 &amp;ndash; FairOSS&lt;/li&gt;
&lt;li&gt;01:02:36 &amp;ndash; Documenting these efforts&lt;/li&gt;
&lt;li&gt;01:05:37 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:07:12 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:08:10 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:10:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=pqBqdNIPrbo&quot;&gt;Python: The Documentary - OFFICIAL TRAILER - Coming August 28 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hugunin.net/papers/hugunin95numpy.html&quot;&gt;The Python Matrix Object: Extending Python for Numerical Computation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://j1m.dev/&quot;&gt;Jim Fulton&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hugunin.net/&quot;&gt;Jim Hugunin - Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scipy.github.io/old-wiki/pages/History_of_SciPy&quot;&gt;History of SciPy - SciPy wiki dump&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scipy.org/&quot;&gt;SciPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/&quot;&gt;NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numba.pydata.org/&quot;&gt;Numba: A High Performance Python Compiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lpython.org/&quot;&gt;LPython - High performance typed Python compiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://openteams.com/&quot;&gt;OpenTeams: Open SaaS AI Solutions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://quansight.com/&quot;&gt;Quansight Consulting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://otincubator.com/&quot;&gt;OpenTeams Incubator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numfocus.org/&quot;&gt;NumFOCUS: A Nonprofit Supporting Open Code for Better Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anaconda.com/&quot;&gt;Anaconda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://faiross.org/&quot;&gt;FairOSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/faster-cpython/&quot;&gt;faster-cpython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/teoliphant&quot;&gt;Travis Oliphant (@teoliphant) / X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/teoliphant/&quot;&gt;Travis Oliphant - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/stacks-queues-ideal-data-structure/&quot;&gt;Stacks and Queues: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E262_03_Travis.fb8ee32de959.mp3" type="audio/mpeg" length="69471974"/>
        <guid isPermaLink="false">bec4a1ee-4cb9-43fc-92e9-0261db6d0137</guid>
        <pubDate>Fri, 22 Aug 2025 12:00:00 +0000</pubDate>
        <itunes:duration>4280</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_262_Podcast.37150be546c0.jpg"/>
        <rp:twitter-handles>@teoliphant</rp:twitter-handles>
        <rp:twitter-title>“Travis Oliphant: SciPy, NumPy, and Fostering Scientific Python” with @teoliphant</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>261</itunes:episode>
        <title>Selecting Inheritance or Composition in Python</title>
        <itunes:title>Selecting Inheritance or Composition in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/261/</link>
        <description>When considering an object-oriented programming problem, should you prefer inheritance or composition? Why wouldn&#x27;t it just be simpler to use functions? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;When considering an object-oriented programming problem, should you prefer inheritance or composition? Why wouldn&amp;rsquo;t it just be simpler to use functions? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article about structuring code using inheritance, composition, or only functions. We discuss how the piece is a good exploration of the trade-offs of each solution. Unlike the tutorials beginners typically encounter while learning the fundamentals, the article goes much deeper into the &amp;ldquo;why&amp;rdquo; of object-oriented programming.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, processing audio in Python, reasons why you shouldn&amp;rsquo;t call dunder methods, smuggling arbitrary data through an emoji, an HTML to markdown converter, and a library to convert Python requests into curl commands.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/single-double-underscore-naming-conventions/&quot;&gt;Single and Double Underscore Naming Conventions in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn a few Python naming conventions involving single and double underscores (_). You&amp;rsquo;ll learn how to use this character to differentiate between public and non-public names in APIs, write safe classes for subclassing purposes, avoid name clashes, and more.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:23 &amp;ndash; Python 3.13.6 Released&lt;/li&gt;
&lt;li&gt;00:02:47 &amp;ndash; Django 5.2.5 Released&lt;/li&gt;
&lt;li&gt;00:02:55 &amp;ndash; Django REST Framework Release v3.16.1&lt;/li&gt;
&lt;li&gt;00:03:09 &amp;ndash; Narwhals v2.0.0 Released&lt;/li&gt;
&lt;li&gt;00:03:22 &amp;ndash; mypy 1.17 Released&lt;/li&gt;
&lt;li&gt;00:03:42 &amp;ndash; PEP 798: Unpacking in Comprehensions&lt;/li&gt;
&lt;li&gt;00:04:11 &amp;ndash; PEP 799: A Dedicated Profilers Package for Organizing Python Profiling Tools&lt;/li&gt;
&lt;li&gt;00:06:12 &amp;ndash; PyPI Users Email Phishing Attack&lt;/li&gt;
&lt;li&gt;00:07:33 &amp;ndash; Django in Action&lt;/li&gt;
&lt;li&gt;00:08:00 &amp;ndash; Call for proposals deadline - PyCon NL&lt;/li&gt;
&lt;li&gt;00:08:59 &amp;ndash; Python Audio Processing With pedalboard&lt;/li&gt;
&lt;li&gt;00:18:49 &amp;ndash; Smuggling Arbitrary Data Through an Emoji&lt;/li&gt;
&lt;li&gt;00:21:53 &amp;ndash; Don&amp;rsquo;t Call Dunder Methods&lt;/li&gt;
&lt;li&gt;00:28:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:27 &amp;ndash; Inheritance Over Composition, Sometimes&lt;/li&gt;
&lt;li&gt;00:40:03 &amp;ndash; html-to-markdown: HTML to Markdown Converter&lt;/li&gt;
&lt;li&gt;00:42:20 &amp;ndash; curlify: A library to convert Python requests request object into curl commands&lt;/li&gt;
&lt;li&gt;00:44:18 &amp;ndash; transfunctions: Support Both Sync and Async&lt;/li&gt;
&lt;li&gt;00:45:18 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Survey:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tally.so/r/nWbKgJ&quot;&gt;Listener Survey - Help Shape the Future of the Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/release/3.13.6/whatsnew/changelog.html&quot;&gt;Python 3.13.6 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/5.2/releases/5.2.5/&quot;&gt;Django 5.2.5 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/encode/django-rest-framework/releases/tag/3.16.1?utm_campaign=Django%2BNewsletter&amp;amp;utm_medium=email&amp;amp;utm_source=Django_Newsletter_297&quot;&gt;Django REST Framework Release v3.16.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/narwhals-dev/narwhals/releases/tag/v2.0.0&quot;&gt;Narwhals v2.0.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mypy-lang.blogspot.com/2025/07/mypy-117-released.html&quot;&gt;Mypy 1.17 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0798/&quot;&gt;PEP 798: Unpacking in Comprehensions (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0799/&quot;&gt;PEP 799: A Dedicated Profilers Package for Organizing Python Profiling Tools (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2025-07-28-pypi-phishing-attack/&quot;&gt;PyPI Users Email Phishing Attack&lt;/a&gt; &amp;ndash; PyPI users are being targeted by an email phishing attack attempting to trick them into logging into a fake PyPI site. This post from the Security Engineer at PyPI discusses what&amp;rsquo;s happening and what you should do about it. There&amp;rsquo;s also a &lt;a href=&quot;https://blog.pypi.org/posts/2025-07-31-incident-report-phishing-attack/&quot;&gt;follow-up post&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon-nl.org/call-for-papers&quot;&gt;PyCon NL 2025 - Call for Papers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/django-in-action&quot;&gt;Django in Action - Christopher Trudeau - Code ladjango40&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lwn.net/Articles/1027814/&quot;&gt;Python Audio Processing With &lt;code&gt;pedalboard&lt;/code&gt;&lt;/a&gt; &amp;ndash; The pedalboard library for Python is aimed at audio processing of various sorts, from converting between formats to adding audio effects. This post summarizes a PyCon US talk on &lt;code&gt;pedalboard&lt;/code&gt; and its uses.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://paulbutler.org/2025/smuggling-arbitrary-data-through-an-emoji/&quot;&gt;Smuggling Arbitrary Data Through an Emoji&lt;/a&gt; &amp;ndash; Unicode includes flexibility through the use of variation selectors. These include the ability to change characters through a consecutive series of coding points. But, when used with code points that don&amp;rsquo;t need them, they&amp;rsquo;re ignored, so you can hide data in them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/avoid-dunder-methods/&quot;&gt;Don&amp;rsquo;t Call Dunder Methods&lt;/a&gt; &amp;ndash; It&amp;rsquo;s best to avoid calling dunder methods. It&amp;rsquo;s common to define dunder methods, but uncommon to call them directly.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://death.andgravity.com/over-composition&quot;&gt;Inheritance Over Composition, Sometimes&lt;/a&gt; &amp;ndash; In an older post, Adrian wrote some code using inheritance. He got questions from his readers asking why it wouldn&amp;rsquo;t just be simpler to use functions. This post re-implements the code with inheritance, composition, and plain old functions, then compares the approaches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Goldziher/html-to-markdown&quot;&gt;html-to-markdown: HTML to Markdown Converter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ofw/curlify&quot;&gt;curlify: A library to convert Python requests request object to curl command&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pomponchik/transfunctions&quot;&gt;transfunctions: Support Both Sync and Async&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=kpKrsFqJgXc&quot;&gt;Working with Audio in Python (feat. Pedalboard) - Peter Sobot - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-magic-methods/&quot;&gt;Python&amp;rsquo;s Magic Methods: Leverage Their Power in Your Classes – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-object/&quot;&gt;Class Concepts: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/single-double-underscore-naming-conventions/&quot;&gt;Single and Double Underscore Naming Conventions in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-inheritance/&quot;&gt;Inheritance and Internals: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E261_02_PyCoders.c1e5414232ed.mp3" type="audio/mpeg" length="45761352"/>
        <guid isPermaLink="false">c51879c3-12ca-48be-a1d8-96891a93d2e3</guid>
        <pubDate>Fri, 15 Aug 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2762</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_261_Podcast.a8f35ef0d3bf.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Selecting Inheritance or Composition in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>260</itunes:episode>
        <title>Harnessing the Power of Python Polars</title>
        <itunes:title>Harnessing the Power of Python Polars</itunes:title>
        <link>https://realpython.com/podcasts/rpp/260/</link>
        <description>What are the advantages of using Polars for your Python data projects? When should you use the lazy or eager APIs, and what are the benefits of each? This week on the show, we speak with Jeroen Janssens and Thijs Nieuwdorp about their new book, _Python Polars: The Definitive Guide_.</description>
        <content:encoded>&lt;p&gt;What are the advantages of using Polars for your Python data projects? When should you use the lazy or eager APIs, and what are the benefits of each? This week on the show, we speak with Jeroen Janssens and Thijs Nieuwdorp about their new book, &lt;em&gt;Python Polars: The Definitive Guide&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Jeroen and Thijs describe how they were introduced to Polars while working at Xomnia. They were converting a large data project to Python and saw surprising speed increases using the new library. &lt;/p&gt;
&lt;p&gt;We discuss converting projects from pandas to Polars, getting away from indexes, consistent syntax, and using lazy vs eager APIs. Along the way, Jeroen and Thijs offer tips for getting the most out of Polars in your code.&lt;/p&gt;
&lt;p&gt;We dig into the process of writing a definitive guide and the advantages of working collaboratively on a book project. They also share resources for practicing data wrangling and building visualizations with Pydy Tuesday.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/working-with-python-polars/&quot;&gt;Working With Python Polars&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Welcome to the world of Polars, a powerful DataFrame library for Python. In this video course, you&amp;rsquo;ll get a hands-on introduction to Polars&amp;rsquo; core features and see why this library is catching so much buzz.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:47 &amp;ndash; Polars start at Xomnia&lt;/li&gt;
&lt;li&gt;00:04:08 &amp;ndash; Putting Polars into production&lt;/li&gt;
&lt;li&gt;00:07:18 &amp;ndash; Realizing the speed differences&lt;/li&gt;
&lt;li&gt;00:08:49 &amp;ndash; Converting the project from R to Python&lt;/li&gt;
&lt;li&gt;00:14:34 &amp;ndash; How did Polars improve the project?&lt;/li&gt;
&lt;li&gt;00:16:34 &amp;ndash; Making the code more ergonomic and readable&lt;/li&gt;
&lt;li&gt;00:19:21 &amp;ndash; Only grabbing the data that is needed&lt;/li&gt;
&lt;li&gt;00:20:37 &amp;ndash; Titling and deciding to write the book&lt;/li&gt;
&lt;li&gt;00:24:40 &amp;ndash; Advantages to collaboration&lt;/li&gt;
&lt;li&gt;00:29:34 &amp;ndash; What were you excited to include in the book?&lt;/li&gt;
&lt;li&gt;00:31:55 &amp;ndash; Working with different engines and Nvidia&amp;rsquo;s Cuda&lt;/li&gt;
&lt;li&gt;00:35:05 &amp;ndash; Defining a Polars expression&lt;/li&gt;
&lt;li&gt;00:36:11 &amp;ndash; Transitioning from pandas to Polars&lt;/li&gt;
&lt;li&gt;00:37:34 &amp;ndash; Not needing an index&lt;/li&gt;
&lt;li&gt;00:39:56 &amp;ndash; What inspired the syntax?&lt;/li&gt;
&lt;li&gt;00:45:01 &amp;ndash; Defining lazy vs eager workflows&lt;/li&gt;
&lt;li&gt;00:49:16 &amp;ndash; Examples covered in first chapter preview&lt;/li&gt;
&lt;li&gt;00:51:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:53:14 &amp;ndash; Data formats and Arrow&lt;/li&gt;
&lt;li&gt;00:55:41 &amp;ndash; Working with NaN, null, or None&lt;/li&gt;
&lt;li&gt;00:58:11 &amp;ndash; Measuring performance through a benchmark&lt;/li&gt;
&lt;li&gt;00:59:12 &amp;ndash; Advantages to working with the Discord community&lt;/li&gt;
&lt;li&gt;01:02:32 &amp;ndash; Code examples and applying the techniques&lt;/li&gt;
&lt;li&gt;01:03:34 &amp;ndash; Pydy Tuesday&lt;/li&gt;
&lt;li&gt;01:05:47 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:09:21 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:13:26 &amp;ndash; What&amp;rsquo;s the best way to follow your work online?&lt;/li&gt;
&lt;li&gt;01:14:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Survey:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tally.so/r/nWbKgJ&quot;&gt;Listener Survey - Help Shape the Future of the Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://polarsguide.com/&quot;&gt;Python Polars: The Definitive Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=B2Ljp2Fb-l0&amp;amp;t=32s&quot;&gt;Janssens &amp;amp; Nieuwdorp - What we learned by converting a large codebase from Pandas to Polars - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars — DataFrames for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/polars/&quot;&gt;polars · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xomnia.com/&quot;&gt;Xomnia - Home Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/140/&quot;&gt;Episode #140: Speeding Up Your DataFrames With Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datascienceatthecommandline.com/&quot;&gt;Data Science at the Command Line - Jeroen Janssens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tidyverse.org/&quot;&gt;Tidyverse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spark.apache.org/docs/latest/api/python/index.html&quot;&gt;PySpark Overview — PySpark 4.0.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/193/&quot;&gt;Episode #193: Wes McKinney on Improving the Data Stack &amp;amp; Composable Systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arrow.apache.org/&quot;&gt;Apache Arrow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tpc.org/tpch/&quot;&gt;TPC-H Homepage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://polarsguide.com/community/&quot;&gt;Community – Python Polars: The Definitive Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/posit-dev/pydytuesday&quot;&gt;pydytuesday: A Python package to download TidyTuesday datasets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL9HYL-VRX0oSDQjicFMLIIdcLv5NuvDp9&quot;&gt;PydyTuesday - Python How-to Videos - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/&quot;&gt;Astral: High-performance Python tooling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/238/&quot;&gt;Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/astral-sh/uv&quot;&gt;uv: An extremely fast Python package and project manager, written in Rust.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0723/&quot;&gt;PEP 723 – Inline script metadata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata&quot;&gt;Inline script metadata - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=izQcKzgj46U&quot;&gt;Package Your Python Code as a CLI - PyData London 25 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/&quot;&gt;marimo - A next-generation Python notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://doc.rust-lang.org/book/&quot;&gt;The Rust Programming Language Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pimsleur.com/&quot;&gt;Pimsleur - Learn New Languages Online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rosettastone.com/&quot;&gt;Official Rosetta Stone - How Language Is Learned&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thijsnieuwdorp.com/&quot;&gt;Thijs Nieuwdorp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jeroenjanssens.com/&quot;&gt;Jeroen Janssens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://polarsguide.com/&quot;&gt;Python Polars: The Definitive Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-with-python-polars/&quot;&gt;Working With Python Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/missing-data-polars/&quot;&gt;Working With Missing Data in Polars&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E260_02_Polars.10c95e894515.mp3" type="audio/mpeg" length="73045019"/>
        <guid isPermaLink="false">4e53818e-5e9e-415f-b9a7-0c3e13bf82dc</guid>
        <pubDate>Fri, 08 Aug 2025 12:00:00 +0000</pubDate>
        <itunes:duration>4499</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_260_Podcast.75bdc3db9f69.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Harnessing the Power of Python Polars”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>259</itunes:episode>
        <title>Design Patterns That Don&#x27;t Translate to Python</title>
        <itunes:title>Design Patterns That Don&#x27;t Translate to Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/259/</link>
        <description>Do the design patterns learned in other programming languages translate to coding in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do the design patterns learned in other programming languages translate to coding in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher dives into an article that tackles popular object-oriented design patterns from the famous Gang of Four book. These patterns offer solutions to common coding problems, but as Christopher explores, Python often doesn&amp;rsquo;t even have the problems these solutions try to fix. He discusses several common design patterns and the simpler, more Pythonic ways to achieve the same goals.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including an exceptionally robust news roundup, running coverage on tests, an exploration of expert generalists, a preview of template strings from Python 3.14, a quiz on f-strings, and a project that calculates the complexity of your Python code.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/working-builtin-exceptions/&quot;&gt;Working With Python&amp;rsquo;s Built-in Exceptions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn the most common built-in Python exceptions, when they occur, how to handle them, and how to raise them properly in your code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:03 &amp;ndash; Python 3.14.0b4 Released&lt;/li&gt;
&lt;li&gt;00:02:11 &amp;ndash; Python 3.14 release candidate 1 is go!&lt;/li&gt;
&lt;li&gt;00:02:48 &amp;ndash; PyPy v7.3.20 Release&lt;/li&gt;
&lt;li&gt;00:03:00 &amp;ndash; Textual 4.0.0 Released&lt;/li&gt;
&lt;li&gt;00:03:23 &amp;ndash; Announcing Toad - a universal UI for agentic coding in the terminal&lt;/li&gt;
&lt;li&gt;00:03:42 &amp;ndash; uv 0.8.0 Released&lt;/li&gt;
&lt;li&gt;00:03:56 &amp;ndash; Django Bugfix Release 5.2.4&lt;/li&gt;
&lt;li&gt;00:04:14 &amp;ndash; Django Community Ecosystem&lt;/li&gt;
&lt;li&gt;00:04:52 &amp;ndash; Happy 20th Birthday Django!&lt;/li&gt;
&lt;li&gt;00:05:31 &amp;ndash; PyData London 2025 Videos&lt;/li&gt;
&lt;li&gt;00:05:48 &amp;ndash; PEP 792: Project Status Markers in the Simple Index&lt;/li&gt;
&lt;li&gt;00:06:09 &amp;ndash; PEP 800 – Solid bases in the type system&lt;/li&gt;
&lt;li&gt;00:07:06 &amp;ndash; Run Coverage on Tests&lt;/li&gt;
&lt;li&gt;00:14:32 &amp;ndash; Design Patterns You Should Unlearn in Python&lt;/li&gt;
&lt;li&gt;00:18:13 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:19:24 &amp;ndash; Expert Generalists&lt;/li&gt;
&lt;li&gt;00:34:42 &amp;ndash; Python 3.14 Preview: Template Strings (T-Strings)&lt;/li&gt;
&lt;li&gt;00:41:00 &amp;ndash; fstrings.wtf - Python F-String Quiz&lt;/li&gt;
&lt;li&gt;00:43:09 &amp;ndash; complexipy: Calculate Complexity of Your Python&lt;/li&gt;
&lt;li&gt;00:48:18 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Survey:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tally.so/r/nWbKgJ&quot;&gt;Listener Survey - Help Shape the Future of the Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3140b4/&quot;&gt;Python 3.14.0b4 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/python-3-14-release-candidate-1-is-go/99754&quot;&gt;Python 3.14 release candidate 1 is go! - Core Development - Discussions on Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypy.org/posts/2025/07/pypy-v7320-release.html&quot;&gt;PyPy v7.3.20 Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Textualize/textual/releases/tag/v4.0.0&quot;&gt;Textual 4.0.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://willmcgugan.github.io/announcing-toad/&quot;&gt;Announcing Toad - a universal UI for agentic coding in the terminal – Will McGugan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/astral-sh/uv/releases/tag/0.8.0&quot;&gt;&lt;code&gt;uv&lt;/code&gt; 0.8.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/jul/02/bugfix-releases/&quot;&gt;Django Bugfix Release 5.2.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/community/ecosystem/&quot;&gt;Django Community Ecosystem - Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/jul/13/happy-20th-birthday-django/&quot;&gt;Happy 20th Birthday Django!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=wqii_iX0RTs&quot;&gt;Django Origins (and some things I have built with Django) - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLGVZCDnMOq0qi19dNwAO6KxWmMqXppGpz&quot;&gt;PyData London 2025 Videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0792/&quot;&gt;PEP 792: Project Status Markers in the Simple Index (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0800/&quot;&gt;PEP 800 – Solid bases in the type system&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hugovk.dev/blog/2025/run-coverage-on-tests/&quot;&gt;Run Coverage on Tests&lt;/a&gt; &amp;ndash; Code coverage tools tell you which parts of your programs got executed during test runs. They&amp;rsquo;re an important part of your test suite, and without them, you may miss errors in your tests themselves. This post has two quick examples of just why you should use a coverage tool.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lihil.cc/blog/design-patterns-you-should-unlearn-in-python-part1&quot;&gt;Design Patterns You Should Unlearn in Python&lt;/a&gt; &amp;ndash; The Gang of Four design patterns specify object-oriented solutions to common issues in code, but Python doesn&amp;rsquo;t have many of the problems the solutions are aiming to solve. This article talks about some of the common patterns and the easier ways to solve the problems they intend to address in Python. See also &lt;a href=&quot;https://www.lihil.cc/blog/design-patterns-you-should-unlearn-in-python-part2&quot;&gt;Part 2&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martinfowler.com/articles/expert-generalist.html&quot;&gt;Expert Generalists &amp;ndash; MartinFowler.com&lt;/a&gt; &amp;ndash; &amp;ldquo;As computer systems get more sophisticated we&amp;rsquo;ve seen a growing trend to value deep specialists. But we&amp;rsquo;ve found that our most effective colleagues have a skill in spanning many specialties.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-t-strings/&quot;&gt;Python 3.14 Preview: Template Strings (T-Strings)&lt;/a&gt; &amp;ndash; Python 3.14 introduces t-strings: a safer, more flexible alternative to f-strings. Learn how to process templates securely and customize string workflows.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fstrings.wtf/&quot;&gt;fstrings.wtf - Python F-String Quiz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rohaquinlop/complexipy&quot;&gt;complexipy: Calculate Complexity of Your Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Design_Patterns&quot;&gt;Design Patterns - Gang of Four - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/117/&quot;&gt;Episode #117: Measuring Python Code Quality, Simplicity, and Maintainability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/176/&quot;&gt;Episode #176: Building Python Best Practices and Fundamental Skills&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Cyclomatic_complexity&quot;&gt;Cyclomatic complexity - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sonarsource.com/docs/CognitiveComplexity.pdf&quot;&gt;Cognitive Complexity: A new way of measuring understandability - SonarSource&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tally.so/r/nWbKgJ&quot;&gt;Listener Survey - Help Shape the Future of the Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-builtin-exceptions/&quot;&gt;Working With Python&amp;#x27;s Built-in Exceptions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-assert-statement/&quot;&gt;Using Python&amp;#x27;s assert to Debug and Test Your Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E259_02_PyCoders.759ac04c9690.mp3" type="audio/mpeg" length="48271812"/>
        <guid isPermaLink="false">d6a9ed8d-db3c-4eac-ab39-13fd113e10b8</guid>
        <pubDate>Fri, 01 Aug 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2952</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_259_Podcast.57b3913edbc1.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Design Patterns That Don&#x27;t Translate to Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>258</itunes:episode>
        <title>Supporting the Python Package Index</title>
        <itunes:title>Supporting the Python Package Index</itunes:title>
        <link>https://realpython.com/podcasts/rpp/258/</link>
        <description>What goes into supporting more than 650,000 projects and nearly a million users of the Python Package Index? This week on the show, we speak with Maria Ashna about her first year as the inaugural PyPI Support Specialist.</description>
        <content:encoded>&lt;p&gt;What goes into supporting more than 650,000 projects and nearly a million users of the Python Package Index? This week on the show, we speak with Maria Ashna about her first year as the inaugural PyPI Support Specialist.&lt;/p&gt;
&lt;p&gt;Maria has a varied background in creative arts and neuroscience. She decided to apply for the PyPI support position, defying common misconceptions about who can take on roles inside the Python Software Foundation, and challenging imposter syndrome along the way. &lt;/p&gt;
&lt;p&gt;Her recent talks at PyCon US 2025 and EuroPython 2025 were about her experiences in the role. She describes tackling the backlogs of account recovery and PEP 541 requests, and we also discuss PyPI community and company organizations.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Index. Quickly get up to speed on everything from naming your package to configuring it using &lt;code&gt;setup.cfg&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:42 &amp;ndash; What led you to learn Python?&lt;/li&gt;
&lt;li&gt;00:08:09 &amp;ndash; PyCon 2025 talk about the first year at PyPI&lt;/li&gt;
&lt;li&gt;00:11:06 &amp;ndash; Embracing asking questions&lt;/li&gt;
&lt;li&gt;00:13:55 &amp;ndash; Being willing to say &amp;ldquo;I don&amp;rsquo;t know, let&amp;rsquo;s find out&amp;rdquo;&lt;/li&gt;
&lt;li&gt;00:15:06 &amp;ndash; What is PEP 541 and resolving name retention issues&lt;/li&gt;
&lt;li&gt;00:23:22 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:40 &amp;ndash; Addressing the account recovery backlog&lt;/li&gt;
&lt;li&gt;00:26:43 &amp;ndash; PyPI Organizations&lt;/li&gt;
&lt;li&gt;00:30:54 &amp;ndash; Moving beyond the hesitancy to submit a package to PyPI&lt;/li&gt;
&lt;li&gt;00:40:43 &amp;ndash; Getting past imposter syndrome and applying&lt;/li&gt;
&lt;li&gt;00:45:07 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:46:10 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:47:52 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:49:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=f6CEURXBa_M&quot;&gt;Adventures in Account Recovery, PEP 541 &amp;amp; More As Inaugural PyPI Support Specialist - Maria Ashna - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2025/schedule/presentation/165/&quot;&gt;PyCon US 2025 - A PEP Talk: Adventures in Account Recovery, PEP 541, And More As the Inaugural PyPI Support Specialist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ep2025.europython.eu/&quot;&gt;EuroPython 2025 - July 14th-20th 2025 - Prague, Czech Republic &amp;amp; Remote&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/&quot;&gt;PyPI - The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0541/&quot;&gt;PEP 541 – Package Index Name Retention&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-04-23-introducing-pypi-organizations/&quot;&gt;Introducing PyPI Organizations - The Python Package Index Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/tutorials/packaging-projects/&quot;&gt;Packaging Python Projects - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thetravelingguitar.net/&quot;&gt;The Traveling Guitar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instagram.com/thespi_brain/&quot;&gt;Maria Ashna (@thespi_brain) - Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/thespi-brain&quot;&gt;Thespi-Brain (thespibrain) - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/closures-examples-use-cases/&quot;&gt;Exploring Python Closures: Examples and Use Cases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E258_02_Maria_2.c424a06487e0.mp3" type="audio/mpeg" length="48827802"/>
        <guid isPermaLink="false">075f5362-3427-49eb-879e-864898b76f32</guid>
        <pubDate>Fri, 25 Jul 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2989</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_258_Podcast.ca011d638026.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Supporting the Python Package Index”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>257</itunes:episode>
        <title>Comparing Real-World Python Performance Against Big O</title>
        <itunes:title>Comparing Real-World Python Performance Against Big O</itunes:title>
        <link>https://realpython.com/podcasts/rpp/257/</link>
        <description>How does the performance of an algorithm hold up when you put it into a realistic context? Where might Python code defy Big O notation expectations when using a profiler? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How does the performance of an algorithm hold up when you put it into a realistic context? Where might Python code defy Big O notation expectations when using a profiler? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article about why real-world performance often defies Big O expectations. The piece starts with a task coded in Go and then optimized from &lt;code&gt;O(n²)&lt;/code&gt; to &lt;code&gt;O(n)&lt;/code&gt;. Can an interpreted language like Python compete with a compiled language? Profiling the performance of both versions provides some interesting results. &lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, the fastest way to detect a vowel in a string, whether Python dictionaries are ordered data structures, an overview of Python&amp;rsquo;s &lt;code&gt;enum&lt;/code&gt; module, a Python client library for Google Data Commons, and a project to convert plain ASCII to &amp;ldquo;smart&amp;rdquo; punctuation.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-enum/&quot;&gt;Building Enumerations With Python&amp;rsquo;s enum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll discover the art of creating and using enumerations of logically connected constants in Python. To accomplish this, you&amp;rsquo;ll explore the &lt;code&gt;Enum&lt;/code&gt; class and other associated tools and types from the &lt;code&gt;enum&lt;/code&gt; module in the Python standard library.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:12 &amp;ndash; ruff Release 0.12.0&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; streamlit Release 1.46.0&lt;/li&gt;
&lt;li&gt;00:02:48 &amp;ndash; lxml 6.0.0 Released&lt;/li&gt;
&lt;li&gt;00:03:00 &amp;ndash; PSF Board Election Schedule&lt;/li&gt;
&lt;li&gt;00:03:26 &amp;ndash; Are Python Dictionaries Ordered Data Structures?&lt;/li&gt;
&lt;li&gt;00:08:59 &amp;ndash; The Fastest Way to Detect a Vowel in a String&lt;/li&gt;
&lt;li&gt;00:16:37 &amp;ndash; Module enum Overview&lt;/li&gt;
&lt;li&gt;00:24:46 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:24 &amp;ndash; O(no) You Didn&amp;rsquo;t&lt;/li&gt;
&lt;li&gt;00:38:34 &amp;ndash; New Python Client Library for Google Data Commons&lt;/li&gt;
&lt;li&gt;00:41:55 &amp;ndash; smartypants.py: Plain ASCII to &amp;ldquo;Smart&amp;rdquo; Punctuation&lt;/li&gt;
&lt;li&gt;00:44:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/astral-sh/ruff/releases/tag/0.12.0&quot;&gt;&lt;code&gt;ruff&lt;/code&gt; Release 0.12.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/streamlit/streamlit/releases/tag/1.46.0&quot;&gt;&lt;code&gt;streamlit&lt;/code&gt; Release 1.46.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/lxml/lxml/releases/tag/lxml-6.0.0&quot;&gt;&lt;code&gt;lxml&lt;/code&gt; 6.0.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2025/06/2025-psf-board-election-schedule.html&quot;&gt;PSF Board Election Schedule&lt;/a&gt; &amp;ndash; It is time for the Python Software Foundation Board elections. Nominations are due by July 29th. See the article for the full election schedule and deadlines.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thepythoncodingstack.com/p/are-python-dictionaries-ordered-data&quot;&gt;Are Python Dictionaries Ordered Data Structures?&lt;/a&gt; &amp;ndash; Although dictionaries have maintained insertion order since Python 3.6, they aren&amp;rsquo;t strictly speaking ordered data structures. Read on to find out why and how the edge cases can be important depending on your use case.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://austinhenley.com/blog/vowels.html&quot;&gt;The Fastest Way to Detect a Vowel in a String&lt;/a&gt; &amp;ndash; If you need to find the vowels in a string there are several different approaches you could take. This article covers 11 different ways and how each performs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/module-enum-overview&quot;&gt;Module &lt;code&gt;enum&lt;/code&gt; Overview&lt;/a&gt; &amp;ndash; This article gives an overview of the tools available in the module enum and how to use them, including Enum, auto, StrEnum, Flag, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mrshiny608.github.io/MrShiny608/optimisation/2025/04/22/OhNoYouDidnt.html&quot;&gt;O(no) You Didn&amp;rsquo;t&lt;/a&gt; &amp;ndash; A deep dive into why real-world performance often defies Big-O expectations, and why context and profiling matter more than theoretical complexity.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.googleblog.com/en/pythondatacommons/&quot;&gt;New Python Client Library for Google Data Commons&lt;/a&gt; &amp;ndash; Google Data Commons announced the general availability of its new Python client library for the Data Commons. The goal of the library is to enhance how students, researchers, analysts, and data scientists access and leverage Data Commons.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/justinmayer/smartypants.py&quot;&gt;smartypants.py: Plain ASCII to &amp;ldquo;Smart&amp;rdquo; Punctuation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://betteridgeslaw.com/&quot;&gt;Betteridge&amp;rsquo;s Law&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/collections.html#ordereddict-objects&quot;&gt;collections — Container datatypes — Python 3.13.5 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-ordereddict/&quot;&gt;OrderedDict vs dict in Python: The Right Tool for the Job – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-enum/&quot;&gt;Build Enumerations of Constants With Python&amp;rsquo;s Enum – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-enum/&quot;&gt;Building Enumerations With Python&amp;rsquo;s enum - Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/datacommonsorg/api-python/tree/master/datacommons_client&quot;&gt;Python client library for the Data Commons&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/looping-with-python-enumerate/&quot;&gt;Looping With Python enumerate()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sorting-dictionaries-keys-values-more/&quot;&gt;Sorting Dictionaries in Python: Keys, Values, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-enum/&quot;&gt;Building Enumerations With Python&amp;#x27;s enum&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E257_02_PyCoders.dd3d9efc4adb.mp3" type="audio/mpeg" length="44242191"/>
        <guid isPermaLink="false">a82a19cb-d9f0-455f-95f5-c5e8c50230d0</guid>
        <pubDate>Fri, 11 Jul 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2701</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_257_Podcast.4a53af0451ce.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Comparing Real-World Python Performance Against Big O”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>256</itunes:episode>
        <title>Solving Problems and Saving Time in Chemistry With Python</title>
        <itunes:title>Solving Problems and Saving Time in Chemistry With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/256/</link>
        <description>What motivates someone to learn how to code as a scientist? How do you harness the excitement of solving problems quickly and make the connection to the benefits of coding in your scientific work? This week on the show, we speak with Ben Lear and Christopher Johnson about their book &quot;Coding For Chemists.&quot;</description>
        <content:encoded>&lt;p&gt;What motivates someone to learn how to code as a scientist? How do you harness the excitement of solving problems quickly and make the connection to the benefits of coding in your scientific work? This week on the show, we speak with Ben Lear and Christopher Johnson about their book &amp;ldquo;Coding For Chemists.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Christopher is an associate professor of chemistry at Stony Brook University. Ben is a professor of chemistry at Penn State&amp;rsquo;s Eberly College of Science. They&amp;rsquo;re long-time friends who decided to collaborate on a book after discussing the challenges of teaching coding to chemistry students.&lt;/p&gt;
&lt;p&gt;The book targets chemists and other researchers who want to streamline common workflows with Python. It covers core Python concepts, data visualization, and data analysis topics by sharing common problems encountered in chemical research and presenting a complete Python-based solution for each problem.&lt;/p&gt;
&lt;p&gt;We discuss how they collaborated on the book and decided what libraries and tools to include. We cover how LLM tools have affected classroom teaching and require new techniques to reinforce learning. We also dig into what motivates students to learn how to code.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/defining-python-functions-with-optional-arguments/&quot;&gt;Defining Python Functions With Optional Arguments&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about Python optional arguments and how to define functions with default values. You&amp;rsquo;ll also learn how to create functions that accept any number of arguments using &lt;code&gt;args&lt;/code&gt; and &lt;code&gt;kwargs&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:06 &amp;ndash; Ben&amp;rsquo;s background and starting with Python&lt;/li&gt;
&lt;li&gt;00:04:34 &amp;ndash; Chris&amp;rsquo; background and starting with Python&lt;/li&gt;
&lt;li&gt;00:07:16 &amp;ndash; What has sped up Python for your use?&lt;/li&gt;
&lt;li&gt;00:08:22 &amp;ndash; How did idea for the book start?&lt;/li&gt;
&lt;li&gt;00:11:30 &amp;ndash; Shifting publisher and new release time frame&lt;/li&gt;
&lt;li&gt;00:12:24 &amp;ndash; Three potential audiences&lt;/li&gt;
&lt;li&gt;00:13:20 &amp;ndash; The ubiquitous need for programming skills in science&lt;/li&gt;
&lt;li&gt;00:15:05 &amp;ndash; Difficult workflows with chemistry equipment&lt;/li&gt;
&lt;li&gt;00:16:06 &amp;ndash; What is a chart recorder?&lt;/li&gt;
&lt;li&gt;00:16:34 &amp;ndash; Working with proprietary equipment and exporting data&lt;/li&gt;
&lt;li&gt;00:23:37 &amp;ndash; Explaining how programming will help chemists&lt;/li&gt;
&lt;li&gt;00:27:31 &amp;ndash; Finding the problems to solve&lt;/li&gt;
&lt;li&gt;00:29:09 &amp;ndash; The classic common chemistry workflow&lt;/li&gt;
&lt;li&gt;00:30:48 &amp;ndash; Teaching Python in a classroom and starting with functions&lt;/li&gt;
&lt;li&gt;00:35:05 &amp;ndash; Helping students cultivate inspiration&lt;/li&gt;
&lt;li&gt;00:37:06 &amp;ndash; LLM and AI use by students&lt;/li&gt;
&lt;li&gt;00:41:19 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:42:36 &amp;ndash; Using Spyder IDE and Positron&lt;/li&gt;
&lt;li&gt;00:45:29 &amp;ndash; How does the book cover notebooks and managing packages?&lt;/li&gt;
&lt;li&gt;00:48:08 &amp;ndash; Using marimo for archiving and sharing projects&lt;/li&gt;
&lt;li&gt;00:50:25 &amp;ndash; What was difficult to put into the book?&lt;/li&gt;
&lt;li&gt;00:54:04 &amp;ndash; What were you eager to share in the book?&lt;/li&gt;
&lt;li&gt;00:55:54 &amp;ndash; Teaching students about file management&lt;/li&gt;
&lt;li&gt;00:58:13 &amp;ndash; Sharing tools to plot data&lt;/li&gt;
&lt;li&gt;01:01:45 &amp;ndash; Choosing not to teach pandas and using NumPy arrays instead&lt;/li&gt;
&lt;li&gt;01:04:03 &amp;ndash; How can people learn more about the book?&lt;/li&gt;
&lt;li&gt;01:05:20 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:07:58 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:10:50 &amp;ndash; How can people follow your work?&lt;/li&gt;
&lt;li&gt;01:12:15 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://codingforchemistsbook.com/getting-started/index.html&quot;&gt;Coding For Chemists - Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://science.psu.edu/chem/people/bul14&quot;&gt;Ben Lear - Eberly College of Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.stonybrook.edu/commcms/chemistry/people/faculty_profiles/johnson-christopher.php#ResearchDescription&quot;&gt;Christopher Johnson - Department of Chemistry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Chart_recorder&quot;&gt;Chart recorder - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/&quot;&gt;pandas - Python Data Analysis Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/&quot;&gt;NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.spyder-ide.org/&quot;&gt;Spyder - The Python IDE that scientists and data analysts deserve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://positron.posit.co/&quot;&gt;Positron&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/&quot;&gt;marimo - A next-generation Python notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://streamlit.io/&quot;&gt;Streamlit - A faster way to build and share data apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plotly.com/&quot;&gt;Plotly - Data Apps for Production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bokeh.org/&quot;&gt;Bokeh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://altair-viz.github.io/&quot;&gt;Vega-Altair: Declarative Visualization in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/codechembook/&quot;&gt;codechembook - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/chrisjohnsonSBU/CodeChemBook&quot;&gt;CodeChemBook: Companion library for Coding for Chemists Book - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://data-meets-design.com/&quot;&gt;Data Meets Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thelearlab.com/&quot;&gt;The Lear Laboratory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.routledge.com/Statistical-Inference/Casella-Berger/p/book/9781032593036?srsltid=AfmBOorJsJdPQiCROH5OEIx9jGqkBW8XgAJfE407BF1dkeVNUDBsl0rx&quot;&gt;Statistical Inference - 2nd Edition - George Casella - Roger Berger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sites.google.com/a/stonybrook.edu/johnsonlab/&quot;&gt;Johnson Lab @SBU&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scholar.google.com/citations?user=IetGM5cAAAAJ&amp;amp;hl=en&quot;&gt;Christopher J. Johnson - Google Scholar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scholar.google.com/citations?hl=en&amp;amp;user=nL7taSoAAAAJ&quot;&gt;Benjamin Lear - Google Scholar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-python-functions-with-optional-arguments/&quot;&gt;Defining Python Functions With Optional Arguments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-viz-with-dash/&quot;&gt;Data Visualization Interfaces in Python With Dash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E256_02_Coding4Chem.3d0e7fcd55c4.mp3" type="audio/mpeg" length="71212195"/>
        <guid isPermaLink="false">5d9a8a46-7e33-4e49-b2e8-11e21220b49c</guid>
        <pubDate>Fri, 04 Jul 2025 12:00:00 +0000</pubDate>
        <itunes:duration>4390</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_256_Podcast.1669b1927d92.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Solving Problems and Saving Time in Chemistry With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>255</itunes:episode>
        <title>Structuring Python Scripts &amp; Exciting Non-LLM Software Trends</title>
        <itunes:title>Structuring Python Scripts &amp; Exciting Non-LLM Software Trends</itunes:title>
        <link>https://realpython.com/podcasts/rpp/255/</link>
        <description>What goes into crafting an effective Python script? How do you organize your code, manage dependencies with PEP 723, and handle command-line arguments for the best results? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What goes into crafting an effective Python script? How do you organize your code, manage dependencies with PEP 723, and handle command-line arguments for the best results? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We dig into a recent Real Python article about how to structure your Python scripts. It includes advice for adding inline script metadata as defined in PEP 723, which helps tools automatically create an environment and install dependencies when the script is run. The piece also covers choosing appropriate data structures, improving runtime feedback, and making your code more maintainable with constants and entry points.&lt;/p&gt;
&lt;p&gt;We discuss a collection of software trends happening behind the scenes of the constant LLM news. The piece starts with local-first software, prioritizing processing and storing private data on personal devices rather than relying on the cloud. The other trends include common themes and tools we&amp;rsquo;ve shared over the past few years, including WebAssembly, SQLite&amp;rsquo;s renaissance, and improvements to cross-platform mobile development.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, the state of free-threaded Python, tips for improving Django management commands, advice for time management as a manager, a data science-focused IDE, and a project to check for multiple patterns in a single string.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to store and retrieve data using Python, SQLite, SQLAlchemy, and flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:26 &amp;ndash; Followup - marimo and LaTeX&lt;/li&gt;
&lt;li&gt;00:03:26 &amp;ndash; PEP 734: Multiple Interpreters in the Stdlib (Accepted)&lt;/li&gt;
&lt;li&gt;00:03:52 &amp;ndash; Python 3.13.4, 3.12.11, 3.11.13, 3.10.18 and 3.9.23 Security Releases&lt;/li&gt;
&lt;li&gt;00:04:21 &amp;ndash; Python Insider: Python 3.14.0 beta 3 is here!&lt;/li&gt;
&lt;li&gt;00:04:30 &amp;ndash; Django Bugfix Releases: 5.2.3, 5.1.11, and 4.2.23&lt;/li&gt;
&lt;li&gt;00:04:52 &amp;ndash; NumPy v2.3.0 Released&lt;/li&gt;
&lt;li&gt;00:05:02 &amp;ndash; scikit-learn 1.7 Released&lt;/li&gt;
&lt;li&gt;00:05:12 &amp;ndash; PyData Virginia 2025 Talks&lt;/li&gt;
&lt;li&gt;00:05:52 &amp;ndash; How Can You Structure Your Python Script?&lt;/li&gt;
&lt;li&gt;00:12:08 &amp;ndash; State of Free-Threaded Python&lt;/li&gt;
&lt;li&gt;00:18:23 &amp;ndash; 5 Non-LLM Software Trends to Be Excited About&lt;/li&gt;
&lt;li&gt;00:29:50 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:23 &amp;ndash; Better Django Management Commands&lt;/li&gt;
&lt;li&gt;00:33:56 &amp;ndash; Advice for time management as a manager&lt;/li&gt;
&lt;li&gt;00:46:49 &amp;ndash; positron: Data Science IDE&lt;/li&gt;
&lt;li&gt;00:50:05 &amp;ndash; ahocorasick_rs: Check for Multiple Patterns in a Single String&lt;/li&gt;
&lt;li&gt;00:52:41 &amp;ndash; 10 Polars Tools and Techniques To Level Up Your Data Science - Podcast Episode&lt;/li&gt;
&lt;li&gt;00:53:22 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0734/&quot;&gt;PEP 734: Multiple Interpreters in the Stdlib (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/06/python-3134-31211-31113-31018-and-3923.html&quot;&gt;Python 3.13.4, 3.12.11, 3.11.13, 3.10.18 and 3.9.23 Security Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/release/3.13.5/whatsnew/changelog.html&quot;&gt;Python 3.13.5 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/06/python-3140-beta-3-is-here.html&quot;&gt;Python Insider: Python 3.14.0 beta 3 is here!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/jun/10/bugfix-releases/&quot;&gt;Django Bugfix Releases: 5.2.3, 5.1.11, and 4.2.23&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/numpy/numpy/releases/tag/v2.3.0&quot;&gt;NumPy v2.3.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/auto_examples/release_highlights/plot_release_highlights_1_7_0.html&quot;&gt;&lt;code&gt;scikit-learn 1.7&lt;/code&gt; Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLGVZCDnMOq0qLS7Mk-jI9jhb4t5UY6yDW&quot;&gt;PyData Virginia 2025 Talks&lt;/a&gt; &amp;ndash; A list of the recorded talks from PyData Virginia 2025.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-script-structure/&quot;&gt;How Can You Structure Your Python Script?&lt;/a&gt; &amp;ndash; Structure your Python script like a pro. This guide shows you how to organize your code, manage dependencies with PEP 723, and handle command-line arguments.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2025/06/python-language-summit-2025-state-of-free-threaded-python.html&quot;&gt;State of Free-Threaded Python&lt;/a&gt; &amp;ndash; This is a blog post from the Python Language Summit 2025 giving an update on the progress of free-threaded Python. You may also be interested in the complete list of &lt;a href=&quot;https://discuss.python.org/t/announcing-the-python-language-summit-2025-blog-posts/95282&quot;&gt;Language Summit Blogs&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0779/&quot;&gt;PEP 779 – Criteria for supported status for free-threaded Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://read.engineerscodex.com/p/5-non-llm-software-trends-to-be-excited&quot;&gt;5 Non-LLM Software Trends to Be Excited About&lt;/a&gt; &amp;ndash; Tired of reading about AI and LLMs? This post talks about other tech that is rapidly changing in the software world, including local-first applications, web assembly, the improvement of cross-platform tools, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.revsys.com/tidbits/better-django-management-commands-with-django-click-and-django-typer/&quot;&gt;Better Django Management Commands&lt;/a&gt; &amp;ndash; Writing Django management commands can involve a ton of boilerplate code. This article shows you how to use two libraries that could cut your management command code in half: django-click and django-typer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.benkuhn.net/tmgr/&quot;&gt;Advice for time management as a manager - benkuhn.net&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/posit-dev/positron&quot;&gt;positron: Data Science IDE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/G-Research/ahocorasick_rs&quot;&gt;ahocorasick_rs: Check for Multiple Patterns in a Single String&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.marimo.io/guides/outputs/?h=latex#markdown-editor&quot;&gt;Visualize outputs - Mardown editor and LaTeX - marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL2Uw4_HvXqvb98mQjN0-rYQjdDxJ_hcrs&quot;&gt;PyCon US 2025 - YouTube&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLY_che_OEsX19RNHHqERLODTtYs1YAtMA&quot;&gt;DjangoCon Europe 2025 Dublin - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-shebang/&quot;&gt;Executing Python Scripts With a Shebang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.inkandswitch.com/essay/local-first/&quot;&gt;Local-first software: You own your data, in spite of the cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/vscode&quot;&gt;Code OSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/510/10-polars-tools-and-techniques-to-level-up-your-data-science&quot;&gt;Episode #510 - 10 Polars Tools and Techniques To Level Up Your Data Science - Talk Python To Me Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/execute-python-scripts-with-shebang/&quot;&gt;Execute Your Python Scripts With a Shebang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-admin-customization/&quot;&gt;Django Admin Customization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E255_02_PyCoders.0127f478a113.mp3" type="audio/mpeg" length="52951677"/>
        <guid isPermaLink="false">3daf924b-e664-4f61-b8b2-3fb3ac1d2c77</guid>
        <pubDate>Fri, 27 Jun 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3247</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_255_Podcast.6a126e91eab8.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Structuring Python Scripts &amp; Exciting Non-LLM Software Trends”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>254</itunes:episode>
        <title>Scaling Python Web Applications With Kubernetes and Karpenter</title>
        <itunes:title>Scaling Python Web Applications With Kubernetes and Karpenter</itunes:title>
        <link>https://realpython.com/podcasts/rpp/254/</link>
        <description>What goes into scaling a web application today? What are resources for learning and practicing DevOps skills? This week on the show, Calvin Hendryx-Parker is back to discuss the tools and infrastructure for autoscaling web applications with Kubernetes and Karpenter.</description>
        <content:encoded>&lt;p&gt;What goes into scaling a web application today? What are resources for learning and practicing DevOps skills? This week on the show, Calvin Hendryx-Parker is back to discuss the tools and infrastructure for autoscaling web applications with Kubernetes and Karpenter.&lt;/p&gt;
&lt;p&gt;Calvin is the co-founder and CTO of Six Feet Up, a Python and AI consultancy. He shares how they recently helped a client scale a web application that employs video, audio, and chat sessions. We dig deep into the tooling behind modern Kubernetes systems management and performance monitoring.&lt;/p&gt;
&lt;p&gt;Calvin shares a project bootstrap tool for streamlining the development and deployment of a web application. The tool includes a complete blueprint for the infrastructure needed to get started.&lt;/p&gt;
&lt;p&gt;We also dig into a collection of coding tools Calvin has been experimenting with. We discuss his recent IndyPy presentation, &amp;ldquo;Battle of the Bots,&amp;rdquo; which put several AI code assistants through their paces.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by AMD.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/first-steps-langchain/&quot;&gt;First Steps With LangChain&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Large language models (LLMs) have taken the world by storm. In this step-by-step video course, you&amp;rsquo;ll learn to use the LangChain library to build LLM-assisted applications.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:23 &amp;ndash; Scaling a Django project using Kubernetes&lt;/li&gt;
&lt;li&gt;00:05:35 &amp;ndash; Elastic Kubernets Service (EKS)&lt;/li&gt;
&lt;li&gt;00:09:10 &amp;ndash; Kubernetes terminology and improvements in tooling&lt;/li&gt;
&lt;li&gt;00:11:29 &amp;ndash; The Control Plane and the API&lt;/li&gt;
&lt;li&gt;00:14:06 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:15:11 &amp;ndash; scaf: providing DevOps engineers a blueprint for new projects&lt;/li&gt;
&lt;li&gt;00:17:21 &amp;ndash; What have been the benefits of scaf for internal teams?&lt;/li&gt;
&lt;li&gt;00:20:18 &amp;ndash; How do you identify and reproduce scaling issues?&lt;/li&gt;
&lt;li&gt;00:22:44 &amp;ndash; Dealing with IP address scaling&lt;/li&gt;
&lt;li&gt;00:26:03 &amp;ndash; Why use other observability tools beyond AWS internal ones?&lt;/li&gt;
&lt;li&gt;00:29:22 &amp;ndash; Other lessons learned and moving toward refactoring code&lt;/li&gt;
&lt;li&gt;00:33:53 &amp;ndash; Scaling a voice-based LLM application&lt;/li&gt;
&lt;li&gt;00:35:35 &amp;ndash; Sponsor: AMD&lt;/li&gt;
&lt;li&gt;00:36:11 &amp;ndash; Looking at limitations and bottlenecks&lt;/li&gt;
&lt;li&gt;00:38:08 &amp;ndash; Configuring a Kubernetes operator to act on itself&lt;/li&gt;
&lt;li&gt;00:39:47 &amp;ndash; What project components are within a pod of containers?&lt;/li&gt;
&lt;li&gt;00:42:31 &amp;ndash; Budgeting for scale using Karpenter&lt;/li&gt;
&lt;li&gt;00:43:58 &amp;ndash; Tools for running containers locally&lt;/li&gt;
&lt;li&gt;00:46:01 &amp;ndash; Are containers still a primary development tool for you?&lt;/li&gt;
&lt;li&gt;00:50:58 &amp;ndash; Resources for learning DevOps and Kubernetes&lt;/li&gt;
&lt;li&gt;00:52:54 &amp;ndash; Conferences and talks&lt;/li&gt;
&lt;li&gt;00:53:56 &amp;ndash; Battle of the Bots: comparing coding agents&lt;/li&gt;
&lt;li&gt;00:55:15 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:56:20 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:02:42 &amp;ndash; What&amp;rsquo;s the best way for people to follow your work online?&lt;/li&gt;
&lt;li&gt;01:03:33 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/&quot;&gt;Six Feet Up - Python and AI for Good, Custom Software Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kubernetes.io/docs/tutorials/&quot;&gt;Kubernetes - Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/eks/&quot;&gt;Managed Kubernetes Service - Amazon EKS - AWS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://karpenter.sh/&quot;&gt;Karpenter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kustomize.io/&quot;&gt;Kustomize - Kubernetes native configuration management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kubernetes.io/docs/concepts/overview/components/#control-plane-components&quot;&gt;Kubernetes Components - Control Plane Components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/github-actions-python/&quot;&gt;Continuous Integration and Deployment for Python With GitHub Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://argoproj.github.io/cd/&quot;&gt;Argo CD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sixfeetup/scaf&quot;&gt;scaf: Provides developers and DevOps engineers with a complete blueprint for a new project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/company/news/streamline-developer-experience-with-kubernetes-and-scaf-tm&quot;&gt;Streamline the Dev Experience with Kubernetes and Scaf™&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/company/scaf-a-blueprint-for-developers&quot;&gt;Scaf™ — Six Feet Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/496/scaf-complete-blueprint-for-new-python-kubernetes-projects&quot;&gt;Scaf: Complete blueprint for new Python Kubernetes projects - Talk Python To Me Podcast E496&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kind.sigs.k8s.io/&quot;&gt;kind&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://locust.io/&quot;&gt;Locust - A modern load testing framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grafana.com/&quot;&gt;Grafana: The open and composable observability platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grafana.com/oss/loki/&quot;&gt;Grafana Loki OSS - Log aggregation system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://prometheus.github.io/client_python/&quot;&gt;Prometheus - client_python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html&quot;&gt;Elastic network interfaces - Amazon Elastic Compute Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/awslabs/eks-node-viewer&quot;&gt;eks-node-viewer: EKS Node Viewer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/derailed/k9s&quot;&gt;k9s: 🐶 Kubernetes CLI To Manage Your Clusters In Style!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://orbstack.dev/&quot;&gt;OrbStack · Fast, light, simple Docker &amp;amp; Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.nixos.org/wiki/Python&quot;&gt;NixOS Wiki - Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/techworldwithnana&quot;&gt;TechWorld with Nana - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=pqBqdNIPrbo&quot;&gt;Python: The Documentary [OFFICIAL TRAILER] - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/calvinhp/&quot;&gt;Calvin Hendryx-Parker - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Conferences and Meetups:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://allthingsopen.org/events/all-things-open-2025&quot;&gt;All Things Open 2025 - All Things Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://allthingsopen.ai/&quot;&gt;All Things Open AI Conference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL6kQg8bP1Ji4JC8KR_q9yYs8rUN77zBG7&quot;&gt;All Things Open AI 2025 - AI Builders Track - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=HEawRMNGlMU&amp;amp;list=PL6kQg8bP1Ji4JC8KR_q9yYs8rUN77zBG7&amp;amp;index=5&quot;&gt;Rolling out Enterprise AI: Tools, Insights, &amp;amp; Team Empowerment - Calvin Hendryx-Parker, Six Feet Up - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2025/&quot;&gt;PyCon US 2025 - PyCon US 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyohio.org/2025/&quot;&gt;PyOhio 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.meetup.com/indypy/events/&quot;&gt;IndyPy Events&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI Coding Tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Ix68u1MM3FY&amp;amp;t=1298s&quot;&gt;Battle of the Bots - Developer Tools Showdown - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aider.chat/&quot;&gt;Aider - AI Pair Programming in Your Terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://block.github.io/goose/&quot;&gt;codename goose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ollama.com/blog/continue-code-assistant&quot;&gt;An entirely open-source AI code assistant inside your editor - Ollama Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mistral.ai/news/devstral&quot;&gt;Devstral - Mistral AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coralogix.com/guides/llm-observability-tools/&quot;&gt;10 LLM Observability Tools to Know in 2025 - Coralogix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2025/May/31/snitchbench-with-llm/&quot;&gt;How often do LLMs snitch? Recreating Theo&amp;rsquo;s SnitchBench with LLM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/&quot;&gt;The lethal trifecta for AI agents: private data, untrusted content, and external communication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/RobertFischer/vllm-proxy&quot;&gt;vllm-proxy: Proxy for vLLM enabling multi-model operation, cache-aware routing, and load balancing.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cicd-github-actions/&quot;&gt;Python Continuous Integration and Deployment Using GitHub Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/first-steps-langchain/&quot;&gt;First Steps With LangChain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/managing-dependencies-with-poetry/&quot;&gt;Managing Dependencies With Python Poetry&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E254_03_Calvin.24ba50a74bd7.mp3" type="audio/mpeg" length="63186814"/>
        <guid isPermaLink="false">cd9870c5-f177-4992-8f18-e1dbd8c673ef</guid>
        <pubDate>Fri, 20 Jun 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3887</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_254_Podcast.0ec3381e0553.jpg"/>
        <rp:twitter-handles>@calvinhp</rp:twitter-handles>
        <rp:twitter-title>“Scaling Python Web Applications With Kubernetes and Karpenter” with @calvinhp</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>253</itunes:episode>
        <title>Starting With marimo Notebooks &amp; Python App Config Management</title>
        <itunes:title>Starting With marimo Notebooks &amp; Python App Config Management</itunes:title>
        <link>https://realpython.com/podcasts/rpp/253/</link>
        <description>Looking for a guide on getting started with marimo notebooks? How do you build a reproducible notebook for sharing or create a dashboard with interactive UI elements? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Looking for a guide on getting started with marimo notebooks? How do you build a reproducible notebook for sharing or create a dashboard with interactive UI elements? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We cover a recent Real Python article by Ian Eyre about using narimo notebooks. The tutorial covers installing Marimo, taking advantage of reactivity, building interactive dashboards, and managing a notebook&amp;rsquo;s environment through sandboxing. The piece ends by examining the limitations of traditional linear notebooks and how Marimo addresses them.&lt;/p&gt;
&lt;p&gt;Christopher discusses an article about how to store the configurations for your Python scripts and projects. Whether you&amp;rsquo;re managing resource handles to a database, deployment variables, or credentials to external services, you&amp;rsquo;ll need a way to save and load the details into your Python project. The piece compares saving configurations in several common file formats or through environment variables. &lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, the discourse between generative AI coding proponents and detractors, catching memory leaks with your test suite, epigrams on programming, a command line tool to check packages on PyPI, and a collection of string, file, and object utilities.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Six Feet Up.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/cicd-github-actions/&quot;&gt;Python Continuous Integration and Deployment Using GitHub Actions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With most software following agile methodologies, it&amp;rsquo;s essential to have robust DevOps systems in place to manage, maintain, and automate common tasks with a continually changing codebase. By using GitHub Actions, you can automate your workflows efficiently, especially for Python projects.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:44 &amp;ndash; Python Release 3.14.0b2&lt;/li&gt;
&lt;li&gt;00:03:09 &amp;ndash; Django security releases issued: 5.2.2, 5.1.10, and 4.2.22&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; PyBay 2025&lt;/li&gt;
&lt;li&gt;00:03:43 &amp;ndash; PyCon NL 2025 - Call for Proposals&lt;/li&gt;
&lt;li&gt;00:04:05 &amp;ndash; Django Forum: Supporting t-strings&lt;/li&gt;
&lt;li&gt;00:04:44 &amp;ndash; Ruff Users: What Rules Are You Using and What Are You Ignoring?&lt;/li&gt;
&lt;li&gt;00:05:19 &amp;ndash; My Shot at Real Python&lt;/li&gt;
&lt;li&gt;00:06:03 &amp;ndash; My AI Skeptic Friends Are All Nuts&lt;/li&gt;
&lt;li&gt;00:10:06 &amp;ndash; I Think I&amp;rsquo;m Done Thinking About genAI For Now&lt;/li&gt;
&lt;li&gt;00:11:12 &amp;ndash; AI Changes Everything&lt;/li&gt;
&lt;li&gt;00:23:01 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:14 &amp;ndash; Configuration of Python Applications&lt;/li&gt;
&lt;li&gt;00:29:15 &amp;ndash; marimo: A Reactive, Reproducible Notebook&lt;/li&gt;
&lt;li&gt;00:35:15 &amp;ndash; Sponsor: Six Feet Up&lt;/li&gt;
&lt;li&gt;00:36:02 &amp;ndash; Catching memory leaks with your test suite&lt;/li&gt;
&lt;li&gt;00:41:45 &amp;ndash; Epigrams on Programming&lt;/li&gt;
&lt;li&gt;00:46:54 &amp;ndash; whatsonpypi: Check PyPI From the Command Line&lt;/li&gt;
&lt;li&gt;00:48:18 &amp;ndash; strif: String, File, and Object Utilities&lt;/li&gt;
&lt;li&gt;00:49:44 &amp;ndash; PyCoder&amp;rsquo;s Weekly - Submit a Link&lt;/li&gt;
&lt;li&gt;00:50:13 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3140b2/&quot;&gt;Python Release 3.14.0b2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/jun/04/security-releases/&quot;&gt;Django security releases issued: 5.2.2, 5.1.10, and 4.2.22&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pybay.org/speaking/call-for-proposals/&quot;&gt;PyBay 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSdv-shKzLId7WMwxmVNfSsWZjCd4eNuB7ExKvu_B3s4yONR-Q/viewform&quot;&gt;PyCon NL 2025 - Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://forum.djangoproject.com/t/supporting-t-strings-from-python-3-14/40925&quot;&gt;Django Forum: Supporting &lt;code&gt;t-strings&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://old.reddit.com/r/Python/comments/1kttfst/ruff_users_what_rules_are_using_and_what_are_you/&quot;&gt;Ruff Users: What Rules Are You Using and What Are You Ignoring?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lonercode.hashnode.dev/my-shot-at-real-python&quot;&gt;My Shot at Real Python&lt;/a&gt; &amp;ndash; Amanda has recently written her first article for Real Python and this post talks about her experience doing so. If you want to check out the article, it&amp;rsquo;s on &lt;a href=&quot;https://realpython.com/nested-loops-python/&quot;&gt;Nested Loops&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fly.io/blog/youre-all-nuts/&quot;&gt;My AI Skeptic Friends Are All Nuts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.glyph.im/2025/06/i-think-im-done-thinking-about-genai-for-now.html&quot;&gt;I Think I&amp;rsquo;m Done Thinking About genAI For Now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lucumr.pocoo.org/2025/6/4/changes/&quot;&gt;AI Changes Everything&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chatgpt.com/share/68419e9e-ed78-8009-b4d5-97a6b68bfdb3&quot;&gt;AI Blog Comparison - Armin Ronacher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robertrode.com/2023/10/02/configuration-in-python-applications-no-magic-just-necessary-practice.html&quot;&gt;Configuration of Python Applications&lt;/a&gt; &amp;ndash; This post talks about how to store configuration for your script and how and when to load the information into your program.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/marimo-notebook/&quot;&gt;marimo: A Reactive, Reproducible Notebook&lt;/a&gt; &amp;ndash; Discover how marimo notebook simplifies coding with reactive updates, UI elements, and sandboxing for safe, sharable notebooks.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/identifying-resource-leaks-with-pytest/&quot;&gt;Catching memory leaks with your test suite&lt;/a&gt; &amp;ndash; &amp;ldquo;If you have a good test suite, you may be able to use &lt;code&gt;pytest&lt;/code&gt; fixtures to identify memory and other resource leaks.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/19990117034445/http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html&quot;&gt;Epigrams on Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Alan_Perlis&quot;&gt;Alan Perlis - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/viseshrp/whatsonpypi&quot;&gt;whatsonpypi: Check PyPI From the Command Line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jlevy/strif&quot;&gt;strif: String, File, and Object Utilities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/238/&quot;&gt;Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/250/&quot;&gt;Episode #250: DjangoCon Europe 2025: Live Recording From Dublin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/236/&quot;&gt;Episode #236: Simon Willison: Using LLMs for Python Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lucumr.pocoo.org/2025/6/10/genai-criticism/&quot;&gt;GenAI Criticism and Moral Quandaries - Armin Ronacher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.blog/news-insights/product-news/math-support-in-markdown/&quot;&gt;Math support in Markdown - The GitHub Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/marimo-notebook/&quot;&gt;Quiz: marimo: A Reactive, Reproducible Notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/42/&quot;&gt;Episode #42: What Is Data Engineering and Researching 10 Million Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded-10-000-000-jupyter-notebooks-from-github-this-is-what-we-learned/&quot;&gt;We Downloaded 10,000,000 Jupyter Notebooks From Github – This Is What We Learned&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/230/&quot;&gt;Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/501/marimo-reactive-notebooks-for-python&quot;&gt;Episode #501 - marimo - Reactive Notebooks for Python - Talk Python To Me Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/24/&quot;&gt;Episode #24: Options for Packaging Your Python Application: Wheels, Docker, and More - Itamar Turner-Trauring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/128/&quot;&gt;Episode #128: Using a Memory Profiler in Python &amp;amp; What It Can Teach You&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/172/&quot;&gt;Episode #172: Measuring Multiple Facets of Python Performance With Scalene&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cicd-github-actions/&quot;&gt;Python Continuous Integration and Deployment Using GitHub Actions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-mmap-io/&quot;&gt;Python mmap: Doing File I/O With Memory Mapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E253_03_PyCoders.4cca15e90045.mp3" type="audio/mpeg" length="50632959"/>
        <guid isPermaLink="false">ec90e961-b3d8-4a32-9ce7-a39965440b9a</guid>
        <pubDate>Fri, 13 Jun 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3101</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_253_Podcast.b1c9f22b9145.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Starting With marimo Notebooks &amp; Python App Config Management”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>252</itunes:episode>
        <title>Rodrigo Girão Serrão: Python Training, itertools, and Idioms</title>
        <itunes:title>Rodrigo Girão Serrão: Python Training, itertools, and Idioms</itunes:title>
        <link>https://realpython.com/podcasts/rpp/252/</link>
        <description>Once you&#x27;ve learned the vocabulary and syntax of the Python language, how do you progress into learning the right combinations to put into your code? How can Python&#x27;s built-in itertools library enhance your skills? This week on the show, we speak with Rodrigo Girão Serrão about teaching Python through his blog and his passion for the itertools library.</description>
        <content:encoded>&lt;p&gt;Once you&amp;rsquo;ve learned the vocabulary and syntax of the Python language, how do you progress into learning the right combinations to put into your code? How can Python&amp;rsquo;s built-in itertools library enhance your skills? This week on the show, we speak with Rodrigo Girão Serrão about teaching Python through his blog and his passion for the itertools library.&lt;/p&gt;
&lt;p&gt;We discuss Rodrigo&amp;rsquo;s different approaches to writing on his blog. He likes to document smaller concepts about Python and building code in his &amp;ldquo;Today I Learned&amp;rdquo; series. He&amp;rsquo;s also been collecting advice about the best way to use core Python features in another series called &amp;ldquo;Pydon&amp;rsquo;ts.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We cover his recent PyCon US tutorial about the built-in itertools module. The functions contained in the module create iterators for efficient looping. We discuss the categories of tools inside the collection and ways to simplify your code.&lt;/p&gt;
&lt;p&gt;We also explore the concept of vocabulary versus idioms in writing. Idioms are a group of words that hold a symbolic meaning that goes beyond the literal meaning of the individual words. We  dig into how that applies to learning Python and building a personal collection of programming idioms.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by AMD.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/missing-data-polars/&quot;&gt;Working With Missing Data in Polars&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to deal with missing data in Polars to ensure it doesn&amp;rsquo;t interfere with your data analysis. You&amp;rsquo;ll discover how to check for missing values, update them, and remove them.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:34 &amp;ndash; Creating Polars video course&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; How did you start programming and teaching Python?&lt;/li&gt;
&lt;li&gt;00:04:59 &amp;ndash; Where did mathspp come from?&lt;/li&gt;
&lt;li&gt;00:05:38 &amp;ndash; Exploring math and programming in university&lt;/li&gt;
&lt;li&gt;00:07:48 &amp;ndash; Learning APL&lt;/li&gt;
&lt;li&gt;00:09:24 &amp;ndash; What goes into building the blog?&lt;/li&gt;
&lt;li&gt;00:15:05 &amp;ndash; The Pydon&amp;rsquo;ts and writing books&lt;/li&gt;
&lt;li&gt;00:18:37 &amp;ndash; PyCon US 2025&lt;/li&gt;
&lt;li&gt;00:20:46 &amp;ndash; Sponsor: AMD&lt;/li&gt;
&lt;li&gt;00:21:23 &amp;ndash; Teaching a tutorial about itertools&lt;/li&gt;
&lt;li&gt;00:28:58 &amp;ndash; Categorizing itertools&lt;/li&gt;
&lt;li&gt;00:40:39 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:55 &amp;ndash; The difference between me and Shakespeare&lt;/li&gt;
&lt;li&gt;00:46:51 &amp;ndash; Learning and practicing with idioms&lt;/li&gt;
&lt;li&gt;00:51:01 &amp;ndash; TIL and asking questions&lt;/li&gt;
&lt;li&gt;00:53:54 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:40 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:57:35 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:01:19 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog&quot;&gt;mathspp blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/til&quot;&gt;TIL (Today I Learned) - mathspp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/missing-data-polars/&quot;&gt;Working With Missing Data in Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oxfordreference.com/display/10.1093/acref/9780191843730.001.0001/q-oro-ed5-00011125&quot;&gt;Paul Valéry - &amp;ldquo;A poem is never finished&amp;rdquo; - Oxford Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/personal-highlights-of-pycon-us-2025&quot;&gt;Personal highlights of PyCon US 2025 - mathspp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Uuhu-F05A7k&quot;&gt;PyCon US 2025 Lightning Talks - Friday, May 16th, 2025 PM - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=xumSsPlhB2o&quot;&gt;PyCon US 2025 Tutorial Sneak Peek: &amp;ldquo;Reimplement &lt;code&gt;itertools&lt;/code&gt; for fun &amp;amp; profit&amp;rdquo; Rodrigo Girão Serrão - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Alan_Perlis&quot;&gt;Alan Perlis - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/19990117034445/http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html&quot;&gt;Epigrams on Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/what-learning-apl-taught-me-about-python&quot;&gt;What learning APL taught me about Python - mathspp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=vCMoWPTPdXo&quot;&gt;What APL taught me about Python ⚡️ – lightning talk by Rodrigo Girão Serrão at EuroPython 2023 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/itertools.html&quot;&gt;itertools — Functions creating iterators for efficient looping — Python 3.13.4 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/module-itertools-overview&quot;&gt;Module itertools overview - mathspp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/books/the-little-book-of-itertools&quot;&gt;The little book of itertools - mathspp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-itertools/&quot;&gt;Python itertools By Example – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.15/whatsnew/3.14.html&quot;&gt;What&amp;rsquo;s new in Python 3.14 — Python 3.15.0a0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.beehiiv.com/&quot;&gt;beehiiv — The newsletter platform built for growth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/drops&quot;&gt;Python drops 🐍💧 newsletter - mathspp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/books&quot;&gt;Books - mathspp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/mathspp.com&quot;&gt;Rodrigo Girão Serrão 🐍🚀 (@mathspp.com) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/rodrigo-gir%C3%A3o-serr%C3%A3o/&quot;&gt;Rodrigo Girão Serrão - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@mathsppblog&quot;&gt;Rodrigo 🐍🚀 (@mathsppblog@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/mathsppblog&quot;&gt;Rodrigo 🐍🚀 (@mathsppblog) / X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/efficient-iterations-iterators-iterables/&quot;&gt;Efficient Iterations With Python Iterators and Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-with-python-polars/&quot;&gt;Working With Python Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/missing-data-polars/&quot;&gt;Working With Missing Data in Polars&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E252_03_Rodrigo.891bbf2f9bdb.mp3" type="audio/mpeg" length="61285889"/>
        <guid isPermaLink="false">c7e4bbd7-fb8e-446a-9056-562566d7fc04</guid>
        <pubDate>Fri, 06 Jun 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3769</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_252_Podcast.dc56ba6bb658.jpg"/>
        <rp:twitter-handles>@mathsppblog</rp:twitter-handles>
        <rp:twitter-title>“Rodrigo Girão Serrão: Python Training, itertools, and Idioms” with @mathsppblog</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>251</itunes:episode>
        <title>Python Thread Safety &amp; Managing Projects With uv</title>
        <itunes:title>Python Thread Safety &amp; Managing Projects With uv</itunes:title>
        <link>https://realpython.com/podcasts/rpp/251/</link>
        <description>What are the ways you can manage multithreaded code in Python? What synchronization techniques are available within Python&#x27;s threading module? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the ways you can manage multithreaded code in Python? What synchronization techniques are available within Python&amp;rsquo;s threading module? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher discusses his recent Real Python video course about thread safety. The course provides a quick overview of race conditions and how to use locks in your code. It then goes on to share a collection of additional synchronization primitives to make your code thread-safe. &lt;/p&gt;
&lt;p&gt;We dig into a tutorial by Leodanis Pozo Ramos about managing Python projects with uv. The tutorial shows you how to quickly initialize a project, build the directory structure, add dependencies, and publish your package while practicing the commands inside uv.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, unraveling t-strings, what&amp;rsquo;s new in pip 25.1, an SVG-first plotting library, and a data modeling tool built on top of Polars and Pydantic.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/thread-safety-locks-other-techniques/&quot;&gt;Thread Safety in Python: Locks and Other Techniques&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about the issues that can occur when your code is run in a multithreaded environment. Then you&amp;rsquo;ll explore the various synchronization primitives available in Python&amp;rsquo;s threading module, such as locks, which help you make your code safe.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:23 &amp;ndash; PEP 773: A Python Installation Manager for Windows&lt;/li&gt;
&lt;li&gt;00:03:09 &amp;ndash; PEP 784: Adding Zstandard to the Standard Library&lt;/li&gt;
&lt;li&gt;00:03:28 &amp;ndash; Python Insider: Python 3.14.0 Beta 1 Is Here!&lt;/li&gt;
&lt;li&gt;00:03:48 &amp;ndash; Django Security Releases Issued: 5.2.1, 5.1.9 and 4.2.2&lt;/li&gt;
&lt;li&gt;00:04:09 &amp;ndash; ty: New Type Checker and Language Server by Astral&lt;/li&gt;
&lt;li&gt;00:05:01 &amp;ndash; pyrefly: A Fast Type Checker and IDE for Python&lt;/li&gt;
&lt;li&gt;00:06:03 &amp;ndash; The Future of Textualize&lt;/li&gt;
&lt;li&gt;00:07:08 &amp;ndash; Managing Python Projects With uv&lt;/li&gt;
&lt;li&gt;00:12:20 &amp;ndash; pre-commit: Install With uv&lt;/li&gt;
&lt;li&gt;00:13:03 &amp;ndash; Python&amp;rsquo;s New t-strings&lt;/li&gt;
&lt;li&gt;00:16:38 &amp;ndash; Unraveling t-strings&lt;/li&gt;
&lt;li&gt;00:18:33 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:19:50 &amp;ndash; What&amp;rsquo;s New in Pip 25.1&lt;/li&gt;
&lt;li&gt;00:24:30 &amp;ndash; Thread Safety in Python: Locks and Other Techniques&lt;/li&gt;
&lt;li&gt;00:28:40 &amp;ndash; glyphx: SVG-first Plotting Library&lt;/li&gt;
&lt;li&gt;00:31:20 &amp;ndash; patito: A data modeling layer built on top of Polars and Pydantic&lt;/li&gt;
&lt;li&gt;00:34:02 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0773/&quot;&gt;PEP 773: A Python Installation Manager for Windows (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0784/&quot;&gt;PEP 784: Adding Zstandard to the Standard Library (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/05/python-3140-beta-1-is-here.html&quot;&gt;Python Insider: Python 3.14.0 Beta 1 Is Here!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/may/07/security-releases/&quot;&gt;Django Security Releases Issued: 5.2.1, 5.1.9 and 4.2.21&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/astral-sh/ty&quot;&gt;ty: New Type Checker and Language Server by Astral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/facebook/pyrefly&quot;&gt;pyrefly: A Fast Type Checker and IDE for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textual.textualize.io/blog/2025/05/07/the-future-of-textualize/&quot;&gt;The Future of Textualize&lt;/a&gt; &amp;ndash; Will McGugan, founder of Textualize the company has announced that they will be closing their doors. Textualize the open source project will remain.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-uv/&quot;&gt;Managing Python Projects With &lt;code&gt;uv&lt;/code&gt;&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to create and manage your Python projects using uv, an extremely fast Python package and project manager written in Rust.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2025/05/07/pre-commit-install-uv/&quot;&gt;&lt;code&gt;pre-commit&lt;/code&gt;: Install With &lt;code&gt;uv&lt;/code&gt;&lt;/a&gt; &amp;ndash; pre-commit is Adam&amp;rsquo;s favorite Git-integrated &amp;ldquo;run things on commit&amp;rdquo; tool. It acts as a kind of package manager, installing tools as necessary from their Git repositories. This post explains how to use it with &lt;code&gt;uv&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://davepeck.org/2025/04/11/pythons-new-t-strings/&quot;&gt;Python&amp;rsquo;s New &lt;code&gt;t-strings&lt;/code&gt;&lt;/a&gt; &amp;ndash; Using f-strings is a readable way of building output, but there are situations where they can&amp;rsquo;t be used because the contents need to be verified before being string-ified. The new t-strings, coming in 3.14, are a solution to this problem.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/unravelling-t-strings/&quot;&gt;Unraveling &lt;code&gt;t-strings&lt;/code&gt;&lt;/a&gt; &amp;ndash; PEP 750 introduced &lt;code&gt;t-strings&lt;/code&gt; for Python 3.14. These are a template string mechanism similar to f-strings. Although they are in 3.14.0b1, there isn&amp;rsquo;t any documentation yet, so this post explains what they are how they can be used.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ichard26.github.io/blog/2025/04/whats-new-in-pip-25.1/&quot;&gt;What&amp;rsquo;s New in Pip 25.1&lt;/a&gt; &amp;ndash; pip 25.1 introduces support for Dependency Groups (PEP 735), resumable downloads, and an installation progress bar. Dependency resolution has also received a raft of bugfixes and improvements.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/thread-safety-locks-other-techniques/&quot;&gt;Thread Safety in Python: Locks and Other Techniques&lt;/a&gt; &amp;ndash; In this video course, you&amp;rsquo;ll learn about the issues that can occur when your code is run in a multithreaded environment. Then you&amp;rsquo;ll explore the various synchronization primitives available in Python&amp;rsquo;s threading module, such as locks, which help you make your code safe.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/kjkoeller/glyphx&quot;&gt;glyphx: SVG-first Plotting Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/JakobGM/patito&quot;&gt;JakobGM/patito: A data modeling layer built on top of Polars and Pydantic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/238/&quot;&gt;Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pgjones/sql-tstring&quot;&gt;pgjones/sql-tstring: SQL-tString allows for f-string like construction of sql queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0787/&quot;&gt;PEP 787: Safer Subprocess Usage Using &lt;code&gt;t-strings&lt;/code&gt; (Postponed to 3.15)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/davepeck/pep750-examples/&quot;&gt;davepeck/pep750-examples: Examples of using t-strings as defined in PEP 750&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/327/&quot;&gt;xkcd: Exploits of a Mom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.explainxkcd.com/wiki/index.php/Little_Bobby_Tables&quot;&gt;Little Bobby Tables - explain xkcd&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/threading-python/&quot;&gt;Threading in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/thread-safety-locks-other-techniques/&quot;&gt;Thread Safety in Python: Locks and Other Techniques&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/basics-exercises-install-packages-with-pip/&quot;&gt;Python Basics Exercises: Installing Packages With pip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E251_02_PyCoders.72b35d00eb29.mp3" type="audio/mpeg" length="34428036"/>
        <guid isPermaLink="false">4399fc17-c434-46ce-b131-9ef4a1fecd8b</guid>
        <pubDate>Fri, 30 May 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2088</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_251_Podcast.f05015229ab7.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python Thread Safety &amp; Managing Projects With uv”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>250</itunes:episode>
        <title>DjangoCon Europe 2025: Live Recording From Dublin</title>
        <itunes:title>DjangoCon Europe 2025: Live Recording From Dublin</itunes:title>
        <link>https://realpython.com/podcasts/rpp/250/</link>
        <description>What goes into making video courses at Real Python? How should you build an installable Django application? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What goes into making video courses at Real Python? How should you build an installable Django application? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;This week, the Real Python Podcast is experiencing several firsts. We recorded a show in front of a live audience for the very first time, and it happened in Dublin, Ireland&amp;mdash;a place neither of us had visited before. I also got to meet Christopher Trudeau in person for the first time.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re sharing that live recording from the conference in this episode. We discuss how we create video courses at Real Python, and Christopher talks about his tutorial on how to write an installable Django application. &lt;/p&gt;
&lt;p&gt;We also share a few summaries of the talks from the conference and projects from the Django community, including a news roundup, how decisions are made inside the Django Foundation, ways you can help with reviews, using the Django ORM with Marimo notebooks, maintaining a data-oriented project, how to get foreign keys horribly wrong, a project for simple deployment, and a project for adding extra buttons inside the Django Admin.&lt;/p&gt;
&lt;p&gt;We would like to thank the audience members from Ireland who heard about DjangoCon by listening to the podcast. Thank you for attending the conference and for taking the time to say hello. We also appreciate those who asked us insightful questions at the end of the show. &lt;/p&gt;
&lt;p&gt;We enjoyed exploring Dublin and recording the show in front of such a welcoming audience. We learned a ton from all the great talks given at the conference and made some new connections for future interviews.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by AMD.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the necessary steps that you&amp;rsquo;ll need to take to set up a new Django project. You&amp;rsquo;ll learn the basic setup for any new Django project, which needs to happen before programming the specific functionality of your project.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:59 &amp;ndash; PEP 770 – Improving measurability of Python packages with Software Bill-of-Materials&lt;/li&gt;
&lt;li&gt;00:04:22 &amp;ndash; PEP 736 – Shorthand syntax for keyword arguments at invocation&lt;/li&gt;
&lt;li&gt;00:04:46 &amp;ndash; PEP 661 – Sentinel Values&lt;/li&gt;
&lt;li&gt;00:05:21 &amp;ndash; Pydantic v2.11 Released&lt;/li&gt;
&lt;li&gt;00:05:41 &amp;ndash; How We Build Video Courses at Real Python&lt;/li&gt;
&lt;li&gt;00:17:17 &amp;ndash; Sponsor: AMD&lt;/li&gt;
&lt;li&gt;00:17:56 &amp;ndash; How to Write an Installable Django App    &lt;/li&gt;
&lt;li&gt;00:22:21 &amp;ndash; Attendees from Ireland who heard about the conference from us&lt;/li&gt;
&lt;li&gt;00:23:09 &amp;ndash; Django needs you! (to do code review)&lt;/li&gt;
&lt;li&gt;00:24:12 &amp;ndash; How we make decisions in Django&lt;/li&gt;
&lt;li&gt;00:26:07 &amp;ndash; Marimo: Sharing the joys of the Django ORM with Python Notebooks&lt;/li&gt;
&lt;li&gt;00:27:30 &amp;ndash; Steering Council Introduction&lt;/li&gt;
&lt;li&gt;00:28:17 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:45 &amp;ndash; Data-Oriented Django Drei&lt;/li&gt;
&lt;li&gt;00:31:04 &amp;ndash; How to get Foreign Keys horribly wrong in Django&lt;/li&gt;
&lt;li&gt;00:32:17 &amp;ndash; Converting integer fields to bigint using Django migrations at scale&lt;/li&gt;
&lt;li&gt;00:33:17 &amp;ndash; django-simple-deploy&lt;/li&gt;
&lt;li&gt;00:34:57 &amp;ndash; django-admin-extra-buttons&lt;/li&gt;
&lt;li&gt;00:37:51 &amp;ndash; What goes into creating the podcast?&lt;/li&gt;
&lt;li&gt;00:44:04 &amp;ndash; How does RP decide what Learning Paths to create?&lt;/li&gt;
&lt;li&gt;00:48:30 &amp;ndash; Python background when starting with a framework&lt;/li&gt;
&lt;li&gt;00:54:46 &amp;ndash; Django getting started resources at Real Python&lt;/li&gt;
&lt;li&gt;00:55:34 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0770/&quot;&gt;PEP 770 – Improving measurability of Python packages with Software Bill-of-Materials (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0736/&quot;&gt;PEP 736 – Shorthand syntax for keyword arguments at invocation (Rejected)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0661/&quot;&gt;PEP 661 – Sentinel Values (Deferred)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pydantic.dev/articles/pydantic-v2-11-release&quot;&gt;Pydantic v2.11 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://2025.djangocon.eu/&quot;&gt;DjangoCon Europe 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/search?kind=course&amp;amp;order=newest&quot;&gt;How We Build Video Courses at Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/installable-django-app/&quot;&gt;How to Write an Installable Django App – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/WN7X3Y/&quot;&gt;Django needs you! (to do code review) - Sarah Boyce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/PGBMSR/&quot;&gt;How we make decisions in Django - Carlton Gibson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/JPSJBY/&quot;&gt;Marimo and Jupyter: Sharing the joys of the Django ORM with Python Notebooks - Chris Adams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/Y3X9VT/&quot;&gt;Steering Council Introduction- Emma Delescholle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/KKABLJ/&quot;&gt;Data-Oriented Django Drei - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/HAFUBH/&quot;&gt;How to get Foreign Keys horribly wrong in Django - Haki Benita&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/DLUM9M/&quot;&gt;Turn back time: Converting integer fields to bigint using Django migrations at scale - Tim Bell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://django-simple-deploy.readthedocs.io/en/latest/&quot;&gt;django-simple-deploy - readthedocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/django-admin-extra-buttons/&quot;&gt;django-admin-extra-buttons - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cltrudeau/django-awl&quot;&gt;django-awl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/230/&quot;&gt;Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/&quot;&gt;marimo - a next-generation Python notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=gfPNeQR1aSc&quot;&gt;Data-Oriented Django - Adam Johnson -  YouTube - DjangoCon 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=_0F6fyI5u8w&quot;&gt;Data Oriented Django Deux - Adam Johnson - YouTube - DjangoCon Europe 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/165/&quot;&gt;Episode #165: Leveraging the Features of Your Database With Postgres and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pgmustard.com/&quot;&gt;pgMustard - review Postgres query plans quickly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangochat.com/&quot;&gt;Django Chat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/talk/STZPLT/&quot;&gt;Django for Data Science: Deploying Machine Learning Models with Django - William Vincent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/500/django-simple-deploy-and-other-devops-things&quot;&gt;Episode #500 - Django Simple Deploy and other DevOps Things - Talk Python To Me Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/234/&quot;&gt;Episode #234: Building New Structures for Learning Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ref/&quot;&gt;Reference – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/django-web-development/&quot;&gt;Django for Web Development (Learning Path) – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-setup/&quot;&gt;Your First Steps With Django: Set Up a Django Project – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_250_03_PyCoders_V2.539f7b2df4a3.mp3" type="audio/mpeg" length="56007278"/>
        <guid isPermaLink="false">31e149d4-2c7e-4d34-b2c2-ea8cfde0ff55</guid>
        <pubDate>Fri, 23 May 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3439</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_250_Podcast.dd7e32ea4cbb.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“DjangoCon Europe 2025: Live Recording From Dublin”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>249</itunes:episode>
        <title>Going Beyond requirements.txt With pylock.toml and PEP 751</title>
        <itunes:title>Going Beyond requirements.txt With pylock.toml and PEP 751</itunes:title>
        <link>https://realpython.com/podcasts/rpp/249/</link>
        <description>What is the best way to record the Python dependencies for the reproducibility of your projects? What advantages will lock files provide for those projects? This week on the show, we welcome back Python Core Developer Brett Cannon to discuss his journey to bring PEP 751 and the pylock.toml file format to the community.</description>
        <content:encoded>&lt;p&gt;What is the best way to record the Python dependencies for the reproducibility of your projects? What advantages will lock files provide for those projects? This week on the show, we welcome back Python Core Developer Brett Cannon to discuss his journey to bring PEP 751 and the pylock.toml file format to the community.&lt;/p&gt;
&lt;p&gt;Brett has been working on a way to move beyond the &lt;code&gt;requirements.txt&lt;/code&gt; file for over six years. He was on the show previously to discuss his work on PEP 665, which was rejected. He decided to continue to push forward, authoring PEP 751 last year, which was accepted at the end of March this year.&lt;/p&gt;
&lt;p&gt;The PEP calls for a new file format to record your project&amp;rsquo;s dependencies. The goal was to have a standardized immutable record for what should be installed to reproduce your project in a virtual environment. He discusses working with other packaging projects and the compromises involved in creating a standard.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-subprocess-module/&quot;&gt;Using the Python subprocess Module&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s subprocess module to run and control external programs from your scripts. You&amp;rsquo;ll start with launching basic processes and progress to interacting with them as they execute.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Brett&amp;rsquo;s roles within the Python community&lt;/li&gt;
&lt;li&gt;00:05:41 &amp;ndash; How to move beyond requirement.txt?&lt;/li&gt;
&lt;li&gt;00:10:58 &amp;ndash; What does the community use as project artifacts?&lt;/li&gt;
&lt;li&gt;00:15:28 &amp;ndash; Building on the success of pyproject.toml&lt;/li&gt;
&lt;li&gt;00:17:44 &amp;ndash; Introducing PEP 665&lt;/li&gt;
&lt;li&gt;00:19:49 &amp;ndash; Software Bills of Materials and security&lt;/li&gt;
&lt;li&gt;00:25:20 &amp;ndash; Back to lock files and security&lt;/li&gt;
&lt;li&gt;00:31:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:27 &amp;ndash; Not giving up on the idea&lt;/li&gt;
&lt;li&gt;00:34:01 &amp;ndash; Leading into PEP 751&lt;/li&gt;
&lt;li&gt;00:38:54 &amp;ndash; Working toward a single multi-platform file&lt;/li&gt;
&lt;li&gt;00:43:02 &amp;ndash; The final push&lt;/li&gt;
&lt;li&gt;00:48:54 &amp;ndash; Leaving room for flexibility&lt;/li&gt;
&lt;li&gt;00:53:50 &amp;ndash; And it&amp;rsquo;s done, PEP 751 accepted unconditionally&lt;/li&gt;
&lt;li&gt;00:58:06 &amp;ndash; Keynote speaker at EuroPython 2025&lt;/li&gt;
&lt;li&gt;00:58:45 &amp;ndash; What are uv workspaces?&lt;/li&gt;
&lt;li&gt;01:01:02 &amp;ndash; Considering the use of lock files in data science&lt;/li&gt;
&lt;li&gt;01:05:23 &amp;ndash; Updates about Python for WASI and Emscripten&lt;/li&gt;
&lt;li&gt;01:13:51 &amp;ndash; Clarification on WASI &lt;/li&gt;
&lt;li&gt;01:20:28 &amp;ndash; Future conversation about Python launcher&lt;/li&gt;
&lt;li&gt;01:23:04 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:24:25 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:28:41 &amp;ndash; What&amp;rsquo;s the best way to follow your work online?&lt;/li&gt;
&lt;li&gt;01:31:00 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/&quot;&gt;Tall, Snarky Canadian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=wgxBHuUOmjA&quot;&gt;BREAKING: Guido van Rossum Returns as Python&amp;rsquo;s BDFL - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/&quot;&gt;Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0751/&quot;&gt;PEP 751 – A file format to record Python dependencies for installation reproducibility&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0665/#file-format&quot;&gt;PEP 665 – A file format to list Python dependencies for reproducibility of an application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/specifications/pylock-toml/#pylock-toml-spec&quot;&gt;pylock.toml Specification - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/specifications/inline-script-metadata/&quot;&gt;Inline script metadata - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0723/&quot;&gt;PEP 723 – Inline script metadata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/uv/concepts/projects/workspaces/&quot;&gt;Using workspaces - uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=UTduy7Qkvk8&quot;&gt;Do you have a flag? - Eddie Izzard - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.openmathlib.org/OpenBLAS/&quot;&gt;OpenBLAS : An optimized BLAS library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ep2025.europython.eu/&quot;&gt;EuroPython 2025 - July 14 to 20, 2025 - Prague, Czech Republic &amp;amp; Remote&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bytecodealliance.org/&quot;&gt;Bytecode Alliance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bytecodealliance.zulipchat.com/&quot;&gt;Recent conversations - Bytecode Alliance - Zulip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/my-impressions-of-gleam/&quot;&gt;My impressions of Gleam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/my-impressions-of-rescript/&quot;&gt;My impressions of ReScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://exercism.org/tracks/python&quot;&gt;Python on Exercism&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://letterboxd.com/nothingbutsnark/films/&quot;&gt;Brett Cannon&amp;rsquo;s Films - Letterboxd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensource.snarky.ca/About+Me/Media+I+Like&quot;&gt;Media I Like - Open Source by Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/snarky.ca&quot;&gt;Brett Cannon (@snarky.ca) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@brettcannon&quot;&gt;Brett Cannon (@brettcannon@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/basics-exercises-install-packages-with-pip/&quot;&gt;Python Basics Exercises: Installing Packages With pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-subprocess-module/&quot;&gt;Using the Python subprocess Module&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E249_03_BrettCannon.e0b00ccb4b8e.mp3" type="audio/mpeg" length="89125972"/>
        <guid isPermaLink="false">6c502c73-0ac5-4a7c-9fa9-d5b648c05d4b</guid>
        <pubDate>Fri, 16 May 2025 12:00:00 +0000</pubDate>
        <itunes:duration>5506</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_249_Podcast.62e32e61e11c.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Going Beyond requirements.txt With pylock.toml and PEP 751”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>248</itunes:episode>
        <title>Experiments With Gen AI, Knowledge Graphs, Workflows, and Python</title>
        <itunes:title>Experiments With Gen AI, Knowledge Graphs, Workflows, and Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/248/</link>
        <description>Are you looking for some projects where you can practice your Python skills? Would you like to experiment with building a generative AI app or an automated knowledge graph sentiment analysis tool? This week on the show, we speak with Raymond Camden about his journey into Python, his work in developer relations, and the Python projects featured on his blog.</description>
        <content:encoded>&lt;p&gt;Are you looking for some projects where you can practice your Python skills? Would you like to experiment with building a generative AI app or an automated knowledge graph sentiment analysis tool? This week on the show, we speak with Raymond Camden about his journey into Python, his work in developer relations, and the Python projects featured on his blog.&lt;/p&gt;
&lt;p&gt;Raymond is a developer evangelist and advocate who works with APIs, AI, and the web. He&amp;rsquo;s been expanding his developer knowledge by learning Python and documenting his journey through his blog and with the live-streaming show Code Break. &lt;/p&gt;
&lt;p&gt;We discuss a couple of his recent Python projects. The first is building a resume review and revision system with generative AI and Flask. The other project uses Diffbot&amp;rsquo;s knowledge graph and Pipedream&amp;rsquo;s workflow tools to create an automated sentiment analysis tool. &lt;/p&gt;
&lt;p&gt;This episode is sponsored by AMD.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/what-can-you-do-with-python/&quot;&gt;What Can You Do With Python?&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll find a set of guidelines that will help you start applying your Python skills to solve real-world problems. By the end, you&amp;rsquo;ll be able to answer the question, &amp;ldquo;What can you do with Python?&amp;rdquo;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:15 &amp;ndash; Programming background and learning Python&lt;/li&gt;
&lt;li&gt;00:07:59 &amp;ndash; What&amp;rsquo;s been hard about learning a new language?&lt;/li&gt;
&lt;li&gt;00:09:26 &amp;ndash; Learning pip, managing packages, and suggesting uv&lt;/li&gt;
&lt;li&gt;00:12:26 &amp;ndash; Developer relations and sharing knowledge&lt;/li&gt;
&lt;li&gt;00:14:40 &amp;ndash; Sponsor: AMD - AIatAMD&lt;/li&gt;
&lt;li&gt;00:15:17 &amp;ndash; Moving things from Code Break to the blog&lt;/li&gt;
&lt;li&gt;00:17:27 &amp;ndash; Building a resume review and revise system with Gen AI&lt;/li&gt;
&lt;li&gt;00:31:58 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:33:16 &amp;ndash; Adding the revision step  &lt;/li&gt;
&lt;li&gt;00:35:59 &amp;ndash; Exploring code assistance&lt;/li&gt;
&lt;li&gt;00:38:52 &amp;ndash; Changing into the developer relations role&lt;/li&gt;
&lt;li&gt;00:41:40 &amp;ndash; Using Diffbot and Pipedream for sentiment analysis project&lt;/li&gt;
&lt;li&gt;00:48:06 &amp;ndash; Pipedream workflow with Python scripts&lt;/li&gt;
&lt;li&gt;00:53:28 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:45 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:57:45 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:58:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raymondcamden.com/&quot;&gt;Raymond Camden&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cfe.dev/talkshow/code-break/&quot;&gt;Code Break - CFE.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cfe.dev/talkshows/codebreak-02042025/&quot;&gt;Exploring AI with Gemini and Transformers.js - CFE.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raymondcamden.com/2025/02/05/building-a-resume-review-and-revise-system-with-generative-ai-and-flask&quot;&gt;Building a Resume Review and Revise System with Generative AI and Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flask.palletsprojects.com/en/stable/quickstart/&quot;&gt;Flask Quickstart - Flask Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ai.google.dev/gemini-api/docs/api-key&quot;&gt;Get a Gemini API key - Google AI for Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raymondcamden.com/2025/03/10/automating-and-responding-to-sentiment-analysis-with-diffbots-knowledge-graph&quot;&gt;Automating and Responding to Sentiment Analysis with Diffbot&amp;rsquo;s Knowledge Graph&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.diffbot.com/&quot;&gt;Diffbot - Knowledge Graph, AI Web Data Extraction and Crawling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raymondcamden.com/tags/python&quot;&gt;Python Posts - Raymond Camden (27 Posts)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pipedream.com/&quot;&gt;Pipedream - Connect APIs, AI, databases, and more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raymondcamden.com/2025/03/20/geolocating-a-folder-of-images-with-python&quot;&gt;Geolocating a Folder of Images with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://expertbeacon.com/mastering-google-fu-an-experts-guide-to-advanced-search-techniques/&quot;&gt;Mastering Google Fu: An Expert&amp;rsquo;s Guide To Advanced Search Techniques&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/uv/&quot;&gt;uv - Astral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-uv/&quot;&gt;Managing Python Projects With uv: An All-in-One Solution – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/238/&quot;&gt;Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/&quot;&gt;marimo - A next-generation Python notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/230/&quot;&gt;Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.drumeo.com/&quot;&gt;Drumeo - Reach your drumming goals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=gSX7D-dJRBo&quot;&gt;Jess Bowen Hears Rage Against The Machine For The First Time - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dhs.gov/real-id&quot;&gt;REAL ID - Homeland Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2025/&quot;&gt;PyCon US 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/raymondcamden/&quot;&gt;Raymond Camden - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mastodon.social/@raymondcamden&quot;&gt;Raymond Camden (@raymondcamden@mastodon.social) - Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/create-scalable-flask-web-app/&quot;&gt;Creating a Scalable Flask Web Application From Scratch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-pip-install/&quot;&gt;Python Basics: Installing Packages With pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/what-can-you-do-with-python/&quot;&gt;What Can You Do With Python?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E248_03_Raymond_Camden.1a741348969f.mp3" type="audio/mpeg" length="57979362"/>
        <guid isPermaLink="false">bd24b426-f5d8-4d68-8862-88b73efe1cfe</guid>
        <pubDate>Fri, 09 May 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3558</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_248_Podcast.ca24f08a4f6e.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Experiments With Gen AI, Knowledge Graphs, Workflows, and Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>247</itunes:episode>
        <title>Exploring DuckDB &amp; Comparing Python Expressions vs Statements</title>
        <itunes:title>Exploring DuckDB &amp; Comparing Python Expressions vs Statements</itunes:title>
        <link>https://realpython.com/podcasts/rpp/247/</link>
        <description>Are you looking for a fast database that can handle large datasets in Python? What&#x27;s the difference between a Python expression and a statement? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you looking for a fast database that can handle large datasets in Python? What&amp;rsquo;s the difference between a Python expression and a statement? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We cover a Real Python article that explores DuckDB and discuss creating a database by reading data from multiple file formats. When building queries, DuckDB uses standard SQL syntax, or for an object-oriented approach, you can chain methods together using the Python API. We also explore the advantages of lazy evaluation using DuckDB relations.&lt;/p&gt;
&lt;p&gt;Christopher digs into another Real Python tutorial that covers the differences between expressions and statements in Python. The piece goes beyond definitions to answer questions about where and when to use them in your code.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, an investigation into the lack of security in MCP, a discussion on the differences between staff engineer and engineering manager roles, guidance on creating and modifying Word documents with Python, and a project to go beyond print for debugging your code.&lt;/p&gt;
&lt;p&gt;Check out &lt;a href=&quot;https://realpython.com/workshops&quot;&gt;&lt;strong&gt;realpython.com/workshops&lt;/strong&gt;&lt;/a&gt; to join the upcoming cohort of the Intermediate Python Deep Dive course.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/creating-dice-roll-application/&quot;&gt;Creating a Python Dice Roll Application&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step video course, you&amp;rsquo;ll build a dice-rolling simulator app with a minimal text-based user interface using Python. The app will simulate the rolling of up to six dice. Each individual die will have six sides.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:24 &amp;ndash; Python 3.14.0a7, 3.13.3, 3.12.10, 3.11.12, 3.10.17 and 3.9.22 are now available&lt;/li&gt;
&lt;li&gt;00:02:47 &amp;ndash; PEP 768: Safe External Debugger Interface for CPython (Accepted)&lt;/li&gt;
&lt;li&gt;00:03:16 &amp;ndash; PEP 781: Make TYPE_CHECKING a Built-in Constant&lt;/li&gt;
&lt;li&gt;00:03:43 &amp;ndash; PEP 750: Template Strings (Accepted)&lt;/li&gt;
&lt;li&gt;00:04:15 &amp;ndash; PEP 751: A file format to record Python dependencies for installation reproducibility (Accepted)&lt;/li&gt;
&lt;li&gt;00:05:20 &amp;ndash; EuroPython July 14th-20th Prague, Tickets Available&lt;/li&gt;
&lt;li&gt;00:05:42 &amp;ndash; Django 5.2 Released&lt;/li&gt;
&lt;li&gt;00:05:59 &amp;ndash; Django security releases issued: 5.1.8 and 5.0.14&lt;/li&gt;
&lt;li&gt;00:06:19 &amp;ndash; Introducing DuckDB&lt;/li&gt;
&lt;li&gt;00:12:19 &amp;ndash; Expression vs Statement in Python: What&amp;rsquo;s the Difference?&lt;/li&gt;
&lt;li&gt;00:17:11 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:18:33 &amp;ndash; The &amp;ldquo;S&amp;rdquo; in MCP Stands for Security&lt;/li&gt;
&lt;li&gt;00:28:08 &amp;ndash; Real Python Workshops&lt;/li&gt;
&lt;li&gt;00:30:26 &amp;ndash; Staff Engineer vs Engineering Manager&lt;/li&gt;
&lt;li&gt;00:44:48 &amp;ndash; python-docx: Create and modify Word documents with Python&lt;/li&gt;
&lt;li&gt;00:47:28 &amp;ndash; peek: like print, but easy&lt;/li&gt;
&lt;li&gt;00:50:32 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/04/python-3140a7-3133-31210-31112-31017.html&quot;&gt;Python 3.14.0a7, 3.13.3, 3.12.10, 3.11.12, 3.10.17 and 3.9.22 are now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0768/&quot;&gt;PEP 768: Safe External Debugger Interface for CPython (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0781/&quot;&gt;PEP 781: Make TYPE_CHECKING a Built-in Constant&lt;/a&gt; &amp;ndash; This PEP proposes adding a new built-in variable, TYPE_CHECKING, which is True when the code is being analyzed by a static type checker, and False during normal runtime.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0750/&quot;&gt;PEP 750: Template Strings (Accepted)&lt;/a&gt; &amp;ndash; This PEP introduces template strings for custom string processing.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0751/&quot;&gt;PEP 751: A file format to record Python dependencies for installation reproducibility (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ep2025.europython.eu/tickets/&quot;&gt;EuroPython July 14th-20th Prague, Tickets Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/apr/02/django-52-released/&quot;&gt;Django 5.2 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/apr/02/security-releases/&quot;&gt;Django security releases issued: 5.1.8 and 5.0.14&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-duckdb/&quot;&gt;Introducing DuckDB&lt;/a&gt; &amp;ndash; In this showcase tutorial, you&amp;rsquo;ll be introduced to a library that allows you to use a database in your code. DuckDB provides an efficient relational database that supports many features you may already be familiar with from more traditional relational database systems.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-expression-vs-statement/&quot;&gt;Expression vs Statement in Python: What&amp;rsquo;s the Difference?&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll explore the differences between an expression and a statement in Python. You&amp;rsquo;ll learn how expressions evaluate to values, while statements can cause side effects. You&amp;rsquo;ll also explore the gray areas between them, which will enhance your Python programming skills.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elenacross7.medium.com/%EF%B8%8F-the-s-in-mcp-stands-for-security-91407b33ed6b&quot;&gt;The &amp;ldquo;S&amp;rdquo; in MCP Stands for Security - Elena Cross&lt;/a&gt; &amp;ndash; Model Context Protocol is a new standard behind how Large Language Models integrate with tools and data. Unfortunately, MCP is not secure by default.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.alexewerlof.com/p/staff-engineer-vs-engineering-manager&quot;&gt;Staff Engineer vs Engineering Manager - Alex Ewerlöf Notes&lt;/a&gt; &amp;ndash; When do you need a Staff Engineers? What&amp;rsquo;s the difference between Staff Engineer and Engineering Manager? This article covers these questions and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python-openxml/python-docx&quot;&gt;python-docx: Create and modify Word documents with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://salabim.org/peek/&quot;&gt;peek: like print, but easy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/workshops/intermediate-deep-dive/&quot;&gt;Intermediate Python Deep Dive Course – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/227/&quot;&gt;Episode #227: New PEPs: Template Strings &amp;amp; External Wheel Hosting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duckdb.org/&quot;&gt;DuckDB – An in-process SQL OLAP database management system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Online_analytical_processing&quot;&gt;Online analytical processing - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/&quot;&gt;Model Context Protocol has prompt injection security problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modelcontextprotocol.io/introduction&quot;&gt;Model Context Protocol - Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/modelcontextprotocol/python-sdk&quot;&gt;modelcontextprotocol/python-sdk: The official Python SDK for Model Context Protocol servers and clients&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/oregonthedm.bsky.social/post/3lmeenfu6r22x&quot;&gt;&amp;ldquo;Biggest commitment to a 3 second joke I&amp;rsquo;ve ever seen&amp;rdquo; — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/creating-dice-roll-application/&quot;&gt;Creating a Python Dice Roll Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-assignment-expressions-walrus-operator/&quot;&gt;Python Assignment Expressions and Using the Walrus Operator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E247_03_PyCoders.5c46f3adc890.mp3" type="audio/mpeg" length="50930236"/>
        <guid isPermaLink="false">f03b568f-1aab-46a8-9941-50236bc76990</guid>
        <pubDate>Fri, 18 Apr 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3121</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_247_Podcast.c36a4a0d6491.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring DuckDB &amp; Comparing Python Expressions vs Statements”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>246</itunes:episode>
        <title>Learning Intermediate Python With a Deep Dive Course</title>
        <itunes:title>Learning Intermediate Python With a Deep Dive Course</itunes:title>
        <link>https://realpython.com/podcasts/rpp/246/</link>
        <description>Do you want to learn deeper concepts in Python? Would the accountability of scheduled group classes help you get past the basics? This week, five Real Python Intermediate Deep Dive workshop members discuss their experiences.</description>
        <content:encoded>&lt;p&gt;Do you want to learn deeper concepts in Python? Would the accountability of scheduled group classes help you get past the basics? This week, five Real Python Intermediate Deep Dive workshop members discuss their experiences.&lt;/p&gt;
&lt;p&gt;We discuss the struggles of learning Python independently and the barriers to moving beyond the basics. We also explore the advantages of having a curated collection of both written tutorials and video courses. The cohort members also talk about filling in the gaps in their knowledge, using their new skills at work, and building confidence in their Python journey.&lt;/p&gt;
&lt;p&gt;Check out &lt;a href=&quot;https://realpython.com/live&quot;&gt;&lt;strong&gt;realpython.com/live&lt;/strong&gt;&lt;/a&gt; to join the upcoming cohort of the Intermediate Python Deep Dive course.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/efficient-iterations-iterators-iterables/&quot;&gt;Efficient Iterations With Python Iterators and Iterables&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn what iterators and iterables are in Python. You&amp;rsquo;ll learn how they differ and when to use them in your code. You&amp;rsquo;ll also learn how to create your own iterators and iterables to make data processing more efficient.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:04 &amp;ndash; Matt&amp;rsquo;s background&lt;/li&gt;
&lt;li&gt;00:03:17 &amp;ndash; Chris&amp;rsquo; background&lt;/li&gt;
&lt;li&gt;00:05:55 &amp;ndash; Jerry&amp;rsquo;s background&lt;/li&gt;
&lt;li&gt;00:07:40 &amp;ndash; Akhil&amp;rsquo;s background&lt;/li&gt;
&lt;li&gt;00:09:25 &amp;ndash; Rich&amp;rsquo;s background&lt;/li&gt;
&lt;li&gt;00:10:35 &amp;ndash; What skills didn&amp;rsquo;t translate from the previous language?&lt;/li&gt;
&lt;li&gt;00:11:54 &amp;ndash; Learning deeper concepts about OOP in Python&lt;/li&gt;
&lt;li&gt;00:15:42 &amp;ndash; Moving beyond scripts and ability to read code&lt;/li&gt;
&lt;li&gt;00:19:41 &amp;ndash; How accountability helps with learning&lt;/li&gt;
&lt;li&gt;00:23:41 &amp;ndash; Challenges with self-paced learning&lt;/li&gt;
&lt;li&gt;00:28:11 &amp;ndash; Having a curated collection of written and video materials&lt;/li&gt;
&lt;li&gt;00:33:28 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:56 &amp;ndash; What were surprising discoveries?&lt;/li&gt;
&lt;li&gt;00:36:32 &amp;ndash; Working on a project&lt;/li&gt;
&lt;li&gt;00:37:27 &amp;ndash; Using these new skills at work&lt;/li&gt;
&lt;li&gt;00:45:01 &amp;ndash; Refining existing skills&lt;/li&gt;
&lt;li&gt;00:46:41 &amp;ndash; Do you feel more confident to learn even further?&lt;/li&gt;
&lt;li&gt;00:49:26 &amp;ndash; What are other Python projects you work on?&lt;/li&gt;
&lt;li&gt;00:55:17 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/workshops/intermediate-deep-dive/&quot;&gt;Intermediate Python Deep Dive Course – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python3-object-oriented-programming/&quot;&gt;Object-Oriented Programming (OOP) in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Flipped_classroom&quot;&gt;Flipped classroom - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/itertools.html&quot;&gt;itertools — Functions creating iterators for efficient looping — Python 3.13.3 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/primer-on-python-decorators/&quot;&gt;Primer on Python Decorators – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pointers-in-python/#a-note-on-intern-objects-in-python&quot;&gt;Pointers in Python: What&amp;rsquo;s the Point? Intern Objects – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-classes/&quot;&gt;Data Classes in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/efficient-iterations-iterators-iterables/&quot;&gt;Efficient Iterations With Python Iterators and Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/map-function-transform-iterables/&quot;&gt;Python&amp;#x27;s map() Function: Transforming Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E246g_02_group.f81fd9edce63.mp3" type="audio/mpeg" length="55139865"/>
        <guid isPermaLink="false">650f83dc-a5f4-4714-a08d-7a9c3fb62a22</guid>
        <pubDate>Fri, 11 Apr 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3386</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_246_Podcast_Flat.4af05e571944.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Learning Intermediate Python With a Deep Dive Course”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>245</itunes:episode>
        <title>GUIs &amp; TUIs: Choosing a User Interface for Your Python Project</title>
        <itunes:title>GUIs &amp; TUIs: Choosing a User Interface for Your Python Project</itunes:title>
        <link>https://realpython.com/podcasts/rpp/245/</link>
        <description>What are the current Python graphical user interface libraries? Should you build everything in the terminal and create a text-based user interface instead? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the current Python graphical user interface libraries? Should you build everything in the terminal and create a text-based user interface instead? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We cover a Real Python article that explores the Textual library. Textual is a Python toolkit and framework for creating attractive and functional text-based user interface (TUI) applications that run in the user&amp;rsquo;s terminal. The tutorial covers organizing layouts of widgets, styling components, and handling events and user actions within an application.&lt;/p&gt;
&lt;p&gt;We continue our exploration of user interface options for your projects by discussing a recent article about Python GUI libraries.  The piece compares the frameworks, showing a quick preview of how they look and sample code for a simple application. We share our thoughts and experiences with several of the libraries as we go through the collection.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, handling binary data in Python, exploring the rules terminal programs follow, using Microsoft Edge&amp;rsquo;s online text-to-speech service from Python, and a project for reading and writing compressed JSON.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/code-image-generator/&quot;&gt;Building a Code Image Generator With Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step video course, you&amp;rsquo;ll build a code image generator that creates nice-looking images of your code snippets to share on social media. Your code image generator will be powered by the Flask web framework and include exciting packages like Pygments and Playwright.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:16 &amp;ndash; PyCon US: Travel Grants &amp;amp; Refund Policy&lt;/li&gt;
&lt;li&gt;00:02:57 &amp;ndash; PyCon US 2025 travel guidance?&lt;/li&gt;
&lt;li&gt;00:03:32 &amp;ndash; Faster Branch Coverage Measurement&lt;/li&gt;
&lt;li&gt;00:04:11 &amp;ndash; Python Release Python 3.14.0a6&lt;/li&gt;
&lt;li&gt;00:04:21 &amp;ndash; Django 5.2 Release Candidate 1 Released&lt;/li&gt;
&lt;li&gt;00:04:30 &amp;ndash; PyOhio July 26-27, Call for Papers&lt;/li&gt;
&lt;li&gt;00:04:59 &amp;ndash; PEP 779: Criteria for Supported Status for Free-Threaded Python&lt;/li&gt;
&lt;li&gt;00:05:45 &amp;ndash; Python Textual: Build Beautiful UIs in the Terminal&lt;/li&gt;
&lt;li&gt;00:11:32 &amp;ndash; Bytes Objects: Handling Binary Data in Python&lt;/li&gt;
&lt;li&gt;00:16:41 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:18:01 &amp;ndash; Which Python GUI Library Should You Use in 2025?&lt;/li&gt;
&lt;li&gt;00:32:08 &amp;ndash; Real Python Workshops&lt;/li&gt;
&lt;li&gt;00:34:23 &amp;ndash; &amp;ldquo;Rules&amp;rdquo; That Terminal Programs Follow&lt;/li&gt;
&lt;li&gt;00:40:29 &amp;ndash; edge-tts: Use Microsoft Edge&amp;rsquo;s online text-to-speech service from Python&lt;/li&gt;
&lt;li&gt;00:44:07 &amp;ndash; compress_json: Read and Write Compressed JSON&lt;/li&gt;
&lt;li&gt;00:45:34 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.blogspot.com/2025/03/travelgrants2025.html&quot;&gt;PyCon US: Travel Grants &amp;amp; Refund Policy&lt;/a&gt; &amp;ndash; PyCon US offers travel grants to visitors. This post explains how they&amp;rsquo;re decided. Also, with changing border requirements in the US, you may also be interested in the &lt;a href=&quot;https://pycon.blogspot.com/2025/03/refund-policy-for-international.html&quot;&gt;Refund Policy for International Attendees&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pycon-us-2025-travel-guidance/85196&quot;&gt;PyCon US 2025 travel guidance? - PSF / Ask the staff! - Discussions on Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/blog/202503/faster_branch_coverage_measurement.html&quot;&gt;Faster Branch Coverage Measurement&lt;/a&gt; &amp;ndash; After nearly two years, Ned thinks this is finally ready: &lt;code&gt;coverage.py&lt;/code&gt; can use &lt;code&gt;sys.monitoring&lt;/code&gt; to more efficiently measure branch coverage.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3140a6/&quot;&gt;Python Release Python 3.14.0a6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/mar/19/django-52-rc1/&quot;&gt;Django 5.2 Release Candidate 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.com/pyohio-2025/cfp&quot;&gt;PyOhio July 26-27, Call for Papers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0779/&quot;&gt;PEP 779: Criteria for Supported Status for Free-Threaded Python&lt;/a&gt; &amp;ndash; PEP 703 (Making the Global Interpreter Lock Optional in CPython), described three phases of development. This PEP outlines the criteria to move between phases.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-textual/&quot;&gt;Python Textual: Build Beautiful UIs in the Terminal&lt;/a&gt; &amp;ndash; Textual is a Python library for building text-based user interfaces (TUIs) that support rich text, advanced layouts, and event-driven interactivity in the terminal. This tutorial showcases some of the ways you can design an appealing and engaging UI using Textual.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-bytes/&quot;&gt;Bytes Objects: Handling Binary Data in Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about Python&amp;rsquo;s bytes objects, which help you process low-level binary data. You&amp;rsquo;ll explore how to create and manipulate byte sequences in Python and how to convert between bytes and strings. Additionally, you&amp;rsquo;ll practice this knowledge by coding a few fun examples.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonguis.com/faq/which-python-gui-library/&quot;&gt;Which Python GUI Library Should You Use in 2025?&lt;/a&gt; &amp;ndash; This post compares the Python GUI libraries available in 2025, including PyQT, PySide, TKinter, and Kivy.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jvns.ca/blog/2024/11/26/terminal-rules/&quot;&gt;&amp;ldquo;Rules&amp;rdquo; That Terminal Programs Follow&lt;/a&gt; &amp;ndash; The conventions that most terminal programs follow mean that you can more easily know how to control them. Julia&amp;rsquo;s post talks about &amp;ldquo;rules&amp;rdquo; that terminal programs tend to follow, and so should yours.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rany2/edge-tts&quot;&gt;edge-tts: Use Microsoft Edge&amp;rsquo;s online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/LucaCappelletti94/compress_json&quot;&gt;compress_json: Read and Write Compressed JSON&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/workshops/intermediate-deep-dive/&quot;&gt;Intermediate Python Deep Dive Course – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/80/&quot;&gt;Episode #80: Make Your Python App Interactive With a Text User Interface (TUI)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/contact-book-python-textual/&quot;&gt;Build a Contact Book App With Python, Textual, and SQLite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/binary-bytes-bitwise-operators/&quot;&gt;Binary, Bytes, and Bitwise Operators in Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Nibble_(magazine)&quot;&gt;Nibble (magazine) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/tutorials/gui/&quot;&gt;Python GUI Programming – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-tkinter/&quot;&gt;Python GUI Programming With Tkinter – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pyqt-gui-calculator/&quot;&gt;Python and PyQt: Building a GUI Desktop Calculator – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cross-platform-gui-apps-kivy/&quot;&gt;Build Cross-Platform GUI Apps With Kivy – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-with-wxpython/&quot;&gt;How to Build a Python GUI Application With wxPython – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/182/&quot;&gt;Episode #182: Building a Python JSON Parser &amp;amp; Discussing Ideas for PEPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup&quot;&gt;Speech Synthesis Markup Language (SSML) overview - Speech service - Azure AI services | Microsoft Learn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-gui-application-tkinter/&quot;&gt;Building a Python GUI Application With Tkinter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/build-gui-calculator-pyqt/&quot;&gt;Build a GUI Calculator With PyQt and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/code-image-generator/&quot;&gt;Building a Code Image Generator With Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E245_03_PyCoders.806938d9e7f8.mp3" type="audio/mpeg" length="45806264"/>
        <guid isPermaLink="false">d477330d-584e-49c4-bc14-f9e12c3d0dc4</guid>
        <pubDate>Fri, 04 Apr 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2799</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_245_Podcast.2a75504f9daa.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“GUIs &amp; TUIs: Choosing a User Interface for Your Python Project”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>244</itunes:episode>
        <title>A Decade of Automating the Boring Stuff With Python</title>
        <itunes:title>A Decade of Automating the Boring Stuff With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/244/</link>
        <description>What goes into updating one of the most popular books about working with Python? After a decade of changes in the Python landscape, what projects, libraries, and skills are relevant to an office worker? This week on the show, we speak with previous guest Al Sweigart about the third edition of &quot;Automate the Boring Stuff With Python.&quot;</description>
        <content:encoded>&lt;p&gt;What goes into updating one of the most popular books about working with Python? After a decade of changes in the Python landscape, what projects, libraries, and skills are relevant to an office worker? This week on the show, we speak with previous guest Al Sweigart about the third edition of &amp;ldquo;Automate the Boring Stuff With Python.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Al shares his thoughts on teaching Python and writing books over the past decade. In this third edition, he shares several new projects and updates to existing ones. We discuss Python tools for transcription, text-to-speech, notifications, and data storage. &lt;/p&gt;
&lt;p&gt;We talk about the importance of debugging and improvements to Python error messages. He also shares a collection of resources, including conference talks, small projects, and Python libraries.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this Code Conversation video course, you&amp;rsquo;ll take a deep dive into how scopes and closures work in Python. To do this, you&amp;rsquo;ll use a debugger to walk through some sample code, and then you&amp;rsquo;ll take a peek under the hood to see how Python holds variables internally.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; The Recurse Center and scrollart.org&lt;/li&gt;
&lt;li&gt;00:05:11 &amp;ndash; Third Edition of &lt;em&gt;Automate the Boring Stuff With Python&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;00:07:32 &amp;ndash; The types of projects covered in the new edition&lt;/li&gt;
&lt;li&gt;00:09:44 &amp;ndash; What was the original page count?&lt;/li&gt;
&lt;li&gt;00:11:00 &amp;ndash; Learning Python and it being perceived as magic&lt;/li&gt;
&lt;li&gt;00:12:00 &amp;ndash; PyCon US 2025 - Make Python Talk and Listen&lt;/li&gt;
&lt;li&gt;00:14:22 &amp;ndash; Text-to-speech with pyttsx3&lt;/li&gt;
&lt;li&gt;00:19:31 &amp;ndash; Generating notifications and messages with ntfy.sh&lt;/li&gt;
&lt;li&gt;00:22:09 &amp;ndash; Exploring SQLite&lt;/li&gt;
&lt;li&gt;00:28:26 &amp;ndash; Teaching enough to start building &lt;/li&gt;
&lt;li&gt;00:31:03 &amp;ndash; The Recursive Book of Recursion&lt;/li&gt;
&lt;li&gt;00:32:45 &amp;ndash; Do you see a change in the audience of Python learners&lt;/li&gt;
&lt;li&gt;00:35:36 &amp;ndash; Expectations put upon a new Python learner&lt;/li&gt;
&lt;li&gt;00:40:28 &amp;ndash; What changes has 10 years inspired for the book?&lt;/li&gt;
&lt;li&gt;00:43:40 &amp;ndash; Teaching things in a new order and debugging&lt;/li&gt;
&lt;li&gt;00:47:31 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:48:56 &amp;ndash; Including simple projects&lt;/li&gt;
&lt;li&gt;00:54:12 &amp;ndash; Book release timeframe and pre-orders&lt;/li&gt;
&lt;li&gt;00:58:26 &amp;ndash; In-line metadata for Python script sharing&lt;/li&gt;
&lt;li&gt;00:59:33 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:01:56 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:04:34 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:05:19 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/automate-boring-stuff-python-3rd-edition&quot;&gt;Automate the Boring Stuff with Python, 3rd Edition - No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.recurse.com/&quot;&gt;The Recurse Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scrollart.org/&quot;&gt;scrollart.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=SyKUBXJLL50&quot;&gt;20 GOTO 10: How to Make Scrolling ASCII Art - PyTexas 2024 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/26/&quot;&gt;Episode #26: 5 Years Podcasting Python With Michael Kennedy: Growth, GIL, Async, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/openai/whisper&quot;&gt;whisper: Robust Speech Recognition via Large-Scale Weak Supervision&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyvideo.org/speaker/al-sweigart.html&quot;&gt;PyVideo.org - Al Sweigart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nateshmbhat/pyttsx3&quot;&gt;pyttsx3: Offline Text To Speech Synthesis for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyttsx3/&quot;&gt;pyttsx3 - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tesseract-ocr/tesseract&quot;&gt;tesseract: Tesseract Open Source OCR Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2025/schedule/presentation/114/&quot;&gt;Make Python Talk, Make Python Listen - PyCon US 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/yt-dlp/yt-dlp&quot;&gt;yt-dlp: A feature-rich command-line audio/video downloader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ntfy.sh/#free-software&quot;&gt;ntfy.sh - Send push notifications to your phone via PUT/POST&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlite.org/&quot;&gt;SQLite Home Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files – video course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/recursive-book-recursion&quot;&gt;The Recursive Book of Recursion - No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=argy7dRB_LI&quot;&gt;Al Sweigart: The Amazing Mutable, Immutable Tuple - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lp.jetbrains.com/python-developers-survey-2023/&quot;&gt;Python Developers Survey 2023 Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata&quot;&gt;Inline script metadata - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2025/&quot;&gt;PyCon US 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@AlSweigart@mastodon.social&quot;&gt;Al Sweigart (@AlSweigart@mastodon.social) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/alsweigart.bsky.social&quot;&gt;Al Sweigart (@alsweigart.bsky.social) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/&quot;&gt;Invent with Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E244_02_AL_Sweigart.8c4fa8f07f53.mp3" type="audio/mpeg" length="64399636"/>
        <guid isPermaLink="false">72c0cd31-a643-4b1d-b11c-01d9794a13c9</guid>
        <pubDate>Fri, 21 Mar 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3961</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_244_Podcast.08f2ef081fe0.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“A Decade of Automating the Boring Stuff With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>243</itunes:episode>
        <title>Manage Projects With pyproject.toml &amp; Explore Polars LazyFrames</title>
        <itunes:title>Manage Projects With pyproject.toml &amp; Explore Polars LazyFrames</itunes:title>
        <link>https://realpython.com/podcasts/rpp/243/</link>
        <description>How can you simplify the management of your Python projects with one file? What are the advantages of using LazyFrames in Polars? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How can you simplify the management of your Python projects with one file? What are the advantages of using LazyFrames in Polars? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share a recent Real Python tutorial by Ian Currie about managing projects with a &lt;code&gt;pyproject.toml&lt;/code&gt; file. This file simplifies Python project configuration by unifying package setup, managing dependencies, and streamlining builds.&lt;/p&gt;
&lt;p&gt;Christopher continues his exploration of the Polars library by covering another Real Python tutorial about working with LazyFrames. He describes how LazyFrames don&amp;rsquo;t contain data but instead store a set of instructions known as a query plan.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, building a to-do app with Python and Kivy, working with DuckDB directly instead of using a DataFrame library, a discussion on fiction and nonfiction books about computer science, a terminal visual effects engine, and a full-stack platform for interactive data apps.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this Code Conversation video course, you&amp;rsquo;ll learn how to package your everyday projects with &lt;code&gt;pyproject.toml&lt;/code&gt;. Playing on the same team as the import system means you can call your project from anywhere, ensure consistent imports, and have one file that&amp;rsquo;ll work for many build systems.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:00 &amp;ndash; Happy Pi Day!&lt;/li&gt;
&lt;li&gt;00:02:15 &amp;ndash; Follow-up: Is BDD Dying?&lt;/li&gt;
&lt;li&gt;00:03:32 &amp;ndash; Django security releases issued: 5.1.7, 5.0.13 and 4.2.20&lt;/li&gt;
&lt;li&gt;00:04:01 &amp;ndash; Django 5.2 Beta 1 Released&lt;/li&gt;
&lt;li&gt;00:04:11 &amp;ndash; DjangoCon Africa Aug 2025 CFP&lt;/li&gt;
&lt;li&gt;00:04:29 &amp;ndash; Launching the PyCon US 2025 Schedule&lt;/li&gt;
&lt;li&gt;00:04:48 &amp;ndash; PyPy v7.3.19 Release&lt;/li&gt;
&lt;li&gt;00:05:06 &amp;ndash; Poetry 2.0.0 Released&lt;/li&gt;
&lt;li&gt;00:05:34 &amp;ndash; How to Manage Python Projects With &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:12:10 &amp;ndash; Build a To-Do App With Python and Kivy&lt;/li&gt;
&lt;li&gt;00:16:22 &amp;ndash; Mastering DuckDB When You&amp;rsquo;re Used to pandas or Polars&lt;/li&gt;
&lt;li&gt;00:21:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:22:42 &amp;ndash; How to Work With Polars LazyFrames&lt;/li&gt;
&lt;li&gt;00:27:41 &amp;ndash; Fiction/Non-Fiction Books on the Topic of CS?&lt;/li&gt;
&lt;li&gt;00:42:28 &amp;ndash; preswald: Full-Stack Platform for Interactive Data Apps&lt;/li&gt;
&lt;li&gt;00:45:52 &amp;ndash; terminaltexteffects: Terminal Visual Effects Engine&lt;/li&gt;
&lt;li&gt;00:47:59 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Follow-up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/239/&quot;&gt;Episode #239: Behavior-Driven vs Test-Driven Development &amp;amp; Using Regex in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://automationpanda.com/2025/03/06/is-bdd-dying/&quot;&gt;Is BDD Dying? -  Automation Panda&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/mar/06/security-releases/&quot;&gt;Django security releases issued: 5.1.7, 5.0.13 and 4.2.20 | Weblog | Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/feb/19/django-52-beta-1-released/&quot;&gt;Django 5.2 Beta 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.com/djangocon-africa-2025/cfp&quot;&gt;DjangoCon Africa Aug 2025, Arusha, Tanzania, (Call for Proposals)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.blogspot.com/2025/02/launching-pycon-us-2025-schedule.html&quot;&gt;Launching the PyCon US 2025 Schedule&lt;/a&gt; &amp;ndash; This post summarizes the schedule for PyConUS, including a summary of the keynote speakers, and updates on conference swag.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypy.org/posts/2025/02/pypy-v7319-release.html&quot;&gt;PyPy v7.3.19 Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-poetry.org/blog/announcing-poetry-2.0.0&quot;&gt;Poetry 2.0.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pyproject-toml/&quot;&gt;How to Manage Python Projects With &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/a&gt; &amp;ndash; Learn how to manage Python projects with the pyproject.toml configuration file. In this tutorial, you&amp;rsquo;ll explore key use cases of the pyproject.toml file, including configuring your build, installing your package locally, managing dependencies, and publishing your package to PyPI.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonguis.com/examples/kivy-to-do-app/&quot;&gt;Build a To-Do App With Python and Kivy&lt;/a&gt; &amp;ndash; &amp;ldquo;In this tutorial, you&amp;rsquo;ll go through a series of steps to build a basic To-Do app with Python, SQLite, and Kivy.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://labs.quansight.org/blog/duckdb-when-used-to-frames&quot;&gt;Mastering DuckDB When You&amp;rsquo;re Used to pandas or Polars&lt;/a&gt; &amp;ndash; Why use DuckDB / SQL at all if you&amp;rsquo;re used to DataFrames? This article makes the case for some reasons why, and shows how to perform some operations which in DataFrames are basic but in SQL aren&amp;rsquo;t necessarily obvious.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/polars-lazyframe/&quot;&gt;How to Work With Polars LazyFrames&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll gain an understanding of the principles behind Polars LazyFrames. You&amp;rsquo;ll also learn why using LazyFrames is often the preferred option over more traditional DataFrames.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=43084739&quot;&gt;Fiction/Non-Fiction Books on the Topic of CS?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://shepherd.com/search/author/57674&quot;&gt;Christopher Trudeau&amp;rsquo;s most recommended books (picked by super fans)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.librarything.com/profile/ctrudeau&quot;&gt;ctrudeau - LibraryThing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Project:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/StructuredLabs/preswald&quot;&gt;preswald: Full-Stack Platform for Interactive Data Apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ChrisBuilds/terminaltexteffects&quot;&gt;terminaltexteffects: Terminal Visual Effects Engine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.piday.org/&quot;&gt;Pi Day - Celebrate Mathematics on March 14th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.14/whatsnew/3.14.html&quot;&gt;What&amp;rsquo;s new in Python 3.14 — Python 3.14.0a5 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tech.marksblogg.com/&quot;&gt;Mark Litwintschik - Tech Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/224/&quot;&gt;Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-with-python-polars/&quot;&gt;Working With Python Polars - Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/polars-missing-data/&quot;&gt;How to Deal With Missing Data in Polars – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/blog/2018/12/09/book-review-the-little-schemer/&quot;&gt;Book Review: The Little Schemer - The Invent with Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Books Mentioned by Mr. Trudeau:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;The Cuckoo&amp;rsquo;s Egg&amp;rdquo; by Clifford Stoll&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Mythical Man Month&amp;rdquo; by Frederick Brooks&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Phoenix Project&amp;rdquo; by Gene Kim&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Dreaming in Code&amp;rdquo; by Scott Rosenberg&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Digital Fortress&amp;rdquo; by Dan Brown&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Godel Escher, Bach&amp;rdquo; by Douglas Hofstadlter&lt;/li&gt;
&lt;li&gt;&amp;ldquo;A Philosophy of Software Design&amp;rdquo; by John Ousterhout&amp;rsquo;s &lt;/li&gt;
&lt;li&gt;&amp;ldquo;I Hate The Internet&amp;rdquo; by Jarret Kobek&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Snow Crash&amp;rdquo; by Neal Stephenson&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Automate the Boring Stuff with Python&amp;rdquo; by Al Sweigart&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Django In Action&amp;rdquo; by Christopher Trudeau&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Refactoring Databases&amp;rdquo; by Scott W Ambler and Pramod J Sadalage&lt;/li&gt;
&lt;li&gt;&amp;ldquo;The C Programming Language&amp;rdquo; by Dennis M. Ritchie and Brian W. Kernighan&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Open Source Licensing&amp;rdquo; by Lawrence Rosen&lt;/li&gt;
&lt;li&gt;&amp;ldquo;The Quick Python Book&amp;rdquo; by Naomi R. Ceder&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Learn to Code By Solving Problems: A Python Programming Primer&amp;rdquo; by Daniel Zingaro&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Python Automation Cookbook&amp;rdquo; by Jaime Buelta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Books Mentioned by Mr. Bailey:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;The Little Schemer&amp;rdquo; by Daniel P. Friedman&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Zen and the Art of Motorcycle Maintenance&amp;rdquo; by Robert M. Pirsig&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Shop Class as Soulcraft: An Inquiry into the Value of Work&amp;rdquo; by Matthew B. Crawford&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Django for Beginners, APIs, and Professionals&amp;rdquo; by William S. Vincent&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Python Crash Course&amp;rdquo; by Eric Matthes&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Automate the Boring Stuff With Python&amp;rdquo; by Al Sweigart&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Fluent Python&amp;rdquo; by  Luciano Ramalho&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Practices of the Python Pro&amp;rdquo; by Dane Hillard&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Daemon and Freedom™&amp;rdquo; by Daniel Suarez&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-with-python-polars/&quot;&gt;Working With Python Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E243_03_PyCoders_v2.2c5286330db6.mp3" type="audio/mpeg" length="47758533"/>
        <guid isPermaLink="false">e00501d0-9256-4ce0-8140-fd1d0051e5d6</guid>
        <pubDate>Fri, 14 Mar 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2923</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_243_Podcast.e55909baaa98.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Manage Projects With pyproject.toml &amp; Explore Polars LazyFrames”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>242</itunes:episode>
        <title>Eric Matthes: Maybe Don&#x27;t Start With Unit Tests</title>
        <itunes:title>Eric Matthes: Maybe Don&#x27;t Start With Unit Tests</itunes:title>
        <link>https://realpython.com/podcasts/rpp/242/</link>
        <description>Should you always start testing your code with unit tests? When does it make sense to look at integration or end-to-end testing as a first step instead? This week on the show, we speak with previous guest Eric Matthes about where to begin testing your code.</description>
        <content:encoded>&lt;p&gt;Should you always start testing your code with unit tests? When does it make sense to look at integration or end-to-end testing as a first step instead? This week on the show, we speak with previous guest Eric Matthes about where to begin testing your code.&lt;/p&gt;
&lt;p&gt;Eric is the author of the popular book &lt;em&gt;Python Crash Course&lt;/em&gt;. Early in the development of the book, he decided to introduce testing and added a chapter on testing code with pytest.&lt;/p&gt;
&lt;p&gt;Over the past couple of years, Eric has continued to consider when and where to test a project&amp;rsquo;s code. He thinks there are hazards to always starting with unit tests. The type of project and its audience should determine what kind of testing to employ initially.&lt;/p&gt;
&lt;p&gt;We discuss using pytest to develop integration tests on multiple types of projects. We also explore fixtures and what goes into building a test suite. Eric also shares criteria for when and where it makes sense to add unit tests to a project.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-assert-statement/&quot;&gt;Using Python&amp;rsquo;s assert to Debug and Test Your Code&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s assert statement to document, debug, and test code in development. You&amp;rsquo;ll learn how assertions might be disabled in production code, so you shouldn&amp;rsquo;t use them to validate data. You&amp;rsquo;ll also learn about a few common pitfalls of assertions in Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:47 &amp;ndash; Submitting talks to conferences&lt;/li&gt;
&lt;li&gt;00:04:10 &amp;ndash; Don&amp;rsquo;t start with unit tests!&lt;/li&gt;
&lt;li&gt;00:07:35 &amp;ndash; How did you start with testing?&lt;/li&gt;
&lt;li&gt;00:11:30 &amp;ndash; Example of a project needing tests&lt;/li&gt;
&lt;li&gt;00:14:54 &amp;ndash; Defining types of tests&lt;/li&gt;
&lt;li&gt;00:16:44 &amp;ndash; Integration vs end-to-end tests&lt;/li&gt;
&lt;li&gt;00:19:09 &amp;ndash; When should you build tests?&lt;/li&gt;
&lt;li&gt;00:22:13 &amp;ndash; Trade offs of integration vs unit tests&lt;/li&gt;
&lt;li&gt;00:24:05 &amp;ndash; Why is there push back on this idea?&lt;/li&gt;
&lt;li&gt;00:27:36 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:09 &amp;ndash; Using pytest&lt;/li&gt;
&lt;li&gt;00:33:24 &amp;ndash; Transcripts project example&lt;/li&gt;
&lt;li&gt;00:37:03 &amp;ndash; py-image-border project&lt;/li&gt;
&lt;li&gt;00:40:29 &amp;ndash; Criteria for when you should write unit tests&lt;/li&gt;
&lt;li&gt;00:48:51 &amp;ndash; How to practice writing tests&lt;/li&gt;
&lt;li&gt;00:50:28 &amp;ndash; Building an integration test and pytest fixtures&lt;/li&gt;
&lt;li&gt;00:55:05 &amp;ndash; What&amp;rsquo;s in the test folder?&lt;/li&gt;
&lt;li&gt;00:56:31 &amp;ndash; Idea for a PyCon tutorial on implementing tests&lt;/li&gt;
&lt;li&gt;00:57:29 &amp;ndash; Other pytest advice and parametrization&lt;/li&gt;
&lt;li&gt;01:01:13 &amp;ndash; Caveats to not starting with unit tests&lt;/li&gt;
&lt;li&gt;01:02:30 &amp;ndash; pytest documentation and other advice&lt;/li&gt;
&lt;li&gt;01:05:23 &amp;ndash; How to reach Eric online&lt;/li&gt;
&lt;li&gt;01:06:47 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:08:23 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:09:48 &amp;ndash; What conferences are you attending?&lt;/li&gt;
&lt;li&gt;01:10:06 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mostlypython.com/dont-start-with-unit-tests/&quot;&gt;Don&amp;rsquo;t start with unit tests - by Eric Matthes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=yEemdaHqL0E&quot;&gt;Sleep Better By Writing Python Tests with Eric Matthes - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/163/&quot;&gt;Episode #163: Python Crash Course &amp;amp; Learning Enough to Start Creating&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/initialcommit-com/git-sim&quot;&gt;git-sim: Visually simulate Git operations in your own repos with a single terminal command&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manim.community/&quot;&gt;Manim Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://django-simple-deploy.readthedocs.io/en/latest/&quot;&gt;django-simple-deploy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learngrandstaff.com/index.html&quot;&gt;Learn the grand staff!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ehmatthes/py-image-border&quot;&gt;py-image-border: Add a border to any image&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/stable/getting-started.html&quot;&gt;pytest Documentation - Get Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/stable/explanation/fixtures.html#about-fixtures&quot;&gt;About fixtures - pytest documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/stable/example/parametrize.html&quot;&gt;Parametrizing tests - pytest documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/blog/uv-unified-python-packaging&quot;&gt;uv: Unified Python packaging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sequential.com/product/take-5-compact-poly-synth/&quot;&gt;Prophet 5 Compact Poly Synth - Sequential&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2025/&quot;&gt;PyCon US 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ep2025.europython.eu/&quot;&gt;EuroPython 2025 - July 14th-20th 2025 - Prague, Czech Republic &amp;amp; Remote&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/python-crash-course-3rd-edition&quot;&gt;Python Crash Course, 3rd Edition - No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mostlypython.substack.com/&quot;&gt;Mostly Python - Eric Matthes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-assert-statement/&quot;&gt;Using Python&amp;#x27;s assert to Debug and Test Your Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E242_03_Eric.c3f79952eefe.mp3" type="audio/mpeg" length="69025102"/>
        <guid isPermaLink="false">0c97311d-b737-4697-863b-64f42d9fcb9e</guid>
        <pubDate>Fri, 07 Mar 2025 12:00:00 +0000</pubDate>
        <itunes:duration>4248</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_242_Podcast.dc8a58708cde.jpg"/>
        <rp:twitter-handles>@ehmatthes</rp:twitter-handles>
        <rp:twitter-title>“Eric Matthes: Maybe Don&#x27;t Start With Unit Tests” with @ehmatthes</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>241</itunes:episode>
        <title>Deciphering Python Jargon &amp; Compiling Python 1.0</title>
        <itunes:title>Deciphering Python Jargon &amp; Compiling Python 1.0</itunes:title>
        <link>https://realpython.com/podcasts/rpp/241/</link>
        <description>How do you learn the terms commonly used when speaking about Python? How is the jargon similar to other programming languages? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you learn the terms commonly used when speaking about Python? How is the jargon similar to other programming languages? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a Python glossary recently created by Trey Hunner. Trey describes it as an unofficial glossary and Python jargon file. We dig into the terms and colloquial language often used when describing Python.&lt;/p&gt;
&lt;p&gt;We cover a blog post celebrating 31 years of Python by compiling Python 1.0. The piece walks through the hoops of finding the source code and standing up an old version of Debian. Once compiled, they open the REPL and find it surprisingly capable.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including release news, a Python enhancement proposal roundup, managing Django&amp;rsquo;s queue, a course about NumPy techniques including practical examples, getting platform-specific directories, detecting which shell is in use, and a project for sorted container types.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Postman.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to use NumPy by exploring several interesting examples. You&amp;rsquo;ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You&amp;rsquo;ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:42 &amp;ndash; Python Release 3.14.0a5&lt;/li&gt;
&lt;li&gt;00:02:54 &amp;ndash; PyPy v7.3.18 Released&lt;/li&gt;
&lt;li&gt;00:03:32 &amp;ndash; Beautifulsoup 4.13 Released&lt;/li&gt;
&lt;li&gt;00:04:13 &amp;ndash; PEP 759: External Wheel Hosting (Withdrawn)&lt;/li&gt;
&lt;li&gt;00:04:54 &amp;ndash; PEP 2026: Calendar Versioning for Python (Rejected)&lt;/li&gt;
&lt;li&gt;00:06:48 &amp;ndash; PEP 739: Static Description File for Build Details (Accepted)&lt;/li&gt;
&lt;li&gt;00:07:51 &amp;ndash; PEP 765: Disallow Return/Break/Continue That Exit a Finally Block (Accepted)&lt;/li&gt;
&lt;li&gt;00:09:01 &amp;ndash; Python Terminology: An Unofficial Glossary&lt;/li&gt;
&lt;li&gt;00:19:32 &amp;ndash; Sponsor: Postman&lt;/li&gt;
&lt;li&gt;00:20:28 &amp;ndash; NumPy Techniques and Practical Examples&lt;/li&gt;
&lt;li&gt;00:24:12 &amp;ndash; Let&amp;rsquo;s Compile Python 1.0&lt;/li&gt;
&lt;li&gt;00:28:55 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:14 &amp;ndash; Managing Django&amp;rsquo;s Queue&lt;/li&gt;
&lt;li&gt;00:36:41 &amp;ndash; platformdirs: Get Platform-Specific Dirs&lt;/li&gt;
&lt;li&gt;00:39:57 &amp;ndash; shellingham: Tool to Detect Surrounding Shell&lt;/li&gt;
&lt;li&gt;00:41:02 &amp;ndash; python-sortedcontainers: Python Sorted Container Type&lt;/li&gt;
&lt;li&gt;00:41:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3140a5/&quot;&gt;Python Release 3.14.0a5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypy.org/posts/2025/02/pypy-v7318-release.html&quot;&gt;PyPy v7.3.18 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://git.launchpad.net/beautifulsoup/tree/CHANGELOG&quot;&gt;Beautifulsoup 4.13 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0759/&quot;&gt;PEP 759: External Wheel Hosting (Withdrawn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-2026/&quot;&gt;PEP 2026: Calendar Versioning for Python (Rejected)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0739/&quot;&gt;PEP 739: Static Description File for Build Details (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0765/&quot;&gt;PEP 765: Disallow Return/Break/Continue That Exit a Finally Block (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/terms/&quot;&gt;Python Terminology: An Unofficial Glossary&lt;/a&gt; &amp;ndash; &amp;ldquo;Definitions for colloquial Python terminology (effectively an unofficial version of the Python glossary).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt; &amp;ndash; In this video course, you&amp;rsquo;ll learn how to use NumPy by exploring several interesting examples. You&amp;rsquo;ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You&amp;rsquo;ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/lets-compile-python-10&quot;&gt;Let&amp;rsquo;s Compile Python 1.0&lt;/a&gt; &amp;ndash; As part of the celebration of 31 years of Python, Bite Code compiles the original Python 1.0 and plays around with it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://buttondown.com/carlton/archive/managing-djangos-queue/&quot;&gt;Managing Django&amp;rsquo;s Queue&lt;/a&gt; &amp;ndash; Carlton is one of the core developers of Django. This post talks about staying on top of the incoming pull-requests, bug fixes, and everything else in the development queue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tox-dev/platformdirs&quot;&gt;platformdirs: Get Platform-Specific Dirs, e.g. &amp;ldquo;User Data Dir&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sarugaku/shellingham&quot;&gt;shellingham: Tool to Detect Surrounding Shell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/grantjenks/python-sortedcontainers&quot;&gt;python-sortedcontainers: Python Sorted Container Types&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ref/&quot;&gt;Reference: Concise definitions for common Python terms – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/numpy-example/&quot;&gt;NumPy Practical Examples: Useful Techniques – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/numpy-example/&quot;&gt;NumPy Practical Examples: Useful Techniques Quiz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://groups.google.com/g/comp.lang.misc/c/_QUzdEGFwCo/m/KIFdu0-Dv7sJ?pli=1&quot;&gt;Python 1.0.0 is out!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://podman.io/&quot;&gt;Podman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://orbstack.dev/&quot;&gt;OrbStack · Fast, light, simple Docker &amp;amp; Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-argparse-command-line-interfaces/&quot;&gt;Building Command Line Interfaces With argparse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-techniques-practical-examples/&quot;&gt;NumPy Techniques and Practical Examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E241_03_PyCoders.11f0f974981b.mp3" type="audio/mpeg" length="42372714"/>
        <guid isPermaLink="false">082a5337-7076-4c74-ac2d-a6d1d8350f32</guid>
        <pubDate>Fri, 28 Feb 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2583</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_241_Podcast.344724286724.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Deciphering Python Jargon &amp; Compiling Python 1.0”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>240</itunes:episode>
        <title>Telling Effective Stories With Your Python Visualizations</title>
        <itunes:title>Telling Effective Stories With Your Python Visualizations</itunes:title>
        <link>https://realpython.com/podcasts/rpp/240/</link>
        <description>How do you make compelling visualizations that best convey the story of your data? What methods can you employ within popular Python tools to improve your plots and graphs? This week on the show, Matt Harrison returns to discuss his new book &quot;Effective Visualization: Exploiting Matplotlib &amp; Pandas.&quot;</description>
        <content:encoded>&lt;p&gt;How do you make compelling visualizations that best convey the story of your data? What methods can you employ within popular Python tools to improve your plots and graphs? This week on the show, Matt Harrison returns to discuss his new book &amp;ldquo;Effective Visualization: Exploiting Matplotlib &amp;amp; Pandas.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;As a data scientist and instructor, Matt has been teaching the concepts of managing tabular data and making visualizations for over 20 years. Matt shares his methodology for taking a basic plot and then telling a compelling story with it. We discuss why you should limit your plot types to a few that your audience is familiar with. &lt;/p&gt;
&lt;p&gt;We cover the resources built into pandas and Matplotlib and some of the libraries&amp;rsquo; limitations. Matt talks about the professionally produced plots that inspired him and the process of recreating them. He also answers questions about finding data sources to practice these techniques with.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Postman.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/using-pltscatter-visualize-data-python/&quot;&gt;Using plt.scatter() to Visualize Data in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to create scatter plots in Python, which are a key part of many data visualization applications. You&amp;rsquo;ll get an introduction to plt.scatter(), a versatile function in the Matplotlib module for creating scatter plots.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:57 &amp;ndash; XGBoost book and interview&lt;/li&gt;
&lt;li&gt;00:04:00 &amp;ndash; Effective Visualization &amp;ndash; Exploiting Matplotlib &amp;amp; pandas&lt;/li&gt;
&lt;li&gt;00:04:27 &amp;ndash; Why focus on pandas?&lt;/li&gt;
&lt;li&gt;00:06:01 &amp;ndash; Plotting inside of pandas&lt;/li&gt;
&lt;li&gt;00:08:41 &amp;ndash; How did you get involved in visualizations?&lt;/li&gt;
&lt;li&gt;00:13:54 &amp;ndash; Why write this book?&lt;/li&gt;
&lt;li&gt;00:16:17 &amp;ndash; Sponsor: Postman&lt;/li&gt;
&lt;li&gt;00:17:09 &amp;ndash; What are the plots you appreciate?&lt;/li&gt;
&lt;li&gt;00:22:41 &amp;ndash; Creating a methodology for plotting&lt;/li&gt;
&lt;li&gt;00:24:24 &amp;ndash; Color to spell out the story&lt;/li&gt;
&lt;li&gt;00:27:50 &amp;ndash; Limited and simple types of visualizations&lt;/li&gt;
&lt;li&gt;00:31:34 &amp;ndash; Explaining the story &lt;/li&gt;
&lt;li&gt;00:37:19 &amp;ndash; highlight-text library for matplotlib&lt;/li&gt;
&lt;li&gt;00:39:02 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:11 &amp;ndash; Who is the audience?&lt;/li&gt;
&lt;li&gt;00:43:19 &amp;ndash; Why not include interactivity?&lt;/li&gt;
&lt;li&gt;00:45:38 &amp;ndash; Listing the references for the data&lt;/li&gt;
&lt;li&gt;00:49:12 &amp;ndash; Deciding on the examples and recipes&lt;/li&gt;
&lt;li&gt;00:54:45 &amp;ndash; Using existing visualizations as inspiration&lt;/li&gt;
&lt;li&gt;00:55:41 &amp;ndash; Matplotlib style sheets&lt;/li&gt;
&lt;li&gt;00:57:54 &amp;ndash; Finding sources of data to work with&lt;/li&gt;
&lt;li&gt;01:04:17 &amp;ndash; How to purchase the book&lt;/li&gt;
&lt;li&gt;01:05:07 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:06:33 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:07:36 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:08:04 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://store.metasnake.com/effective-viz&quot;&gt;Effective Visualization &amp;ndash; Exploiting Matplotlib &amp;amp; Pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://matplotlib.org/&quot;&gt;Matplotlib — Visualization with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/169/&quot;&gt;Episode #169: Improving Classification Models With XGBoost&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/214/&quot;&gt;Episode #214: Build Captivating Display Tables in Python With Great Tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/pandas-docs/stable/index.html&quot;&gt;pandas documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/highlight-text/&quot;&gt;highlight-text · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://matplotlib.org/stable/gallery/style_sheets/index.html&quot;&gt;Style sheets — Matplotlib 3.10.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kaggle.com/&quot;&gt;Kaggle: Your Machine Learning and Data Science Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nytimes/data-training&quot;&gt;nytimes/data-training: Files from the NYT data training program, available for public use.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/&quot;&gt;Astral: Next-gen Python tooling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/238/&quot;&gt;Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars — DataFrames for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/Effective-Visualization-Exploiting-Matplotlib-Treading/dp/B0DWLB6W99&quot;&gt;Effective Visualization: Exploiting Matplotlib &amp;amp; Pandas - Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/dunder-matt.bsky.social&quot;&gt;Matt Harrison (@dunder-matt.bsky.social) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/plot-pandas-data-visualization/&quot;&gt;Plot With pandas: Python Data Visualization Basics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-pltscatter-visualize-data-python/&quot;&gt;Using plt.scatter() to Visualize Data in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astrophysics-pandas-matplotlib/&quot;&gt;Exploring Astrophysics in Python With pandas and Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E240_03_Matt.079c1c3afbbc.mp3" type="audio/mpeg" length="67356318"/>
        <guid isPermaLink="false">6ebfac48-f680-4c4d-b1a2-f64101fb0c30</guid>
        <pubDate>Fri, 21 Feb 2025 12:00:00 +0000</pubDate>
        <itunes:duration>4148</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_240_Podcast.46717ccb6ecf.jpg"/>
        <rp:twitter-handles>@__mharrison__</rp:twitter-handles>
        <rp:twitter-title>“Telling Effective Stories With Your Python Visualizations” with @__mharrison__</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>239</itunes:episode>
        <title>Behavior-Driven vs Test-Driven Development &amp; Using Regex in Python</title>
        <itunes:title>Behavior-Driven vs Test-Driven Development &amp; Using Regex in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/239/</link>
        <description>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&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;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&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Postman.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/building-regexes-python/&quot;&gt;Regular Expressions and Building Regexes in Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to perform more complex string pattern matching using regular expressions, or regexes, in Python. You&amp;rsquo;ll also explore more advanced regex tools and techniques that are available in Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:21 &amp;ndash; PyOhio 2025 July 26-27, 2025 Announced    &lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Python 3.13.2 and 3.12.9 now available!&lt;/li&gt;
&lt;li&gt;00:02:52 &amp;ndash; Django bugfix releases issued: 5.1.6, 5.0.12, and 4.2.19&lt;/li&gt;
&lt;li&gt;00:03:04 &amp;ndash; DjangoCon Europe 2025 - Real Python Podcast&lt;/li&gt;
&lt;li&gt;00:05:24 &amp;ndash; How to Deal With Missing Data in Polars&lt;/li&gt;
&lt;li&gt;00:10:29 &amp;ndash; Monkey Patching Django&lt;/li&gt;
&lt;li&gt;00:15:50 &amp;ndash; Sponsor: Postman&lt;/li&gt;
&lt;li&gt;00:16:42 &amp;ndash; My First Steps With Playwright&lt;/li&gt;
&lt;li&gt;00:20:48 &amp;ndash; How to Use Regular Expressions in Python&lt;/li&gt;
&lt;li&gt;00:25:55 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:25 &amp;ndash; TDD vs. BDD: What&amp;rsquo;s the Difference?&lt;/li&gt;
&lt;li&gt;00:50:13 &amp;ndash; 3D Printing Giant Things With a Python Jigsaw Generator&lt;/li&gt;
&lt;li&gt;00:53:58 &amp;ndash; jmespath.py: Query Language for JSON&lt;/li&gt;
&lt;li&gt;00:55:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyohio.org/2025/&quot;&gt;PyOhio 2025 July 26-27, 2025 Announced&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2025/02/python-3132-and-3129-now-available.html?utm_source=www.pythonweekly.com&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=python-weekly-issue-686-february-6-2025&quot;&gt;Python 3.13.2 and 3.12.9 now available!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/feb/05/bugfix-releases/?utm_source=www.pythonweekly.com&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=python-weekly-issue-686-february-6-2025&quot;&gt;Django bugfix releases issued: 5.1.6, 5.0.12, and 4.2.19&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.evolutio.pt/djangocon-europe-2025/schedule/#2025-04-25&quot;&gt;DjangoCon Europe 2025: Schedule&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/polars-missing-data/&quot;&gt;How to Deal With Missing Data in Polars&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to deal with missing data in Polars to ensure it doesn&amp;rsquo;t interfere with your data analysis. You&amp;rsquo;ll discover how to check for missing values, update them, and remove them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://radiac.net/blog/2025/01/monkeypatching-django/&quot;&gt;Monkey Patching Django&lt;/a&gt; &amp;ndash; The &lt;a href=&quot;https://cur.at/zZVVP7K?m=email&amp;amp;sid=NtE1Fap&quot;&gt;nanodjango&lt;/a&gt; project is a modification to the Django framework that lets you get started with a single file instead of the usual cookie-cutter directory structure. This is a detailed post explaining how nanodjango monkey patches Django to achieve this result.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangotricks.com/blog/2024/05/generating-fake-django-model-instances-with-factory-boy/&quot;&gt;Fake Django Objects With Factory Boy&lt;/a&gt; &amp;ndash; The &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.frankel.ch/first-steps-playwright/&quot;&gt;My First Steps With Playwright&lt;/a&gt; &amp;ndash; Playwright is a browser-based automation tool that can be used for web scraping or testing. This intro article shows you how to use the Python interface to access a page including using cookies.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.appsignal.com/2025/01/15/how-to-use-regular-expressions-in-python.html&quot;&gt;How to Use Regular Expressions in Python&lt;/a&gt; &amp;ndash; This post explores the basics of regular expressions in Python, as well as more advanced techniques. It includes real-world use cases and performance optimization strategies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://semaphoreci.com/blog/tdd-vs-bdd&quot;&gt;TDD vs. BDD: What&amp;rsquo;s the Difference?&lt;/a&gt; &amp;ndash; Discover the key differences between TDD vs BDD, their workflows, tools, and best practices for developers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cucumber.io/&quot;&gt;Cucumber&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://calbryant.uk/blog/3d-printing-giant-things-with-jigsaw-generator/&quot;&gt;3D Printing Giant Things With a Python Jigsaw Generator&lt;/a&gt; &amp;ndash; This is a long, detailed article on 3D printing objects too large for the printer bed. The author has created dovetail joints to assemble pieces together. He wrote a Python program to automatically split up the larger model files into the jigsaw pieces needed to build a final result.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jmespath/jmespath.py&quot;&gt;jmespath.py: Query Language for JSON&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars — DataFrames for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/radiac/nanodjango&quot;&gt;nanodjango: Full Django in a single file - views, models, API ,with async support. Automatically convert it to a full project.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/FactoryBoy/factory_boy&quot;&gt;factory_boy&lt;/a&gt; library is a tool for managing fixtures for your tests. This article shows you how to use it with Django.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trimesh.org/&quot;&gt;trimesh 4.6.2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pdw.ex-parrot.com/Mail-RFC822-Address.html&quot;&gt;Email::RFC822::Address - Regex Recipe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-regexes-python/&quot;&gt;Regular Expressions and Building Regexes in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E239_03_PyCoders.b1c932d8a1cc.mp3" type="audio/mpeg" length="55820502"/>
        <guid isPermaLink="false">8445af8d-5f35-4dd4-89e1-793564e434cb</guid>
        <pubDate>Fri, 14 Feb 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3423</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_239_Podcast.6dc1c4668d3e.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Behavior-Driven vs Test-Driven Development &amp; Using Regex in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>238</itunes:episode>
        <title>Charlie Marsh: Accelerating Python Tooling With Ruff and uv</title>
        <itunes:title>Charlie Marsh: Accelerating Python Tooling With Ruff and uv</itunes:title>
        <link>https://realpython.com/podcasts/rpp/238/</link>
        <description>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.</description>
        <content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;s grown to include code formatting and over 800 built-in linting rules.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Postman.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-pip-install/&quot;&gt;Python Basics: Installing Packages With pip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python&amp;rsquo;s standard library includes a whole buffet of useful packages, but sometimes you need to reach for a third-party library. That&amp;rsquo;s where pip comes in handy. In this video course, you&amp;rsquo;ll learn how to pip install packages.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:37 &amp;ndash; How did you get involved in open source?&lt;/li&gt;
&lt;li&gt;00:07:01 &amp;ndash; Fostering a community around a project&lt;/li&gt;
&lt;li&gt;00:11:32 &amp;ndash; Python tooling could be much, much faster&lt;/li&gt;
&lt;li&gt;00:15:45 &amp;ndash; Changing the ergonomics of tooling&lt;/li&gt;
&lt;li&gt;00:19:59 &amp;ndash; What is ruff and what jobs can it do?&lt;/li&gt;
&lt;li&gt;00:22:23 &amp;ndash; How do you configure ruff?&lt;/li&gt;
&lt;li&gt;00:26:02 &amp;ndash; Where do the linting rules come from?&lt;/li&gt;
&lt;li&gt;00:29:29 &amp;ndash; Can you build your own rules?&lt;/li&gt;
&lt;li&gt;00:31:28 &amp;ndash; Performance difference for ruff&lt;/li&gt;
&lt;li&gt;00:36:25 &amp;ndash; Installing ruff&lt;/li&gt;
&lt;li&gt;00:37:34 &amp;ndash; The rustification of Python&lt;/li&gt;
&lt;li&gt;00:40:52 &amp;ndash; The initial features and release of uv &lt;/li&gt;
&lt;li&gt;00:45:07 &amp;ndash; Installing Python&lt;/li&gt;
&lt;li&gt;00:47:50 &amp;ndash; Taking over the python-build-standalone project&lt;/li&gt;
&lt;li&gt;00:53:02 &amp;ndash; Installation methods and suggestions&lt;/li&gt;
&lt;li&gt;00:55:37 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:57:07 &amp;ndash; The project API&lt;/li&gt;
&lt;li&gt;01:01:57 &amp;ndash; Inline script metadata and PEP 723&lt;/li&gt;
&lt;li&gt;01:06:49 &amp;ndash; Installing tools with uvx&lt;/li&gt;
&lt;li&gt;01:09:37 &amp;ndash; Project management&lt;/li&gt;
&lt;li&gt;01:11:20 &amp;ndash; Astral as company and VC funding&lt;/li&gt;
&lt;li&gt;01:19:23 &amp;ndash; New static type checker   &lt;/li&gt;
&lt;li&gt;01:26:15 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:27:12 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:28:52 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:29:34 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/&quot;&gt;Astral: Next-gen Python tooling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://notes.crmarsh.com/python-tooling-could-be-much-much-faster&quot;&gt;Python tooling could be much, much faster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/ruff&quot;&gt;Ruff, an extremely fast Python linter - Astral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0008/&quot;&gt;PEP 8 – Style Guide for Python Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastht.ml/&quot;&gt;FastHTML - Modern web applications in pure Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/astral-sh/uv&quot;&gt;uv: An extremely fast Python package and project manager, written in Rust.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/what-is-pip/&quot;&gt;Using Python&amp;rsquo;s pip to Manage Your Projects&amp;rsquo; Dependencies – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pipx/&quot;&gt;Install and Execute Python Applications Using pipx – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gregoryszorc.com/docs/python-build-standalone/main/&quot;&gt;Python Standalone Builds — python-build-standalone documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/uv/guides/scripts/&quot;&gt;Running scripts - uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata&quot;&gt;Inline script metadata - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/&quot;&gt;marimo - a next-generation Python notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/230/&quot;&gt;Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/crmarsh.com/post/3lgvhzdfrps26&quot;&gt;&amp;ldquo;We&amp;rsquo;re building a new static type checker for Python, from scratch, in Rust.&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/charliermarsh&quot;&gt;Charlie Marsh (@charliermarsh) - X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/crmarsh.com&quot;&gt;Charlie Marsh (@crmarsh.com) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/basics-exercises-install-packages-with-pip/&quot;&gt;Python Basics Exercises: Installing Packages With pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-pip-install/&quot;&gt;Python Basics: Installing Packages With pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E238_03_Charlie.52c9aa77263a.mp3" type="audio/mpeg" length="87998936"/>
        <guid isPermaLink="false">e65176ec-2335-42be-a95a-de7f290e19a2</guid>
        <pubDate>Fri, 07 Feb 2025 12:00:00 +0000</pubDate>
        <itunes:duration>5437</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_238_Podcast.e179ef5ef891.jpg"/>
        <rp:twitter-handles>@charliermarsh</rp:twitter-handles>
        <rp:twitter-title>“Charlie Marsh: Accelerating Python Tooling With Ruff and uv” with @charliermarsh</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>237</itunes:episode>
        <title>Testing Your Python Code Base: Unit vs. Integration</title>
        <itunes:title>Testing Your Python Code Base: Unit vs. Integration</itunes:title>
        <link>https://realpython.com/podcasts/rpp/237/</link>
        <description>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&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;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&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;hash(-1) == hash(-2)&lt;/code&gt; 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 &lt;code&gt;datetime&lt;/code&gt; module for testing.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Postman.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to take your testing to the next level with pytest. You&amp;rsquo;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.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:28 &amp;ndash; Python news and releases&lt;/li&gt;
&lt;li&gt;00:04:02 &amp;ndash; From Default Line Charts to Journal-Quality Infographics&lt;/li&gt;
&lt;li&gt;00:07:25 &amp;ndash; PyViz: Python Tools for Data Visualization&lt;/li&gt;
&lt;li&gt;00:09:25 &amp;ndash; Why Is hash(-1) == hash(-2) in Python?&lt;/li&gt;
&lt;li&gt;00:12:40 &amp;ndash; Sponsor: Postman&lt;/li&gt;
&lt;li&gt;00:13:32 &amp;ndash; Data Cleaning in Data Science&lt;/li&gt;
&lt;li&gt;00:19:29 &amp;ndash; 10 Ways to Work With Large Files in Python&lt;/li&gt;
&lt;li&gt;00:23:40 &amp;ndash; Unit Testing vs. Integration Testing&lt;/li&gt;
&lt;li&gt;00:29:17 &amp;ndash; Does university curriculum cover this?&lt;/li&gt;
&lt;li&gt;00:31:22 &amp;ndash; Building tests into smaller projects&lt;/li&gt;
&lt;li&gt;00:36:04 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:30 &amp;ndash; How does the approach differ with clients or larger-scale projects?&lt;/li&gt;
&lt;li&gt;00:40:45 &amp;ndash; How do tests act as documentation?&lt;/li&gt;
&lt;li&gt;00:42:02 &amp;ndash; Difficulties in building integration tests&lt;/li&gt;
&lt;li&gt;00:45:24 &amp;ndash; How do you limit the results of tests?&lt;/li&gt;
&lt;li&gt;00:47:52 &amp;ndash; klp: Lightweight CLI Viewer for Log Files&lt;/li&gt;
&lt;li&gt;00:50:54 &amp;ndash; freezegun: Mocks the datetime Module for Testing&lt;/li&gt;
&lt;li&gt;00:53:11 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.python.org/2025/01/python-3140-alpha-4-is-out.html&quot;&gt;Python 3.14.0 Alpha 4 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/jan/16/django-52-alpha-1-released/&quot;&gt;Django 5.2 Alpha 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2025/jan/14/security-releases/&quot;&gt;Django Security Releases Issued: 5.1.5, 5.0.11, and 4.2.18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/scipy/scipy/releases/tag/v1.15.0&quot;&gt;SciPy 1.15.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pygments.org/docs/changelog/&quot;&gt;Pygments 2.19 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2025.pyconfhyd.org/&quot;&gt;PyConf Hyderabad Feb 22-23&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/from-default-python-line-chart-to-journal-quality-infographics-80e3949eacc3&quot;&gt;From Default Line Charts to Journal-Quality Infographics&lt;/a&gt; &amp;ndash; &amp;ldquo;Everyone who has used Matplotlib knows how ugly the default charts look like.&amp;rdquo; In this series of posts, Vladimir shares some tricks to make your visualizations stand out and reflect your individual style.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyviz.org/index.html&quot;&gt;PyViz: Python Tools for Data Visualization&lt;/a&gt; &amp;ndash; This site contains an overview of all the different visualization libraries in the Python ecosystem. If you&amp;rsquo;re trying to pick a tool, this is a great place to better understand the pros and cons of each.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://omairmajid.com/posts/2021-07-16-why-is-hash-in-python/&quot;&gt;Why Is &lt;code&gt;hash(-1) == hash(-2)&lt;/code&gt; in Python?&lt;/a&gt; &amp;ndash; Somewhat surprisingly, &lt;code&gt;hash(-1) == hash(-2)&lt;/code&gt; in CPython. This post examines how and discovers why this is the case.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2025/01/data-cleaning-in-data-science/&quot;&gt;Data Cleaning in Data Science&lt;/a&gt; &amp;ndash; &amp;ldquo;Real-world data needs cleaning before it can give us useful insights. Learn how you can perform data cleaning in data science on your dataset.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.devgenius.io/10-ways-to-work-with-large-files-in-python-effortlessly-handle-gigabytes-of-data-aeef19bc0429&quot;&gt;10 Ways to Work With Large Files in Python&lt;/a&gt; &amp;ndash; &amp;ldquo;Handling large text files in Python can feel overwhelming. When files grow into gigabytes, attempting to load them into memory all at once can crash your program.&amp;rdquo; This article covers different ways of dealing with this challenge.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://semaphoreci.com/blog/unit-testing-vs-integration-testing&quot;&gt;Unit Testing vs. Integration Testing&lt;/a&gt; &amp;ndash; Discover the key differences between unit testing vs. integration testing and learn how to automate both with Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Project:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dloss/klp&quot;&gt;klp: Lightweight CLI Viewer for Log Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/spulec/freezegun&quot;&gt;freezegun: Mocks the &lt;code&gt;datetime&lt;/code&gt; Module for Testing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://python-charts.com/matplotlib/styles/#google_vignette&quot;&gt;Matplotlib style sheets - Python Charts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/20221003071230/https://www.datafantic.com/the-magic-of-matplotlib-stylesheets/&quot;&gt;The Magic of Matplotlib Stylesheets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2024/10/how-to-get-data/&quot;&gt;Where To Get Data for Your Data Science Projects - The PyCharm Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2024/10/data-exploration-with-pandas/&quot;&gt;Data Exploration With pandas - The PyCharm Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-mmap/&quot;&gt;Python mmap: Improved File I/O With Memory Mapping - Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-mmap-io/&quot;&gt;Python mmap: Doing File I/O With Memory Mapping – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandera.readthedocs.io/en/stable/&quot;&gt;pandera documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-mmap-io/&quot;&gt;Python mmap: Doing File I/O With Memory Mapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-plotting-matplotlib/&quot;&gt;Python Plotting With Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E237_03_PyCoders.8dabaffed8c5.mp3" type="audio/mpeg" length="53110211"/>
        <guid isPermaLink="false">1c24cabd-512e-4131-a130-9b71a4db887c</guid>
        <pubDate>Fri, 31 Jan 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3254</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_237_Podcast.bd75906297c1.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Testing Your Python Code Base: Unit vs. Integration”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>236</itunes:episode>
        <title>Simon Willison: Using LLMs for Python Development</title>
        <itunes:title>Simon Willison: Using LLMs for Python Development</itunes:title>
        <link>https://realpython.com/podcasts/rpp/236/</link>
        <description>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.</description>
        <content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Simon also shares how he got involved in open-source development and Django. He&amp;rsquo;s a proponent of starting a blog and shares how it opened doors for his career. &lt;/p&gt;
&lt;p&gt;This episode is sponsored by Postman.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/advanced-import-techniques/&quot;&gt;Advanced Python import Techniques&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The Python import system is as powerful as it is useful. In this in-depth video course, you&amp;rsquo;ll learn how to harness this power to improve the structure and maintainability of your code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; How did you get involved in open source?&lt;/li&gt;
&lt;li&gt;00:04:04 &amp;ndash; Writing an XML-RPC library&lt;/li&gt;
&lt;li&gt;00:04:40 &amp;ndash; Working on Django in Lawrence, Kansas&lt;/li&gt;
&lt;li&gt;00:05:31 &amp;ndash; Started building open-source collection&lt;/li&gt;
&lt;li&gt;00:06:52 &amp;ndash; shot-scraper: taking automated screenshots of websites&lt;/li&gt;
&lt;li&gt;00:08:09 &amp;ndash; First experiences with LLMs&lt;/li&gt;
&lt;li&gt;00:10:08 &amp;ndash; 22 years of simonwillison.net&lt;/li&gt;
&lt;li&gt;00:18:22 &amp;ndash; Navigating the hype and criticism of LLMs&lt;/li&gt;
&lt;li&gt;00:22:14 &amp;ndash; Where to start with Python code and LLMs?&lt;/li&gt;
&lt;li&gt;00:26:22 &amp;ndash; Sponsor: Postman&lt;/li&gt;
&lt;li&gt;00:27:13 &amp;ndash; ChatGPT Canvas vs Code Interpreter&lt;/li&gt;
&lt;li&gt;00:28:23 &amp;ndash; Asking nicely, tricking the system, and tipping?&lt;/li&gt;
&lt;li&gt;00:30:35 &amp;ndash; More Code Interpreter and building a C extension&lt;/li&gt;
&lt;li&gt;00:32:05 &amp;ndash; More details on Canvas &lt;/li&gt;
&lt;li&gt;00:36:55 &amp;ndash; What is a workflow for developing using LLMs?&lt;/li&gt;
&lt;li&gt;00:39:43 &amp;ndash; Creating pieces of code vs a system&lt;/li&gt;
&lt;li&gt;00:42:00 &amp;ndash; Workout program for prompting and pitfalls&lt;/li&gt;
&lt;li&gt;00:53:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:55:14 &amp;ndash; Why an SVG of a  pelican riding a bicycle?&lt;/li&gt;
&lt;li&gt;00:57:48 &amp;ndash; Repeating a query and refining&lt;/li&gt;
&lt;li&gt;01:03:00 &amp;ndash; Working in an IDE or text editor&lt;/li&gt;
&lt;li&gt;01:05:45 &amp;ndash; David Crawshaw on writing code with LLMs  &lt;/li&gt;
&lt;li&gt;01:08:33 &amp;ndash; Running an LLM locally to write code  &lt;/li&gt;
&lt;li&gt;01:14:02 &amp;ndash; Staying out of the AGI conversation&lt;/li&gt;
&lt;li&gt;01:16:07 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:18:34 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:19:53 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:20:51 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/&quot;&gt;Simon Willison&amp;rsquo;s Weblog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://shot-scraper.datasette.io/en/stable/&quot;&gt;shot-scraper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scriptarchive.com/&quot;&gt;Matt&amp;rsquo;s Script Archive, Inc. - Free Perl CGI Scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/WordPress/WordPress/blob/master/wp-includes/IXR/class-IXR-client.php&quot;&gt;XR - my XML-RPC library, now in WordPress - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.holovaty.com/writing/211/&quot;&gt;Adrian Holovaty advertises for someone to join him working in Lawrence (May 2003) - Holovaty.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datasette.io/&quot;&gt;Datasette: An open source multi-tool for exploring and publishing data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/tags/sqlite/&quot;&gt;My SQLite tag page - Simon Willison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lmarena.ai/?leaderboard&quot;&gt;Chatbot Arena: Free AI Chat to Compare &amp;amp; Test Best AI Chatbots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2024/Dec/25/deepseek-v3/&quot;&gt;DeepSeek v3 notes on Christmas day&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2024/Dec/26/deepseek-v3/&quot;&gt;DeepSeek_V3 - PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/tags/code-interpreter/&quot;&gt;Simon Willison on code-interpreter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://deepmind.google/technologies/gemini/&quot;&gt;Gemini - Google DeepMind&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://claude.ai/login?returnTo=%2F%3F&quot;&gt;Claude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2024/Dec/10/chatgpt-canvas/&quot;&gt;ChatGPT Canvas can make API requests now, but it&amp;rsquo;s complicated&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://click.palletsprojects.com/en/stable/&quot;&gt;Welcome to Click — Click Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2023/Mar/11/llama/&quot;&gt;My first experience with Llama in March 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2024/Dec/9/llama-33-70b/&quot;&gt;I can now run a GPT-4 class model on my laptop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zohaib.me/using-llms-and-cursor-for-finishing-projects-productivity/&quot;&gt;Using LLMs and Cursor to become a finisher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/features/copilot&quot;&gt;GitHub Copilot - Your AI pair programmer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cbs.com/shows/video/7q7C_JNYJaWEjoiqZ3TQ8AwJh3LMclEA/&quot;&gt;In Finland, classes in recognizing fake news, disinformation - Sunday Morning CBS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.404media.co/podcast-why-we-cover-ai-the-way-we-do/&quot;&gt;404Media Podcast: Why We Cover AI the Way We Do&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/tags/jason-koebler/&quot;&gt;Jason Koebler from 404Media - tags on simonwillison.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2024/Dec/19/one-shot-python-tools/&quot;&gt;Building Python tools with a one-shot prompt using uv run and Claude Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://crawshaw.io/blog/programming-with-llms&quot;&gt;How I program with LLMs - crawshaw - 2025-01-06&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/tags/pelican-riding-a-bicycle/&quot;&gt;pelican-riding-a-bicycle - tags on simonwillison.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2024/Dec/31/llms-in-2024/&quot;&gt;Things we learned about LLMs in 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyodide.org/en/stable/&quot;&gt;Pyodide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/tags/pyodide/&quot;&gt;Simon Willison on pyodide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/astral-sh/uv&quot;&gt;astral-sh/uv: An extremely fast Python package and project manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/tags/uv/&quot;&gt;Simon Willison on uv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonw.substack.com/&quot;&gt;Simon Willison&amp;rsquo;s Newsletter - Substack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2023/Apr/4/substack-observable/&quot;&gt;Semi-automating a Substack newsletter with an Observable notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/simonwillison.net&quot;&gt;Simon Willison (@simonwillison.net) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fedi.simonwillison.net/@simon&quot;&gt;Simon Willison (@simon@simonwillison.net) - Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/simonw&quot;&gt;Simon Willison (@simonw) - X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/advanced-import-techniques/&quot;&gt;Advanced Python import Techniques&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/absolute-vs-relative-imports-python/&quot;&gt;Absolute vs Relative Imports in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E236_03_Simon.6cb734ca23f8.mp3" type="audio/mpeg" length="79798709"/>
        <guid isPermaLink="false">535a3279-d829-4498-9267-442568f84e4a</guid>
        <pubDate>Fri, 24 Jan 2025 12:00:00 +0000</pubDate>
        <itunes:duration>4924</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_236_Podcast.f6520f5a366e.jpg"/>
        <rp:twitter-handles>@simonw</rp:twitter-handles>
        <rp:twitter-title>“Simon Willison: Using LLMs for Python Development” with @simonw</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>235</itunes:episode>
        <title>Principles for Considering Your Python Tooling</title>
        <itunes:title>Principles for Considering Your Python Tooling</itunes:title>
        <link>https://realpython.com/podcasts/rpp/235/</link>
        <description>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&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;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&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/managing-dependencies-with-poetry/&quot;&gt;Managing Dependencies With Python Poetry&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn how Python Poetry can help you start new projects, maintain existing ones, and master dependency management.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; DjangoCon US 2025 (Chicago, Sept 8-12) Announced&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Textualize 1.0 Released&lt;/li&gt;
&lt;li&gt;00:03:15 &amp;ndash; Top Python Libraries of 2024&lt;/li&gt;
&lt;li&gt;00:07:07 &amp;ndash; Programming Sockets in Python&lt;/li&gt;
&lt;li&gt;00:11:56 &amp;ndash; Merging Dictionaries in Python&lt;/li&gt;
&lt;li&gt;00:17:03 &amp;ndash; Django Quiz 2024&lt;/li&gt;
&lt;li&gt;00:17:55 &amp;ndash; Confessions of a Django Dev: Mistakes To Avoid in Production&lt;/li&gt;
&lt;li&gt;00:18:40 &amp;ndash; Sentry Turret Straight Out of the &amp;lsquo;Portal&amp;rsquo; Franchise&lt;/li&gt;
&lt;li&gt;00:20:00 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:21:26 &amp;ndash; Effective Python Developer Tooling in December 2024&lt;/li&gt;
&lt;li&gt;00:41:13 &amp;ndash; Bagels: Powerful TUI Expense Tracker&lt;/li&gt;
&lt;li&gt;00:43:42 &amp;ndash; htmy: Async, Pure-Python Rendering Engine&lt;/li&gt;
&lt;li&gt;00:45:41 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.defna.org/announcements/2024/12/31/djangoconus-2025-announced/&quot;&gt;DjangoCon US 2025 (Chicago, Sept 8-12) Announced&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Textualize/textual/releases&quot;&gt;Textualize 1.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tryolabs.com/blog/top-python-libraries-2024&quot;&gt;Top Python Libraries of 2024&lt;/a&gt; &amp;ndash; For the past ten years, Tyrolabs has put together a list of their favorite Python libraries of the year. This list includes ten general purpose libraries and ten more specific to AI/ML and Data.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/programming-sockets/&quot;&gt;Programming Sockets in Python&lt;/a&gt; &amp;ndash; In this in-depth video course, you&amp;rsquo;ll learn how to build a socket server and client with Python. By the end, you&amp;rsquo;ll understand how to use the main functions and methods in Python&amp;rsquo;s socket module to write your own networked client-server applications.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/merging-dictionaries/&quot;&gt;Merging Dictionaries in Python&lt;/a&gt; &amp;ndash; There are multiple ways of merging two or more dictionaries in Python. This post teaches you how to do it and how to deal with corner cases like duplicate keys.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2024/12/18/django-quiz-2024/&quot;&gt;Django Quiz 2024&lt;/a&gt; &amp;ndash; Adam runs a quiz on Django at his Django London meetup. He&amp;rsquo;s shared it so you can try it yourself. Test how much you know about your favorite web framework.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@ram-meegada/confessions-of-a-django-developer-mistakes-you-must-avoid-in-production-e4fb0f1284af&quot;&gt;Confessions of a Django Dev: Mistakes To Avoid in Production&lt;/a&gt; &amp;ndash; This post covers some of the common mistakes you might make when taking a Django project into production.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tomshardware.com/raspberry-pi/raspberry-pi-powers-sentry-turret-straight-out-of-the-portal-franchise&quot;&gt;Sentry Turret Straight Out of the &amp;lsquo;Portal&amp;rsquo; Franchise&lt;/a&gt; &amp;ndash; &amp;ldquo;Reckless_commenter has created a Raspberry Pi-powered sentry turret that looks and sounds just like the creepy machines found in the &amp;lsquo;Portal&amp;rsquo; franchise.&amp;rdquo; Logic and sound effects managed through the PyGame library.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pydevtools.com/blog/effective-python-developer-tooling-in-december-2024/&quot;&gt;Effective Python Developer Tooling in December 2024&lt;/a&gt; &amp;ndash; This post talks about how tooling doesn&amp;rsquo;t solve all your problems when you code, especially with a team. It outlines some principles to implement, and bad practices to avoid when writing Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.seangoedecke.com/large-established-codebases/&quot;&gt;Mistakes engineers make in large established codebases - Sean Goedecke&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/EnhancedJax/Bagels&quot;&gt;Bagels: Powerful TUI Expense Tracker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/volfpeter/htmy&quot;&gt;htmy: Async, Pure-Python Rendering Engine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/97/&quot;&gt;Episode #97: Improving Your Django and Python Developer Experience&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/5.1/howto/deployment/checklist/&quot;&gt;Deployment checklist - Django documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Portal_(video_game)&quot;&gt;Portal (video game) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Have a Project You Want to Share? - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/managing-dependencies-with-poetry/&quot;&gt;Managing Dependencies With Python Poetry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E235_02_PyCoders.477a3951e772.mp3" type="audio/mpeg" length="45948059"/>
        <guid isPermaLink="false">040cc515-4813-4ce7-9847-66a2c3cc2f0b</guid>
        <pubDate>Fri, 17 Jan 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2807</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_235_Podcast.68d6056237e2.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Principles for Considering Your Python Tooling”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>234</itunes:episode>
        <title>Building New Structures for Learning Python</title>
        <itunes:title>Building New Structures for Learning Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/234/</link>
        <description>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.</description>
        <content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Stephen has recently joined the team, bringing years of online training expertise. He discusses our new offering of &lt;a href=&quot;https://realpython.com/workshops/intermediate-deep-dive/&quot;&gt;cohort-based courses&lt;/a&gt;, which combine live expert instruction, hands-on exercises, and a supportive community.&lt;/p&gt;
&lt;p&gt;Martin has been busy leading the effort to create quizzes for our written tutorials to test your knowledge and Python skills. He&amp;rsquo;s also restructuring the learning paths to provide a more consistent way to navigate your journey learning Python.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/handling-preventing-errors-lbyl-eafp/&quot;&gt;Handling or Preventing Errors in Python: LBYL vs EAFP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;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&amp;rsquo;ll dive into the key differences between LBYL and EAFP and learn when to use each one.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:29 &amp;ndash; What Stephen has been up to&lt;/li&gt;
&lt;li&gt;00:03:31 &amp;ndash; What&amp;rsquo;s new for Martin&lt;/li&gt;
&lt;li&gt;00:04:07 &amp;ndash; Bringing on new team members&lt;/li&gt;
&lt;li&gt;00:06:09 &amp;ndash; Cohort-based courses&lt;/li&gt;
&lt;li&gt;00:19:25 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:20:27 &amp;ndash; Restructured and new learning paths&lt;/li&gt;
&lt;li&gt;00:30:50 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:19 &amp;ndash; New Real Python Books&lt;/li&gt;
&lt;li&gt;00:38:57 &amp;ndash; A destination for learning&lt;/li&gt;
&lt;li&gt;00:40:46 &amp;ndash; Quizzes for tutorials and courses &lt;/li&gt;
&lt;li&gt;00:44:58 &amp;ndash; Video courses and updating content&lt;/li&gt;
&lt;li&gt;00:47:52 &amp;ndash; Code Mentor&lt;/li&gt;
&lt;li&gt;00:49:45 &amp;ndash; Code challenges   &lt;/li&gt;
&lt;li&gt;00:51:06 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/workshops/intermediate-deep-dive/&quot;&gt;Cohort Course - Intermediate Python Deep Dive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/&quot;&gt;Python Learning Paths&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/books/&quot;&gt;Python Books by Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/&quot;&gt;Python Quizzes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/community/&quot;&gt;Join the Real Python Community Chat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/mentor/&quot;&gt;Code Mentor: Intelligent Learning Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/office-hours/&quot;&gt;Office Hours – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.sentry.io/debugging-python-with-vs-code-and-sentry/&quot;&gt;Debugging Python with VS Code and Sentry - Product Blog - Sentry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/mbreuss/&quot;&gt;About Martin Breuss – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/sgruppetta/&quot;&gt;About Stephen Gruppetta – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/handling-preventing-errors-lbyl-eafp/&quot;&gt;Handling or Preventing Errors in Python: LBYL vs EAFP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-raise-for-effective-exceptions/&quot;&gt;Using raise for Effective Exceptions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-exercises-scopes/&quot;&gt;Python Basics Exercises: Scopes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E234_03_RP2025.5d275f935845.mp3" type="audio/mpeg" length="51251232"/>
        <guid isPermaLink="false">bf30e1ba-89fb-4463-9e30-79405c169e9c</guid>
        <pubDate>Fri, 10 Jan 2025 12:00:00 +0000</pubDate>
        <itunes:duration>3141</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/E_234_Podcast_Title.08dd7d4df80c.jpg"/>
        <rp:twitter-handles>@martinbreuss, @s_gruppetta</rp:twitter-handles>
        <rp:twitter-title>“Building New Structures for Learning Python” with @martinbreuss, @s_gruppetta</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>233</itunes:episode>
        <title>PyCoder&#x27;s Weekly 2024 Top Articles &amp; Missing Gems</title>
        <itunes:title>PyCoder&#x27;s Weekly 2024 Top Articles &amp; Missing Gems</itunes:title>
        <link>https://realpython.com/podcasts/rpp/233/</link>
        <description>PyCoder&#x27;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.</description>
        <content:encoded>&lt;p&gt;PyCoder&amp;rsquo;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.&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;t cover on the show and a couple that explore the overall themes of the year. &lt;/p&gt;
&lt;p&gt;We hope you enjoy this review! We look forward to bringing you another year filled with great Python news, articles, topics, and projects. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/programming-sockets/&quot;&gt;Programming Sockets in Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this in-depth video course, you&amp;rsquo;ll learn how to build a socket server and client with Python. By the end, you&amp;rsquo;ll understand how to use the main functions and methods in Python&amp;rsquo;s socket module to write your own networked client-server applications.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:47 &amp;ndash; New releases and updates&lt;/li&gt;
&lt;li&gt;00:03:07 &amp;ndash; PyCon US 2025 Registration Open&lt;/li&gt;
&lt;li&gt;00:03:18 &amp;ndash; PyCon Austria 2025 Call for Papers&lt;/li&gt;
&lt;li&gt;00:03:36 &amp;ndash; PSF Year End Fundraiser - Membership Drive&lt;/li&gt;
&lt;li&gt;00:04:31 &amp;ndash; Mr. Trudeau on Flying High with Flutter&lt;/li&gt;
&lt;li&gt;00:05:29 &amp;ndash; We&amp;rsquo;re on Bluesky - follow us!&lt;/li&gt;
&lt;li&gt;00:07:44 &amp;ndash; Build Captivating Display Tables in Python With Great Tables&lt;/li&gt;
&lt;li&gt;00:08:45 &amp;ndash; Overview of the Module &lt;code&gt;itertools&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:09:23 &amp;ndash; Customize VS Code Settings&lt;/li&gt;
&lt;li&gt;00:10:34 &amp;ndash; Modern Good Practices for Python Development  &lt;/li&gt;
&lt;li&gt;00:11:55 &amp;ndash; Asyncio Event Loop in Separate Thread&lt;/li&gt;
&lt;li&gt;00:12:38 &amp;ndash; Python Protocols: Leveraging Structural Subtyping&lt;/li&gt;
&lt;li&gt;00:13:06 &amp;ndash; Thoughts on the top links&lt;/li&gt;
&lt;li&gt;00:22:29 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:23:40 &amp;ndash; Why I&amp;rsquo;m Switching From pandas to Polars&lt;/li&gt;
&lt;li&gt;00:29:29 &amp;ndash; Lessons Learned Reinventing the Python Notebook&lt;/li&gt;
&lt;li&gt;00:32:47 &amp;ndash; What&amp;rsquo;s a Python Hashable Object?&lt;/li&gt;
&lt;li&gt;00:36:10 &amp;ndash; uv: Python Packaging in Rust&lt;/li&gt;
&lt;li&gt;00:38:26 &amp;ndash; CI/CD for Python With GitHub Actions&lt;/li&gt;
&lt;li&gt;00:40:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/numpy/numpy/releases/tag/v2.2.0&quot;&gt;NumPy Release 2.2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/dec/04/security-releases/&quot;&gt;Django Security Releases Issued: 5.1.4, 5.0.10, and 4.2.17&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/12/python-3131-3128-31111-31016-and-3921.html&quot;&gt;Python 3.13.1, 3.12.8, 3.11.11, 3.10.16, and 3.9.21 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/12/python-3140-alpha-3-is-out.html?utm_campaign=Django%2BNewsletter&amp;amp;utm_medium=email&amp;amp;utm_source=Django_Newsletter_264&quot;&gt;Python Insider: Python 3.14.0 alpha 3 is out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.blogspot.com/2024/12/pycon-us-2025-registration-launch.html&quot;&gt;PyCon US 2025 (Pittsburgh, PA) Registration Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.papercall.io/pycon-austria&quot;&gt;PyCon Austria 2025 (Eisenstadt) Call for Papers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/donations/2024-q4-drive/&quot;&gt;PSF Year End Fundraiser - Membership Drive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Top PyCoders Links 2024:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/214/&quot;&gt;Build Captivating Display Tables in Python With Great Tables&lt;/a&gt; &amp;ndash; Do you need help making data tables in Python look interesting and attractive? How can you create beautiful display-ready tables as easily as charts and graphs in Python? This week on the show, we speak with Richard Iannone and Michael Chow from Posit about the Great Tables Python library.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/module-itertools-overview&quot;&gt;Overview of the Module &lt;code&gt;itertools&lt;/code&gt;&lt;/a&gt; &amp;ndash; This article proposes the top three iterators that are most useful from the module &lt;code&gt;itertools&lt;/code&gt;, classifies all of the 19 iterators into five categories, and then provides brief usage examples for all the iterators in the module &lt;code&gt;itertools&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/customize-vscode-settings/&quot;&gt;Customize VS Code Settings&lt;/a&gt; &amp;ndash; In this course, Philipp helps you customize your Visual Studio Code settings to switch from a basic cluttered look to a clean presentable look. This is not just pleasant on the eyes, but also gives you a nice user interface if you want to share on a Zoom call or screen recording.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.stuartellis.name/articles/python-modern-practices/&quot;&gt;Modern Good Practices for Python Development&lt;/a&gt; &amp;ndash; This is a very detailed list of best practices for developing in Python. It includes tools, language features, application design, which libraries to use and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://superfastpython.com/asyncio-event-loop-separate-thread/&quot;&gt;Asyncio Event Loop in Separate Thread&lt;/a&gt; &amp;ndash; Typically, the asyncio event loop runs in the main thread, but as that is the one used by the interpreter, sometimes you want the event loop to run in a separate thread. This article talks about why and how to do just that.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-protocol/&quot;&gt;Python Protocols: Leveraging Structural Subtyping&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about Python&amp;rsquo;s protocols and how they can help you get the most out of using Python&amp;rsquo;s type hint system and static type checkers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Featured Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://arilamstein.com/blog/2024/09/04/why-im-switching-to-polars/&quot;&gt;Why I&amp;rsquo;m Switching From pandas to Polars&lt;/a&gt; &amp;ndash; Ari is switching from pandas to Polars and surprisingly (even to himself) it isn&amp;rsquo;t because of the better performance. Read on for the reasons why.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/blog/lessons-learned&quot;&gt;Lessons Learned Reinventing the Python Notebook&lt;/a&gt; &amp;ndash; Marimo is an open source alternative to Jupyter notebooks. This article is by one of marimo&amp;rsquo;s creators, talking about the design decisions made when creating it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thepythoncodingstack.com/p/wheres-william-python-hash-hashable&quot;&gt;What&amp;rsquo;s a Python Hashable Object?&lt;/a&gt; &amp;ndash; You can ignore reading about hashable objects for quite a bit. But eventually, it&amp;rsquo;s worth having an idea of what they are. This post follows Winston on his first day at work to understand hashable objects&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/blog/uv&quot;&gt;&lt;code&gt;uv&lt;/code&gt;: Python Packaging in Rust&lt;/a&gt; &amp;ndash; uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools. This post introduces you to uv and shows some of its performance numbers. Associated &lt;a href=&quot;https://news.ycombinator.com/item?id=39387641&quot;&gt;HN discussion&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/github-actions-python/&quot;&gt;CI/CD for Python With GitHub Actions&lt;/a&gt; &amp;ndash; With most software following agile methodologies, it&amp;rsquo;s essential to have robust DevOps systems in place to manage, maintain, and automate common tasks with a continually changing codebase. By using GitHub Actions, you can automate your workflows efficiently, especially for Python projects.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.flyinghighwithflutter.com/&quot;&gt;Flying High with Flutter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2024/12/the-state-of-python/&quot;&gt;The State of Python 2024&lt;/a&gt; &amp;ndash; This is a guest post on the PyCharm blog by Talk Python host Michael Kennedy who talks about the current state of Python in 2024. Topics include language usage, web frameworks, &lt;code&gt;uv&lt;/code&gt;, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://noumenal.es/posts/2024-year-in-review/GgE/&quot;&gt;Django 2024 Year in Review&lt;/a&gt; &amp;ndash; Carlton is a core contributor to Django and this post talks about what happened in 2024 with your favorite web framework.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/193/&quot;&gt;Episode #193: Wes McKinney on Improving the Data Stack &amp;amp; Composable Systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/224/&quot;&gt;Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/230/&quot;&gt;Episode #230: marimo: Reactive Notebooks and Deployable Web Apps in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/203/&quot;&gt;Episode #203: Embarking on a Relaxed and Friendly Python Coding Journey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ruff-python/&quot;&gt;Ruff: A Modern Python Linter for Error-Free and Maintainable Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/mathspp.com/post/3ld52pn5z4k2q&quot;&gt;Rodrigo 🐍🚀: Python folks, here&amp;rsquo;s an update on all the Python starter packs — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/digiglean.bsky.social&quot;&gt;Christopher Bailey (@digiglean.bsky.social) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/cltrudeau.bsky.social&quot;&gt;Christopher Trudeau (@cltrudeau.bsky.social) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/stephengruppetta.com&quot;&gt;Stephen Gruppetta (@stephengruppetta.com) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/html-css-foundations/&quot;&gt;HTML and CSS Foundations for Python Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/programming-sockets/&quot;&gt;Programming Sockets in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E233_02_PyCoders.7245954eaeaf.mp3" type="audio/mpeg" length="40420013"/>
        <guid isPermaLink="false">74fe3b62-4c6e-4f26-9fa1-337279f0bbbe</guid>
        <pubDate>Fri, 03 Jan 2025 12:00:00 +0000</pubDate>
        <itunes:duration>2463</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_233_Podcast.71b5e9904621.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“PyCoder&#x27;s Weekly 2024 Top Articles &amp; Missing Gems”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>232</itunes:episode>
        <title>Exploring Modern Sentiment Analysis Approaches in Python</title>
        <itunes:title>Exploring Modern Sentiment Analysis Approaches in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/232/</link>
        <description>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.</description>
        <content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Jodie holds a PhD in clinical psychology. We discuss how her interest in studying emotions has continued throughout her career. &lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;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&amp;rsquo;ll see how you can use pretrained word embeddings, and you&amp;rsquo;ll squeeze more performance out of your model through hyperparameter optimization.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:31 &amp;ndash; Conference talks in 2024&lt;/li&gt;
&lt;li&gt;00:04:23 &amp;ndash; Background on sentiment analysis and studying feelings&lt;/li&gt;
&lt;li&gt;00:07:09 &amp;ndash; What led you to study emotions?&lt;/li&gt;
&lt;li&gt;00:08:57 &amp;ndash; Dimensional emotion classification&lt;/li&gt;
&lt;li&gt;00:10:42 &amp;ndash; Different types of sentiment analysis&lt;/li&gt;
&lt;li&gt;00:14:28 &amp;ndash; Lexicon-based approaches&lt;/li&gt;
&lt;li&gt;00:17:50 &amp;ndash; VADER - Valence Aware Dictionary and sEntiment Reasoner&lt;/li&gt;
&lt;li&gt;00:19:41 &amp;ndash; TextBlob and subjectivity scoring &lt;/li&gt;
&lt;li&gt;00:21:48 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:22:52 &amp;ndash; Measuring sentiment of New Year&amp;rsquo;s resolutions&lt;/li&gt;
&lt;li&gt;00:27:28 &amp;ndash; Lexicon-based approaches links for experimenting&lt;/li&gt;
&lt;li&gt;00:28:35 &amp;ndash; Multiple language support in lexicon-based packages   &lt;/li&gt;
&lt;li&gt;00:35:23 &amp;ndash; Machine learning techniques&lt;/li&gt;
&lt;li&gt;00:39:20 &amp;ndash; Tools for this approach&lt;/li&gt;
&lt;li&gt;00:42:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:15 &amp;ndash; Advantages to the machine learning models approach    &lt;/li&gt;
&lt;li&gt;00:45:55 &amp;ndash; Large language model approach&lt;/li&gt;
&lt;li&gt;00:48:44 &amp;ndash; Encoder vs decoder models&lt;/li&gt;
&lt;li&gt;00:52:09 &amp;ndash; Comparing the concept of fine-tuning&lt;/li&gt;
&lt;li&gt;00:56:49 &amp;ndash; Is this a recent development?&lt;/li&gt;
&lt;li&gt;00:58:08 &amp;ndash; Ways to practice with these techniques&lt;/li&gt;
&lt;li&gt;01:00:10 &amp;ndash; Do you find this to be a promising approach?&lt;/li&gt;
&lt;li&gt;01:07:45 &amp;ndash; Resources to practice with all the techniques&lt;/li&gt;
&lt;li&gt;01:11:06 &amp;ndash; Upcoming conference talks&lt;/li&gt;
&lt;li&gt;01:11:56 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2024/12/introduction-to-sentiment-analysis-in-python/&quot;&gt;Introduction to Sentiment Analysis in Python - The PyCharm Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2024/12/how-to-do-sentiment-analysis-with-large-language-models/&quot;&gt;How to Do Sentiment Analysis With Large Language Models - The PyCharm Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=innz9iBIAdU&quot;&gt;Talks - Jodie Burchell: Lies, damned lies and large language models - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=4jGwEOGunrU&quot;&gt;Mirror, mirror: LLMs and the illusion of humanity - Jodie Burchell - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=lLNJld729bc&quot;&gt;Separating fact from fiction in a world of AI fairytales - Jodie Burchell - NDC London 2024 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=yjfSZu246zE&quot;&gt;Hurt Feelings (Rap Version) - Flight Of The Conchords (Lyrics) - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.paulekman.com/universal-emotions/&quot;&gt;Universal Emotions - What are Emotions? - Paul Ekman Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nltk.org/api/nltk.sentiment.vader.html&quot;&gt;VADER - nltk.sentiment.vader module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/clips/pattern&quot;&gt;clips/pattern: Web mining module for Python, with tools for scraping, natural language processing, machine learning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textblob.readthedocs.io/en/dev/&quot;&gt;TextBlob: Simplified Text Processing — TextBlob documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.goodreads.com/book/show/19795.Power_vs_Force&quot;&gt;Power vs. Force: The Hidden Determinants of Human Behavior by David R. Hawkins - Goodreads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/36/&quot;&gt;Episode #36: Sentiment Analysis, Fourier Transforms, and More Python Data Science – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/sentiment-analysis-python/&quot;&gt;Use Sentiment Analysis With Python to Classify Movie Reviews – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-nltk-sentiment-analysis/&quot;&gt;Sentiment Analysis: First Steps With Python&amp;rsquo;s NLTK Library – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=c1zcPLVbhg4&quot;&gt;Sentiment Analysis in DataSpell with @JetBrainsTV - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/119/&quot;&gt;Episode #119: Natural Language Processing and How ML Models Understand Text – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spacy.io/&quot;&gt;spaCy - Industrial-strength Natural Language Processing in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/datasets/fancyzhx/amazon_polarity&quot;&gt;amazon_polarity - Datasets at Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2024/12/introduction-to-sentiment-analysis-in-python/&quot;&gt;Introduction to Sentiment Analysis in Python - The PyCharm Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kaggle.com/&quot;&gt;Kaggle: Your Machine Learning and Data Science Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zsbit.pl/poprzednie-edycje/&quot;&gt;ZS BIT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.aicommunityday.nl/&quot;&gt;AI Community Day - 10 December 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/author/jodie-burchell-jetbrains-com/&quot;&gt;Jodie Burchell - The JetBrains Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t-redactyl.io/&quot;&gt;Jodie Burchell&amp;rsquo;s Blog - Standard error&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/t-redactyl.bsky.social&quot;&gt;Jodie Burchell (@t-redactyl.bsky.social) — Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astrophysics-pandas-matplotlib/&quot;&gt;Exploring Astrophysics in Python With pandas and Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E232_03_Jodie.2494c93e5870.mp3" type="audio/mpeg" length="71217072"/>
        <guid isPermaLink="false">8f2b8252-4111-41d5-aedf-531547cc718c</guid>
        <pubDate>Fri, 20 Dec 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4389</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_232_Podcast.66b5de2c6adc.jpg"/>
        <rp:twitter-handles>@t_redactyl</rp:twitter-handles>
        <rp:twitter-title>“Exploring Modern Sentiment Analysis Approaches in Python” with @t_redactyl</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>231</itunes:episode>
        <title>Good Python Programming Practices When New to the Language</title>
        <itunes:title>Good Python Programming Practices When New to the Language</itunes:title>
        <link>https://realpython.com/podcasts/rpp/231/</link>
        <description>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&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;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&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss an older forum post from a new Python user who came from Perl. We suggest checking out PEP 8, or as it&amp;rsquo;s commonly known, &amp;ldquo;The Style Guide for Python Code.&amp;rdquo; We provide advice about installing Python, avoiding common pitfalls, learning how scope is managed, and taking advantage of a collection of Real Python resources.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by AssemblyAI.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;s aimed at beginner to intermediate programmers.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:17 &amp;ndash; Python 3.14.0 Alpha 2 Released&lt;/li&gt;
&lt;li&gt;00:02:35 &amp;ndash; Take the 2024 Django Developers Survey&lt;/li&gt;
&lt;li&gt;00:03:17 &amp;ndash; NumPy Practical Examples: Useful Techniques&lt;/li&gt;
&lt;li&gt;00:07:09 &amp;ndash; Loop Targets&lt;/li&gt;
&lt;li&gt;00:09:19 &amp;ndash; Python Dependency Management Is a Dumpster Fire&lt;/li&gt;
&lt;li&gt;00:23:15 &amp;ndash; Sponsor: AssemblyAI&lt;/li&gt;
&lt;li&gt;00:24:00 &amp;ndash; Package Compatibility With Free-Threading and Subinterpreters&lt;/li&gt;
&lt;li&gt;00:27:02 &amp;ndash; Suggestions for good programming practices?&lt;/li&gt;
&lt;li&gt;00:37:59 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:24 &amp;ndash; terminal-tree: Experimental Filesystem Navigator in Textual&lt;/li&gt;
&lt;li&gt;00:43:56 &amp;ndash; django-tasks: Background Workers Reference Implementation&lt;/li&gt;
&lt;li&gt;00:49:44 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/11/python-3140-alpha-2-released.html&quot;&gt;Python 3.14.0 Alpha 2 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/nov/21/2024-django-developers-survey/&quot;&gt;Take the 2024 Django Developers Survey&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/numpy-example/&quot;&gt;NumPy Practical Examples: Useful Techniques&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use NumPy by exploring several interesting examples. You&amp;rsquo;ll read data from a file into an array and analyze structured arrays to perform a reconciliation. You&amp;rsquo;ll also learn how to quickly chart an analysis and turn a custom function into a vectorized function.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/blog/202411/loop_targets.html&quot;&gt;Loop Targets&lt;/a&gt; &amp;ndash; Loop assignment allows you to assign to a dict item in a &lt;code&gt;for&lt;/code&gt; loop. This post covers what that means and that it is no more costly than regular assignment.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nielscautaerts.xyz/python-dependency-management-is-a-dumpster-fire.html&quot;&gt;Python Dependency Management Is a Dumpster Fire&lt;/a&gt; &amp;ndash; Managing dependencies in Python can be a bit of a challenge. This deep dive article shows you all the problems and how the problems are mitigated if not solved.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://parallel.python.tips/&quot;&gt;Package Compatibility With Free-Threading and Subinterpreters&lt;/a&gt; &amp;ndash; This tracker tests the compatibility of the 500 most popular packages with Python 3.13&amp;rsquo;s free-threading and subinterpreter features.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://groups.google.com/g/comp.lang.python/c/kqWrUMSYhrY?pli=1&quot;&gt;Suggestions for good programming practices?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/tutorials/best-practices/&quot;&gt;Python Best Practices – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0008/&quot;&gt;PEP 8 – Style Guide for Python Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/willmcgugan/terminal-tree&quot;&gt;terminal-tree: Experimental Filesystem Navigator in Textual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/RealOrangeOne/django-tasks&quot;&gt;django-tasks: Background Workers Reference Implementation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/146/&quot;&gt;Episode #146: Using NumPy and Linear Algebra for Faster Python Code – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pep8/&quot;&gt;How to Write Beautiful Python Code With PEP 8 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-idiomatic-python/&quot;&gt;Writing Idiomatic Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-namespaces-scope/&quot;&gt;Namespaces and Scope in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/installing-python/&quot;&gt;How to Install Python on Your System: A Guide – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-virtual-environments-a-primer/&quot;&gt;Python Virtual Environments: A Primer – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sourcery.ai/&quot;&gt;Sourcery - Instant Code Review for Faster Velocity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/183/&quot;&gt;Episode #183: Exploring Code Reviews in Python and Automating the Process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/textualize/textual&quot;&gt;Textual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astral.sh/uv/&quot;&gt;uv - An extremely fast Python package and project manager, written in Rust.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/django/deps/blob/main/accepted/0014-background-workers.rst&quot;&gt;DEP 0014: Background workers - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Have a Project You Want to Share? - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-idiomatic-python/&quot;&gt;Writing Idiomatic Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E231_03_PyCoders.f3e6553e92d4.mp3" type="audio/mpeg" length="50365077"/>
        <guid isPermaLink="false">24c110b6-66ae-4a69-a1fd-25936a01726d</guid>
        <pubDate>Fri, 06 Dec 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3086</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_231_Podcast.e59ce45c459e.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Good Python Programming Practices When New to the Language”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>230</itunes:episode>
        <title>marimo: Reactive Notebooks and Deployable Web Apps in Python</title>
        <itunes:title>marimo: Reactive Notebooks and Deployable Web Apps in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/230/</link>
        <description>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.</description>
        <content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You&amp;rsquo;ll learn when namespaces are created, how they are implemented, and how they define variable scope.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction  &lt;/li&gt;
&lt;li&gt;00:02:06 &amp;ndash; Akshay&amp;rsquo;s background and studies   &lt;/li&gt;
&lt;li&gt;00:04:14 &amp;ndash; Work at Google and PhD program    &lt;/li&gt;
&lt;li&gt;00:06:29 &amp;ndash; Sharing notebooks &lt;/li&gt;
&lt;li&gt;00:08:18 &amp;ndash; Starting work on marimo 2 years ago   &lt;/li&gt;
&lt;li&gt;00:12:48 &amp;ndash; Avoiding notebook issues and building a DAG   &lt;/li&gt;
&lt;li&gt;00:18:39 &amp;ndash; The difference of reactivity  &lt;/li&gt;
&lt;li&gt;00:20:39 &amp;ndash; What is a marimo notebook?    &lt;/li&gt;
&lt;li&gt;00:23:39 &amp;ndash; Video Course Spotlight    &lt;/li&gt;
&lt;li&gt;00:24:50 &amp;ndash; Reproducibility and managing package requirements&lt;/li&gt;
&lt;li&gt;00:27:49 &amp;ndash; Using decorators for cells    &lt;/li&gt;
&lt;li&gt;00:30:23 &amp;ndash; Writing a design document before any coding   &lt;/li&gt;
&lt;li&gt;00:34:08 &amp;ndash; Interactivity and UI widgets  &lt;/li&gt;
&lt;li&gt;00:38:20 &amp;ndash; Design decisions and built-in widgets &lt;/li&gt;
&lt;li&gt;00:42:05 &amp;ndash; Creating a deployable web application &lt;/li&gt;
&lt;li&gt;00:44:34 &amp;ndash; Exploring examples and tutorials  &lt;/li&gt;
&lt;li&gt;00:46:13 &amp;ndash; Supporting DataFrame libraries with narwhals  &lt;/li&gt;
&lt;li&gt;00:48:00 &amp;ndash; Migrating from a Jupyter notebook &lt;/li&gt;
&lt;li&gt;00:52:02 &amp;ndash; Working with cells and not running code   &lt;/li&gt;
&lt;li&gt;00:54:30 &amp;ndash; A couple favorite tutorials   &lt;/li&gt;
&lt;li&gt;00:56:17 &amp;ndash; What are you excited about in the world of Python?    &lt;/li&gt;
&lt;li&gt;00:57:39 &amp;ndash; What do you want to learn next?   &lt;/li&gt;
&lt;li&gt;00:59:34 &amp;ndash; How can people follow the project and yourself?   &lt;/li&gt;
&lt;li&gt;01:00:12 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/&quot;&gt;marimo - a next-generation Python notebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=9R2cQygaoxQ&quot;&gt;marimo: an open-source reactive notebook for Python - Akshay Agrawal (Nbpy2024) - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tensorflow.org/&quot;&gt;TensorFlow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/gallery&quot;&gt;Made with marimo - marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.marimo.io/faq.html#faq-problems&quot;&gt;FAQ - marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plutojl.org/&quot;&gt;Pluto.jl — interactive Julia programming environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://observablehq.com/&quot;&gt;Observable: Build expressive charts and dashboards with code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded-10-000-000-jupyter-notebooks-from-github-this-is-what-we-learned/&quot;&gt;We Downloaded 10,000,000 Jupyter Notebooks From Github – This Is What We Learned - The Datalore Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leomurta.github.io/papers/pimentel2019a.pdf&quot;&gt;A Large-scale Study about Quality and Reproducibility of Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/blog/lessons-learned&quot;&gt;Lessons learned reinventing the Python notebook - marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/226/&quot;&gt;Episode #226: PySheets: Spreadsheets in the Browser Using PyScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0723/&quot;&gt;PEP 723 – Inline script metadata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata&quot;&gt;Inline script metadata - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/blog/sandboxed-notebooks&quot;&gt;Serializing package requirements in marimo notebooks - marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/blog/uv-unified-python-packaging&quot;&gt;uv: Unified Python packaging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/blog/newsletter-7&quot;&gt;marimo Newsletter 7 - Jupyter to marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.marimo.io/guides/integrating_with_marimo/custom_ui_plugins.html&quot;&gt;Custom UI elements - marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anywidget.dev/&quot;&gt;anywidget - anywidget&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.marimo.io/guides/interactivity.html&quot;&gt;Interactive elements - marimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/224/&quot;&gt;Episode #224: Narwhals: Expanding DataFrame Compatibility Between Libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://calmcode.io/course/marimo/introduction&quot;&gt;Calmcode - marimo: Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/discord&quot;&gt;Join the marimo Discord&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marimo.io/newsletter&quot;&gt;marimo newsletter&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/marimo_io&quot;&gt;marimo on Twitter&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/company/marimo-io/&quot;&gt;marimo on LinkedIn&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://akshayagrawal.com/&quot;&gt;Akshay Agrawal&amp;rsquo;s website&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/akshaykagrawal&quot;&gt;Aksahy on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E230_03_Akshay.846352eee06e.mp3" type="audio/mpeg" length="59548101"/>
        <guid isPermaLink="false">5dc2293c-9a52-4536-9a42-6e0abb8c85e2</guid>
        <pubDate>Fri, 29 Nov 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3658</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_230_Podcast.c3dcf2ab24c8.jpg"/>
        <rp:twitter-handles>@akshaykagrawal</rp:twitter-handles>
        <rp:twitter-title>“marimo: Reactive Notebooks and Deployable Web Apps in Python” with @akshaykagrawal</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>229</itunes:episode>
        <title>The Joy of Tinkering &amp; Python Free-Threading Performance</title>
        <itunes:title>The Joy of Tinkering &amp; Python Free-Threading Performance</itunes:title>
        <link>https://realpython.com/podcasts/rpp/229/</link>
        <description>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&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;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&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Christopher shares an article that examines the performance of Python 3.13&amp;rsquo;s free-threading features. This piece uses a clever example to measure how the new features behave with large datasets and parallelization.&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;s soft keywords, a command-line utility for taking automated screenshots of websites, and putting the Django admin in the terminal with Textual.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Windsurf.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn what inner functions are in Python, how to define them, and what their main use cases are. You&amp;rsquo;ll see how to write helper functions, create closure factory functions, and how to add behavior to existing functions with decorators.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction  &lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; Django Bugfix Release Issued: 5.1.3   &lt;/li&gt;
&lt;li&gt;00:02:46 &amp;ndash; Pillow Release 11.0.0 &lt;/li&gt;
&lt;li&gt;00:03:14 &amp;ndash; Flask Version 3.1.0   &lt;/li&gt;
&lt;li&gt;00:03:30 &amp;ndash; PyCon US 2025 (Pittsburgh) Call for Proposals &lt;/li&gt;
&lt;li&gt;00:03:46 &amp;ndash; Python Closures: Common Use Cases and Examples    &lt;/li&gt;
&lt;li&gt;00:09:20 &amp;ndash; State of Python 3.13 Performance: Free-Threading  &lt;/li&gt;
&lt;li&gt;00:15:42 &amp;ndash; Sponsor: Windsurf &lt;/li&gt;
&lt;li&gt;00:16:32 &amp;ndash; Opposite of Cloud Native Is…? &lt;/li&gt;
&lt;li&gt;00:22:36 &amp;ndash; Python&amp;rsquo;s Soft Keywords    &lt;/li&gt;
&lt;li&gt;00:24:50 &amp;ndash; Video Course Spotlight    &lt;/li&gt;
&lt;li&gt;00:26:11 &amp;ndash; The Joy of Tinkering  &lt;/li&gt;
&lt;li&gt;00:38:33 &amp;ndash; shot-scraper: A command-line utility for taking automated screenshots of websites &lt;/li&gt;
&lt;li&gt;00:41:13 &amp;ndash; django-admin-tui: Django Admin in the Terminal!   &lt;/li&gt;
&lt;li&gt;00:42:37 &amp;ndash; django-admin-dracula: Dracula Themes for the Django Admin &lt;/li&gt;
&lt;li&gt;00:44:21 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/5.1/releases/5.1.3/&quot;&gt;Django Bugfix Release Issued: 5.1.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python-pillow/Pillow/releases/tag/11.0.0&quot;&gt;Pillow Release 11.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0&quot;&gt;Flask Version 3.1.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.com/pyconus2025/&quot;&gt;PyCon US 2025 (Pittsburgh) Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-closure/&quot;&gt;Python Closures: Common Use Cases and Examples&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about Python closures. A closure is a function-like object with an extended scope. You can use closures to create decorators, factory functions, stateful functions, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codspeed.io/blog/state-of-python-3-13-performance-free-threading&quot;&gt;State of Python 3.13 Performance: Free-Threading&lt;/a&gt; &amp;ndash; This article does a comparison between code in single threaded, threaded, and multi-process versions under Python 3.12, 3.13, and 3.13 free-threaded with the GIL on and off.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mkennedy.codes/posts/opposite-of-cloud-native-is-stack-native/&quot;&gt;Opposite of Cloud Native Is…?&lt;/a&gt; &amp;ndash; Michael (from Talk Python fame) introduces the concept of &amp;ldquo;stack-native&amp;rdquo; as the opposite of &amp;ldquo;cloud-native&amp;rdquo;, and how it applies to Python web apps. Building applications with just enough full-stack building blocks to run reliably with minimal complexity, rather than relying on a multitude of cloud services.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/til/pythons-soft-keywords&quot;&gt;Python&amp;rsquo;s soft keywords&lt;/a&gt; &amp;ndash; Python includes soft keywords: tokens that are important to the parser but can also be used as variable names. This article shows you what a soft keyword is and how to find them in Python 3.12 (both the easy and hard way).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vadimkravcenko.com/shorts/habits-of-great-software-engineers/&quot;&gt;Habits of Great Software Engineers - The Joy of Tinkering&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://shot-scraper.datasette.io/en/stable/&quot;&gt;shot-scraper: A command-line utility for taking automated screenshots of websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/valberg/django-admin-tui&quot;&gt;django-admin-tui: Django admin in the terminal!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sjbitcode/django-admin-dracula&quot;&gt;django-admin-dracula: 🦇 Dracula themes for the Django admin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/primer-on-python-decorators/&quot;&gt;Primer on Python Decorators – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/blog/posts/we-have-moved-to-hetzner/&quot;&gt;We&amp;rsquo;ve moved to Hetzner - Talk Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/blog/posts/talk-python-rewritten-in-quart-async-flask/&quot;&gt;Talk Python rewritten in Quart (async Flask) - Talk Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Have a Project You Want to Share? - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-and-calling-functions/&quot;&gt;Defining and Calling Python Functions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E229_03_PyCoders.23e4ff75fdbf.mp3" type="audio/mpeg" length="45047345"/>
        <guid isPermaLink="false">2a6da4b6-8640-45eb-941c-c0cb7eb8e772</guid>
        <pubDate>Fri, 22 Nov 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2750</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_229_Podcast.756915a7dc15.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“The Joy of Tinkering &amp; Python Free-Threading Performance”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>228</itunes:episode>
        <title>Maintaining the Foundations of Python &amp; Cautionary Tales</title>
        <itunes:title>Maintaining the Foundations of Python &amp; Cautionary Tales</itunes:title>
        <link>https://realpython.com/podcasts/rpp/228/</link>
        <description>How do you build a sustainable open-source project and community? What lessons can be learned from Python&#x27;s history and the current mess that the WordPress community is going through? This week on the show, we speak with Paul Everitt from JetBrains about navigating open-source funding and the start of the Python Software Foundation.</description>
        <content:encoded>&lt;p&gt;How do you build a sustainable open-source project and community? What lessons can be learned from Python&amp;rsquo;s history and the current mess that the WordPress community is going through? This week on the show, we speak with Paul Everitt from JetBrains about navigating open-source funding and the start of the Python Software Foundation.&lt;/p&gt;
&lt;p&gt;Paul has been an organizer in the Python community almost from the beginning. He shares how the project has navigated through multiple sponsors. We talk about the early governance models and the formation of the Python Software Foundation.&lt;/p&gt;
&lt;p&gt;We contrast this journey with the current drama unfolding in the WordPress community. We discuss the potential problems of having a benevolent dictator for life. We also dig into sponsorship models and ways to get companies to give back to the open-source projects they rely on.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With this course and Python project, you&amp;rsquo;ll build a script to calculate grades for a class using pandas. The script will quickly and accurately calculate grades from a variety of data sources. You&amp;rsquo;ll see examples of loading, merging, and saving data with pandas, as well as plotting some summary statistics.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:01:55 &amp;ndash; Meeting Jodie Burchell at PyCon 2022&lt;/li&gt;
&lt;li&gt;00:02:51 &amp;ndash; A non-traditional path into open-source&lt;/li&gt;
&lt;li&gt;00:07:09 &amp;ndash; The current turmoil around WordPress&lt;/li&gt;
&lt;li&gt;00:13:49 &amp;ndash; Keeping things fair in the age of extraction&lt;/li&gt;
&lt;li&gt;00:16:03 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:17:07 &amp;ndash; Early Python organizing history and conservation&lt;/li&gt;
&lt;li&gt;00:20:41 &amp;ndash; The Python Software Activity precursor to PSF&lt;/li&gt;
&lt;li&gt;00:24:14 &amp;ndash; Creating the Python Software Foundation&lt;/li&gt;
&lt;li&gt;00:27:24 &amp;ndash; Keeping the perfect distance of business and project&lt;/li&gt;
&lt;li&gt;00:28:13 &amp;ndash; Who gets to capture the value from open-source?&lt;/li&gt;
&lt;li&gt;00:31:07 &amp;ndash; Sponsorships becoming more common&lt;/li&gt;
&lt;li&gt;00:33:24 &amp;ndash; BDFL to a steering council&lt;/li&gt;
&lt;li&gt;00:34:58 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:16 &amp;ndash; What is Plone?&lt;/li&gt;
&lt;li&gt;00:38:11 &amp;ndash; Starting in Python and finding community&lt;/li&gt;
&lt;li&gt;00:50:07 &amp;ndash; Companies contributing &lt;/li&gt;
&lt;li&gt;00:53:16 &amp;ndash; Examples of how JetBrains contributes back&lt;/li&gt;
&lt;li&gt;00:55:41 &amp;ndash; Understanding the support system&lt;/li&gt;
&lt;li&gt;00:58:09 &amp;ndash; Talking to decision makers&lt;/li&gt;
&lt;li&gt;01:00:07 &amp;ndash; Python 1994 talk and continuation&lt;/li&gt;
&lt;li&gt;01:01:49 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:03:06 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:04:17 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:07:16 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/pycharm/&quot;&gt;PyCharm: the Python IDE for data science and web development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.org/&quot;&gt;PyCon - Join us at PyCon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Benevolent_dictator_for_life&quot;&gt;Benevolent dictator for life - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/2024/9/27/24256361/wordpress-wp-engine-drama-explained-matt-mullenweg&quot;&gt;The messy WordPress drama, explained - The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/2024/10/12/24268637/wordpress-org-matt-mullenweg-acf-fork-secure-custom-fields-wp-engine&quot;&gt;WordPress.org&amp;rsquo;s latest move involves taking control of a WP Engine plugin - The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/2024/10/18/24273448/wp-engine-injunction-matt-mullenweg-wordpress-resources&quot;&gt;WP Engine asks court to stop Matt Mullenweg from blocking access to WordPress resources - The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.404media.co/podcast-why-the-wordpress-chaos-matters/&quot;&gt;Podcast: Why the WordPress Chaos Matters - 404 Media&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Zope&quot;&gt;Zope - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf-landing/&quot;&gt;Python Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyladies.com/&quot;&gt;PyLadies – Women Who Love Coding in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/foundation/&quot;&gt;Django Software Foundation - Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opencv.org/about/&quot;&gt;OpenCV - About Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plone.org/foundation&quot;&gt;Plone Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastht.ml/&quot;&gt;FastHTML - Modern web applications in pure Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=vyz7zdGiPVY&quot;&gt;Paul Everitt - Python 1994 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/python-311-faster-cpython-team/&quot;&gt;A Team at Microsoft is Helping Make Python Faster - Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://veldakiara.notion.site/Velda-Kiara-46aec24028fd4e8dbdba003097c18b5b&quot;&gt;Velda Kiara&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/&quot;&gt;JetBrains Blog: The Drive to Develop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@pauleveritt&quot;&gt;Paul Everitt (@pauleveritt@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Guido_van_Rossum&quot;&gt;Guido van Rossum - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-history.blogspot.com/2009/01/personal-history-part-1-cwi.html&quot;&gt;The History of Python: Personal History - part 1, CWI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Pzkdci2HDpU&quot;&gt;Oral History of Guido van Rossum, part 1 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E228_03_Paul_Everitt.13e37f047096.mp3" type="audio/mpeg" length="67370227"/>
        <guid isPermaLink="false">223b11ce-6317-4e64-8cee-7b7a425c84b6</guid>
        <pubDate>Fri, 15 Nov 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4149</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_228_Podcast.47be368f8b21.jpg"/>
        <rp:twitter-handles>@paulweveritt</rp:twitter-handles>
        <rp:twitter-title>“Maintaining the Foundations of Python &amp; Cautionary Tales” with @paulweveritt</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>227</itunes:episode>
        <title>New PEPs: Template Strings &amp; External Wheel Hosting</title>
        <itunes:title>New PEPs: Template Strings &amp; External Wheel Hosting</itunes:title>
        <link>https://realpython.com/podcasts/rpp/227/</link>
        <description>Have you wanted the flexibility of f-strings but need safety checks in place? What if you could have deferred evaluation for logging or avoiding injection attacks? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you wanted the flexibility of f-strings but need safety checks in place? What if you could have deferred evaluation for logging or avoiding injection attacks? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a set of recent Python Enhancement Proposals (PEPs). The idea of template strings has been under consideration for a while, and PEP 750 describes a new way forward. PEP 759 proposes a way for projects on PyPI to safely host resources on external sites using a new package upload format called a .rim file.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including what didn&amp;rsquo;t make the headlines about Python 3.13, solving Sudoku with Python packaging, what&amp;rsquo;s sweet about Python&amp;rsquo;s syntactic sugar, creating database-generated columns using SQLite and Django, a discussion about mentoring, an adaptive web scraper, and a debugging tool for HTTP(S) client requests.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pydantic-simplify-data-validation/&quot;&gt;Using Pydantic to Simplify Python Data Validation&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Discover the power of Pydantic, Python&amp;rsquo;s most popular data parsing, validation, and serialization library. In this hands-on video course, you&amp;rsquo;ll learn how to make your code more robust, trustworthy, and easier to debug with Pydantic.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:08 &amp;ndash; Python 3.14.0 Alpha 1 Released&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Python 3.13, What Didn&amp;rsquo;t Make the Headlines&lt;/li&gt;
&lt;li&gt;00:05:23 &amp;ndash; What&amp;rsquo;s up Python? 3.13 is out, t-strings look awesome&lt;/li&gt;
&lt;li&gt;00:10:21 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:11:25 &amp;ndash; Sudoku in Python Packaging&lt;/li&gt;
&lt;li&gt;00:14:29 &amp;ndash; Syntactic Sugar: Why Python Is Sweet and Pythonic&lt;/li&gt;
&lt;li&gt;00:22:31 &amp;ndash; Database generated columns: Django &amp;amp; SQLite&lt;/li&gt;
&lt;li&gt;00:27:14 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:39 &amp;ndash; Mentors&lt;/li&gt;
&lt;li&gt;00:42:23 &amp;ndash; Scrapling: Lightning-Fast, Adaptive Web Scraping for Python&lt;/li&gt;
&lt;li&gt;00:44:14 &amp;ndash; httpdbg: A tool for Python developers to easily debug the HTTP(S) client requests&lt;/li&gt;
&lt;li&gt;00:46:04 &amp;ndash; Request for project submissions to PyCoders&lt;/li&gt;
&lt;li&gt;00:46:59 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/10/python-3140-alpha-1-is-now-available.html&quot;&gt;Python 3.14.0 Alpha 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/python-313-what-didnt-make-the-headlines&quot;&gt;Python 3.13, What Didn&amp;rsquo;t Make the Headlines&lt;/a&gt; &amp;ndash; Bite Code summarizes some of the lesser covered changes to Python in the 3.13 release, including how some of the REPL improvements made it into &lt;code&gt;pdb&lt;/code&gt;, improvements to &lt;code&gt;shutil&lt;/code&gt;, and small additions to the asyncio library.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/whats-up-python-313-is-out-t-strings?utm_source=post-email-title&amp;amp;publication_id=1516188&amp;amp;post_id=150838079&amp;amp;utm_campaign=email-post-title&amp;amp;isFreemail=true&amp;amp;r=3ebaxe&amp;amp;triedRedirect=true&amp;amp;utm_medium=email&quot;&gt;What&amp;rsquo;s up Python? 3.13 is out, t-strings look awesome, dep groups come in handy&amp;hellip;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2024/Oct/21/sudoku-in-python-packaging/&quot;&gt;Sudoku in Python Packaging&lt;/a&gt; &amp;ndash; Simon writes about a &lt;a href=&quot;https://github.com/konstin/sudoku-in-python-packaging&quot;&gt;Sudoku solver&lt;/a&gt; written by Konstin that uses the Python packaging mechanisms to do Sudoku puzzles. The results are output using a requirements.txt file, where &lt;code&gt;sudoku-0-3==5&lt;/code&gt; represents the (0,3) cell&amp;rsquo;s answer of 5.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/syntactic-sugar-python/&quot;&gt;Syntactic Sugar: Why Python Is Sweet and Pythonic&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn what syntactic sugar is and how Python uses it to help you create more readable, descriptive, clean, and Pythonic code. You&amp;rsquo;ll also learn how to replace a given piece of syntactic sugar with another syntax construct.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.paulox.net/2023/11/07/database-generated-columns-part-1-django-and-sqlite/&quot;&gt;Database generated columns: Django &amp;amp; SQLite&lt;/a&gt; &amp;ndash; An introduction to database generated columns, using SQLite and the new GeneratedField added in Django 5.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ryancheley.com/2024/09/16/mentors/&quot;&gt;Mentors&lt;/a&gt; &amp;ndash; Ryan just finished his second round of mentoring with the Djangonaut.Space program. This post talks about how you can help your mentor help you and how to be a good mentor.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/D4Vinci/Scrapling&quot;&gt;Scrapling: Lightning-Fast, Adaptive Web Scraping for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cle-b/httpdbg&quot;&gt;httpdbg: A tool for Python developers to easily debug the HTTP(S) client requests in a Python program&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0750/&quot;&gt;PEP 750 – Template Strings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0735/&quot;&gt;PEP 735 – Dependency Groups in pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0759/&quot;&gt;PEP 759 – External Wheel Hosting&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode #47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/92/&quot;&gt;Episode #92: Continuing to Unravel Python&amp;rsquo;s Syntactic Sugar With Brett Cannon – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/4/&quot;&gt;Episode #4: Learning Python Through Errors – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Have a Project You Want to Share? - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pydantic-simplify-data-validation/&quot;&gt;Using Pydantic to Simplify Python Data Validation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/type-hints-multiple-return-types/&quot;&gt;Using Type Hints for Multiple Return Types in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E227_03_PyCoders.d138debe4f2f.mp3" type="audio/mpeg" length="47058299"/>
        <guid isPermaLink="false">1bba57cb-cb40-4f94-815f-550a31e21724</guid>
        <pubDate>Fri, 08 Nov 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2878</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_227_Podcast.9cfc0766948a.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“New PEPs: Template Strings &amp; External Wheel Hosting”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>226</itunes:episode>
        <title>PySheets: Spreadsheets in the Browser Using PyScript</title>
        <itunes:title>PySheets: Spreadsheets in the Browser Using PyScript</itunes:title>
        <link>https://realpython.com/podcasts/rpp/226/</link>
        <description>What goes into building a spreadsheet application in Python that runs in the browser? How do you make it launch quickly, and where do you store the cells of data? This week on the show, we speak with Chris Laffra about his project, PySheets, and his book &quot;Communication for Engineers.&quot;</description>
        <content:encoded>&lt;p&gt;What goes into building a spreadsheet application in Python that runs in the browser? How do you make it launch quickly, and where do you store the cells of data? This week on the show, we speak with Chris Laffra about his project, PySheets, and his book &amp;ldquo;Communication for Engineers.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;As a software engineer, Chris has worked at IBM, Google, Uber, and several financial institutions. He speaks about developer productivity and communication skills as an engineer. We begin our conversation by digging into his background, his approach to building engineering teams, and strategies for improving communication.&lt;/p&gt;
&lt;p&gt;Chris&amp;rsquo; idea for PySheets is to have Excel inside Python with everything running locally in your browser. He was inspired by the success of Jupyter Notebooks but wanted to develop a tool more suited to a spreadsheet&amp;rsquo;s non-linear graph structure.&lt;/p&gt;
&lt;p&gt;PySheets is built to run locally in the user&amp;rsquo;s browser, taking advantage of PyScript. We discuss finding the right solution for storing data in the browser and developing a graphic toolkit to create the UI. Chris also shares the novel method he found to get the interface up and running while the larger assets are loading.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/understanding-global-interpreter-lock-gil/&quot;&gt;Understanding Python&amp;rsquo;s Global Interpreter Lock (GIL)&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Python&amp;rsquo;s Global Interpreter Lock, or GIL, is a mutex (or a lock) that allows only one thread to hold the control of the Python interpreter at any one time. In this video course, you&amp;rsquo;ll learn how the GIL affects the performance of your Python programs.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:25 &amp;ndash; Background with building engineering teams&lt;/li&gt;
&lt;li&gt;00:08:43 &amp;ndash; Communication for Engineers book&lt;/li&gt;
&lt;li&gt;00:16:17 &amp;ndash; What do customers want and experiences at IBM&lt;/li&gt;
&lt;li&gt;00:24:28 &amp;ndash; Starting the development of PySheets&lt;/li&gt;
&lt;li&gt;00:27:19 &amp;ndash; Working with the DOM&lt;/li&gt;
&lt;li&gt;00:29:41 &amp;ndash; Success of Jupyter notebooks&lt;/li&gt;
&lt;li&gt;00:35:46 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:36:52 &amp;ndash; Little Toolkit for PyScript&lt;/li&gt;
&lt;li&gt;00:43:24 &amp;ndash; Finding funding &lt;/li&gt;
&lt;li&gt;00:46:58 &amp;ndash; Building a product before selling&lt;/li&gt;
&lt;li&gt;00:52:27 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:53:46 &amp;ndash; Finding the right data storage in IndexedDB &lt;/li&gt;
&lt;li&gt;01:01:57 &amp;ndash; Exploring the trial page and extensibility&lt;/li&gt;
&lt;li&gt;01:08:26 &amp;ndash; Contributing to the project or forking&lt;/li&gt;
&lt;li&gt;01:11:56 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:16:20 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:17:25 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:18:05 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://chrislaffra.com/&quot;&gt;Chris Laffra&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chrislaffra.gumroad.com/l/cltwcl?layout=profile&quot;&gt;C4E - Communication for Engineers (ePUB)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pysheets.app/about&quot;&gt;PySheets - Spreadsheet UI for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/PySheets/pysheets?tab=readme-ov-file#installation&quot;&gt;PySheets: Source for PySheets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5nseG-iU62g&amp;amp;list=PLXHJZN4UnprtCWGih6gSG_PvmgsvHue5y&quot;&gt;PyScript - Python in the browser - Chris Laffra - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/microsoft-365/python-in-excel#footnote2&quot;&gt;Python in Excel - Microsoft 365&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pyscript/ltk&quot;&gt;pyscript/ltk: LTK is a little toolkit for writing UIs in PyScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyscript.github.io/ltk/&quot;&gt;LTK - Little Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dl.acm.org/doi/abs/10.1145/74878.74888&quot;&gt;PROCOL: a parallel object language with protocols - ACM SIGPLAN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API&quot;&gt;IndexedDB API - MDN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pyscript.net/2024.10.2/user-guide/first-steps/&quot;&gt;First steps - PyScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyodide.org/en/stable/&quot;&gt;Pyodide — Version 0.26.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anaconda.com/blog/pyscript-updates-bytecode-alliance-pyodide-and-micropython&quot;&gt;PyScript Updates: Bytecode Alliance, Pyodide, and MicroPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://micropython.org/&quot;&gt;MicroPython - Python for microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.freecad.org/&quot;&gt;FreeCAD: Your own 3D parametric modeler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLXHJZN4UnprtCWGih6gSG_PvmgsvHue5y&quot;&gt;Chris Laffra - How to become a Happy and Productive Engineer - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-313/&quot;&gt;What&amp;#x27;s New in Python 3.13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-plotting-matplotlib/&quot;&gt;Python Plotting With Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/understanding-global-interpreter-lock-gil/&quot;&gt;Understanding Python&amp;#x27;s Global Interpreter Lock (GIL)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E226_03_ChrisLaffra.b8326e9e4e06.mp3" type="audio/mpeg" length="77363477"/>
        <guid isPermaLink="false">a58d15c3-da6e-4c26-b815-8554ececd719</guid>
        <pubDate>Fri, 01 Nov 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4773</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_226_Podcast.14d1d3bf76ad.jpg"/>
        <rp:twitter-handles>@laffra</rp:twitter-handles>
        <rp:twitter-title>“PySheets: Spreadsheets in the Browser Using PyScript” with @laffra</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>225</itunes:episode>
        <title>Python Getting Faster and Leaner &amp; Ideas for Django Projects</title>
        <itunes:title>Python Getting Faster and Leaner &amp; Ideas for Django Projects</itunes:title>
        <link>https://realpython.com/podcasts/rpp/225/</link>
        <description>What changes are happening under the hood in the latest versions of Python? How are these updates laying the groundwork for a faster Python in the coming years? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What changes are happening under the hood in the latest versions of Python? How are these updates laying the groundwork for a faster Python in the coming years? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article about Python&amp;rsquo;s recent performance improvements. The piece covers the specialized adaptive interpreter and explains what those terms mean. It also includes details about the experimental feature of the Just-In-Time (JIT) compiler added in 3.13.&lt;/p&gt;
&lt;p&gt;We dig into a collection of Django projects you can use to practice and develop your skills. The projects ramp up from detailed beginner tutorials to more advanced projects with guidelines on how to get started. We also discuss a collection of popular websites that use Django. &lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a batch of recent Python Enhancement Protocols (PEPs), a couple of Python releases, using DuckDB in the browser with Pyodide, building a contact book app with Textual, generating a tiny status page with a Python script, and a grep-like tool that understands code.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by AssemblyAI. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-site-connectivity-checker/&quot;&gt;Building a Site Connectivity Checker&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll build a Python site connectivity checker for the command line. While building this app, you&amp;rsquo;ll integrate knowledge related to making HTTP requests with standard-library tools, creating command-line interfaces, and managing concurrency with asyncio and aiohttp.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:11 &amp;ndash; PEP 777: How to Re-Invent the Wheel&lt;/li&gt;
&lt;li&gt;00:04:22 &amp;ndash; PEP 758: Allow &lt;code&gt;except&lt;/code&gt; and &lt;code&gt;except*&lt;/code&gt; Expressions Without Parentheses&lt;/li&gt;
&lt;li&gt;00:04:51 &amp;ndash; PEP 760: No More Bare Excepts (Withdrawn)&lt;/li&gt;
&lt;li&gt;00:05:42 &amp;ndash; PEP 735: Dependency Groups in &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:06:29 &amp;ndash; PEP 761: Deprecating PGP Signatures for CPython Artifacts&lt;/li&gt;
&lt;li&gt;00:06:59 &amp;ndash; Python 3.12.7 Released&lt;/li&gt;
&lt;li&gt;00:07:12 &amp;ndash; Incremental GC and Pushing Back the 3.13.0 Release&lt;/li&gt;
&lt;li&gt;00:09:10 &amp;ndash; DuckDB in the Browser With Pyodide&lt;/li&gt;
&lt;li&gt;00:15:35 &amp;ndash; Sponsor: AssemblyAI&lt;/li&gt;
&lt;li&gt;00:16:18 &amp;ndash; Build a Contact Book App With Python, Textual, and SQLite&lt;/li&gt;
&lt;li&gt;00:21:55 &amp;ndash; Django Project Ideas&lt;/li&gt;
&lt;li&gt;00:28:42 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:00 &amp;ndash; In the Making of Python Fitter and Faster&lt;/li&gt;
&lt;li&gt;00:35:13 &amp;ndash; tinystatus: Tiny Status Page Generated by a Python Script&lt;/li&gt;
&lt;li&gt;00:38:06 &amp;ndash; srgn: Grep-Like Tool That Understands Code&lt;/li&gt;
&lt;li&gt;00:42:01 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0777/&quot;&gt;PEP 777: How to Re-Invent the Wheel&lt;/a&gt; &amp;ndash; &amp;ldquo;The current wheel 1.0 specification was written over a decade ago, and has been extremely robust to changes in the Python packaging ecosystem&amp;hellip; this PEP prescribes compatibility requirements on future wheel revisions.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0758/&quot;&gt;PEP 758: Allow &lt;code&gt;except&lt;/code&gt; and &lt;code&gt;except*&lt;/code&gt; Expressions Without Parentheses&lt;/a&gt; &amp;ndash; &amp;ldquo;This PEP proposes to allow unparenthesized &lt;code&gt;except&lt;/code&gt; and &lt;code&gt;except*&lt;/code&gt; blocks in Python&amp;rsquo;s exception handling syntax. Currently, when catching multiple exceptions, parentheses are required around the exception types.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0760/&quot;&gt;PEP 760: No More Bare Excepts (Withdrawn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0735/&quot;&gt;PEP 735: Dependency Groups in &lt;code&gt;pyproject.toml&lt;/code&gt; (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0761/&quot;&gt;PEP 761: Deprecating PGP Signatures for CPython Artifacts&lt;/a&gt; &amp;ndash; Since Python 3.11.0, CPython has provided two verifiable digital signatures for all CPython artifacts: PGP and sigstore. This PEP proposes moving to sigstore as the only way of signing artifacts.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/release/3.12.7/whatsnew/changelog.html&quot;&gt;Python 3.12.7 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.13/whatsnew/changelog.html&quot;&gt;Python 3.13.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/incremental-gc-and-pushing-back-the-3-13-0-release/65285&quot;&gt;Incremental GC and Pushing Back the 3.13.0 Release&lt;/a&gt; &amp;ndash; Some last minute performance considerations delayed the release of Python 3.13 with one of the features being backed out.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://duckdb.org/2024/10/02/pyodide.html&quot;&gt;DuckDB in the Browser With Pyodide&lt;/a&gt; &amp;ndash; Learn how to run DuckDB in an in-browser Python environment to enable simple querying on remote files, interactive documentation, and easy to use training materials.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/contact-book-python-textual/&quot;&gt;Build a Contact Book App With Python, Textual, and SQLite&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll be guided step by step through the process of building a basic contact book application. You&amp;rsquo;ll use Python and Textual to build the application&amp;rsquo;s text-based user interface (TUI), and then use SQLite to manage the database.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/pycharm/2024/09/django-project-ideas/&quot;&gt;Django Project Ideas&lt;/a&gt; &amp;ndash; Looking to experiment or build your portfolio? Discover creative Django project ideas for all skill levels, from beginner apps to advanced full-stack projects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sumercip.com/posts/making-python-fitter-and-faster/&quot;&gt;In the Making of Python Fitter and Faster&lt;/a&gt; &amp;ndash; This post details how Python&amp;rsquo;s recent performance improvements work under the hood. It covers changes to the interpreter, better memory management, and the newly experimental JIT compiler.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/harsxv/tinystatus&quot;&gt;tinystatus: Tiny Status Page Generated by a Python Script&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/alexpovel/srgn&quot;&gt;srgn: Grep-Like Tool That Understands Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wheels/&quot;&gt;What Are Python Wheels and Why Should You Care? – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jupyterlite.readthedocs.io/en/latest/quickstart/deploy.html&quot;&gt;Deploy your first JupyterLite website on GitHub Pages — JupyterLite 0.4.3 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Textualize/rich&quot;&gt;rich: Python library for rich text and beautiful formatting in the terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangostars.com/blog/10-popular-sites-made-on-django/&quot;&gt;The 10 Most Popular Websites Using Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/django-in-action#reviews&quot;&gt;Django in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=i1eMxu_PR5Y&quot;&gt;Django and htmx Tutorial: Easier Web Development - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/site-connectivity-checker-python/&quot;&gt;Build a Site Connectivity Checker in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jackevans.bearblog.dev/refactoring-python-with-tree-sitter-jedi/&quot;&gt;Refactoring Python with 🌳 Tree-sitter &amp;amp; Jedi | Jack&amp;rsquo;s blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-site-connectivity-checker/&quot;&gt;Building a Site Connectivity Checker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-argparse-command-line-interfaces/&quot;&gt;Building Command Line Interfaces With argparse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E225_03_PyCoders.c3c2209d52c3.mp3" type="audio/mpeg" length="42316527"/>
        <guid isPermaLink="false">a437eb32-bb3a-4423-b4e0-8d806cfc12e9</guid>
        <pubDate>Fri, 25 Oct 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2584</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_225_Podcast.e10a2cdffcb4.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python Getting Faster and Leaner &amp; Ideas for Django Projects”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>224</itunes:episode>
        <title>Narwhals: Expanding DataFrame Compatibility Between Libraries</title>
        <itunes:title>Narwhals: Expanding DataFrame Compatibility Between Libraries</itunes:title>
        <link>https://realpython.com/podcasts/rpp/224/</link>
        <description>How does a Python tool support all types of DataFrames and their various features? Could a lightweight library be used to add compatibility for newer formats like Polars or PyArrow? This week on the show, we speak with Marco Gorelli about his project, Narwhals.</description>
        <content:encoded>&lt;p&gt;How does a Python tool support all types of DataFrames and their various features? Could a lightweight library be used to add compatibility for newer formats like Polars or PyArrow? This week on the show, we speak with Marco Gorelli about his project, Narwhals.&lt;/p&gt;
&lt;p&gt;Narwhals is a project aimed at library maintainers rather than end users. We discuss how the added compatibility benefits users by supporting modern features like lazy evaluation. We cover several projects Marco has been working with to implement Narwhals, including Altair, scikit-lego, and Ibis.&lt;/p&gt;
&lt;p&gt;We also discuss how Marco started contributing to open-source projects. Marco has contributed to both pandas and Polars, which helps explain his interest in growing compatibility between libraries. He also offers advice on making your first contribution. &lt;/p&gt;
&lt;p&gt;This episode is sponsored by CodeRabbit. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/differences-mutable-immutable-types/&quot;&gt;Differences Between Python&amp;rsquo;s Mutable and Immutable Types&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how Python&amp;rsquo;s mutable and immutable data types work internally and how you can take advantage of mutability or immutability to power your code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:02 &amp;ndash; Euro SciPy 2024 and sprints&lt;/li&gt;
&lt;li&gt;00:04:04 &amp;ndash; How did you get involved in open source?&lt;/li&gt;
&lt;li&gt;00:07:18 &amp;ndash; Finding a good issue to get started&lt;/li&gt;
&lt;li&gt;00:09:25 &amp;ndash; Discord and open-source projects&lt;/li&gt;
&lt;li&gt;00:11:12 &amp;ndash; Who would you describe Narwhals?&lt;/li&gt;
&lt;li&gt;00:16:47 &amp;ndash; Working on Polars&lt;/li&gt;
&lt;li&gt;00:19:17 &amp;ndash; Apache Arrow and a data interchange protocol&lt;/li&gt;
&lt;li&gt;00:22:55 &amp;ndash; Sponsor: CodeRabbit&lt;/li&gt;
&lt;li&gt;00:23:55 &amp;ndash; Digging into eager vs lazy&lt;/li&gt;
&lt;li&gt;00:27:04 &amp;ndash; Ibis DataFrame library&lt;/li&gt;
&lt;li&gt;00:28:57 &amp;ndash; What do libraries need from Narwhals?&lt;/li&gt;
&lt;li&gt;00:34:57 &amp;ndash; The scikit-lego library&lt;/li&gt;
&lt;li&gt;00:37:15 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:38:45 &amp;ndash; Other libraries interested in Narwhals&lt;/li&gt;
&lt;li&gt;00:41:56 &amp;ndash; Compatibility policy&lt;/li&gt;
&lt;li&gt;00:45:18 &amp;ndash; What should an end user expect?&lt;/li&gt;
&lt;li&gt;00:46:32 &amp;ndash; Have other projects that attempted this?&lt;/li&gt;
&lt;li&gt;00:47:54 &amp;ndash; Keeping the project light and pure Python&lt;/li&gt;
&lt;li&gt;00:49:32 &amp;ndash; Contributors and how to get involved&lt;/li&gt;
&lt;li&gt;00:54:42 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:57:18 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:59:05 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:59:27 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://narwhals-dev.github.io/narwhals/&quot;&gt;Narwhals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://euroscipy.org/2024/&quot;&gt;EuroSciPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/narwhals-dev/narwhals?featured_on=talkpython&quot;&gt;narwhals: Lightweight and Extensible Compatibility Layer Between DataFrame Libraries! - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=-mdx7Cn6_6E&amp;amp;t=343s&quot;&gt;DataFrame Interoperability - What&amp;rsquo;s Been Achieved, and What Comes Next? - PyCon Lithuania - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=8hYdq4sWbbQ&amp;amp;list=PLSIzlWDI17bRULf7X_55ab7THqA9TJPxd&quot;&gt;How Narwhals Has Many End Users &amp;hellip; That Never Use It Directly - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/posts/lightweight_plotting/&quot;&gt;Polars Has a New Lightweight Plotting Backend - Altair&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/&quot;&gt;pandas - Python Data Analysis Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars — DataFrames for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/great-tables/&quot;&gt;great-tables - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/214/&quot;&gt;Episode #214: Build Captivating Display Tables in Python With Great Tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ibis-project.org/&quot;&gt;Ibis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/201/&quot;&gt;Episode #201: Decoupling Systems to Get Closer to the Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://posit-dev.github.io/great-tables/blog/bring-your-own-df/&quot;&gt;Great Tables is Now BYODF (Bring Your Own DataFrame)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://labs.quansight.org/blog/scikit-lego-narwhals&quot;&gt;How Narwhals and scikit-lego Came Together to Achieve DataFrame-Agnosticism&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/plotly/plotly.py/issues/4749&quot;&gt;Explore Using Narwhals in Plotly Express · Issue #4749 - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fairlearn.org/&quot;&gt;Fairlearn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://narwhals-dev.github.io/narwhals/backcompat/&quot;&gt;Perfect Backwards Compatibility Policy - Narwhals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/blog/uv-unified-python-packaging&quot;&gt;uv: Unified Python packaging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://prefix.dev/&quot;&gt;pixi - Powerful Development Environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discord.com/invite/V3PqtB4VA4&quot;&gt;Narwhals - Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@marcogorelli&quot;&gt;marcogorelli (@marcogorelli@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/marcogorelli/?featured_on=talkpython&quot;&gt;Marco Gorelli - Quansight - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-313/&quot;&gt;What&amp;#x27;s New in Python 3.13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-groupby-real-world-data/&quot;&gt;pandas GroupBy: Grouping Real World Data in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E224_03_Marco.eb35b557043c.mp3" type="audio/mpeg" length="59176372"/>
        <guid isPermaLink="false">e72cd5dc-ddb8-4876-ae70-30e6cd5d5f27</guid>
        <pubDate>Fri, 18 Oct 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3633</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_224_Podcast.644ed9ca1ed2.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Narwhals: Expanding DataFrame Compatibility Between Libraries”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>223</itunes:episode>
        <title>Exploring the New Features of Python 3.13</title>
        <itunes:title>Exploring the New Features of Python 3.13</itunes:title>
        <link>https://realpython.com/podcasts/rpp/223/</link>
        <description>Python 3.13 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. This year, Geir Arne coordinated a series of preview articles with members of the Real Python team and a showcase tutorial, &quot;Python 3.13: Cool New Features for You to Try.&quot; Christopher&#x27;s video course &quot;What&#x27;s New in Python 3.13&quot; covers the topics from the article and shows the new features in action.</description>
        <content:encoded>&lt;p&gt;Python 3.13 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. This year, Geir Arne coordinated a series of preview articles with members of the Real Python team and a showcase tutorial, &amp;ldquo;Python 3.13: Cool New Features for You to Try.&amp;rdquo; Christopher&amp;rsquo;s video course &amp;ldquo;What&amp;rsquo;s New in Python 3.13&amp;rdquo; covers the topics from the article and shows the new features in action.&lt;/p&gt;
&lt;p&gt;Geir Arne and Christopher dug into the release to create code examples of the new features for the tutorial and course. We look at the options for disabling the Global Interpreter Lock (GIL) and enabling the Just-in-Time (JIT) compiler. We also discuss the new interactive interpreter, better error messages, multiple improvements to static typing, and additional performance improvements.&lt;/p&gt;
&lt;p&gt;We share our thoughts on the updates and offer advice about incorporating them into your projects. We also discuss when you should start running Python 3.13.&lt;/p&gt;
&lt;p&gt;This is episode is sponsored by Nvidia.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/new-features-python-313/&quot;&gt;What&amp;rsquo;s New in Python 3.13&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about the new features in Python 3.13. You&amp;rsquo;ll take a tour of the new REPL and error messages and see how you can try out the experimental free threading and JIT versions of Python 3.13 yourself.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:14 &amp;ndash; A Modern REPL&lt;/li&gt;
&lt;li&gt;00:08:54 &amp;ndash; Making the Global Interpreter Lock Optional in CPython&lt;/li&gt;
&lt;li&gt;00:11:33 &amp;ndash; JIT Compilation&lt;/li&gt;
&lt;li&gt;00:15:48 &amp;ndash; More improved error messages&lt;/li&gt;
&lt;li&gt;00:18:30 &amp;ndash; Sponsor: NVIDIA&lt;/li&gt;
&lt;li&gt;00:19:13 &amp;ndash; Marking deprecations using the type system&lt;/li&gt;
&lt;li&gt;00:21:09 &amp;ndash; Type Defaults for Type Parameters&lt;/li&gt;
&lt;li&gt;00:22:44 &amp;ndash; Narrowing types with TypeIs&lt;/li&gt;
&lt;li&gt;00:25:24 &amp;ndash; TypedDict: Read-only items&lt;/li&gt;
&lt;li&gt;00:27:50 &amp;ndash; Random command line interface&lt;/li&gt;
&lt;li&gt;00:29:54 &amp;ndash; New copy.replace()&lt;/li&gt;
&lt;li&gt;00:33:43 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:55 &amp;ndash; Pathlib and globbing&lt;/li&gt;
&lt;li&gt;00:39:33 &amp;ndash; Stripping docstrings&lt;/li&gt;
&lt;li&gt;00:41:28 &amp;ndash; Import improvements&lt;/li&gt;
&lt;li&gt;00:41:56 &amp;ndash; Dynamically import non-code files&lt;/li&gt;
&lt;li&gt;00:42:23 &amp;ndash; Adding iOS as a supported platform&lt;/li&gt;
&lt;li&gt;00:43:32 &amp;ndash; More consistency with local namespace&lt;/li&gt;
&lt;li&gt;00:44:30 &amp;ndash; Support for deprecation in argparse&lt;/li&gt;
&lt;li&gt;00:45:00 &amp;ndash; Better entry points for breakpoint or set_trace&lt;/li&gt;
&lt;li&gt;00:46:08 &amp;ndash; Removing dead batteries&lt;/li&gt;
&lt;li&gt;00:47:43 &amp;ndash; When to upgrade to 3.13?&lt;/li&gt;
&lt;li&gt;00:53:19 &amp;ndash; core.py podcast&lt;/li&gt;
&lt;li&gt;00:54:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-new-features/&quot;&gt;Python 3.13: Cool New Features for You to Try&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-313/&quot;&gt;What&amp;rsquo;s New in Python 3.13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-repl/&quot;&gt;Python 3.13 Preview: A Modern REPL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python313-free-threading-jit/&quot;&gt;Python 3.13 Preview: Free Threading and a JIT Compiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.13/whatsnew/3.13.html&quot;&gt;What&amp;rsquo;s New In Python 3.13 — Python 3.13.0rc2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0703/&quot;&gt;PEP 703 – Making the Global Interpreter Lock Optional in CPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0744/&quot;&gt;PEP 744 – JIT Compilation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0702/&quot;&gt;PEP 702 – Marking deprecations using the type system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0696/&quot;&gt;PEP 696 – Type Defaults for Type Parameters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0742/&quot;&gt;PEP 742 – Narrowing types with TypeIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0705/&quot;&gt;PEP 705 – TypedDict: Read-only items&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0730/&quot;&gt;PEP 730 – Adding iOS as a supported platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0738/&quot;&gt;PEP 738 – Adding Android as a supported platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0667/&quot;&gt;PEP 667 – Consistent views of namespaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0594/&quot;&gt;PEP 594 – Removing dead batteries from the standard library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-repl/&quot;&gt;The Python Standard REPL: Try Out Code and Ideas Quickly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ipython-interactive-python-shell/&quot;&gt;Unlock IPython&amp;rsquo;s Magical Toolbox for Your Coding Journey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://podcasters.spotify.com/pod/show/corepy/episodes/Episode-14-Integration-Events-e2nuru6&quot;&gt;core.py Podcast - Episode 14: Integration Events&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-313/&quot;&gt;What&amp;#x27;s New in Python 3.13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-312/&quot;&gt;What&amp;#x27;s New in Python 3.12&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E223_03a_313_Release.33f70b658710.mp3" type="audio/mpeg" length="54097141"/>
        <guid isPermaLink="false">854a155a-c3f5-4684-8955-745a649207c6</guid>
        <pubDate>Fri, 11 Oct 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3324</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_223_Podcast.d7ffce4c8287.jpg"/>
        <rp:twitter-handles>@gahjelle</rp:twitter-handles>
        <rp:twitter-title>“Exploring the New Features of Python 3.13” with @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>222</itunes:episode>
        <title>Using Virtual Environments in Docker &amp; Comparing Python Dev Tools</title>
        <itunes:title>Using Virtual Environments in Docker &amp; Comparing Python Dev Tools</itunes:title>
        <link>https://realpython.com/podcasts/rpp/222/</link>
        <description>Should you use a Python virtual environment in a Docker container? What are the advantages of using the same development practices locally and inside a container? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Should you use a Python virtual environment in a Docker container? What are the advantages of using the same development practices locally and inside a container? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share a recent post by Hynek Schlawack about building Python projects using Docker containers. Hynek argues for using virtual environments for these projects, like developing a local one. He&amp;rsquo;s found that keeping your code in an isolated, well-defined location and structure avoids confusion and complexity.&lt;/p&gt;
&lt;p&gt;We also discuss our development setups, including Python versions, code editors, virtual environment practices, terminals, and customizations. We dig into how your programming history affects the tools you use.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a group of new releases, addressing the &amp;ldquo;why&amp;rdquo; in comments, comparing a data science workflow in Python and R, removing common problems from CSV files, and a project for creating HTML tables in Django.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/advanced-import-techniques/&quot;&gt;Advanced Python import Techniques&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The Python import system is as powerful as it is useful. In this in-depth video course, you&amp;rsquo;ll learn how to harness this power to improve the structure and maintainability of your code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:55 &amp;ndash; Python Releases 3.12.6, 3.11.10, 3.10.15, 3.9.20, and 3.8.20&lt;/li&gt;
&lt;li&gt;00:03:26 &amp;ndash; Python Release Python 3.13.0rc2&lt;/li&gt;
&lt;li&gt;00:04:07 &amp;ndash; Django Security Releases Issued: 5.1.1, 5.0.9, and 4.2.16&lt;/li&gt;
&lt;li&gt;00:04:36 &amp;ndash; Polars Has a New Lightweight Plotting Backend&lt;/li&gt;
&lt;li&gt;00:05:49 &amp;ndash; Why I Still Use Python Virtual Environments in Docker&lt;/li&gt;
&lt;li&gt;00:11:37 &amp;ndash; How to Use Conditional Expressions With NumPy &lt;code&gt;where()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:15:55 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:16:39 &amp;ndash; PythonistR: A Match Made in Data Heaven&lt;/li&gt;
&lt;li&gt;00:23:44 &amp;ndash; Why Not Comments&lt;/li&gt;
&lt;li&gt;00:26:48 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:10 &amp;ndash; Discussion: Personal development setups&lt;/li&gt;
&lt;li&gt;00:51:01 &amp;ndash; csv_trimming: Remove Common Ugliness From CSV Files&lt;/li&gt;
&lt;li&gt;00:53:01 &amp;ndash; django-tables2: Create HTML Tables in Django&lt;/li&gt;
&lt;li&gt;00:54:39 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/release/3.12.6/whatsnew/changelog.html&quot;&gt;Python Releases 3.12.6, 3.11.10, 3.10.15, 3.9.20, and 3.8.20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3130rc2/&quot;&gt;Python Release Python 3.13.0rc2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/sep/03/security-releases/&quot;&gt;Django Security Releases Issued: 5.1.1, 5.0.9, and 4.2.16&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/posts/lightweight_plotting/&quot;&gt;Polars Has a New Lightweight Plotting Backend&lt;/a&gt; &amp;ndash; Polars 1.6 allows you to natively create beautiful plots without pandas, NumPy, or PyArrow. This is enabled by Narwhals, a lightweight compatibility layer between dataframe libraries.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hynek.me/articles/docker-virtualenv/&quot;&gt;Why I Still Use Python Virtual Environments in Docker&lt;/a&gt; &amp;ndash; Hynek often gets challenged when he suggests the use of virtual environments within Docker containers, and this post explains why he still does.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/numpy-where-conditional-expressions/&quot;&gt;How to Use Conditional Expressions With NumPy &lt;code&gt;where()&lt;/code&gt;&lt;/a&gt; &amp;ndash; This tutorial teaches you how to use the where() function to select elements from your NumPy arrays based on a condition. You&amp;rsquo;ll learn how to perform various operations on those elements and even replace them with elements from a separate array or arrays.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cosimameyer.com/post/2024-09-05-pythonistr-a-match-made-in-data-heaven/&quot;&gt;PythonistR: A Match Made in Data Heaven&lt;/a&gt; &amp;ndash; In data science you&amp;rsquo;ll sometimes hear a debate between R and Python. Cosima says &amp;lsquo;why not choose both?&amp;rsquo; She outlines a data pipeline that uses the best tool for each job.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://buttondown.com/hillelwayne/archive/why-not-comments/&quot;&gt;Why Not Comments&lt;/a&gt; &amp;ndash; This post talks about why you might want to include information in your code comments about why you didn&amp;rsquo;t take a particular approach.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/tutorials/editors/&quot;&gt;Editors &amp;amp; IDEs – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Visual Studio Code - Code Editing. Redefined&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jupyter.org/&quot;&gt;Project Jupyter - Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vim.org/&quot;&gt;vim online: welcome home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://iterm2.com/&quot;&gt;iTerm2 - macOS Terminal Replacement&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/LucaCappelletti94/csv_trimming&quot;&gt;csv_trimming: Remove Common Ugliness From CSV Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jieter/django-tables2&quot;&gt;django-tables2: Create HTML Tables in Django&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hynek.me/articles/virtualenv-lives/&quot;&gt;virtualenv Lives! - Hynek Schlawack - 2014&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hynek.me/articles/docker-uv/&quot;&gt;Production-ready Python Docker Containers with uv - Hynek Schlawack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cosimameyer/r-python-talk&quot;&gt;r-python-talk: 🦸🏼‍♀️ Contains material for talk on how to use Python and R together&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://posit.co/downloads/&quot;&gt;Download RStudio - Posit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leanpub.com/logic/&quot;&gt;Logic for Programmers by Hillel Wayne - Leanpub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/absolute-vs-relative-imports-python/&quot;&gt;Absolute vs Relative Imports in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/advanced-import-techniques/&quot;&gt;Advanced Python import Techniques&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E222_03_PyCoders.764f351d7d2f.mp3" type="audio/mpeg" length="54521101"/>
        <guid isPermaLink="false">229d8fdd-58ee-4205-badf-ab4f7621cba2</guid>
        <pubDate>Fri, 27 Sep 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3346</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_222_Podcast.3422db48b193.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Using Virtual Environments in Docker &amp; Comparing Python Dev Tools”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>221</itunes:episode>
        <title>Thriving as a Developer With ADHD</title>
        <itunes:title>Thriving as a Developer With ADHD</itunes:title>
        <link>https://realpython.com/podcasts/rpp/221/</link>
        <description>What are strategies for being a productive developer with ADHD? How can you help your team members with ADHD to succeed and complete projects? This week on the show, we speak with Chris Ferdinandi about his website and podcast &quot;ADHD For the Win!&quot;</description>
        <content:encoded>&lt;p&gt;What are strategies for being a productive developer with ADHD? How can you help your team members with ADHD to succeed and complete projects? This week on the show, we speak with Chris Ferdinandi about his website and podcast &amp;ldquo;ADHD For the Win!&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Chris struggled with productivity early in his career as a developer. He shares systems and strategies he&amp;rsquo;s discovered to harness the focusing power of ADHD. &lt;/p&gt;
&lt;p&gt;We discuss time management, meetings, and maintaining productivity in a hectic world. Chris also shares resources for learning more about defining ADHD, self-evaluation, and how to keep getting things done.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/build-gui-calculator-pyqt/&quot;&gt;Build a GUI Calculator With PyQt and Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to create graphical user interface (GUI) applications with Python and PyQt. Once you&amp;rsquo;ve covered the basics, you&amp;rsquo;ll build a fully functional desktop calculator that can respond to user events with concrete actions.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:30 &amp;ndash; Defining ADHD and how it aligns with coding&lt;/li&gt;
&lt;li&gt;00:05:47 &amp;ndash; Analogy for focus&lt;/li&gt;
&lt;li&gt;00:06:51 &amp;ndash; Can you sense the change in focus?&lt;/li&gt;
&lt;li&gt;00:07:46 &amp;ndash; The challenge of meetings&lt;/li&gt;
&lt;li&gt;00:11:45 &amp;ndash; Tips for managing time&lt;/li&gt;
&lt;li&gt;00:15:44 &amp;ndash; Capturing notes and defragging&lt;/li&gt;
&lt;li&gt;00:18:48 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:19:33 &amp;ndash; Downtime and interruptions&lt;/li&gt;
&lt;li&gt;00:25:26 &amp;ndash; Remote work and focus&lt;/li&gt;
&lt;li&gt;00:33:16 &amp;ndash; Sitting still and meetings&lt;/li&gt;
&lt;li&gt;00:37:39 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:13 &amp;ndash; Anything worth doing is worth doing poorly&lt;/li&gt;
&lt;li&gt;00:47:36 &amp;ndash; Prototypes and working on interesting things&lt;/li&gt;
&lt;li&gt;00:50:26 &amp;ndash; Deadlines and pomodoro timers&lt;/li&gt;
&lt;li&gt;00:54:21 &amp;ndash; Have your symptoms changed over time?&lt;/li&gt;
&lt;li&gt;00:56:18 &amp;ndash; Starting ADHDftw.com&lt;/li&gt;
&lt;li&gt;00:59:12 &amp;ndash; Decision to keep podcast episodes short &lt;/li&gt;
&lt;li&gt;01:00:01 &amp;ndash; Deciding on medication&lt;/li&gt;
&lt;li&gt;01:02:02 &amp;ndash; Resources available&lt;/li&gt;
&lt;li&gt;01:03:29 &amp;ndash; What motivates you to continue to learn programming?&lt;/li&gt;
&lt;li&gt;01:04:06 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:04:55 &amp;ndash; What are other ways to follow your work online?&lt;/li&gt;
&lt;li&gt;01:05:28 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adhdftw.com/real-python/&quot;&gt;ADHD ftw! - Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adhdftw.com/adhd-isnt-a-deficit-of-attention-and-doesnt-neccessarily-mean-youre-hyperactive/&quot;&gt;ADHD isn&amp;rsquo;t a deficit of attention (and doesn&amp;rsquo;t necessarily mean you&amp;rsquo;re hyperactive)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adhdftw.com/do-i-have-adhd/&quot;&gt;Do I have ADHD?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Snoot&quot;&gt;Snoot - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adhdftw.com/anything-worth-doing-is-worth-doing-poorly/&quot;&gt;Anything worth doing is worth doing poorly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adhdftw.com/getting-shit-done-with-adhd-defrag-your-notebook/&quot;&gt;Getting stuff done with ADHD: defrag your notebook - ADHD ftw!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gomakethings.com/about/&quot;&gt;Go Make Things - About&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@cferdinandi@mastodon.social&quot;&gt;Chris Ferdinandi ⚓️ (@cferdinandi@mastodon.social) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/creating-pyqt-layouts-gui-applications/&quot;&gt;Creating PyQt Layouts for GUI Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/build-gui-calculator-pyqt/&quot;&gt;Build a GUI Calculator With PyQt and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/html-css-foundations/&quot;&gt;HTML and CSS Foundations for Python Developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E221_03_ChrisFerdinandi.dd01f743e940.mp3" type="audio/mpeg" length="64330282"/>
        <guid isPermaLink="false">12166b06-b110-48e0-9f77-33f77849ce48</guid>
        <pubDate>Fri, 20 Sep 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3990</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_221_Podcast.01df36740632.jpg"/>
        <rp:twitter-handles>@ChrisFerdinandi</rp:twitter-handles>
        <rp:twitter-title>“Thriving as a Developer With ADHD” with @ChrisFerdinandi</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>220</itunes:episode>
        <title>Configuring Git Pre-Commit Hooks &amp; Estimating Software Projects</title>
        <itunes:title>Configuring Git Pre-Commit Hooks &amp; Estimating Software Projects</itunes:title>
        <link>https://realpython.com/podcasts/rpp/220/</link>
        <description>How do you take advantage of Git pre-commit hooks? How do you build custom software checks and rules that run every time you commit your code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you take advantage of Git pre-commit hooks? How do you build custom software checks and rules that run every time you commit your code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share a trio of articles by previous guest Stefanie Molin about Git pre-commit hooks. Across the series, she provides step-by-step instructions for building your own hooks, managing them, and learning how they operate.&lt;/p&gt;
&lt;p&gt;We discuss the process of estimating software development projects. We dig into the art of &amp;ldquo;guesstimation,&amp;rdquo; rough calculation, and napkin math. Christopher shares his experience in agile scenarios and measuring projects by story counts.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news roundup, 10 Python programming optimization techniques, and building a blog in Django using GraphQL &amp;amp; Vue. We also explore experimenting with Python&amp;rsquo;s preprocessor, a toolkit for writing UIs in PyScript, and a couple of projects for working with Django Admin.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-mmap-io/&quot;&gt;Python mmap: Doing File I/O With Memory Mapping&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s mmap module to improve your code&amp;rsquo;s performance when you&amp;rsquo;re working with files. You&amp;rsquo;ll get a quick overview of the different types of memory before diving into how and why memory mapping with mmap can make your file I/O operations faster.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:28 &amp;ndash; Python Top Language of 2024&lt;/li&gt;
&lt;li&gt;00:02:59 &amp;ndash; Python Developers Survey 2023 Results&lt;/li&gt;
&lt;li&gt;00:03:46 &amp;ndash; How Pre-Commit Works&lt;/li&gt;
&lt;li&gt;00:10:00 &amp;ndash; Build a Blog Using Django, GraphQL, and Vue&lt;/li&gt;
&lt;li&gt;00:13:38 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:14:23 &amp;ndash; 10 Python Programming Optimization Techniques&lt;/li&gt;
&lt;li&gt;00:22:45 &amp;ndash; Python&amp;rsquo;s Preprocessor&lt;/li&gt;
&lt;li&gt;00:26:42 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:16 &amp;ndash; You don&amp;rsquo;t have to guess to estimate&lt;/li&gt;
&lt;li&gt;00:44:18 &amp;ndash; LTK is a little toolkit for writing UIs in PyScript&lt;/li&gt;
&lt;li&gt;00:49:06 &amp;ndash; django-admin-action-forms: Forms for Django Admin&lt;/li&gt;
&lt;li&gt;00:52:09 &amp;ndash; django-public-admin: A Public and Read-Only Django Admin&lt;/li&gt;
&lt;li&gt;00:53:24 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://spectrum.ieee.org/top-programming-languages-2024&quot;&gt;Python Top Language of 2024&lt;/a&gt; &amp;ndash; &amp;ldquo;Python continues to cement its overall dominance, buoyed by things like popular libraries for hot fields such as A.I.&amp;rdquo; Read the article to see where other languages have placed.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lp.jetbrains.com/python-developers-survey-2023/&quot;&gt;Python Developers Survey 2023 Results&lt;/a&gt; &amp;ndash; Official Python Developers Survey 2023 Results by Python Software Foundation and JetBrains: more than 25k responses from almost 200 countries.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://stefaniemolin.com/articles/devx/pre-commit/behind-the-scenes/&quot;&gt;How Pre-Commit Works&lt;/a&gt; &amp;ndash; As a user of pre-commit hooks, do you know what happens when you run &lt;code&gt;pre-commit install&lt;/code&gt; or why you have to run it in the first place? How does pre-commit actually work with Git? In this article, Stefanie takes you behind the scenes of how your pre-commit setup works.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stefaniemolin.com/articles/devx/pre-commit/setup-guide/&quot;&gt;How to Set Up Pre-Commit Hooks - Stefanie Molin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stefaniemolin.com/articles/devx/pre-commit/hook-creation-guide/&quot;&gt;How to Create a Pre-Commit Hook - Stefanie Molin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-django-blog/&quot;&gt;Build a Blog Using Django, GraphQL, and Vue&lt;/a&gt; &amp;ndash; In this step-by-step project, you&amp;rsquo;ll build a blog from the ground up. You&amp;rsquo;ll turn your Django blog data models into a GraphQL API and consume it in a Vue application for users to read. You&amp;rsquo;ll end up with an admin site and a user-facing site you can continue to refine for your own use.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/jamesbright/10-python-programming-optimisation-techniques-5ckf&quot;&gt;10 Python Programming Optimization Techniques&lt;/a&gt; &amp;ndash; Optimization should be your last step, but once you&amp;rsquo;re there, just what can you do? This article covers ten different techniques that address memory size and code performance.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pydong.org/posts/PythonsPreprocessor/&quot;&gt;Python&amp;rsquo;s Preprocessor&lt;/a&gt; &amp;ndash; Every now and then you hear outrageous claims such as &amp;ldquo;Python has no preprocessor,&amp;rdquo; well it is there if you&amp;rsquo;re willing to dig deep enough. Learn how to hack Python&amp;rsquo;s compile step.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.simplermachines.com/estimates-arent-guesses/&quot;&gt;You Don&amp;rsquo;t Have to Guess to Estimate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vadimkravcenko.com/shorts/habits-of-great-software-engineers/&quot;&gt;Habits of Great Software Engineers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pyscript/ltk&quot;&gt;pyscript/ltk: LTK Is a Little Toolkit for Writing UIs in PyScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/michalpokusa/django-admin-action-forms&quot;&gt;django-admin-action-forms: Forms for Django Admin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cuducos/django-public-admin&quot;&gt;django-public-admin: A Public and Read-Only Django Admin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-mmap-io/&quot;&gt;Python mmap: Doing File I/O With Memory Mapping – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With lru_cache – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/128/&quot;&gt;Episode #128: Using a Memory Profiler in Python &amp;amp; What It Can Teach You&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/172/&quot;&gt;Episode #172: Measuring Multiple Facets of Python Performance With Scalene – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pm.stackexchange.com/questions/12403/why-are-estimates-treated-like-deadlines&quot;&gt;software development - Why are estimates treated like deadlines? - Project Management Stack Exchange&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pragprog.com/titles/gdestimate/software-estimation-without-guessing/&quot;&gt;Software Estimation Without Guessing: Effective Planning in an Imperfect World by George Dinwiddie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://press.princeton.edu/books/paperback/9780691129495/guesstimation?srsltid=AfmBOorl7xDtGC5o1EHNCUa_coR45mjv0I4UpG90BD5JAzwNGwAjd8DG&quot;&gt;Guesstimation - Princeton University Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.anaconda.com/excel/toolbox/&quot;&gt;Anaconda Toolbox for Excel — Anaconda documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.anaconda.com/excel/code/&quot;&gt;Anaconda Code — Anaconda documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pysheets.app/about&quot;&gt;PySheets - Spreadsheet UI for Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-mmap-io/&quot;&gt;Python mmap: Doing File I/O With Memory Mapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With lru_cache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-python-manages-memory/&quot;&gt;How Python Manages Memory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E220_03_PyCoders.fd37b0a2dca9.mp3" type="audio/mpeg" length="53267222"/>
        <guid isPermaLink="false">2d55a6a4-669c-41ca-9056-09cde9a68462</guid>
        <pubDate>Fri, 13 Sep 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3266</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_220_Podcast.078adf51b9e3.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Configuring Git Pre-Commit Hooks &amp; Estimating Software Projects”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>219</itunes:episode>
        <title>Astrophysics and Astronomy With Python &amp; PyCon Africa 2024</title>
        <itunes:title>Astrophysics and Astronomy With Python &amp; PyCon Africa 2024</itunes:title>
        <link>https://realpython.com/podcasts/rpp/219/</link>
        <description>Are you interested in practicing your Python skills while learning how to solve astrophysics and astronomy problems? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you interested in practicing your Python skills while learning how to solve astrophysics and astronomy problems? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a pair of his recent Real Python video courses about exploring astronomy and astrophysics with Python. Throughout the courses, you&amp;rsquo;ll get to practice using a variety of data science libraries, such as NumPy, Matplotlib, pandas, pint, and Astropy. &lt;/p&gt;
&lt;p&gt;We speak with Mannie Young who is the Organizing Committee Chair of PyCon Africa. Real Python is excited to be a contributing sponsor of this year&amp;rsquo;s conference. Mannie discusses reinvigorating a continent-spanning conference after a multiyear hiatus. He also talks about introducing Python to students and new developers across Africa through PyClubs, PyLadies, and PyData programs.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news roundup, logging in Python, understanding operator precedence, reconciling why it only works on your machine, a fast way to create an HTML app, and a tool for deep inspection of Python objects.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/sorting-dictionaries-keys-values-more/&quot;&gt;Sorting Dictionaries in Python: Keys, Values, and More&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to sort Python dictionaries. By the end, you&amp;rsquo;ll be able to sort by key, value, or even nested attributes. But you won&amp;rsquo;t stop there, you&amp;rsquo;ll also measure the performance of variations when sorting and compare different key-value data structures.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:05 &amp;ndash; PEP 750: Tag Strings for Domain-Specific Languages&lt;/li&gt;
&lt;li&gt;00:05:19 &amp;ndash; PEP 752: Package Repository Namespaces&lt;/li&gt;
&lt;li&gt;00:07:32 &amp;ndash; PyCon US 2024 Recap and Recording Release&lt;/li&gt;
&lt;li&gt;00:08:01 &amp;ndash; Logging in Python&lt;/li&gt;
&lt;li&gt;00:14:57 &amp;ndash; It Works on My Machine. Why?&lt;/li&gt;
&lt;li&gt;00:17:33 &amp;ndash; Python&amp;rsquo;s Operator Precedence&lt;/li&gt;
&lt;li&gt;00:20:54 &amp;ndash; Exploring Astrophysics in Python With pandas and Matplotlib&lt;/li&gt;
&lt;li&gt;00:24:03 &amp;ndash; Using Astropy for Astronomy With Python&lt;/li&gt;
&lt;li&gt;00:26:37 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:27:22 &amp;ndash; fasthtml: The Fastest Way to Create an HTML App&lt;/li&gt;
&lt;li&gt;00:32:50 &amp;ndash; wat: Deep Inspection of Python Objects&lt;/li&gt;
&lt;li&gt;00:38:08 &amp;ndash; PyCon Africa 2024&lt;/li&gt;
&lt;li&gt;00:40:47 &amp;ndash; What goes into re-energizing a conference?&lt;/li&gt;
&lt;li&gt;00:44:20 &amp;ndash; Talks and speakers &lt;/li&gt;
&lt;li&gt;00:46:58 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:48:29 &amp;ndash; How did you get involved?&lt;/li&gt;
&lt;li&gt;00:52:19 &amp;ndash; PyClubs and growing Python education&lt;/li&gt;
&lt;li&gt;00:58:41 &amp;ndash; What industries are using Python in Ghana?&lt;/li&gt;
&lt;li&gt;01:00:20 &amp;ndash; Sponsorship and support&lt;/li&gt;
&lt;li&gt;01:01:51 &amp;ndash; Travel in and outside the continent&lt;/li&gt;
&lt;li&gt;01:04:23 &amp;ndash; Call to action&lt;/li&gt;
&lt;li&gt;01:05:05 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0750/&quot;&gt;PEP 750: Tag Strings for Domain-Specific Languages (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0752/&quot;&gt;PEP 752: Package Repository Namespaces (Added)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.blogspot.com/2024/08/pycon-us-2024-recap-and-recording.html&quot;&gt;PyCon US 2024 Recap and Recording Release&lt;/a&gt; &amp;ndash; PyCon US 2024 had a record breaking attendance with over 2,700 in-person tickets sold. This article is a recap from the conference runners and links to all the available recordings.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-logging/&quot;&gt;Logging in Python&lt;/a&gt; &amp;ndash; If you use Python&amp;rsquo;s &lt;code&gt;print()&lt;/code&gt; function to get information about the flow of your programs, then logging is the natural next step for you. This tutorial will guide you through creating your first logs and show you ways to curate them to grow with your projects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thoughtbot.com/blog/it-works-on-my-machine-why&quot;&gt;It Works on My Machine. Why?&lt;/a&gt; &amp;ndash; A list of things to check when something works on your computer but not on someone else&amp;rsquo;s.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thepythoncodingstack.com/p/python-operator-precedence-after-you-no-i-insist&quot;&gt;Python&amp;rsquo;s Operator Precedence&lt;/a&gt; &amp;ndash; Stephen uses a story-telling style to explain how operator precedence works in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astrophysics-pandas-matplotlib/&quot;&gt;Exploring Astrophysics in Python With pandas and Matplotlib&lt;/a&gt; &amp;ndash; This course uses three problems often covered in introductory astro-physics courses to play in Python. Along the way you&amp;rsquo;ll learn some astronomy and how to use a variety of datascience libraries like NumPy, Matplotlib, pandas, and pint.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astropy-astronomy/&quot;&gt;Using Astropy for Astronomy With Python&lt;/a&gt; &amp;ndash; This course covers two problems from introductory astronomy to help you play with some Python libraries. You&amp;rsquo;ll use NumPy, Matplotlib, and pandas to find planet conjunctions, and graph the best viewing times for a star.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/answerdotai/fasthtml&quot;&gt;fasthtml: The Fastest Way to Create an HTML App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/igrek51/wat&quot;&gt;wat: Deep Inspection of Python Objects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://africa.pycon.org/&quot;&gt;PyCon Africa 2024 - Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyconafrica.blogspot.com/2024/05/announcing-pycon-africa-2024-blog.html&quot;&gt;Announcing PyCon Africa 2024 Blog: A Return to Accra and a Look Ahead&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/65/&quot;&gt;Episode #65: Expanding the International Python Community With the PSF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangogirls.org/en/&quot;&gt;Django Girls - Start your journey with programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pythonghana.org/series/pyladies&quot;&gt;PyLadies Ghana - Python Ghana&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pythonghana.org/series/pydata&quot;&gt;PyData Ghana - Python Ghana&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyclubs.org/&quot;&gt;PyClubs - Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/logging-in-python/&quot;&gt;Quiz: Logging in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/mawy7/?originalSubdomain=gh&quot;&gt;Mannie Young - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/mawy_7&quot;&gt;Mannie Young (@mawy_7) - X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astropy-astronomy/&quot;&gt;Using Astropy for Astronomy With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sorting-dictionaries-keys-values-more/&quot;&gt;Sorting Dictionaries in Python: Keys, Values, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/astrophysics-pandas-matplotlib/&quot;&gt;Exploring Astrophysics in Python With pandas and Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E219_03_PyCoders_2.4f5a554597ea.mp3" type="audio/mpeg" length="64832985"/>
        <guid isPermaLink="false">0b5ee8dd-0060-49e9-855f-2fda9ee2426d</guid>
        <pubDate>Fri, 06 Sep 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3987</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_219_Podcast.6f3438311d31.jpg"/>
        <rp:twitter-handles>@mawy_7</rp:twitter-handles>
        <rp:twitter-title>“Astrophysics and Astronomy With Python &amp; PyCon Africa 2024” with @mawy_7</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>218</itunes:episode>
        <title>Exploring Robotics and Python Through Electronic Projects</title>
        <itunes:title>Exploring Robotics and Python Through Electronic Projects</itunes:title>
        <link>https://realpython.com/podcasts/rpp/218/</link>
        <description>Are you interested in learning robotics with Python? Can physical electronics-based projects grow a child&#x27;s interest in coding? This week on the show, we speak with author Marwan Alsabbagh about his book &quot;Build Your Own Robot - Using Python, CRICKIT, and Raspberry Pi.&quot;</description>
        <content:encoded>&lt;p&gt;Are you interested in learning robotics with Python? Can physical electronics-based projects grow a child&amp;rsquo;s interest in coding? This week on the show, we speak with author Marwan Alsabbagh about his book &amp;ldquo;Build Your Own Robot - Using Python, CRICKIT, and Raspberry Pi.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Marwan discusses his two conferences talks about building electronics projects with his children. He provides advice on equipment and techniques to make learning Python engaging. &lt;/p&gt;
&lt;p&gt;We explore his robotics project and the literal balancing act of designing a robot around the Raspberry Pi. Marwan shares his successes and disappointments while working to incorporate computer vision, joystick controls, and voice commands.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Python Debugging With pdb&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this hands-on course, you&amp;rsquo;ll learn the basics of using pdb, Python&amp;rsquo;s interactive source code debugger. pdb is a great tool for tracking down hard-to-find bugs, and it allows you to fix faulty code more quickly.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:14 &amp;ndash; How did you get started with Python and electronics?&lt;/li&gt;
&lt;li&gt;00:04:27 &amp;ndash; Snow globe intruder alert system&lt;/li&gt;
&lt;li&gt;00:06:57 &amp;ndash; Things to keep in mind with a child&lt;/li&gt;
&lt;li&gt;00:12:50 &amp;ndash; Challenges in teaching a child Python&lt;/li&gt;
&lt;li&gt;00:16:34 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:17:11 &amp;ndash; What are other projects you&amp;rsquo;ve tried?&lt;/li&gt;
&lt;li&gt;00:21:12 &amp;ndash; Powering the robot project&lt;/li&gt;
&lt;li&gt;00:24:56 &amp;ndash; Putting together the robot librarian talk&lt;/li&gt;
&lt;li&gt;00:29:47 &amp;ndash; Was there any friction teaching kids robotics?&lt;/li&gt;
&lt;li&gt;00:32:47 &amp;ndash; Adding the complexity of a Raspberry Pi&lt;/li&gt;
&lt;li&gt;00:38:27 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:48 &amp;ndash; Hardware components of the robot&lt;/li&gt;
&lt;li&gt;00:41:51 &amp;ndash; Thinking about access to the equipment&lt;/li&gt;
&lt;li&gt;00:45:37 &amp;ndash; Assembling the robot project?&lt;/li&gt;
&lt;li&gt;00:49:14 &amp;ndash; Various control systems&lt;/li&gt;
&lt;li&gt;00:54:42 &amp;ndash; What experience level is required with Python?&lt;/li&gt;
&lt;li&gt;00:55:40 &amp;ndash; What concepts were you excited to share?&lt;/li&gt;
&lt;li&gt;00:57:59 &amp;ndash; Do you think Python is a good language for robotics?&lt;/li&gt;
&lt;li&gt;00:59:21 &amp;ndash; MicroPython Cookbook&lt;/li&gt;
&lt;li&gt;01:00:07 &amp;ndash; What are projects you tried that didn&amp;rsquo;t work out?&lt;/li&gt;
&lt;li&gt;01:03:01 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:04:04 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:04:56 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:05:19 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/build-your-own-robot?utm_source=youtube&amp;amp;utm_medium=organic&amp;amp;utm_campaign=book_alsabbagh_build_4_26_23&quot;&gt;Build Your Own Robot - Using Python, CRICKIT, and Raspberry PI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.marwano.com/talks/snow-globe/&quot;&gt;Snow globe intruder alert system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=N8RMfAc-UFc&amp;amp;t=4s&quot;&gt;Snow globe intruder alert system - Marwan Alsabbagh - PyLondinium18 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/&quot;&gt;Adafruit Industries, Unique &amp;amp; fun DIY electronics and kits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=35mXD40SvXM&quot;&gt;Nina Zakharenko - Keynote - PyCon 2019 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/86/&quot;&gt;Episode #86: The Legacy of OLPC and Charismatic Pitfalls in Teaching Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/161/&quot;&gt;Episode #161: Resources and Advice for Building CircuitPython Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/75/&quot;&gt;Episode #75: Building With CircuitPython &amp;amp; Constraints of Python for Microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/MicroPython-Cookbook-practical-programming-microcontrollers/dp/1838649956&quot;&gt;MicroPython Cookbook: Marwan Alsabbagh - Amazon.com: Books&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;WebAssembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://htmx.org/&quot;&gt;&amp;lt;/&amp;gt; htmx - high power tools for html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marwano.com/&quot;&gt;Marwan Alsabbagh - personal website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/marwano/&quot;&gt;marwano (Marwan Alsabbagh) - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-assert-statement/&quot;&gt;Using Python&amp;#x27;s assert to Debug and Test Your Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E218_03_Marwan.f4df213aa37b.mp3" type="audio/mpeg" length="64646282"/>
        <guid isPermaLink="false">353c0b1e-448c-49e7-9e25-adb12e8d6bcc</guid>
        <pubDate>Fri, 23 Aug 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3978</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_218_Podcast.e5a83f4266ef.jpg"/>
        <rp:twitter-handles>@marwanbh</rp:twitter-handles>
        <rp:twitter-title>“Exploring Robotics and Python Through Electronic Projects” with @marwanbh</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>217</itunes:episode>
        <title>Packaging Data Analyses &amp; Using pandas GroupBy</title>
        <itunes:title>Packaging Data Analyses &amp; Using pandas GroupBy</itunes:title>
        <link>https://realpython.com/podcasts/rpp/217/</link>
        <description>What are the best practices for organizing data analysis projects in Python? What are the advantages of a more package-centric approach to data science? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the best practices for organizing data analysis projects in Python? What are the advantages of a more package-centric approach to data science? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss Joshua Cook&amp;rsquo;s recent article &amp;ldquo;How I Use Python to Organize My Data Analyses.&amp;rdquo; The article covers how his process for building data analysis projects has evolved and now incorporates modern Python packaging techniques. &lt;/p&gt;
&lt;p&gt;Christopher shares his recent video course on grouping real-world data with pandas. The course offers a quick refresher before digging into how to use pandas GroupBy to manipulate, transform, and summarize data.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, working with JSON data in Python, running an Asyncio event loop in a separate thread, knowing the why behind a system&amp;rsquo;s code, a retro game engine for Python, and a project for vendorizing packages from PyPI.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pandas-groupby-real-world-data/&quot;&gt;pandas GroupBy: Grouping Real World Data in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to work adeptly with the pandas GroupBy while mastering ways to manipulate, transform, and summarize data. You&amp;rsquo;ll work with real-world datasets and chain GroupBy methods together to get data into an output that suits your needs.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; Setuptools Breaks Things, Then Fixes Them&lt;/li&gt;
&lt;li&gt;00:04:57 &amp;ndash; PEP 751: A File Format to List Python Dependencies&lt;/li&gt;
&lt;li&gt;00:07:04 &amp;ndash; Python 3.13.0 Release Candidate 1 Released&lt;/li&gt;
&lt;li&gt;00:07:15 &amp;ndash; Python Insider: Python 3.12.5 released&lt;/li&gt;
&lt;li&gt;00:07:22 &amp;ndash; Django 5.1 released - Django Weblog&lt;/li&gt;
&lt;li&gt;00:07:27 &amp;ndash; Django security releases issued: 5.0.8 and 4.2.15&lt;/li&gt;
&lt;li&gt;00:07:49 &amp;ndash; How I Use Python to Organize My Data Analyses&lt;/li&gt;
&lt;li&gt;00:13:45 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:14:21 &amp;ndash; pandas GroupBy: Grouping Real World Data in Python&lt;/li&gt;
&lt;li&gt;00:20:33 &amp;ndash; Working With JSON Data in Python&lt;/li&gt;
&lt;li&gt;00:25:01 &amp;ndash; Asyncio Event Loop in Separate Thread&lt;/li&gt;
&lt;li&gt;00:30:33 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:47 &amp;ndash; Habits of great software engineers&lt;/li&gt;
&lt;li&gt;00:49:17 &amp;ndash; pyxel: A Retro Game Engine for Python&lt;/li&gt;
&lt;li&gt;00:52:36 &amp;ndash; python-vendorize: Vendorize Packages From PyPI&lt;/li&gt;
&lt;li&gt;00:54:18 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/whats-up-python-setuptools-breaks&quot;&gt;Setuptools Breaks Things, Then Fixes Them&lt;/a&gt; &amp;ndash; This post is Bite Code&amp;rsquo;s monthly summary, but the lead story happened just days ago. In line with a 7 year old deprecation, setuptools finally removed the ability to call its &lt;code&gt;test&lt;/code&gt; command. Many packages promptly broke. The following day the change was undone.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0751/&quot;&gt;PEP 751: A File Format to List Python Dependencies for Installation Reproducibility (New)&lt;/a&gt; &amp;ndash; This PEP proposes a new file format for dependency specification to enable reproducible installation in a Python environment.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/08/python-3130-release-candidate-1-released.html&quot;&gt;Python 3.13.0 Release Candidate 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/08/python-3125-released.html&quot;&gt;Python Insider: Python 3.12.5 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/aug/07/django-51-released/&quot;&gt;Django 5.1 released - Django Weblog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/aug/06/security-releases/&quot;&gt;Django security releases issued: 5.0.8 and 4.2.15 - Django Weblog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://joshuacook.netlify.app/posts/2024-07-27_python-data-analysis-org/&quot;&gt;How I Use Python to Organize My Data Analyses&lt;/a&gt; &amp;ndash; This is a description of how Joshua uses Python in a package-centric way to organize his approach to data analyses. This is a system he has evolved while working on his computational biology Ph.D. and working in industry.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-groupby-real-world-data/&quot;&gt;pandas GroupBy: Grouping Real World Data in Python&lt;/a&gt; &amp;ndash; In this course, you&amp;rsquo;ll learn how to work adeptly with the pandas GroupBy while mastering ways to manipulate, transform, and summarize data. You&amp;rsquo;ll work with real-world datasets and chain GroupBy methods together to get data into an output that suits your needs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-json/&quot;&gt;Working With JSON Data in Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to read and write JSON-encoded data in Python. You&amp;rsquo;ll begin with practical examples that show how to use Python&amp;rsquo;s built-in &amp;ldquo;json&amp;rdquo; module and then move on to learn how to serialize and deserialize custom data.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://superfastpython.com/asyncio-event-loop-separate-thread/&quot;&gt;Asyncio Event Loop in Separate Thread&lt;/a&gt; &amp;ndash; Typically, the asyncio event loop runs in the main thread, but as that is the one used by the interpreter, sometimes you want the event loop to run in a separate thread. This article talks about why and how to do just that.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vadimkravcenko.com/shorts/habits-of-great-software-engineers/&quot;&gt;Habits of great software engineers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/kitao/pyxel&quot;&gt;pyxel: A Retro Game Engine for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mwilliamson/python-vendorize&quot;&gt;python-vendorize: Vendorize Packages From PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=v6tALyc4C10&quot;&gt;Packaging Your Python Code With pyproject.toml - Complete Code Conversation - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/197/&quot;&gt;Episode #197: Using Python in Bioinformatics and the Laboratory – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-json-data-python/&quot;&gt;Working With JSON in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-groupby-real-world-data/&quot;&gt;pandas GroupBy: Grouping Real World Data in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E217_03_PyCoders.c2001ff7995a.mp3" type="audio/mpeg" length="54202680"/>
        <guid isPermaLink="false">5efec74a-dd00-4205-a526-a71db96c35e2</guid>
        <pubDate>Fri, 16 Aug 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3322</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_217_Podcast.a0f575ab8fbf.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Packaging Data Analyses &amp; Using pandas GroupBy”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>216</itunes:episode>
        <title>Learning Through Building the Black Python Devs Community</title>
        <itunes:title>Learning Through Building the Black Python Devs Community</itunes:title>
        <link>https://realpython.com/podcasts/rpp/216/</link>
        <description>What hurdles must be cleared when starting an international organization? How do you empower others in a community by sharing responsibilities? This week on the show, we speak with Jay Miller about Black Python Devs.</description>
        <content:encoded>&lt;p&gt;What hurdles must be cleared when starting an international organization? How do you empower others in a community by sharing responsibilities? This week on the show, we speak with Jay Miller about Black Python Devs.&lt;/p&gt;
&lt;p&gt;Jay shares how the idea of forming a community began through attending conferences. They wanted to welcome more black developers into the Python community. We discuss the introduction of Black Python Devs as part of their PyCon 2024 keynote presentation.&lt;/p&gt;
&lt;p&gt;Jay explains working with a few key people to build the group&amp;rsquo;s foundations. They talk about the difficulty of letting other people share in the responsibilities and ownership as the membership grew. We also discuss the advantages of partnering with a non-profit organization.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by InfluxData. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/interacting-rest-apis-python/&quot;&gt;Interacting With REST APIs and Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to use Python to communicate with REST APIs. You&amp;rsquo;ll learn about REST architecture and how to use the requests library to get data from a REST API. You&amp;rsquo;ll also explore different Python tools you can use to build REST APIs.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:50 &amp;ndash; PyCon 2024 Keynote&lt;/li&gt;
&lt;li&gt;00:06:02 &amp;ndash; New role at Aiven&lt;/li&gt;
&lt;li&gt;00:11:32 &amp;ndash; Nobody knows what Dev Rel is&lt;/li&gt;
&lt;li&gt;00:19:43 &amp;ndash; Podcasting about productivity&lt;/li&gt;
&lt;li&gt;00:24:12 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:24:57 &amp;ndash; Starting Black Python Devs&lt;/li&gt;
&lt;li&gt;00:33:11 &amp;ndash; Distinct perspectives and problems&lt;/li&gt;
&lt;li&gt;00:37:10 &amp;ndash; Partnering with Gnome Foundation&lt;/li&gt;
&lt;li&gt;00:40:31 &amp;ndash; What were hurdles in starting Black Python Devs?&lt;/li&gt;
&lt;li&gt;00:45:31 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:47:01 &amp;ndash; What do you wish you knew before you started?&lt;/li&gt;
&lt;li&gt;00:50:56 &amp;ndash; What&amp;rsquo;s your latest win?&lt;/li&gt;
&lt;li&gt;00:53:28 &amp;ndash; Helping people prepare for jobs and new roles&lt;/li&gt;
&lt;li&gt;00:58:03 &amp;ndash; What&amp;rsquo;s your call to action?&lt;/li&gt;
&lt;li&gt;01:00:26 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:03:48 &amp;ndash; How do you stay motivated to keep learning Python?&lt;/li&gt;
&lt;li&gt;01:06:19 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:09:02 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:11:02 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blackpythondevs.com/&quot;&gt;Black Python Devs - Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=jYZBpoYjxLo&amp;amp;list=PL2Uw4_HvXqvYhjub9bw4uDAmNtprgAvlJ&quot;&gt;PyCon 2024 Keynote Speaker - Jay Miller - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=JE5u5mUT6gQ&quot;&gt;PyCon 2024 Keynote Speaker - Sumana Harihareswara - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.relay.fm/conduit&quot;&gt;Conduit - Relay FM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aiven.io/&quot;&gt;Aiven - Your Trusted Data &amp;amp; AI Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blackpythondevs.com/2024-05-25-abigail-mesrenyame-dogbe-wins-inaugural-outstanding-pylady-award/&quot;&gt;Abigail Mesrenyame Dogbe Honored with Inaugural Outstanding PyLady Award&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/86/&quot;&gt;Episode #86: The Legacy of OLPC and Charismatic Pitfalls in Teaching Programming – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://foundation.gnome.org/2024/05/21/black-python-devs-and-gnome/&quot;&gt;Black Python Devs Join the GNOME Foundation Nonprofit Umbrella – The GNOME Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/158/&quot;&gt;Applying for a Hacker Initiative Grant With Bill Pollock of No Starch Press – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kjaymiller.com/about.html&quot;&gt;Jay Miller - Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/kjaymiller&quot;&gt;kjaymiller - Jay Miller&amp;rsquo;s GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@kjaymiller@mastodon.social&quot;&gt;Jay Miller (@kjaymiller@mastodon.social) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/kjaymiller/&quot;&gt;Jay Miller - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://render-engine.readthedocs.io/en/latest/theme_management/&quot;&gt;Render Engine - read the docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/unleash-power-rich/&quot;&gt;Unleashing the Power of the Console With Rich&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/interacting-rest-apis-python/&quot;&gt;Interacting With REST APIs and Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E216_03_JayMiller.72af96ac6a4f.mp3" type="audio/mpeg" length="70339771"/>
        <guid isPermaLink="false">d710e4e6-08f7-4210-addd-d24e59c370e5</guid>
        <pubDate>Fri, 09 Aug 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4334</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_216_Podcast.9f54e6e20feb.jpg"/>
        <rp:twitter-handles>@kjaymiller</rp:twitter-handles>
        <rp:twitter-title>“Learning Through Building the Black Python Devs Community” with @kjaymiller</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>215</itunes:episode>
        <title>Using GraphQL in Django With Strawberry &amp; Prototype Purgatory</title>
        <itunes:title>Using GraphQL in Django With Strawberry &amp; Prototype Purgatory</itunes:title>
        <link>https://realpython.com/podcasts/rpp/215/</link>
        <description>How do you integrate GraphQL into your Python web development? How about quickly building graph-based APIs inside Django&#x27;s battery-included framework? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you integrate GraphQL into your Python web development? How about quickly building graph-based APIs inside Django&amp;rsquo;s battery-included framework? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a recent tutorial for building GraphQL APIs in Django using the Python library Strawberry. The tutorial digs into creating a project, defining models, and creating GraphQL queries and mutations using Strawberry.&lt;/p&gt;
&lt;p&gt;We discuss a blog post from Nat Bennet titled &amp;ldquo;Why do prototypes suck?&amp;rdquo; We dig into the common pitfalls of building prototypes and the misconceptions between developers and end users.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, using HTMX with FastAPI, creating an unbelievably stupid airline Wi-Fi package, extracting wisdom from conference videos,  writing pixel images to the terminal, and a macOS app for Jupyter Notebooks.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/url-shortener-fastapi/&quot;&gt;Building a URL Shortener With FastAPI and Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll build an app to create and manage shortened URLs. Your Python URL shortener can receive a full target URL and return a shortened URL. You&amp;rsquo;ll also use the automatically created documentation of FastAPI to try out your API endpoints.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:27 &amp;ndash; Python 3.13.0 Beta 4 Released&lt;/li&gt;
&lt;li&gt;00:03:15 &amp;ndash; Using HTMX With FastAPI&lt;/li&gt;
&lt;li&gt;00:09:51 &amp;ndash; Free, Unbelievably Stupid Wi-Fi on Long-Haul Flights&lt;/li&gt;
&lt;li&gt;00:13:37 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:14:13 &amp;ndash; &amp;ldquo;Extracting Wisdom&amp;rdquo; From Conference Videos&lt;/li&gt;
&lt;li&gt;00:22:34 &amp;ndash; Developing GraphQL APIs in Django With Strawberry&lt;/li&gt;
&lt;li&gt;00:30:01 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:33 &amp;ndash; Why do prototypes suck?&lt;/li&gt;
&lt;li&gt;00:42:53 &amp;ndash; Satyrn: macOS App for Jupyter Notebooks&lt;/li&gt;
&lt;li&gt;00:46:41 &amp;ndash; rich-pixels: A Rich-compatible library for writing pixel images&lt;/li&gt;
&lt;li&gt;00:48:23 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/07/python-3130-beta-4-released.html&quot;&gt;Python 3.13.0 Beta 4 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://testdriven.io/blog/fastapi-htmx/&quot;&gt;Using HTMX With FastAPI&lt;/a&gt; &amp;ndash; This tutorial looks at how use HTMX with FastAPI by creating a simple todo web app and deploying it on Render.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robertheaton.com/pyskywifi/&quot;&gt;Free, Unbelievably Stupid Wi-Fi on Long-Haul Flights&lt;/a&gt; &amp;ndash; Deep in a need to procrastinate on a flight between London and San Francisco, Robert discovered that changing his name on an airline&amp;rsquo;s frequent flyer account was free over the plane&amp;rsquo;s WiFi. What&amp;rsquo;s a developer to do? Work on their tickets? No, create an entire TCP/IP protocol using this loophole. The result is the PySkyWiFi package.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.ovalerio.net/archives/2900&quot;&gt;&amp;ldquo;Extracting Wisdom&amp;rdquo; From Conference Videos&lt;/a&gt; &amp;ndash; There are so many conferences and so many videos, you can&amp;rsquo;t possibly watch them all. This post shows you how to extract information to summarize a talk so you can quickly decide what you want to watch.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://testdriven.io/blog/django-strawberry/&quot;&gt;Developing GraphQL APIs in Django With Strawberry&lt;/a&gt; &amp;ndash; This tutorial details how to integrate GraphQL with Django using Strawberry.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.simplermachines.com/why-do-prototypes-suck/&quot;&gt;Why do prototypes suck?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Project:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://satyrn.app/&quot;&gt;Satyrn: macOS App for Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/darrenburns/rich-pixels&quot;&gt;darrenburns/rich-pixels: A Rich-compatible library for writing pixel images and ASCII art to the terminal.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://htmx.org/&quot;&gt;&amp;lt;/&amp;gt; htmx - high power tools for html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fastapi-python-web-apis/&quot;&gt;Using FastAPI to Build Python Web APIs – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ollama.com/&quot;&gt;Ollama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/danielmiessler/fabric/&quot;&gt;fabric: An open-source framework for augmenting humans using AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://strawberry.rocks/&quot;&gt;A modern GraphQL library for Python - 🍓 Strawberry GraphQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discord.gg/VEU7V4XK68&quot;&gt;Satyrn Discord&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/url-shortener-fastapi/&quot;&gt;Building a URL Shortener With FastAPI and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rest-apis-with-fastapi/&quot;&gt;Python REST APIs With FastAPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E215_03_PyCoders.3606a4ff886f.mp3" type="audio/mpeg" length="48414909"/>
        <guid isPermaLink="false">2e4e0ef6-3714-4daa-899a-77a058efe9bd</guid>
        <pubDate>Fri, 02 Aug 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2961</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_215_Podcast_2.b291a73cc031.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Using GraphQL in Django With Strawberry &amp; Prototype Purgatory”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>214</itunes:episode>
        <title>Build Captivating Display Tables in Python With Great Tables</title>
        <itunes:title>Build Captivating Display Tables in Python With Great Tables</itunes:title>
        <link>https://realpython.com/podcasts/rpp/214/</link>
        <description>Do you need help making data tables in Python look interesting and attractive? How can you create beautiful display-ready tables as easily as charts and graphs in Python? This week on the show, we speak with Richard Iannone and Michael Chow from Posit about the Great Tables Python library.</description>
        <content:encoded>&lt;p&gt;Do you need help making data tables in Python look interesting and attractive? How can you create beautiful display-ready tables as easily as charts and graphs in Python? This week on the show, we speak with Richard Iannone and Michael Chow from Posit about the Great Tables Python library.&lt;/p&gt;
&lt;p&gt;Michael and Richard discuss the design philosophy and history behind creating display tables. We dig into the grammar of tables, the background of the project, and an ingenious way to build a collection of examples for a library.&lt;/p&gt;
&lt;p&gt;We briefly cover how Richard and Michael started contributing to open source. We also discuss practicing data skills with challenges and resources like Tidy Tuesday.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to use ggplot in Python to build data visualizations with plotnine. You&amp;rsquo;ll discover what a grammar of graphics is and how it can help you create plots in a very concise and consistent way.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:00 &amp;ndash; Michael&amp;rsquo;s background in open source&lt;/li&gt;
&lt;li&gt;00:04:07 &amp;ndash; Rich&amp;rsquo;s background in open source&lt;/li&gt;
&lt;li&gt;00:05:27 &amp;ndash; Advice for someone starting out&lt;/li&gt;
&lt;li&gt;00:08:55 &amp;ndash; What do you mean by the term &amp;ldquo;display&amp;rdquo; table&lt;/li&gt;
&lt;li&gt;00:11:32 &amp;ndash; What components were missing from other tables?&lt;/li&gt;
&lt;li&gt;00:13:31 &amp;ndash; Using examples to explain features&lt;/li&gt;
&lt;li&gt;00:16:09 &amp;ndash; Why was there an absence of this functionality in Python?&lt;/li&gt;
&lt;li&gt;00:19:35 &amp;ndash; A progressive approach and the grammar of tables&lt;/li&gt;
&lt;li&gt;00:21:26 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:22:01 &amp;ndash; The design philosophy of great tables&lt;/li&gt;
&lt;li&gt;00:25:31 &amp;ndash; Nanoplots, spark lines, and column spanners&lt;/li&gt;
&lt;li&gt;00:27:06 &amp;ndash; Building a gallery of examples&lt;/li&gt;
&lt;li&gt;00:28:56 &amp;ndash; Heat mapping cells and automatically adjusting text color&lt;/li&gt;
&lt;li&gt;00:32:54 &amp;ndash; Output formats for the tables&lt;/li&gt;
&lt;li&gt;00:34:46 &amp;ndash; Building in accessibility&lt;/li&gt;
&lt;li&gt;00:36:55 &amp;ndash; Dependencies&lt;/li&gt;
&lt;li&gt;00:37:42 &amp;ndash; What is the common workflow?&lt;/li&gt;
&lt;li&gt;00:41:39 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:43:15 &amp;ndash; Adding graphics&lt;/li&gt;
&lt;li&gt;00:46:41 &amp;ndash; Using a table contest to get examples&lt;/li&gt;
&lt;li&gt;00:49:47 &amp;ndash; quartodoc and documenting the project&lt;/li&gt;
&lt;li&gt;00:55:00 &amp;ndash; Tidy Tuesday and data science community&lt;/li&gt;
&lt;li&gt;01:00:29 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:03:46 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:08:05 &amp;ndash; How can people follow the work you do online?&lt;/li&gt;
&lt;li&gt;01:09:57 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://posit-dev.github.io/great-tables/articles/intro.html&quot;&gt;Great Tables - Intro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://posit-dev.github.io/great-tables/examples/&quot;&gt;Examples – great_tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/posit-dev/great-tables/tree/main&quot;&gt;great-tables: Make awesome display tables using Python. - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/machow/siuba&quot;&gt;siuba: Python library for using dplyr like syntax with pandas and SQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://posit-dev.github.io/great-tables/blog/design-philosophy/&quot;&gt;The Design Philosophy of Great Tables – great_tables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=p42Xc6dl3Ek&quot;&gt;Richard Iannone - Using Great Tables to Make Presentable Tables in Python - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/elcheff/status/1753756506992890115&quot;&gt;Evaluation of the players of #LigaEndesa this week in Europe - Great Tables Example - X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/machow/quartodoc&quot;&gt;quartodoc: Generate API documentation with quarto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL19ev-r1GBwkuyiwnxoHTRC8TTqP8OEi8&quot;&gt;Tidy Tuesday R Screencasts - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars — DataFrames for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/narwhals-dev/narwhals&quot;&gt;narwhals-dev/narwhals: Lightweight and extensible compatibility layer between dataframe libraries!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plotnine.org/&quot;&gt;A Grammar of Graphics for Python – plotnine 0.13.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rich-iannone&quot;&gt;Richard Iannone - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/machow&quot;&gt;Michael Chow - GitHub)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/richard-iannone-a5640017/&quot;&gt;Richard Iannone - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/michael-a-chow/&quot;&gt;Michael Chow - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-groupby-real-world-data/&quot;&gt;pandas GroupBy: Grouping Real World Data in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E214_03_GreatTables.5f3c21475379.mp3" type="audio/mpeg" length="69150635"/>
        <guid isPermaLink="false">4ad73dde-24aa-477c-bc97-8b2c87d4304e</guid>
        <pubDate>Fri, 26 Jul 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4259</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_214_Podcast.d3b60c4862b6.jpg"/>
        <rp:twitter-handles>@riannone, @chowthedog</rp:twitter-handles>
        <rp:twitter-title>“Build Captivating Display Tables in Python With Great Tables” with @riannone, @chowthedog</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>213</itunes:episode>
        <title>Constraint Programming &amp; Exploring Python&#x27;s Built-in Functions</title>
        <itunes:title>Constraint Programming &amp; Exploring Python&#x27;s Built-in Functions</itunes:title>
        <link>https://realpython.com/podcasts/rpp/213/</link>
        <description>What are discrete optimization problems? How do you solve them with constraint programming in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects</description>
        <content:encoded>&lt;p&gt;What are discrete optimization problems? How do you solve them with constraint programming in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects&lt;/p&gt;
&lt;p&gt;Christopher discusses an article about constraint programming using Python. He describes the fundamentals and how the problems resemble logic problems you may have experienced in school. The article shows how to solve a weekly work scheduling problem using the open-source CP-SAT package.&lt;/p&gt;
&lt;p&gt;We discuss Leodanis Pozo Ramos&amp;rsquo;s recent tutorial, &amp;ldquo;Python&amp;rsquo;s Built-in Functions: A Complete Exploration.&amp;rdquo; These functions are available for use directly in your code without importing.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, spotting ships with satellites, grappling with Apple&amp;rsquo;s App Store rejecting Python applications, considering changes to Python&amp;rsquo;s security model,  discussing pivoting from one development path to another, prettifying Jinja and Django templates, and generating static sites with Python. &lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-zip-function/&quot;&gt;Parallel Iteration With Python&amp;rsquo;s zip() Function&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to use the Python zip() function to solve common programming problems. You&amp;rsquo;ll learn how to traverse multiple iterables in parallel and create dictionaries with just a few lines of code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:35 &amp;ndash; Polars 1.0 Released&lt;/li&gt;
&lt;li&gt;00:03:26 &amp;ndash; Psycopg 3.2 Released&lt;/li&gt;
&lt;li&gt;00:04:06 &amp;ndash; Django security releases issued: 5.0.7 and 4.2.14&lt;/li&gt;
&lt;li&gt;00:04:40 &amp;ndash; PyBay 2024 Call for Proposals&lt;/li&gt;
&lt;li&gt;00:05:16 &amp;ndash; Python&amp;rsquo;s Built-in Functions: A Complete Exploration&lt;/li&gt;
&lt;li&gt;00:12:10 &amp;ndash; Satellites Spotting Ships&lt;/li&gt;
&lt;li&gt;00:16:02 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:17:09 &amp;ndash; Python Grapples With Apple App Store Rejections&lt;/li&gt;
&lt;li&gt;00:20:27 &amp;ndash; Python&amp;rsquo;s Security Model After the &lt;code&gt;xz-utils&lt;/code&gt; Backdoor&lt;/li&gt;
&lt;li&gt;00:25:38 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:56 &amp;ndash; Constraint Programming Using CP-SAT and Python&lt;/li&gt;
&lt;li&gt;00:31:40 &amp;ndash; Any Web Devs Successfully Pivoted to AI/ML Development?&lt;/li&gt;
&lt;li&gt;00:43:12 &amp;ndash; aurora: Static Site Generator Implemented in Python&lt;/li&gt;
&lt;li&gt;00:45:14 &amp;ndash; Running Prettier Against Django or Jinja Templates&lt;/li&gt;
&lt;li&gt;00:46:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/posts/announcing-polars-1/&quot;&gt;Polars 1.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.psycopg.org/articles/2024/06/30/psycopg-32-released/&quot;&gt;Psycopg 3.2 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/jul/09/security-releases/&quot;&gt;Django security releases issued: 5.0.7 and 4.2.14&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pybay.org/speaking/&quot;&gt;PyBay 2024 Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-built-in-functions/&quot;&gt;Python&amp;rsquo;s Built-in Functions: A Complete Exploration&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn the basics of working with Python&amp;rsquo;s numerous built-in functions. You&amp;rsquo;ll explore how you can use these predefined functions to perform common tasks and operations, such as mathematical calculations, data type conversions, and string manipulations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tech.marksblogg.com/yolo-umbra-sar-satellites-ship-detection.html&quot;&gt;Satellites Spotting Ships&lt;/a&gt; &amp;ndash; Umbra Space has released a data set consisting of satellite based radar images of shipping. This article from Mark shows you how to grab the data, visualize, and annotate it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lwn.net/SubscriberLink/979671/4fb7c1827536d1ae/&quot;&gt;Python Grapples With Apple App Store Rejections&lt;/a&gt; &amp;ndash; A string that is part of the &lt;code&gt;urllib&lt;/code&gt; parser module in Python references a scheme for apps that use the iTunes feature to install other apps, which is disallowed. Auto scanning by Apple is rejecting any app that uses Python 3.12 underneath. A solution has been proposed for Python 3.13.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2024/06/python-language-summit-2024-python-security-model-after-xz.html&quot;&gt;Python&amp;rsquo;s Security Model After the &lt;code&gt;xz-utils&lt;/code&gt; Backdoor&lt;/a&gt; &amp;ndash; The backdoor introduced to the &lt;code&gt;xz-utils&lt;/code&gt; compression project through social engineering was one of the topics at the Python Language Summit. Participants discussed what can be done to prevent similar social engineering attacks on the Python source.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pganalyze.com/blog/a-practical-introduction-to-constraint-programming-using-cp-sat&quot;&gt;Constraint Programming Using CP-SAT and Python&lt;/a&gt; &amp;ndash; Constraint programming is the process of looking for solutions based on a series of restrictions, like employees over 18 who have worked the cash before. This article introduces the concept and shows you how to use open source libraries to write constraint solving code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=40866311&quot;&gt;Any Web Devs Successfully Pivoted to AI/ML Development?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/capjamesg/aurora&quot;&gt;aurora: Static Site Generator Implemented in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://til.simonwillison.net/npm/prettier-django&quot;&gt;Running Prettier Against Django or Jinja Templates&lt;/a&gt; &amp;ndash; &amp;ldquo;Prettier&amp;rdquo; is a JavaScript based linting tool for templates. For folks not familiar with the world of npm, it can be a bit daunting to get it going. Simon fiddled with it so you don&amp;rsquo;t have to and posted how he got it working on his system.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/209/&quot;&gt;Episode #209: Python&amp;rsquo;s Command-Line Utilities &amp;amp; Music Information Retrieval Tools – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/py-modindex.html&quot;&gt;Python Module Index — Python 3.12.4 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/functions.html&quot;&gt;Built-in Functions — Python 3.12.4 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/project/projects/tools/briefcase/&quot;&gt;Briefcase— BeeWare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=40994552&quot;&gt;Ask HN: What&amp;rsquo;s Prolog like in 2024? - Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/199/&quot;&gt;Episode #199: Leveraging Documents and Data to Create a Custom LLM Chatbot – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0730/&quot;&gt;PEP 730 – Adding iOS as a supported platform | peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-zip-function/&quot;&gt;Parallel Iteration With Python&amp;#x27;s zip() Function&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/jinja-templating/&quot;&gt;Jinja Templating&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E213_03_PyCoders.c99e8d8906c5.mp3" type="audio/mpeg" length="47052971"/>
        <guid isPermaLink="false">18902240-1916-455a-85ef-7cf8cd1fa5ea</guid>
        <pubDate>Fri, 19 Jul 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2880</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_213_Podcast.44019e71e4c0.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Constraint Programming &amp; Exploring Python&#x27;s Built-in Functions”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>212</itunes:episode>
        <title>Digging Into Graph Theory in Python With David Amos</title>
        <itunes:title>Digging Into Graph Theory in Python With David Amos</itunes:title>
        <link>https://realpython.com/podcasts/rpp/212/</link>
        <description>Have you wondered about graph theory and how to start exploring it in Python? What resources and Python libraries can you use to experiment and learn more? This week on the show, former co-host David Amos returns to talk about what he&#x27;s been up to and share his knowledge about graph theory in Python.</description>
        <content:encoded>&lt;p&gt;Have you wondered about graph theory and how to start exploring it in Python? What resources and Python libraries can you use to experiment and learn more? This week on the show, former co-host David Amos returns to talk about what he&amp;rsquo;s been up to and share his knowledge about graph theory in Python.&lt;/p&gt;
&lt;p&gt;David started a Ph.D. program studying mathematics, with a focus on graph theory. Though life interrupted his pursuit after three years, he is still passionate about the subject. He&amp;rsquo;s been using these skills to create documentation and teach users as part of RelationalAI&amp;rsquo;s education team.&lt;/p&gt;
&lt;p&gt;David has also been exploring the Julia programming language. He wrote about it on his blog, created videos, and started a podcast on the topic. He shares his excitement about learning new techniques from different languages and how these ideas can enhance your coding in Python.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/defining-constants-code-maintainability/&quot;&gt;Defining Python Constants for Code Maintainability&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to properly define constants in Python. By coding a bunch of practical example, you&amp;rsquo;ll also learn how Python constants can improve your code&amp;rsquo;s readability, reusability, and maintainability.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:09 &amp;ndash; What have you been up to?&lt;/li&gt;
&lt;li&gt;00:03:31 &amp;ndash; Exploring the Julia language&lt;/li&gt;
&lt;li&gt;00:07:24 &amp;ndash; Where do you see Julia being used?&lt;/li&gt;
&lt;li&gt;00:10:17 &amp;ndash; Cross pollination of languages&lt;/li&gt;
&lt;li&gt;00:12:45 &amp;ndash; Connecting with RelationalAI&lt;/li&gt;
&lt;li&gt;00:16:33 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:17:42 &amp;ndash; Digging into graph theory&lt;/li&gt;
&lt;li&gt;00:21:54 &amp;ndash; Edges as connections&lt;/li&gt;
&lt;li&gt;00:24:55 &amp;ndash; Defining terms &lt;/li&gt;
&lt;li&gt;00:31:30 &amp;ndash; Storing graph information&lt;/li&gt;
&lt;li&gt;00:41:55 &amp;ndash; Applications once the graph is built&lt;/li&gt;
&lt;li&gt;00:49:07 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:50:40 &amp;ndash; Additional resources to learn more&lt;/li&gt;
&lt;li&gt;00:53:59 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:05 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:25 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:02:55 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://relational.ai/&quot;&gt;RelationalAI - a knowledge graph coprocessor for your data cloud.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://julialang.org/&quot;&gt;The Julia Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/@TalkJulia&quot;&gt;Talk Julia - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://betterprogramming.pub/five-minutes-to-julia-16bc680a13f5&quot;&gt;Five Minutes To Julia.  David Amos - Medium Member Link &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://betterprogramming.pub/five-minutes-to-julia-16bc680a13f5&quot;&gt;Five Minutes To Julia. David Amos - Medium Friend Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://relational.ai/docs/getting_started&quot;&gt;Getting Started with RelationalAI - RelationalAI Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://relational.ai/docs/example_notebooks&quot;&gt;Example Notebooks - RelationalAI Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hillelwayne.com/post/graph-types/&quot;&gt;The Hunt for the Missing Data Type - Hillel Wayne&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/Introduction-Graph-Theory-Richard-Trudeau/dp/1684112311&quot;&gt;Introduction to Graph Theory: Richard J Trudeau&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/Fascinating-World-Graph-Theory/dp/0691175632/&quot;&gt;The Fascinating World of Graph Theory:  Arthur Benjamin, Gary Chartrand, Ping Zhang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://networkx.org/&quot;&gt;NetworkX — NetworkX documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/chromadb-vector-database/&quot;&gt;Embeddings and Vector Databases With ChromaDB – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/199/&quot;&gt;Episode #199: Leveraging Documents and Data to Create a Custom LLM Chatbot – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLLIPpKeh9v3ZFEHvNd5xqUrCkqLgXnekL&quot;&gt;Graph Theory With Python - David&amp;rsquo;s YouTube Playlist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hachyderm.io/@somacdivad&quot;&gt;David Amos (@somacdivad@hachyderm.io) - Hachyderm.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/somacdivad/&quot;&gt;David Amos - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://somacdivad.medium.com/&quot;&gt;David Amos – Medium&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-constants-code-maintainability/&quot;&gt;Defining Python Constants for Code Maintainability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/setting-up-python/&quot;&gt;Python Basics: Setting Up Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E212_03_David_Amos.90c4ffe6ca8a.mp3" type="audio/mpeg" length="62466089"/>
        <guid isPermaLink="false">2d90c185-bdb5-41d9-8316-eb8e3c88b882</guid>
        <pubDate>Fri, 12 Jul 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3842</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_212_Podcast.31984a8467e9.jpg"/>
        <rp:twitter-handles>@somacdivad</rp:twitter-handles>
        <rp:twitter-title>“Digging Into Graph Theory in Python With David Amos” with @somacdivad</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>211</itunes:episode>
        <title>Python Doesn&#x27;t Round Numbers the Way You Might Think</title>
        <itunes:title>Python Doesn&#x27;t Round Numbers the Way You Might Think</itunes:title>
        <link>https://realpython.com/podcasts/rpp/211/</link>
        <description>Does Python round numbers the same way you learned back in math class? You might be surprised by the default method Python uses and the variety of ways to round numbers in Python. Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Does Python round numbers the same way you learned back in math class? You might be surprised by the default method Python uses and the variety of ways to round numbers in Python. Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher discusses his recent video course, &amp;ldquo;Rounding Numbers in Python.&amp;rdquo; He covers rounding bias and how to avoid introducing it into your dataset. We dig into the various rounding strategies and how to implement them in Python.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, a fast Python linter for error-free and maintainable code, the decline of the user interface, more thoughts on Python in Excel, a discussion about calendar versioning for Python, a financial database as a Python module, and a project to prettify the colors of your terminal user interfaces.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/rounding-numbers-python/&quot;&gt;Rounding Numbers in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about the mistakes you might make when rounding numbers and how to best manage or avoid them. It&amp;rsquo;s a great place to start for the early to intermediate Python developer who&amp;rsquo;s interested in using Python for finance, data science, or scientific computing.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:06 &amp;ndash; NumPy 2.0.0 Release Notes&lt;/li&gt;
&lt;li&gt;00:02:52 &amp;ndash; Python 3.13.0 beta 3 released&lt;/li&gt;
&lt;li&gt;00:03:05 &amp;ndash; Announcing the PSF Board Candidates for 2024!&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; Prohibiting Outlook Email Domains&lt;/li&gt;
&lt;li&gt;00:04:31 &amp;ndash; Ruff: A Python Linter for Error-Free and Maintainable Code&lt;/li&gt;
&lt;li&gt;00:09:31 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:10:35 &amp;ndash; The Decline of the User Interface&lt;/li&gt;
&lt;li&gt;00:19:14 &amp;ndash; My Thoughts on Python in Excel&lt;/li&gt;
&lt;li&gt;00:26:30 &amp;ndash; Rounding Numbers in Python&lt;/li&gt;
&lt;li&gt;00:30:53 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:13 &amp;ndash; PEP 2026: Calendar Versioning for Python&lt;/li&gt;
&lt;li&gt;00:42:37 &amp;ndash; Financial Database as a Python Module&lt;/li&gt;
&lt;li&gt;00:45:34 &amp;ndash; prettypretty: Build Awesome Terminal User Interfaces&lt;/li&gt;
&lt;li&gt;00:47:48 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/doc/stable/release/2.0.0-notes.html&quot;&gt;NumPy 2.0.0 Release Notes — NumPy v2.0 Manual&lt;/a&gt; &amp;ndash; The long awaited 2.0 release of NumPy landed this week. Not all the docs are up to date yet, but this final draft of the release notes shows you what is included.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/06/python-3130-beta-3-released.html&quot;&gt;Python Insider: Python 3.13.0 beta 3 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2024/06/announcing-psf-board-candidates-for-2024.html&quot;&gt;Python Software Foundation News: Announcing the PSF Board Candidates for 2024!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2024-06-16-prohibiting-msn-emails/&quot;&gt;Prohibiting Outlook Email Domains&lt;/a&gt; &amp;ndash; Due to an inordinate amount of bot accounts coming from outlook.com and hotmail.com, PyPI has disallowed new account sign-ups with email addresses from these domains.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ruff-python/&quot;&gt;Ruff: A Python Linter for Error-Free and Maintainable Code&lt;/a&gt; &amp;ndash; Ruff is an extremely fast, modern linter with a simple interface, making it straightforward to use. It also aims to be a drop-in replacement for other linting and formatting tools, like Pylint, isort, and Black. It&amp;rsquo;s no surprise it&amp;rsquo;s quickly becoming one of the most popular Python linters.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.infoworld.com/article/3715333/the-decline-of-the-user-interface.html&quot;&gt;The Decline of the User Interface&lt;/a&gt; &amp;ndash; &amp;ldquo;Software has never looked cooler, but user interface design and user experience have taken a sharp turn for the worse.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.xlwings.org/blog/my-thoughts-on-python-in-excel&quot;&gt;My Thoughts on Python in Excel&lt;/a&gt; &amp;ndash; Microsoft&amp;rsquo;s new Python in Excel functionality was released almost a year ago. Having now had time to play with it, Felix gives his take.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rounding-numbers-python/&quot;&gt;Rounding Numbers in Python&lt;/a&gt; &amp;ndash; In this video course, you&amp;rsquo;ll learn about the mistakes you might make when rounding numbers and how to best manage or avoid them. It&amp;rsquo;s a great place to start for the early to intermediate Python developer who&amp;rsquo;s interested in using Python for finance, data science, or scientific computing.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-2026/&quot;&gt;PEP 2026: Calendar Versioning for Python&lt;/a&gt; &amp;ndash; This PEP proposes updating the versioning scheme for Python to include the calendar year. This aims to make the support lifecycle clear by making it easy to see when a version was first released, and easier to work out when it will reach end of life (EOL). &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pep-2026-calendar-versioning-for-python/55782&quot;&gt;Associated discussion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://semver.org/&quot;&gt;Semantic Versioning 2.0.0 - Semantic Versioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://calver.org/&quot;&gt;Calendar Versioning — CalVer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/JerBouma/FinanceDatabase&quot;&gt;FinanceDatabase: Financial Database as a Python Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/apparebit/prettypretty&quot;&gt;prettypretty: Build Awesome Terminal User Interfaces&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Humane_Interface&quot;&gt;The Humane Interface - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python-excel.org/&quot;&gt;Python Resources for working with Excel - Working with Excel Files in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/186/&quot;&gt;Episode #186: Exploring Python in Excel – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Cash_rounding&quot;&gt;Cash rounding - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-numbers-and-math/&quot;&gt;Python Basics: Numbers and Math&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rounding-numbers-python/&quot;&gt;Rounding Numbers in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E211_03_PyCoders.35dd995cfb81.mp3" type="audio/mpeg" length="47931808"/>
        <guid isPermaLink="false">1fa4fd3d-9a60-4ebf-8f2b-a60740b86852</guid>
        <pubDate>Fri, 05 Jul 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2930</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_211_Podcast.d6e1b9b5e517.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python Doesn&#x27;t Round Numbers the Way You Might Think”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>210</itunes:episode>
        <title>Creating a Guitar Synthesizer &amp; Generating WAV Files With Python</title>
        <itunes:title>Creating a Guitar Synthesizer &amp; Generating WAV Files With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/210/</link>
        <description>What techniques go into synthesizing a guitar sound in Python? What higher-level programming and Python concepts can you practice while building advanced projects? This week on the show, we talk with Real Python author and core team member Bartosz Zaczyński about his recent step-by-step project, Build a Guitar Synthesizer: Play Musical Tablature in Python.</description>
        <content:encoded>&lt;p&gt;What techniques go into synthesizing a guitar sound in Python? What higher-level programming and Python concepts can you practice while building advanced projects? This week on the show, we talk with Real Python author and core team member Bartosz Zaczyński about his recent step-by-step project, Build a Guitar Synthesizer: Play Musical Tablature in Python.&lt;/p&gt;
&lt;p&gt;Bartosz shares how he had built an early prototype of the guitar synth using a different language. He describes recreating the Karplus-Strong algorithm in Python to create the plucked guitar sounds. We discuss teaching advanced Python concepts while guiding readers through constructing a complete project.&lt;/p&gt;
&lt;p&gt;We also dig into reading and writing WAV files in Python, using Spotify&amp;rsquo;s pedalboard library, implementing Poetry in a project, and designing a file format for guitar tablature.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about libraries that can be used for playing and recording sound in Python, such as PyAudio and python-sounddevice. You&amp;rsquo;ll also see code snippets for playing and recording sound files and arrays, as well as for converting between different sound file formats.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:04 &amp;ndash; Reading and writing WAV files in Python&lt;/li&gt;
&lt;li&gt;00:04:48 &amp;ndash; What did you want to learn about the topic?&lt;/li&gt;
&lt;li&gt;00:08:02 &amp;ndash; Finding new ways to explain Python concepts &lt;/li&gt;
&lt;li&gt;00:09:52 &amp;ndash; Turning audio into plots and visualizations &lt;/li&gt;
&lt;li&gt;00:12:11 &amp;ndash; Using Python for synthesis and the guitar synth project &lt;/li&gt;
&lt;li&gt;00:13:19 &amp;ndash; What is your music background?&lt;/li&gt;
&lt;li&gt;00:18:36 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:19:11 &amp;ndash; First prototype of the project&lt;/li&gt;
&lt;li&gt;00:22:23 &amp;ndash; What does the project cover?&lt;/li&gt;
&lt;li&gt;00:25:08 &amp;ndash; Audio examples of the output&lt;/li&gt;
&lt;li&gt;00:26:31 &amp;ndash; Digging into the algorithm&lt;/li&gt;
&lt;li&gt;00:31:40 &amp;ndash; Convolution reverb&lt;/li&gt;
&lt;li&gt;00:34:15 &amp;ndash; Physical modeling and pedalboard&lt;/li&gt;
&lt;li&gt;00:38:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:31 &amp;ndash; What Python concepts are you practicing?&lt;/li&gt;
&lt;li&gt;00:41:11 &amp;ndash; Using Python poetry &lt;/li&gt;
&lt;li&gt;00:43:00 &amp;ndash; Why use YAML for the TAB files?&lt;/li&gt;
&lt;li&gt;00:46:13 &amp;ndash; What does it mean to be a polyglot programmer?&lt;/li&gt;
&lt;li&gt;00:48:37 &amp;ndash; Potential upcoming Real Python resources&lt;/li&gt;
&lt;li&gt;00:52:10 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:52:30 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:54:56 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-guitar-synthesizer/&quot;&gt;Build a Guitar Synthesizer: Play Musical Tablature in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wav-files/&quot;&gt;Reading and Writing WAV Files in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/200/&quot;&gt;Episode #200: Avoiding Error Culture and Getting Help Inside Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/ActionScript&quot;&gt;ActionScript - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flex.apache.org/&quot;&gt;Apache Flex® - Home Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://toomanyzooz.com/&quot;&gt;Too Many Zooz - Official Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tv.apple.com/us/episode/reverb/umc.cmc.60c384wwnrxmpnp7nsygpuprq&quot;&gt;Watch Reverb - Watch the Sound With Mark Ronson (Season 1, Episode 3) - Apple TV+&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=3DkpPYfvH_A&quot;&gt;Longest Reverb In the World - Inchindown - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_synthesis&quot;&gt;Karplus–Strong string synthesis - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Physical_modelling_synthesis&quot;&gt;Physical modeling synthesis - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/spotify/pedalboard&quot;&gt;pedalboard: 🎛 🔊 A Python library for audio - Spotify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-poetry.org/&quot;&gt;Poetry - Python dependency management and packaging made easy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/dependency-management-python-poetry/&quot;&gt;Dependency Management With Python Poetry – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-yaml/&quot;&gt;YAML: The Missing Battery in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.songsterr.com/&quot;&gt;Guitar Tabs with Rhythm - Songsterr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://whole30.com/books/it-starts-with-food/&quot;&gt;It Starts with Food - The Whole30® Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/bzaczynski/&quot;&gt;Bartosz Zaczyński - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simulating-processes-simpy/&quot;&gt;Simulating Real-World Processes in Python With SimPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E210_03_Fix_Bartosz.d53dbf99e10c.mp3" type="audio/mpeg" length="54728352"/>
        <guid isPermaLink="false">f8587c96-303c-4624-8794-b42c3873606f</guid>
        <pubDate>Fri, 28 Jun 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3355</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_210_Podcast.c8568dccc1d0.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Creating a Guitar Synthesizer &amp; Generating WAV Files With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>209</itunes:episode>
        <title>Python&#x27;s Command-Line Utilities &amp; Music Information Retrieval Tools</title>
        <itunes:title>Python&#x27;s Command-Line Utilities &amp; Music Information Retrieval Tools</itunes:title>
        <link>https://realpython.com/podcasts/rpp/209/</link>
        <description>What are the built-in Python modules that can work as useful command-line tools? How can these tools add more functionality to Windows machines? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the built-in Python modules that can work as useful command-line tools? How can these tools add more functionality to Windows machines? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article by Trey Hunner about Python&amp;rsquo;s extensive collection of command-line utilities? The piece digs into general-purpose tools that format JSON data or start a simple web server and additional utilities for working with your Python code from the terminal.&lt;/p&gt;
&lt;p&gt;We cover a set of Jupyter Notebooks for teaching and learning the art of music processing and Music Information Retrieval (MIR). The notebooks are resources for working through the textbook, &amp;ldquo;Fundamentals of Music Processing: Audio, Analysis, Algorithms, Applications.&amp;rdquo; &lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, a discussion of CRUD operations, a description of Python&amp;rsquo;s built-in bytes sequence, favorite essays on development and programming, Python resources for working with Excel, and a project for creating finite state machines in Python.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by APILayer.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/binary-bytes-bitwise-operators/&quot;&gt;Binary, Bytes, and Bitwise Operators in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s bitwise operators to manipulate individual bits of data at the most granular level. With the help of hands-on examples, you&amp;rsquo;ll see how you can apply bitmasks and overload bitwise operators to control binary data in your code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:21 &amp;ndash; Python 3.12.4 Released&lt;/li&gt;
&lt;li&gt;00:02:52 &amp;ndash; Python 3.13.0 Beta 2 Released&lt;/li&gt;
&lt;li&gt;00:03:01 &amp;ndash; PEP 712 Rejected&lt;/li&gt;
&lt;li&gt;00:04:18 &amp;ndash; Django in Action - Mr. Trudeau&amp;rsquo;s Book has Launched!&lt;/li&gt;
&lt;li&gt;00:06:23 &amp;ndash; What Are CRUD Operations?&lt;/li&gt;
&lt;li&gt;00:10:12 &amp;ndash; Python&amp;rsquo;s Many Command-Line Utilities&lt;/li&gt;
&lt;li&gt;00:14:04 &amp;ndash; Sponsor: APILayer&lt;/li&gt;
&lt;li&gt;00:14:55 &amp;ndash; Notebooks for Fundamentals of Music Processing&lt;/li&gt;
&lt;li&gt;00:22:55 &amp;ndash; bytes: The Lesser-Known Python Built-in Sequence&lt;/li&gt;
&lt;li&gt;00:26:57 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:34 &amp;ndash; Essays on Programming I Think About a Lot&lt;/li&gt;
&lt;li&gt;00:41:28 &amp;ndash; Python Resources for Working With Excel&lt;/li&gt;
&lt;li&gt;00:46:13 &amp;ndash; Python Finite State Machines Made Easy&lt;/li&gt;
&lt;li&gt;00:50:10 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/06/python-3124-released.html&quot;&gt;Python 3.12.4 Released&lt;/a&gt; &amp;ndash; See the &lt;a href=&quot;https://docs.python.org/release/3.12.4/whatsnew/changelog.html#python-3-12-4&quot;&gt;full list of changes&lt;/a&gt; in this release&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/06/python-3130-beta-2-released.html&quot;&gt;Python 3.13.0 Beta 2 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0712/&quot;&gt;PEP 712 Rejected&lt;/a&gt; &amp;ndash; This Python Enhancement Proposal &amp;ldquo;Adding a &amp;lsquo;converter&amp;rsquo; parameter to &lt;code&gt;dataclasses.field&lt;/code&gt;&amp;rdquo; was determined to have an insufficient number of use cases.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://mng.bz/Jg5o&quot;&gt;Django in Action&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/crud-operations/&quot;&gt;What Are CRUD Operations?&lt;/a&gt; &amp;ndash; CRUD operations are the cornerstone of application functionality. Whether you access a database or interact with a REST API, you usually want to create, retrieve, update, and delete data. In this tutorial, you&amp;rsquo;ll explore how CRUD operations work in practice.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/cli-tools/&quot;&gt;Python&amp;rsquo;s Many Command-Line Utilities&lt;/a&gt; &amp;ndash; This article describes every command-line tool included with Python, each of which can be run with &lt;code&gt;python -m module_name&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.audiolabs-erlangen.de/resources/MIR/FMP/C0/C0.html&quot;&gt;Notebooks for Fundamentals of Music Processing&lt;/a&gt; &amp;ndash; This is a collection of Python Notebooks for teaching and learning the fundamentals of music processing. Examples include illustrations, sound samples, math, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thepythoncodingstack.com/p/bytes-python-built-in-unicode-utf-8-encoding&quot;&gt;&lt;code&gt;bytes&lt;/code&gt;: The Lesser-Known Python Built-in Sequence&lt;/a&gt; &amp;ndash; The &lt;code&gt;bytes&lt;/code&gt; data type looks a bit like a string, but it isn&amp;rsquo;t a string. This article explores it and also looks at the main Unicode encoding, UTF-8&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.benkuhn.net/progessays/&quot;&gt;Essays on Programming I Think About a Lot&lt;/a&gt; &amp;ndash; A collection of essays on software from a variety of sources. Content includes how to choose your tech stack, products, abstractions, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time&quot;&gt;Falsehoods programmers believe about time - Infinite Undo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beesbuzz.biz/code/439-Falsehoods-programmers-believe-about-email&quot;&gt;Falsehoods programmers believe about email&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiesmann.codiferes.net/wordpress/archives/15187&quot;&gt;Falsehoods programmers believe about geography – Thias の blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/kdeldycke/awesome-falsehood&quot;&gt;awesome-falsehood: 😱 Falsehoods Programmers Believe In&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python-excel.org/&quot;&gt;Python Resources for Working With Excel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fgmacedo/python-statemachine&quot;&gt;Python Finite State Machines Made Easy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.audiolabs-erlangen.de/fau/professor/mueller/bookFMP&quot;&gt;Fundamentals of Music Processing - Editions of the Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.xlwings.org/blog/my-thoughts-on-python-in-excel&quot;&gt;My thoughts on Python in Excel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/c/24133822/microsoft-excel-spreadsheet-competition-championship&quot;&gt;The Microsoft Excel superstars throw down in Vegas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/binary-bytes-bitwise-operators/&quot;&gt;Binary, Bytes, and Bitwise Operators in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E209_03_PyCoders.5277a82402fb.mp3" type="audio/mpeg" length="50240188"/>
        <guid isPermaLink="false">02e6f442-6dc8-446e-a479-6ccc8874990f</guid>
        <pubDate>Fri, 21 Jun 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3076</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_209_Podcast.8043571a7cce.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python&#x27;s Command-Line Utilities &amp; Music Information Retrieval Tools”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>208</itunes:episode>
        <title>Detecting Outliers in Your Data With Python</title>
        <itunes:title>Detecting Outliers in Your Data With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/208/</link>
        <description>How do you find the most interesting or suspicious points within your data? What libraries and techniques can you use to detect these anomalies with Python? This week on the show, we speak with author Brett Kennedy about his book &quot;Outlier Detection in Python.&quot;</description>
        <content:encoded>&lt;p&gt;How do you find the most interesting or suspicious points within your data? What libraries and techniques can you use to detect these anomalies with Python? This week on the show, we speak with author Brett Kennedy about his book &amp;ldquo;Outlier Detection in Python.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Brett describes initially getting involved with detecting outliers in financial data. He discusses various applications and techniques in security, manufacturing, quality assurance, and fraud. We also dig into the concept of explainable AI and the differences between supervised and unsupervised learning.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by APILayer.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/knn-python/&quot;&gt;Using k-Nearest Neighbors (kNN) in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn all about the k-nearest neighbors (kNN) algorithm in Python, including how to implement kNN from scratch. Once you understand how kNN works, you&amp;rsquo;ll use scikit-learn to facilitate your coding process.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:56 &amp;ndash; Describing the book&lt;/li&gt;
&lt;li&gt;00:03:22 &amp;ndash; How did you get involved in outlier detection?&lt;/li&gt;
&lt;li&gt;00:06:50 &amp;ndash; Initially looking at the data to spot errors&lt;/li&gt;
&lt;li&gt;00:08:22 &amp;ndash; Amount of fraud and financial errors&lt;/li&gt;
&lt;li&gt;00:09:50 &amp;ndash; Understanding the nature of the outliers&lt;/li&gt;
&lt;li&gt;00:12:15 &amp;ndash; Industries that would be interested in detection&lt;/li&gt;
&lt;li&gt;00:18:21 &amp;ndash; Sponsor: APILayer.com&lt;/li&gt;
&lt;li&gt;00:19:15 &amp;ndash; Who is the intended audience for the book?&lt;/li&gt;
&lt;li&gt;00:22:16 &amp;ndash; Differences between supervised vs unsupervised learning&lt;/li&gt;
&lt;li&gt;00:25:48 &amp;ndash; Autonomous vehicles detecting anomalous imagery&lt;/li&gt;
&lt;li&gt;00:29:08 &amp;ndash; What is explainable AI?&lt;/li&gt;
&lt;li&gt;00:36:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:43 &amp;ndash; Detecting an outlier across multiple columns&lt;/li&gt;
&lt;li&gt;00:44:32 &amp;ndash; Detection of LLM and bot activity&lt;/li&gt;
&lt;li&gt;00:49:49 &amp;ndash; Proving you are a human checkbox&lt;/li&gt;
&lt;li&gt;00:52:25 &amp;ndash; What are Python libraries for outlier detection?&lt;/li&gt;
&lt;li&gt;00:53:57 &amp;ndash; Creating synthetic data to work through examples&lt;/li&gt;
&lt;li&gt;00:57:10 &amp;ndash; Tools developed and described in the book&lt;/li&gt;
&lt;li&gt;01:01:29 &amp;ndash; How to find the book&lt;/li&gt;
&lt;li&gt;01:02:27 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:04:55 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:05:52 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:06:16 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/outlier-detection-in-python?utm_source=social_media&amp;amp;utm_medium=int_influencer&amp;amp;utm_campaign=book_kennedy3_outlier_4_9_24&quot;&gt;Outlier Detection in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/169/&quot;&gt;Episode #169: Improving Classification Models With XGBoost – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xgboost.readthedocs.io/en/stable/&quot;&gt;XGBoost Documentation — xgboost 1.7.6 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://shap.readthedocs.io/en/latest/index.html&quot;&gt;SHAP (SHapley Additive exPlanations) Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dailymail.co.uk/sciencetech/article-13263567/simple-way-tell-students-used-AI-teacher.html&quot;&gt;I&amp;rsquo;m a teacher and this is the simple way I can tell if students have used AI to cheat in their essays - Daily Mail Online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/yzhao062/pyod&quot;&gt;pyod: A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/xuhongzuo/DeepOD&quot;&gt;DeepOD: Deep learning-based outlier/anomaly detection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/&quot;&gt;scikit-learn: machine learning in Python — scikit-learn 1.5.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Brett-Kennedy/DataConsistencyChecker&quot;&gt;DataConsistencyChecker: A Python tool to examine datasets for consistency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/wbkenn/&quot;&gt;Brett Kennedy - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Brett-Kennedy&quot;&gt;Brett-Kennedy - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/knn-python/&quot;&gt;Using k-Nearest Neighbors (kNN) in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-linear-regression/&quot;&gt;Starting With Linear Regression in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E208_03_Brett.c771ade784f4.mp3" type="audio/mpeg" length="65536589"/>
        <guid isPermaLink="false">49cb3c0c-70d1-43d3-bbed-d5529c540472</guid>
        <pubDate>Fri, 14 Jun 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4037</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_208_Podcast.5ad1e8d15bb0.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Detecting Outliers in Your Data With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>207</itunes:episode>
        <title>Decomposing Software Problems &amp; Avoiding the Trap of Clever Code</title>
        <itunes:title>Decomposing Software Problems &amp; Avoiding the Trap of Clever Code</itunes:title>
        <link>https://realpython.com/podcasts/rpp/207/</link>
        <description>How do you effectively break a software problem into individual steps? What are signs you&#x27;re writing overly clever code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you effectively break a software problem into individual steps? What are signs you&amp;rsquo;re writing overly clever code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss an article about de-warping images of book pages. We both found the piece a good study on decomposing a complex software problem. &lt;/p&gt;
&lt;p&gt;Christopher discusses an article titled &amp;ldquo;Clever code is probably the worst code you could write.&amp;rdquo; Early in a programming career, it&amp;rsquo;s easier to write complex and difficult-to-read code. The real challenge is progressing towards writing clearer and readable code. &lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, what the &lt;code&gt;__pycache__&lt;/code&gt; folder is for in Python, what&amp;rsquo;s new in Django 5.1, a discussion about software engineering hiring and firing, a project for setting up repeated tasks, and a simple way to create reusable template components in Django.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/efficient-iterations-iterators-iterables/&quot;&gt;Efficient Iterations With Python Iterators and Iterables&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn what iterators and iterables are in Python. You&amp;rsquo;ll learn how they differ and when to use them in your code. You&amp;rsquo;ll also learn how to create your own iterators and iterables to make data processing more efficient.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; PEP 667: Consistent Views of Namespaces (Accepted)&lt;/li&gt;
&lt;li&gt;00:03:08 &amp;ndash; PEP 649 Re-targeted to 3.14&lt;/li&gt;
&lt;li&gt;00:03:50 &amp;ndash; Untold Stories From 6 Years Working on Python Packaging&lt;/li&gt;
&lt;li&gt;00:04:38 &amp;ndash; What Is the &lt;code&gt;__pycache__&lt;/code&gt; Folder in Python?&lt;/li&gt;
&lt;li&gt;00:09:57 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:11:04 &amp;ndash; What&amp;rsquo;s New in Django 5.1&lt;/li&gt;
&lt;li&gt;00:17:48 &amp;ndash; Page Dewarping&lt;/li&gt;
&lt;li&gt;00:26:55 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:26 &amp;ndash; Clever Code Is Probably the Worst Code You Could Write&lt;/li&gt;
&lt;li&gt;00:33:19 &amp;ndash; Software Engineering Hiring and Firing&lt;/li&gt;
&lt;li&gt;00:51:22 &amp;ndash; Metronomes: An Easy Way to Set Up Regular Tasks&lt;/li&gt;
&lt;li&gt;00:52:26 &amp;ndash; django-web-components: Create reusable template components in Django&lt;/li&gt;
&lt;li&gt;00:54:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0667/&quot;&gt;PEP 667: Consistent Views of Namespaces (Accepted)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0649/&quot;&gt;PEP 649 Re-targeted to 3.14&lt;/a&gt; &amp;ndash; Python Enhancement Proposal 649: Deferred Evaluation Of Annotations Using Descriptors has been re-targeted to the Python 3.14 release&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://harihareswara.net/posts/2024/references-pycon-us-keynote/&quot;&gt;Untold Stories From 6 Years Working on Python Packaging&lt;/a&gt; &amp;ndash; Sumana gave the closing keynote address at PyCon US this year and this posting shares all the links and references from the talk.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pycache/&quot;&gt;What Is the &lt;code&gt;__pycache__&lt;/code&gt; Folder in Python?&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll explore Python&amp;rsquo;s &lt;code&gt;__pycache__&lt;/code&gt; folder. You&amp;rsquo;ll learn about when and why the interpreter creates these folders, and you&amp;rsquo;ll customize their default behavior. Finally, you&amp;rsquo;ll take a look under the hood of the cached .pyc files.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://micro.webology.dev/2024/05/22/whats-new-in.html&quot;&gt;What&amp;rsquo;s New in Django 5.1&lt;/a&gt; &amp;ndash; Django 5.1 has gone alpha so the list of features targeting this release has more or less solidified. This article introduces you to what is coming in Django 5.1.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mzucker.github.io/2016/08/15/page-dewarping.html&quot;&gt;Page Dewarping&lt;/a&gt; &amp;ndash; This article shows the techniques behind a page flattening algorithm. It starts with images of a book&amp;rsquo;s page which are curled from the spine of the book, and creates a resulting PDF that is a flat version.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://read.engineerscodex.com/p/clever-code-is-probably-the-worst&quot;&gt;Clever Code Is Probably the Worst Code You Could Write&lt;/a&gt; &amp;ndash; When you come across a clever bit of code, it is hard not to admire it, but often times, clear, readable code is the hardest code to write.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://edcrewe.blogspot.com/2024/04/software-engineering-hiring-and-firing.html&quot;&gt;Software Engineering Hiring and Firing&lt;/a&gt; &amp;ndash; This article is a deep dive on the hiring and firing practices in the software field, and unlike most articles focuses on senior engineering roles. It isn&amp;rsquo;t a &amp;ldquo;first job&amp;rdquo; post, but a &amp;ldquo;how the decision process works&amp;rdquo; article.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pomponchik/metronomes&quot;&gt;Metronomes: An Easy Way to Set Up Regular Tasks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Xzya/django-web-components&quot;&gt;django-web-components: A simple way to create reusable template components in Django&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/efficient-iterations-iterators-iterables/&quot;&gt;Efficient Iterations With Python Iterators and Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-for-loop/&quot;&gt;For Loops in Python (Definite Iteration)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E207_03_PyCoders.d9dfb81c70d5.mp3" type="audio/mpeg" length="53912086"/>
        <guid isPermaLink="false">2565e1f3-43dd-42b1-a67b-3a2729b7d90a</guid>
        <pubDate>Fri, 07 Jun 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3309</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_207_Podcast.3e825e26a331.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Decomposing Software Problems &amp; Avoiding the Trap of Clever Code”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>206</itunes:episode>
        <title>Building Python Unit Tests &amp; Exploring a Data Visualization Gallery</title>
        <itunes:title>Building Python Unit Tests &amp; Exploring a Data Visualization Gallery</itunes:title>
        <link>https://realpython.com/podcasts/rpp/206/</link>
        <description>How do you start adding unit tests to your Python code? Can the built-in unittest framework cover most or all of your needs? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you start adding unit tests to your Python code? Can the built-in unittest framework cover most or all of your needs? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We dig into a recent tutorial by Leodanis Pozo Ramos about writing unit tests using Python&amp;rsquo;s unittest. The tutorial covers organizing your tests, exploring assert methods, creating test fixtures, and debugging failing tests.&lt;/p&gt;
&lt;p&gt;We explore a collection of Python data visualizations and tutorials from the Python Graph Gallery. The website features hundreds of charts and graphs built using popular plotting libraries. Each chart type features a foundational tutorial that introduces the structure and application.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, the new REPL coming in Python 3.13, a pytest daemon to 10X test iteration speed, a discussion about software friction, a Raspberry Pi document scanner, and a project for controlling time per iteration loop.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/building-gui-application-tkinter/&quot;&gt;Building a Python GUI Application With Tkinter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn the basics of GUI programming with Tkinter, the de facto Python GUI framework. Master GUI programming concepts such as widgets, geometry managers, and event handlers. Then, put it all together by building two applications: a temperature converter and a text editor.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 - Introduction&lt;/li&gt;
&lt;li&gt;00:02:08 - Python Software Foundation Board Election Dates for 2024&lt;/li&gt;
&lt;li&gt;00:02:35 - 2023 PSF Annual Impact Report&lt;/li&gt;
&lt;li&gt;00:03:03 - Python&amp;rsquo;s &lt;code&gt;unittest&lt;/code&gt;: Writing Unit Tests for Your Code&lt;/li&gt;
&lt;li&gt;00:09:41 - What&amp;rsquo;s New in Python 3.13&lt;/li&gt;
&lt;li&gt;00:10:38 - The New REPL in Python 3.13&lt;/li&gt;
&lt;li&gt;00:13:39 - Best Python Chart Examples&lt;/li&gt;
&lt;li&gt;00:15:27 - Animation with text that highlights important events&lt;/li&gt;
&lt;li&gt;00:16:39 - Sankey Diagram with Python and Plotly&lt;/li&gt;
&lt;li&gt;00:18:55 - Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:20:25 - Pytest Daemon: 10X Local Test Iteration Speed&lt;/li&gt;
&lt;li&gt;00:23:58 - Software Friction&lt;/li&gt;
&lt;li&gt;00:35:41 - A Raspberry Pi Document Scanner&lt;/li&gt;
&lt;li&gt;00:39:00 - pacemaker: For Controlling Time Per Iteration Loop in Python&lt;/li&gt;
&lt;li&gt;00:41:55 - Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2024/05/psf-board-election-dates-for-2024.html&quot;&gt;Python Software Foundation Board Election Dates for 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/annual-report/2023/&quot;&gt;2023 PSF Annual Impact Report&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-unittest/&quot;&gt;Python&amp;rsquo;s &lt;code&gt;unittest&lt;/code&gt;: Writing Unit Tests for Your Code&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use the unittest framework to create unit tests for your Python code. Along the way, you&amp;rsquo;ll also learn how to create test cases, fixtures, test suites, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.13/whatsnew/3.13.html&quot;&gt;What&amp;rsquo;s New in Python 3.13&lt;/a&gt; &amp;ndash; Python 3.13 has gone into beta, which means the feature freeze is now in place. This is the official listing of the new features in 3.13. This release includes changes to the REPL, new typing features, experimental support for disabling the GIL, dead battery removal, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://treyhunner.com/2024/05/my-favorite-python-3-dot-13-feature/&quot;&gt;The New REPL in Python 3.13&lt;/a&gt; &amp;ndash; Python 3.13 just hit feature freeze with the first beta release, and it includes a host of improvements to the REPL. Automatic indenting, block-level editing, and more make the built-in REPL more powerful and easier to use.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-graph-gallery.com/best-python-chart-examples/&quot;&gt;Best Python Chart Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-graph-gallery.com/web-animated-line-chart-with-annotation/&quot;&gt;Animation with text that highlights important events - Python Graph Gallery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-graph-gallery.com/sankey-diagram-with-python-and-plotly/&quot;&gt;Sankey Diagram with Python and Plotly - Python Graph Gallery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discord.com/blog/pytest-daemon-10x-local-test-iteration-speed&quot;&gt;Pytest Daemon: 10X Local Test Iteration Speed&lt;/a&gt; &amp;ndash; Discord has a large Python monolith with lots of imports, which now takes 13 seconds to start up. On the server that&amp;rsquo;s not a problem but to run a test it is. Ruby&amp;rsquo;s solution is to have a daemon that hot loads a test on a process that already has the imports completed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hillelwayne.com/post/software-friction/&quot;&gt;Software Friction&lt;/a&gt; &amp;ndash; Friction is everywhere in software development. Two setbacks are more than twice as bad as one setback. This article discusses the sources of software friction and what you can do about it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instructables.com/From-Papers-to-Pixels-a-Raspberry-Pi-Document-Scan/&quot;&gt;A Raspberry Pi Document Scanner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brohrer/pacemaker&quot;&gt;pacemaker: For Controlling Time Per Iteration Loop in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/unittest.html&quot;&gt;unittest — Unit testing framework — Python 3.12.3 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/testing-with-python-part-1-the-basics&quot;&gt;Testing with Python (part 1): the basics - Bite code!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sankey-diagrams.com/&quot;&gt;Sankey Diagrams – A Sankey diagram says more than 1000 pie charts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rfordatascience/tidytuesday/tree/master&quot;&gt;tidytuesday: Official repo for the #tidytuesday project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rfordatascience/tidytuesday/blob/master/dataset_announcements.md&quot;&gt;tidytuesday - dataset_announcements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://netflix.github.io/chaosmonkey/&quot;&gt;Chaos Monkey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.opencv.org/4.x/&quot;&gt;OpenCV: OpenCV modules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.brandonrohrer.com/httyr/httyr.html&quot;&gt;How to Train Your Robot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-gui-application-tkinter/&quot;&gt;Building a Python GUI Application With Tkinter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/creating-pyqt-layouts-gui-applications/&quot;&gt;Creating PyQt Layouts for GUI Applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E206_02_PyCoders.9788472a0079.mp3" type="audio/mpeg" length="41995644"/>
        <guid isPermaLink="false">09092537-d0cc-4015-b9b9-f739b53d0554</guid>
        <pubDate>Fri, 31 May 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2563</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_206_Podcast.741f9e7b33bd.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building Python Unit Tests &amp; Exploring a Data Visualization Gallery”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>205</itunes:episode>
        <title>Considering Accessibility &amp; Assistive Tech as a Python Developer</title>
        <itunes:title>Considering Accessibility &amp; Assistive Tech as a Python Developer</itunes:title>
        <link>https://realpython.com/podcasts/rpp/205/</link>
        <description>What&#x27;s it like to learn Python as a visually impaired or blind developer? How can you improve the accessibility of your Python web applications and learn current guidelines? This week on the show, Real Python community member Audrey van Breederode discusses her programming journey, web accessibility, and assistive technology.</description>
        <content:encoded>&lt;p&gt;What&amp;rsquo;s it like to learn Python as a visually impaired or blind developer? How can you improve the accessibility of your Python web applications and learn current guidelines? This week on the show, Real Python community member Audrey van Breederode discusses her programming journey, web accessibility, and assistive technology.&lt;/p&gt;
&lt;p&gt;Audrey shares her background as a system administrator and instructor. While she was learning Python, she discovered Real Python. Audrey provided some feedback about the built-in video player&amp;rsquo;s accessibility. Dan reached out and worked with Audrey on some website improvements for the visually impaired.&lt;/p&gt;
&lt;p&gt;We discuss navigating modern websites and using assistive technology. Audrey also provides resources Python developers can use to improve the accessibility of their applications.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/html-css-foundations/&quot;&gt;HTML and CSS Foundations for Python Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s no way around HTML and CSS when you want to build web apps. Even if you&amp;rsquo;re not aiming to become a web developer, knowing the basics of HTML and CSS will help you understand the Web better. In this video course, you&amp;rsquo;ll get an introduction to HTML and CSS for Python programmers.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:12 &amp;ndash; Work background&lt;/li&gt;
&lt;li&gt;00:08:30 &amp;ndash; Language for assistive tools and programming&lt;/li&gt;
&lt;li&gt;00:10:30 &amp;ndash; What led you to learning Python?&lt;/li&gt;
&lt;li&gt;00:13:48 &amp;ndash; Screen readers, braille display, and white space&lt;/li&gt;
&lt;li&gt;00:17:22 &amp;ndash; Discovering Real Python&lt;/li&gt;
&lt;li&gt;00:22:41 &amp;ndash; Accessibility survey and navigating websites&lt;/li&gt;
&lt;li&gt;00:30:04 &amp;ndash; Digging deeper into learning Python&lt;/li&gt;
&lt;li&gt;00:35:42 &amp;ndash; Video Course Spotlight    &lt;/li&gt;
&lt;li&gt;00:37:03 &amp;ndash; Navigating changes in code&lt;/li&gt;
&lt;li&gt;00:39:53 &amp;ndash; Working with the terminal&lt;/li&gt;
&lt;li&gt;00:42:14 &amp;ndash; Accessibility of Python GUI libraries&lt;/li&gt;
&lt;li&gt;00:44:22 &amp;ndash; Django framework&lt;/li&gt;
&lt;li&gt;00:47:11 &amp;ndash; Screen readers and JAWS&lt;/li&gt;
&lt;li&gt;00:53:19 &amp;ndash; What are you excited about in the world of assistive technology?&lt;/li&gt;
&lt;li&gt;00:57:03 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:59:11 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:09 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.freedomscientific.com/products/software/jaws/&quot;&gt;JAWS® – Freedom Scientific&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ZFjlBXsX544&quot;&gt;What is JAWS? - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Retinal_detachment&quot;&gt;Retinal detachment - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.freedomscientific.com/Products/Blindness/Focus80BrailleDisplay/&quot;&gt;Focus 80 Blue 5th Gen – Freedom Scientific&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webaim.org/projects/screenreadersurvey10/&quot;&gt;WebAIM: Screen Reader User Survey #10 Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/WCAG22/&quot;&gt;Web Content Accessibility Guidelines (WCAG) 2.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vandyke.com/products/securecrt/&quot;&gt;SecureCRT - The rock-solid Telnet and SSH client for Windows, macOS, and Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marcel.duketown.com/p1-monitor-docker-versie/&quot;&gt;P1 Monitor docker container for smart meters - Marcel Claassen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/python-basics/&quot;&gt;Python Basics: Introduction to Python (Learning Path) – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;The web framework for perfectionists with deadlines - Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.freedomscientific.com/SurfsUp/1-StartHere.htm&quot;&gt;Surf&amp;rsquo;s Up! Surfing the Internet with JAWS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nvaccess.org/download/&quot;&gt;NV Access - Download NVDA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.freedomscientific.com/picturesmartchallenges/&quot;&gt;Picture Smart Challenges – Freedom Scientific&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-dictionaries/&quot;&gt;Python Basics: Dictionaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/html-css-foundations/&quot;&gt;HTML and CSS Foundations for Python Developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E205_02_Audrey.1c607b1cbb60.mp3" type="audio/mpeg" length="59503223"/>
        <guid isPermaLink="false">6a1be7d4-bcab-4c66-83bd-496716092e36</guid>
        <pubDate>Fri, 17 May 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3660</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_205_Podcast.423bbd790328.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Considering Accessibility &amp; Assistive Tech as a Python Developer”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>204</itunes:episode>
        <title>Querying OpenStreetMaps via API &amp; Lazy Evaluation in Python</title>
        <itunes:title>Querying OpenStreetMaps via API &amp; Lazy Evaluation in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/204/</link>
        <description>Would you like to get more practice working with APIs in Python? How about exploring the globe using the data from OpenStreetMap? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like to get more practice working with APIs in Python? How about exploring the globe using the data from OpenStreetMap? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share an article from the Pybites blog about building queries using the Overpass API for OpenStreetMap. The post explores the data structures, tags, query formats, and how to use Overpass in Python.&lt;/p&gt;
&lt;p&gt;Christopher discusses a Real Python article by recent guest Stephen Gruppetta about lazy evaluation in Python. The piece covers the advantages of generator expressions or functions and the potential disadvantages of using lazy versus eager evaluation methods.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, handling control-c in asyncio, preventing data leakage in pandas and scikit-learn, discussing the Django developer survey results, asking developers why they aren&amp;rsquo;t shipping faster, using UV to install into isolated environments, and a couple of tools for retrying in Python.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the necessary steps that you&amp;rsquo;ll need to take to set up a new Django project. You&amp;rsquo;ll learn the basic setup for any new Django project, which needs to happen before programming the specific functionality of your project.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:33 &amp;ndash; PyPy v7.3.16 Release&lt;/li&gt;
&lt;li&gt;00:02:54 &amp;ndash; PEP 745: Python 3.14 Release Schedule&lt;/li&gt;
&lt;li&gt;00:03:31 &amp;ndash; The BASIC programming language turns 60&lt;/li&gt;
&lt;li&gt;00:05:24 &amp;ndash; Asyncio Handle Control-C (SIGINT)&lt;/li&gt;
&lt;li&gt;00:07:37 &amp;ndash; OpenStreetMaps, Overpass API and Python&lt;/li&gt;
&lt;li&gt;00:11:53 &amp;ndash; What&amp;rsquo;s Lazy Evaluation in Python?&lt;/li&gt;
&lt;li&gt;00:16:10 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:17:17 &amp;ndash; How to Prevent Data Leakage in pandas &amp;amp; scikit-learn&lt;/li&gt;
&lt;li&gt;00:24:09 &amp;ndash; Django Developers Survey 2023 Results&lt;/li&gt;
&lt;li&gt;00:33:07 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:21 &amp;ndash; I Asked 100 Devs Why They Aren&amp;rsquo;t Shipping Faster?&lt;/li&gt;
&lt;li&gt;00:47:03 &amp;ndash; pipxu: Install in Isolated Environments Using UV&lt;/li&gt;
&lt;li&gt;00:49:05 &amp;ndash; tenacity: Retrying Library for Python&lt;/li&gt;
&lt;li&gt;00:50:04 &amp;ndash; stamina: Production-Grade Retries for Python&lt;/li&gt;
&lt;li&gt;00:52:00 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pypy.org/posts/2024/04/pypy-v7316-release.html&quot;&gt;PyPy v7.3.16 Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0745/&quot;&gt;PEP 745: Python 3.14 Release Schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arstechnica.com/gadgets/2024/05/the-basic-programming-language-turns-60/&quot;&gt;The BASIC programming language turns 60 - Ars Technica&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://superfastpython.com/asyncio-control-c-sigint/&quot;&gt;Asyncio Handle Control-C (SIGINT)&lt;/a&gt; &amp;ndash; When the user presses CTRL-C on the keyboard, the OS raises an interrupt signal to your program. When writing concurrent code this can get complicated as the signal goes to the process. This article shows you how to handle capturing CTRL-C elegantly when using &lt;code&gt;asyncio&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pybit.es/articles/openstreetmaps-overpass-api-and-python/&quot;&gt;OpenStreetMaps, Overpass API and Python&lt;/a&gt; &amp;ndash; OpenStreetMaps (OSM) is an open source mapping project that allows people to browse the world map and to plan routes. Not only does it have the expected web interface, but it also has an API known as Overpass. This article shows you two ways to use Python to query Overpass.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-lazy-evaluation/&quot;&gt;What&amp;rsquo;s Lazy Evaluation in Python?&lt;/a&gt; &amp;ndash; This tutorial explores lazy evaluation in Python and looks at the advantages and disadvantages of using lazy and eager evaluation methods. By the end of this tutorial, you&amp;rsquo;ll clearly understand which approach is best for you, depending on your needs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dataschool.io/machine-learning-data-leakage/&quot;&gt;How to Prevent Data Leakage in &lt;code&gt;pandas&lt;/code&gt; &amp;amp; &lt;code&gt;scikit-learn&lt;/code&gt;&lt;/a&gt; &amp;ndash; How you impute missing values in machine learning data sets can affect the quality of your training. This article teaches you what data leakage is and what steps you should take to avoid it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lp.jetbrains.com/django-developer-survey-2023/&quot;&gt;Django Developers Survey 2023 Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://greptile.com/blog/100-devs&quot;&gt;I Asked 100 Devs Why They Aren&amp;rsquo;t Shipping Faster?&lt;/a&gt; &amp;ndash; Daksh asked 100 developers why they aren&amp;rsquo;t shipping faster and this blog post shares what he learned. Problems include dependency bugs, overly complicated code bases, waiting on requirements, and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bulletmark/pipxu&quot;&gt;pipxu: Install in Isolated Environments Using UV&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jd/tenacity&quot;&gt;tenacity: Retrying Library for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hynek/stamina&quot;&gt;stamina: Production-Grade Retries for Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.space.com/voyager-1-communications-update-april-2024&quot;&gt;NASA&amp;rsquo;s Voyager 1 spacecraft finally phones home after 5 months of no contact - Space&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-api/#searching-and-fetching-trending-gifs&quot;&gt;Python &amp;amp; APIs: A Winning Combo for Reading Public Data – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/loading-data-from-openstreetmap-with-python-and-the-overpass-api-513882a27fd0&quot;&gt;Loading Data from OpenStreetMap with Python and the Overpass API - Nikolai Janakiev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Leakage_(machine_learning)&quot;&gt;Leakage (machine learning) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangonaut.space/&quot;&gt;Djangonaut Space - Where Contributors launch!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wonderfulengineering.com/debris-that-fell-off-a-boeing-767-found-outside-the-house-of-the-lawyer-suing-it/&quot;&gt;Debris That Fell Off a Boeing 767 Found Outside the House of Lawyer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-generators/&quot;&gt;Python Generators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E204_03_Cx2.4a563350613f.mp3" type="audio/mpeg" length="51961197"/>
        <guid isPermaLink="false">96b5c05e-7f4d-4259-af10-465233093721</guid>
        <pubDate>Fri, 10 May 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3185</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_204_Podcast.c178da34f4b0.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Querying OpenStreetMaps via API &amp; Lazy Evaluation in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>203</itunes:episode>
        <title>Embarking on a Relaxed and Friendly Python Coding Journey</title>
        <itunes:title>Embarking on a Relaxed and Friendly Python Coding Journey</itunes:title>
        <link>https://realpython.com/podcasts/rpp/203/</link>
        <description>Do you get stressed while trying to learn Python? Do you prefer to build small programs or projects as you continue your coding journey? This week on the show, Real Python author Stephen Gruppetta is here to talk about his new book, &quot;The Python Coding Book.&quot;</description>
        <content:encoded>&lt;p&gt;Do you get stressed while trying to learn Python? Do you prefer to build small programs or projects as you continue your coding journey? This week on the show, Real Python author Stephen Gruppetta is here to talk about his new book, &amp;ldquo;The Python Coding Book.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Stephen has been teaching Python to adults and children for many years. With his new book, he wants to share the relaxed and friendly learning environment he&amp;rsquo;s developed. We discuss using analogies to explain programming concepts and constructing complete programs as chapter goals.  &lt;/p&gt;
&lt;p&gt;Over the last year, Stephen focused on writing. He started his newsletter, The Python Coding Stack, wrote more tutorials for Real Python and authored the book. &lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll write your first Python program. Along the way, you&amp;rsquo;ll learn about errors, declare variables and inspect their values, and try your hand at writing comments.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:32 &amp;ndash; Education and programming background&lt;/li&gt;
&lt;li&gt;00:05:50 &amp;ndash; Developing a teaching style&lt;/li&gt;
&lt;li&gt;00:10:36 &amp;ndash; A friendly and relaxed programming book&lt;/li&gt;
&lt;li&gt;00:14:31 &amp;ndash; Making mistakes&lt;/li&gt;
&lt;li&gt;00:18:29 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:19:03 &amp;ndash; What was your curation process like?&lt;/li&gt;
&lt;li&gt;00:21:22 &amp;ndash; First chapter building an actual program&lt;/li&gt;
&lt;li&gt;00:25:08 &amp;ndash; Glossary terms and exercises&lt;/li&gt;
&lt;li&gt;00:27:48 &amp;ndash; Why feature an IDE?&lt;/li&gt;
&lt;li&gt;00:34:07 &amp;ndash; Monty and the White Room analogy&lt;/li&gt;
&lt;li&gt;00:37:46 &amp;ndash; What, no turtle?&lt;/li&gt;
&lt;li&gt;00:42:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:00 &amp;ndash; Shift toward teaching&lt;/li&gt;
&lt;li&gt;00:46:50 &amp;ndash; Teaching adults and children&lt;/li&gt;
&lt;li&gt;00:51:23 &amp;ndash; Python sequences tutorial&lt;/li&gt;
&lt;li&gt;00:53:48 &amp;ndash; Building community and social media&lt;/li&gt;
&lt;li&gt;00:58:12 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:00:49 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:03:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://thepythoncodingbook.com/&quot;&gt;Learn Python Coding - The Python Coding Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thepythoncodingstack.com/p/reflection-one-year-anniversary-gruppetta-python&quot;&gt;Rambling Reflections - Twelve Months of The Python Coding Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/On_Writing:_A_Memoir_of_the_Craft&quot;&gt;On Writing: A Memoir of the Craft - Stephen King - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/4/&quot;&gt;Episode #4: Learning Python Through Errors – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-python-turtle-game-space-invaders-clone/&quot;&gt;Build a Python Turtle Game: Space Invaders Clone – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-sequences/&quot;&gt;Python Sequences: A Comprehensive Guide – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/django-in-action&quot;&gt;Django in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thepythoncodingplace.com/&quot;&gt;The Python Coding Place – The Place to Learn Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/s_gruppetta_ct&quot;&gt;Stephen Gruppetta (@s_gruppetta_ct) / X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/setting-up-python/&quot;&gt;Python Basics: Setting Up Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-turtle-beginners/&quot;&gt;Python Turtle for Beginners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E203_03_Stephen.4cc248297998.mp3" type="audio/mpeg" length="62554333"/>
        <guid isPermaLink="false">4856d58d-4ed3-4907-bcb0-17e3638d06a0</guid>
        <pubDate>Fri, 03 May 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3844</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_203_Podcast.a9f350960f48.jpg"/>
        <rp:twitter-handles>@s_gruppetta</rp:twitter-handles>
        <rp:twitter-title>“Embarking on a Relaxed and Friendly Python Coding Journey” with @s_gruppetta</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>202</itunes:episode>
        <title>Pydantic Data Validation &amp; Python Web Security Practices</title>
        <itunes:title>Pydantic Data Validation &amp; Python Web Security Practices</itunes:title>
        <link>https://realpython.com/podcasts/rpp/202/</link>
        <description>How do you verify and validate the data coming into your Python web application? What tools and security best practices should you consider as a developer? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you verify and validate the data coming into your Python web application? What tools and security best practices should you consider as a developer? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss the recent Real Python tutorial &amp;ldquo;Pydantic: Simplifying Data Validation in Python.&amp;rdquo; The piece covers installing the library with optional dependencies, working with base models, validating functions, and managing environment variables.&lt;/p&gt;
&lt;p&gt;We continue our conversation about web development with another article about Python security best practices. This article covers several Python libraries and crucial steps you can take to help make your web-based applications more secure.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, why Python lists multiply oddly, inline run dependencies in pipx, a discussion about open-source contribution assignments, playing sounds in Python, and a Python library to access ISO country definitions.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/using-raise-for-effective-exceptions/&quot;&gt;Using raise for Effective Exceptions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to raise exceptions in Python, which will improve your ability to efficiently handle errors and exceptional situations in your code. This way, you&amp;rsquo;ll write more reliable, robust, and maintainable code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:40 &amp;ndash; Python 3.12.3, Python 3.11.9, and 3.13.0a6 Released&lt;/li&gt;
&lt;li&gt;00:03:43 &amp;ndash; Django Bugfix Release Issued: 5.0.4&lt;/li&gt;
&lt;li&gt;00:04:48 &amp;ndash; PEP 738 Accepted: Adding Android as a Supported Platform&lt;/li&gt;
&lt;li&gt;00:05:53 &amp;ndash; EuroPython Tickets on Sale: Prague/Remote July 8-14&lt;/li&gt;
&lt;li&gt;00:06:38 &amp;ndash; PyCon Portugal 2024&lt;/li&gt;
&lt;li&gt;00:07:17 &amp;ndash; Pydantic: Simplifying Data Validation in Python&lt;/li&gt;
&lt;li&gt;00:15:24 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:15:58 &amp;ndash; Why Do Python Lists Multiply Oddly?&lt;/li&gt;
&lt;li&gt;00:22:21 &amp;ndash; Best Python Security Practices for Web Developers&lt;/li&gt;
&lt;li&gt;00:34:13 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:38 &amp;ndash; Inline Run Dependencies in &lt;code&gt;pipx&lt;/code&gt; 1.4.2&lt;/li&gt;
&lt;li&gt;00:40:16 &amp;ndash; So Your Teacher Wants You to Do Open Source&lt;/li&gt;
&lt;li&gt;00:54:49 &amp;ndash; nava: Play Sounds in Python&lt;/li&gt;
&lt;li&gt;00:56:25 &amp;ndash; pycountry: A Python library to access ISO country definitions&lt;/li&gt;
&lt;li&gt;00:58:18 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/04/python-3123-and-3130a6-released.html&quot;&gt;Python 3.12.3 and 3.13.0a6 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/04/python-3119-is-now-available.html&quot;&gt;Python 3.11.9 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/apr/03/bugfix-release/&quot;&gt;Django Bugfix Release Issued: 5.0.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0738/&quot;&gt;PEP 738 Accepted: Adding Android as a Supported Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0742/?v=1&quot;&gt;PEP 742 Accepted: Narrowing Types With TypeIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.europython.eu/europython-april-2024-newsletter/&quot;&gt;EuroPython Tickets on Sale: Prague/Remote July 8-14&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2024.pycon.pt/&quot;&gt;PyCon Portugal 2024&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pydantic/&quot;&gt;Pydantic: Simplifying Data Validation in Python&lt;/a&gt; &amp;ndash; Discover the power of Pydantic, Python&amp;rsquo;s most popular data parsing, validation, and serialization library. In this hands-on tutorial, you&amp;rsquo;ll learn how to make your code more robust, trustworthy, and easier to debug with Pydantic.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codeconfessions.substack.com/p/why-do-python-lists-multiply-oddly&quot;&gt;Why Do Python Lists Multiply Oddly?&lt;/a&gt; &amp;ndash; In Python you can use the multiplication operator on sequences to return a repeated version of the value. When you do this with a list containing an empty list you get what might be unexpected behavior. This article explains what happens and why.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.arjancodes.com/blog/best-practices-for-securing-python-applications/&quot;&gt;Best Python Security Practices for Web Developers&lt;/a&gt; &amp;ndash; Coding on the web means you have to be more security conscious as everyone has access to your software. This article discusses key steps you can take to help make your code more secure.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://iscinumpy.dev/post/pep723/&quot;&gt;Inline Run Dependencies in &lt;code&gt;pipx&lt;/code&gt; 1.4.2&lt;/a&gt; &amp;ndash; &lt;a href=&quot;https://peps.python.org/pep-0723/&quot;&gt;PEP 723&lt;/a&gt; adds the ability to specify dependencies within a Python script itself. The folks who write &lt;code&gt;pipx&lt;/code&gt; have added an experimental feature that takes advantage of this future language change. This article shows you how the new feature looks and what pipx does with it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pipx/&quot;&gt;Install and Execute Python Applications Using &lt;code&gt;pipx&lt;/code&gt;&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about a tool called pipx, which lets you conveniently install and run Python packages as standalone command-line applications in isolated environments. In a way, pipx turns the Python Package Index (PyPI) into an app marketplace for Python programmers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://davidism.com/school-assignment-open-source/&quot;&gt;So Your Teacher Wants You to Do Open Source&lt;/a&gt; &amp;ndash; Sometimes teachers or mentors ask students to contribute to an open source project, without the context of what that entails. This opinion piece covers just how much noise that causes for the projects and why you shouldn&amp;rsquo;t do it unless you truly mean to contribute.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathspp.com/blog/503-days-working-full-time-on-foss-lessons-learned&quot;&gt;503 Days Working Full-Time on FOSS: Lessons Learned&lt;/a&gt; &amp;ndash; For a year and a half, Rodrigo worked at Textualize the company behind the popular open source Python projects Rich and Textual. This blog post talks about what he learned while he was there.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/openscilab/nava&quot;&gt;nava: Play Sounds in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pycountry/pycountry&quot;&gt;pycountry: A Python library to access ISO country, subdivision, language, currency and script definitions and their translations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pydantic.dev/&quot;&gt;Pydantic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/francoisfleuret/status/1770528106513600636&quot;&gt;François Fleuret on X: &amp;ldquo;2h of debugging. Whatever you say, that&amp;rsquo;s counter intuitive.&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/bandit/&quot;&gt;bandit: Security oriented static analyzer for Python code - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/dependency-management-python-poetry/&quot;&gt;Dependency Management With Python Poetry – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://owasp.org/www-project-top-ten/&quot;&gt;OWASP Top Ten - OWASP Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pipx.pypa.io/stable/&quot;&gt;pipx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://palletsprojects.com/governance/&quot;&gt;Governance - The Pallets Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textual.textualize.io/&quot;&gt;Textual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensource.guide/how-to-contribute/&quot;&gt;How to Contribute to Open Source - Open Source Guides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangonaut.space/&quot;&gt;Djangonaut Space - Where contributors launch!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-raise-for-effective-exceptions/&quot;&gt;Using raise for Effective Exceptions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sorting-data-python-pandas/&quot;&gt;Sorting Data in Python With pandas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E202_03_PyCoders.088d4cfc139f.mp3" type="audio/mpeg" length="57930194"/>
        <guid isPermaLink="false">8f074658-5ce2-4286-8aef-8154260c06aa</guid>
        <pubDate>Fri, 26 Apr 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3560</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_202_Podcast.52ce8ae2d809.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Pydantic Data Validation &amp; Python Web Security Practices”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>201</itunes:episode>
        <title>Decoupling Systems to Get Closer to the Data</title>
        <itunes:title>Decoupling Systems to Get Closer to the Data</itunes:title>
        <link>https://realpython.com/podcasts/rpp/201/</link>
        <description>What are the benefits of using a decoupled data processing system? How do you write reusable queries for a variety of backend data platforms? This week on the show, Phillip Cloud, the lead maintainer of Ibis, will discuss this portable Python dataframe library.</description>
        <content:encoded>&lt;p&gt;What are the benefits of using a decoupled data processing system? How do you write reusable queries for a variety of backend data platforms? This week on the show, Phillip Cloud, the lead maintainer of Ibis, will discuss this portable Python dataframe library.&lt;/p&gt;
&lt;p&gt;Phillip contrasts Ibis&amp;rsquo;s workflow with other Python dataframe libraries. We discuss how &amp;ldquo;getting close to the data&amp;rdquo; speeds things up and conserves memory.&lt;/p&gt;
&lt;p&gt;He describes the different approaches Ibis provides for querying data and how to select a specific backend. We discuss ways to get started with the library and how to access example data sets to experiment with the platform. &lt;/p&gt;
&lt;p&gt;Phillip discovered Ibis while looking for a tool that allowed him to reuse SQL queries written for a specific data platform on a different one. He recounts how he got involved with the Ibis project, sharing his background in open source and learning how to contribute to a first project. &lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to create web maps from data using Folium. The package combines Python&amp;rsquo;s data-wrangling strengths with the data-visualization power of the JavaScript library Leaflet. In this video course, you&amp;rsquo;ll create and style a choropleth world map showing the ecological footprint per country.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; How did you get started with Ibis?&lt;/li&gt;
&lt;li&gt;00:08:10 &amp;ndash; First contribution to open source&lt;/li&gt;
&lt;li&gt;00:13:46 &amp;ndash; Comparing Ibis to other dataframe libraries&lt;/li&gt;
&lt;li&gt;00:20:09 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:20:43 &amp;ndash; What goes into the selection of backend?&lt;/li&gt;
&lt;li&gt;00:27:07 &amp;ndash; Database connections vs SQL compilers&lt;/li&gt;
&lt;li&gt;00:30:03 &amp;ndash; Raw SQL approach&lt;/li&gt;
&lt;li&gt;00:34:06 &amp;ndash; Dataframe approach&lt;/li&gt;
&lt;li&gt;00:38:31 &amp;ndash; What does &amp;ldquo;getting close to the data&amp;rdquo; mean?&lt;/li&gt;
&lt;li&gt;00:41:52 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:43:24 &amp;ndash; Phillip in the cloud - YouTube channel&lt;/li&gt;
&lt;li&gt;00:44:56 &amp;ndash; Access to sample data sets&lt;/li&gt;
&lt;li&gt;00:50:11 &amp;ndash; Additional resources&lt;/li&gt;
&lt;li&gt;00:52:50 &amp;ndash; What are some of the backends Ibis supports?&lt;/li&gt;
&lt;li&gt;00:54:13 &amp;ndash; Entry points to the platform&lt;/li&gt;
&lt;li&gt;00:55:00 &amp;ndash; How are you supported?&lt;/li&gt;
&lt;li&gt;00:57:10 &amp;ndash; Exporting a SQL query&lt;/li&gt;
&lt;li&gt;00:59:23 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:04:28 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:07:12 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:08:00 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ibis-project.org/&quot;&gt;Ibis - the portable Python dataframe library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://voltrondata.com/&quot;&gt;The Leading Designer and Builder of Enterprise Data Systems - Voltron Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0249/&quot;&gt;PEP 249 – Python Database API Specification v2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tobymao/sqlglot&quot;&gt;sqlglot: Python SQL Parser and Transpiler - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ibis-project.org/tutorials/getting_started#interactive-mode&quot;&gt;Ibis – getting_started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ibis-project/ibis-examples?tab=readme-ov-file&quot;&gt;ibis-examples: A repository of runnable examples using ibis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ibis-project.org/reference/&quot;&gt;Ibis – Reference Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyscript.net/&quot;&gt;PyScript - Run Python in your HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://prefix.dev/&quot;&gt;pixi - Prefix.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/astral-sh/uv&quot;&gt;uv: An extremely fast Python package installer and resolver, written in Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2024/&quot;&gt;PyCon US 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.learncraftspanish.com/&quot;&gt;LearnCraft Spanish – Fluency for Serious Learners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ibis-project/ibis&quot;&gt;ibis: the portable Python dataframe library - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ibis-project.org/posts&quot;&gt;Ibis – Blog Posts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/@cpcloud&quot;&gt;Phillip in the Cloud - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/cpcloudy&quot;&gt;Phillip Cloud (@cpcloudy) / X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cpcloud&quot;&gt;cpcloud (Phillip Cloud) · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-raise-for-effective-exceptions/&quot;&gt;Using raise for Effective Exceptions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E201_03_Phillip_Cloud.2410cb7682b7.mp3" type="audio/mpeg" length="67230779"/>
        <guid isPermaLink="false">692eac73-03f8-4b5e-af30-dc3dcab1cce8</guid>
        <pubDate>Fri, 19 Apr 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4140</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_201_Podcast.ca381ac7560d.jpg"/>
        <rp:twitter-handles>@cpcloudy</rp:twitter-handles>
        <rp:twitter-title>“Decoupling Systems to Get Closer to the Data” with @cpcloudy</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>200</itunes:episode>
        <title>Avoiding Error Culture and Getting Help Inside Python</title>
        <itunes:title>Avoiding Error Culture and Getting Help Inside Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/200/</link>
        <description>What is error culture, and how do you avoid it within your organization? How do you navigate alert and notification fatigue? Hey, it&#x27;s episode #200! Real Python&#x27;s editor-in-chief, Dan Bader, joins us this week to celebrate. Christopher Trudeau also returns to bring another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What is error culture, and how do you avoid it within your organization? How do you navigate alert and notification fatigue? Hey, it&amp;rsquo;s episode #200! Real Python&amp;rsquo;s editor-in-chief, Dan Bader, joins us this week to celebrate. Christopher Trudeau also returns to bring another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss an article series about error culture. We dig into false positives, hero culture, and the tendency to start ignoring alerts. We contrast our personal experiences and propose possible remedies. Dan describes configuring Real Python&amp;rsquo;s alert system.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, reading and writing WAV files in Python, moving beyond flat files toward SQLite and SQLAlchemy, getting help in Python, exploring four kinds of optimization, a framework for building web scrapers, and a project to simply subprocesses.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:42 &amp;ndash; PyPI Hiring a Support Specialist &lt;/li&gt;
&lt;li&gt;00:03:19 &amp;ndash; PyPI Temporarily Halted New Users and Projects&lt;/li&gt;
&lt;li&gt;00:04:14 &amp;ndash; What we know about the xz Utils backdoor&lt;/li&gt;
&lt;li&gt;00:05:38 &amp;ndash; CPython, PyPI, and the backdoor of xz&lt;/li&gt;
&lt;li&gt;00:07:18 &amp;ndash; Episode 200 appreciation and the journey&lt;/li&gt;
&lt;li&gt;00:09:18 &amp;ndash; A visit from Dan&lt;/li&gt;
&lt;li&gt;00:14:14 &amp;ndash; Reading and Writing WAV Files in Python&lt;/li&gt;
&lt;li&gt;00:19:56 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:21:03 &amp;ndash; SQLite and SQLAlchemy in Python&lt;/li&gt;
&lt;li&gt;00:27:36 &amp;ndash; Getting Help (In Python)&lt;/li&gt;
&lt;li&gt;00:32:49 &amp;ndash; Laurence Tratt: Four Kinds of Optimization&lt;/li&gt;
&lt;li&gt;00:40:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:42:26 &amp;ndash; Discussion: Error Culture&lt;/li&gt;
&lt;li&gt;00:58:03 &amp;ndash; botasaurus: The All in One Framework to Build Awesome Scrapers&lt;/li&gt;
&lt;li&gt;01:01:04 &amp;ndash; suby: Slightly Simplified Subprocesses&lt;/li&gt;
&lt;li&gt;01:02:50 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonsoftwarefoundation.applytojob.com/apply/nyYHuOha9h/PyPI-Support-Specialist&quot;&gt;PyPI Hiring a Support Specialist (Remote)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arstechnica.com/security/2024/03/pypi-halted-new-users-and-projects-while-it-fended-off-supply-chain-attack/&quot;&gt;PyPI Temporarily Halted New Users and Projects&lt;/a&gt; &amp;ndash; To fend off a supply-chain attack, PyPI temporarily halted new users and projects for about 10 hours last week. This article discusses why, and the scourge of supply-chain attacks.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/&quot;&gt;What we know about the xz Utils backdoor that almost infected the world - Ars Technica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/cpython-pypi-and-many-python-packages-are-not-affected-by-the-backdoor-of-xz/49873&quot;&gt;CPython, PyPI, and many Python packages are not affected by the backdoor of xz - Core Development - Discussions on Python.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wav-files/&quot;&gt;Reading and Writing WAV Files in Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to work with WAV audio files in Python using the standard-library wave module. Along the way, you&amp;rsquo;ll synthesize sounds from scratch, visualize waveforms in the time domain, animate real-time spectrograms, and apply special effects to widen the stereo field.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Beyond Flat Files&lt;/a&gt; &amp;ndash; In this video course, you&amp;rsquo;ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlite.org/testing.html&quot;&gt;How SQLite Is Tested&lt;/a&gt; &amp;ndash; The page describes how SQLite is rigorously tested using four test harnesses, fuzz testing, anomaly testing like crash and I/O error simulations, and other techniques to ensure reliability.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pulsar17.me/2024/02/ongettinghelp&quot;&gt;Getting Help (In Python)&lt;/a&gt; &amp;ndash; When trying to remember just where &lt;code&gt;sleep()&lt;/code&gt; was in the Python standard library, Ishaan stumbled through the built-in help and learned how to use it to answer just these kinds of questions.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tratt.net/laurie/blog/2023/four_kinds_of_optimisation.html&quot;&gt;Laurence Tratt: Four Kinds of Optimization&lt;/a&gt; &amp;ndash; &amp;ldquo;Premature optimization might be the root of all evil, but overdue optimization is the root of all frustration. No matter how fast hardware becomes, we find it easy to write programs which run too slow.&amp;rdquo; Read on to learn what to do about it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ryancheley.com/2023/10/29/error-culture/&quot;&gt;Error Culture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ryancheley.com/2023/11/09/error-culture-part-ii/&quot;&gt;Error Culture Part II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ryancheley.com/2023/11/14/error-culture-part-iii/&quot;&gt;Error Culture Part III&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/omkarcloud/botasaurus&quot;&gt;botasaurus: The All in One Framework to Build Awesome Scrapers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pomponchik/suby&quot;&gt;suby: Slightly Simplified Subprocesses&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/327/&quot;&gt;xkcd: Exploits of a Mom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlite.org/testing.html&quot;&gt;How SQLite Is Tested&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pandas-settingwithcopywarning/&quot;&gt;SettingWithCopyWarning in pandas: Views vs Copies – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://99percentinvisible.org/episode/mini-stories-volume-4/2/&quot;&gt;99% Invisible - Mini-Stories: Volume 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/&quot;&gt;SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E200_03_Dan_Chris.04136e47d6fc.mp3" type="audio/mpeg" length="63428121"/>
        <guid isPermaLink="false">699a9948-5779-4144-906d-563afad3727a</guid>
        <pubDate>Fri, 12 Apr 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3903</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_200_Podcast.1c23e7676f47.jpg"/>
        <rp:twitter-handles>@dbader_org</rp:twitter-handles>
        <rp:twitter-title>“Avoiding Error Culture and Getting Help Inside Python” with @dbader_org</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>199</itunes:episode>
        <title>Leveraging Documents and Data to Create a Custom LLM Chatbot</title>
        <itunes:title>Leveraging Documents and Data to Create a Custom LLM Chatbot</itunes:title>
        <link>https://realpython.com/podcasts/rpp/199/</link>
        <description>How do you customize a LLM chatbot to address a collection of documents and data? What tools and techniques can you use to build embeddings into a vector database? This week on the show, Calvin Hendryx-Parker is back to discuss developing an AI-powered, Large Language Model-driven chat interface.</description>
        <content:encoded>&lt;p&gt;How do you customize a LLM chatbot to address a collection of documents and data? What tools and techniques can you use to build embeddings into a vector database? This week on the show, Calvin Hendryx-Parker is back to discuss developing an AI-powered, Large Language Model-driven chat interface.&lt;/p&gt;
&lt;p&gt;Calvin is the co-founder and CTO of Six Feet Up, a Python and AI consultancy. He shares a recent project for a family-owned seed company that wanted to build a tool for customers to access years of farm research. These documents were stored as brochure-style PDFs and spanned 50 years. &lt;/p&gt;
&lt;p&gt;We discuss several of the tools used to augment a LLM. Calvin covers working with LangChain and vectorizing data with ChromaDB. We talk about the obstacles and limitations of capturing documentation.&lt;/p&gt;
&lt;p&gt;Calvin also shares a smaller project that you can try out yourself. It takes the information from a conference website and creates a chatbot using Django and Python prompt-toolkit.&lt;/p&gt;
&lt;p&gt;This episode is sponsored by Mailtrap.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Command line arguments are the key to converting your programs into useful and enticing tools that are ready to be used in the terminal of your operating system. In this course, you&amp;rsquo;ll learn their origins, standards, and basics, and how to implement them in your program. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:21 &amp;ndash; Background on the project&lt;/li&gt;
&lt;li&gt;00:03:51 &amp;ndash; Complexity of adding documents&lt;/li&gt;
&lt;li&gt;00:09:01 &amp;ndash; Retrieval-augmented generation and providing links&lt;/li&gt;
&lt;li&gt;00:13:46 &amp;ndash; Updating information and larger conversation context&lt;/li&gt;
&lt;li&gt;00:18:08 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:18:43 &amp;ndash; Working with context&lt;/li&gt;
&lt;li&gt;00:21:02 &amp;ndash; Temperature adjustment&lt;/li&gt;
&lt;li&gt;00:22:07 &amp;ndash; Rally Conference Chatbot Project&lt;/li&gt;
&lt;li&gt;00:26:20 &amp;ndash; Vectorization using ChromaDB&lt;/li&gt;
&lt;li&gt;00:32:49 &amp;ndash; Employing Python prompt-toolkit&lt;/li&gt;
&lt;li&gt;00:35:07 &amp;ndash; Learning libraries on the fly&lt;/li&gt;
&lt;li&gt;00:37:38 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:00 &amp;ndash; Problems with tables in documents&lt;/li&gt;
&lt;li&gt;00:42:30 &amp;ndash; Everything looks like a chat box&lt;/li&gt;
&lt;li&gt;00:44:26 &amp;ndash; Finding the right fit for a client and customer&lt;/li&gt;
&lt;li&gt;00:49:05 &amp;ndash; What are questions you ask a new client now?&lt;/li&gt;
&lt;li&gt;00:51:54 &amp;ndash; Canada Air anecdote &lt;/li&gt;
&lt;li&gt;00:56:20 &amp;ndash; How do you stay up to date on these topics?&lt;/li&gt;
&lt;li&gt;01:01:03 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:03:22 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:04:58 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:05:31 &amp;ndash; IndyPy&lt;/li&gt;
&lt;li&gt;01:07:13 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/projects/transforming-becks-agricultural-research-accessibility-with-ai&quot;&gt;Transforming Agricultural Data with AI — Six Feet Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/company/news/build-chatgpt-like-apps-with-ai&quot;&gt;Build ChatGPT-like Apps with AI — Six Feet Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GqdNHOov0Go&quot;&gt;Innovate with AI: Build ChatGPT-like Apps - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://research.ibm.com/blog/retrieval-augmented-generation-RAG&quot;&gt;What is retrieval-augmented generation? - IBM Research Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sixfeetup/rally-llm-presentation&quot;&gt;rally-llm-presentation - sixfeetup - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-prompt-toolkit.readthedocs.io/en/master/&quot;&gt;Python Prompt Toolkit 3.0 — Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.trychroma.com/&quot;&gt;Chroma - the AI-native open-source embedding database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/chromadb-vector-database/&quot;&gt;Embeddings and Vector Databases With ChromaDB – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.langchain.com/&quot;&gt;LangChain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-llm-rag-chatbot-with-langchain/&quot;&gt;Build an LLM RAG Chatbot With LangChain – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theregister.com/2024/02/15/air_canada_chatbot_fine/&quot;&gt;Air Canada must pay after chatbot lies to grieving passenger - The Register&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gizmodo.com/ai-chevy-dealership-chatgpt-bot-customer-service-fail-1851111825&quot;&gt;I&amp;rsquo;d Buy That for a Dollar: Chevy Dealership&amp;rsquo;s AI Chatbot Goes Rogue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://omnivore.app/&quot;&gt;Omnivore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tldr.tech/ai&quot;&gt;TLDR AI - Get smarter about AI in 5 minutes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.emergingtechbrew.com/issues/latest#utm_source=subscribe_page&amp;amp;utm_medium=website&amp;amp;utm_campaign=etb_primary_default&quot;&gt;Tech Brew&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/&quot;&gt;Simon Willison&amp;rsquo;s Weblog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/simonw/llm&quot;&gt;llm: Access large language models from the command-line - simonw - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2024/&quot;&gt;PyCon US 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.syntorial.com/&quot;&gt;Syntorial: The Ultimate Synthesizer Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/blog&quot;&gt;Blog — Six Feet Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/calvinhp/&quot;&gt;Calvin Hendryx-Parker - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=OxeRjm81FDY&quot;&gt;Eclipse Insights: How AI is Transforming Solar Astronomy - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E199_03_Calvin.eef1db4d6679.mp3" type="audio/mpeg" length="66459772"/>
        <guid isPermaLink="false">0f477be8-574d-4f09-ab2b-f0cc866a6b10</guid>
        <pubDate>Fri, 05 Apr 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4092</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_199_Podcast.c86db184c160.jpg"/>
        <rp:twitter-handles>@calvinhp</rp:twitter-handles>
        <rp:twitter-title>“Leveraging Documents and Data to Create a Custom LLM Chatbot” with @calvinhp</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>198</itunes:episode>
        <title>Build a Video Game With Python Turtle &amp; Visualize Data in Seaborn</title>
        <itunes:title>Build a Video Game With Python Turtle &amp; Visualize Data in Seaborn</itunes:title>
        <link>https://realpython.com/podcasts/rpp/198/</link>
        <description>Can you build a Space Invaders clone using Python&#x27;s built-in turtle module? What advantages does the Seaborn data visualization library provide compared to Matplotlib? Christopher Trudeau is back on the show this week, along with special guest Real Python core team member Bartosz Zaczyński. We&#x27;re sharing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Can you build a Space Invaders clone using Python&amp;rsquo;s built-in turtle module? What advantages does the Seaborn data visualization library provide compared to Matplotlib? Christopher Trudeau is back on the show this week, along with special guest Real Python core team member Bartosz Zaczyński. We&amp;rsquo;re sharing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Bartosz shares a Real Python step-by-step project for building a video game using the Python turtle module. The turtle module provides an interactive environment that lets users create pictures and shapes on a virtual canvas. The project takes you through game design concepts such as animating sprites, detecting a collision, and building a game loop. &lt;/p&gt;
&lt;p&gt;We discuss another Real Python resource, &amp;ldquo;Visualizing Data in Python With Seaborn.&amp;rdquo; Seaborn is a significant next step if you&amp;rsquo;ve already been working with Matplotlib. It produces impressive visualizations and offers a functional or object-based approach to designing plots.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, finding Python Easter eggs, exploring whether Python has pointers, styling Excel cells with OpenPyXL, using weird tests to capture tacit knowledge, inspecting and running Django commands in a TUI, building reactive web UIs in Python, and a project for predictable Python datetimes.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Posit.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-turtle-beginners/&quot;&gt;Python Turtle for Beginners&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn the basics of Python programming with the help of a simple and interactive Python library called turtle. If you&amp;rsquo;re a beginner to Python, then this tutorial will definitely help you on your journey as you take your first steps into the world of programming.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:06 &amp;ndash; Python 3.13.0 alpha 5 is now available&lt;/li&gt;
&lt;li&gt;00:03:38 &amp;ndash; Allow disabling the GIL with flags&lt;/li&gt;
&lt;li&gt;00:04:17 &amp;ndash; Django security releases issued: 5.0.3, 4.2.11, and 3.2.25&lt;/li&gt;
&lt;li&gt;00:04:32 &amp;ndash; The Python Coding Book&lt;/li&gt;
&lt;li&gt;00:05:03 &amp;ndash; Finding Python Easter Eggs – Code Conversation&lt;/li&gt;
&lt;li&gt;00:12:48 &amp;ndash; Sponsor: Posit&lt;/li&gt;
&lt;li&gt;00:13:34 &amp;ndash; Visualizing Data in Python With Seaborn&lt;/li&gt;
&lt;li&gt;00:18:18 &amp;ndash; Does Python have pointers?&lt;/li&gt;
&lt;li&gt;00:21:43 &amp;ndash; Build a Python Turtle Game: Space Invaders Clone&lt;/li&gt;
&lt;li&gt;00:30:42 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:04 &amp;ndash; Styling Excel Cells with OpenPyXL and Python&lt;/li&gt;
&lt;li&gt;00:35:22 &amp;ndash; Use weird tests to capture tacit knowledge&lt;/li&gt;
&lt;li&gt;00:37:09 &amp;ndash; whenever: Strict, predictable, and typed datetimes&lt;/li&gt;
&lt;li&gt;00:42:25 &amp;ndash; hyperdiv: Build Reactive Web UIs in Python&lt;/li&gt;
&lt;li&gt;00:46:19 &amp;ndash; django-tui: Inspect and run Django Commands in a TUI&lt;/li&gt;
&lt;li&gt;00:48:40 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/03/python-3130-alpha-5-is-now-available.html&quot;&gt;Python Insider: Python 3.13.0 alpha 5 is now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/cpython/pull/116338&quot;&gt;Allow disabling the GIL with Flags - cpython - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/mar/04/security-releases/&quot;&gt;Django security releases issued: 5.0.3, 4.2.11, and 3.2.25 - Weblog - Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thepythoncodingplace.com/the-python-coding-book/&quot;&gt;The Python Coding Book – The Python Coding Place&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-python-easter-eggs/&quot;&gt;Finding Python Easter Eggs – Code Conversation - Video Course&lt;/a&gt; &amp;ndash; Python has its fair share of hidden surprises, commonly known as Easter eggs. From clever jokes to secret messages, these little mysteries are often meant to be discovered by curious developers like you!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-seaborn/&quot;&gt;Visualizing Data in Python With Seaborn&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use the Python seaborn library to produce statistical data analysis plots to allow you to better visualize your data. You&amp;rsquo;ll learn how to use both its traditional classic interface and more modern objects interface.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/blog&quot;&gt;Does Python have pointers? - Ned Batchelder&lt;/a&gt; &amp;ndash; Depending on how you&amp;rsquo;re using the term &amp;ldquo;pointer&amp;rdquo; changes the answer to the question. Read on to better understand the programming terminology and whether Python has pointers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-python-turtle-game-space-invaders-clone/&quot;&gt;Build a Python Turtle Game: Space Invaders Clone&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll use Python&amp;rsquo;s turtle module to write a Space Invaders clone. You&amp;rsquo;ll learn about techniques used in animations and games, and consolidate your knowledge of key Python topics.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonpapers.com/p/styling-excel-cells-with-openpyxl&quot;&gt;Styling Excel Cells with OpenPyXL and Python&lt;/a&gt; - Many Python libraries that deal with Excel only handle data, but OpenPyXL gives you the ability to style your cells in many different ways. Learn how to give your spreadsheets pizazz!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jmduke.com/posts/essays/weird-tests-tacit-knowledge/&quot;&gt;Use weird tests to capture tacit knowledge - Applied Cartography&lt;/a&gt; &amp;ndash; Sometimes adding code in one place means configuration elsewhere also needs to be updated. One way of ensuring this is happening properly in a large project is to use unit tests. This post covers a few examples, complete with pytest code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ariebovenberg/whenever&quot;&gt;whenever: ⏰ Strict, predictable, and typed datetimes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hyperdiv/hyperdiv&quot;&gt;hyperdiv: Build Reactive Web UIs in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/anze3db/django-tui&quot;&gt;django-tui: Inspect and run Django Commands in a text-based user interface (TUI)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/zen-of-python/&quot;&gt;What&amp;rsquo;s the Zen of Python? – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-for-data-analysis/&quot;&gt;Using Python for Data Analysis – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/beginners-guide-python-turtle/&quot;&gt;The Beginner&amp;rsquo;s Guide to Python Turtle – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://roamerrobot.tumblr.com/post/23079345849/the-history-of-turtle-robots&quot;&gt;Roamer - The History of Turtle Robots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://openpyxl.readthedocs.io/en/stable/tutorial.html&quot;&gt;Tutorial — openpyxl 3.1.2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/&quot;&gt;Ten Python datetime pitfalls, and what libraries are (not) doing about it - Arie Bovenberg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arstechnica.com/features/2024/03/the-science-behind-why-people-hate-daylight-savings-time-so-much/&quot;&gt;The science behind why people hate Daylight Saving Time so much - Ars Technica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textual.textualize.io/&quot;&gt;Textual&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-turtle-beginners/&quot;&gt;Python Turtle for Beginners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pointers-python/&quot;&gt;Pointers and Objects in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E198_03_PyCoders.47dcc94d7825.mp3" type="audio/mpeg" length="48831451"/>
        <guid isPermaLink="false">310b2259-6ab0-4751-8ced-2baa4ea105a5</guid>
        <pubDate>Fri, 29 Mar 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2990</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_198_Podcast.d5fe7577eaf4.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Build a Video Game With Python Turtle &amp; Visualize Data in Seaborn”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>197</itunes:episode>
        <title>Using Python in Bioinformatics and the Laboratory</title>
        <itunes:title>Using Python in Bioinformatics and the Laboratory</itunes:title>
        <link>https://realpython.com/podcasts/rpp/197/</link>
        <description>How is Python being used to automate processes in the laboratory? How can it speed up scientific work with DNA sequencing? This week on the show, Chemical Engineering PhD Student Parsa Ghadermazi is here to discuss Python in bioinformatics.</description>
        <content:encoded>&lt;p&gt;How is Python being used to automate processes in the laboratory? How can it speed up scientific work with DNA sequencing? This week on the show, Chemical Engineering PhD Student Parsa Ghadermazi is here to discuss Python in bioinformatics.&lt;/p&gt;
&lt;p&gt;Parsa provides background on his research and the bioinformatic techniques used to discover gut microbes&amp;rsquo; role in human health and diseases. We talk about automating lab experiments with liquid handling robots and Python.&lt;/p&gt;
&lt;p&gt;We dig into libraries to shatter and reassemble DNA sequences. Parsa also shares current projects from the Chan Lab at Colorado State University and his GitHub repository. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to build professional documentation for a Python package using MkDocs and mkdocstrings. These tools allow you to generate nice-looking and modern documentation from Markdown files and, more importantly, from your code&amp;rsquo;s docstrings.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:51 &amp;ndash; Engineering Background and Current PhD Program&lt;/li&gt;
&lt;li&gt;00:05:52 &amp;ndash; What is Bioinformatics?&lt;/li&gt;
&lt;li&gt;00:08:11 &amp;ndash; Where do you use Python in the lab?&lt;/li&gt;
&lt;li&gt;00:10:35 &amp;ndash; Using lab robotics&lt;/li&gt;
&lt;li&gt;00:15:22 &amp;ndash; Python development environment&lt;/li&gt;
&lt;li&gt;00:16:33 &amp;ndash; Lab robotics allow for precision&lt;/li&gt;
&lt;li&gt;00:19:03 &amp;ndash; How are using these tools for research?&lt;/li&gt;
&lt;li&gt;00:22:14 &amp;ndash; What are the techniques for measurements?&lt;/li&gt;
&lt;li&gt;00:26:17 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:33 &amp;ndash; How is the data output from the machine?&lt;/li&gt;
&lt;li&gt;00:29:20 &amp;ndash; Moving into DNA sequencing and extraction&lt;/li&gt;
&lt;li&gt;00:32:08 &amp;ndash; Shattering to work with smaller DNA sequences&lt;/li&gt;
&lt;li&gt;00:34:34 &amp;ndash; Python libraries for DNA re-assembly&lt;/li&gt;
&lt;li&gt;00:36:28 &amp;ndash; Building ADToolbox &lt;/li&gt;
&lt;li&gt;00:40:24 &amp;ndash; How do you store the data?&lt;/li&gt;
&lt;li&gt;00:41:32 &amp;ndash; Inferring microbial interactions&lt;/li&gt;
&lt;li&gt;00:44:02 &amp;ndash; Types of hardware used for these projects&lt;/li&gt;
&lt;li&gt;00:47:07 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:48:09 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:49:16 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:50:00 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ParsaGhadermazi&quot;&gt;ParsaGhadermazi -  GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bioinformatics&quot;&gt;Bioinformatics - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opentrons.com/&quot;&gt;Opentrons - Lab Automation - Lab Robots for Life Scientists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.opentrons.com/v2/tutorial.html&quot;&gt;Tutorial — Opentrons Python API V2 Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jove.com/v/10507/serial-dilutions-and-plating-microbial-enumeration#&quot;&gt;Serial Dilutions and Plating: Microbial Enumeration - Microbiology - JoVE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lab-training.com/how-to-read-a-chromatogram/&quot;&gt;What is Chromatogram &amp;amp; How to Read a Chromatogram?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/186/&quot;&gt;Episode #186: Exploring Python in Excel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/voutcn/megahit/tree/master&quot;&gt;megahit: Ultra-fast and memory-efficient (meta-)genome assembler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/WrightonLabCSU/DRAM&quot;&gt;DRAM: Distilled and Refined Annotation of Metabolism - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/biobakery/humann&quot;&gt;humann: HUMAnN 3.0 - HMP Unified Metabolic Analysis Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huttenhower.sph.harvard.edu/metaphlan&quot;&gt;MetaPhlAn4 – The Huttenhower Lab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chan-csu.github.io/ADToolbox/&quot;&gt;ADToolbox - Tools for modeling and optimizing the anaerobic digestion process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chan-csu.github.io/SPAM-DFBA/&quot;&gt;SPAM-DFBA - Algoritm for inferring microbial interactions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://academic.oup.com/bioinformatics/article/40/1/btae003/7517107?searchresult=1&quot;&gt;Microbial interactions from a new perspective - Bioinformatics - Oxford Academic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://curc.readthedocs.io/en/latest/clusters/alpine/index.html&quot;&gt;Alpine — Research Computing University of Colorado Boulder documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mkdocs.org/&quot;&gt;MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-project-documentation-with-mkdocs/&quot;&gt;Build Your Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit.bio/&quot;&gt;scikit-bio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/190/&quot;&gt;Episode #190: Great Starting Points for Contributing to Open Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/chan-csu&quot;&gt;Chan Lab at Colorado State University - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ParsaGhadermazi&quot;&gt;ParsaGhadermazi -  GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/parsa-ghadermazi-6a3060102/&quot;&gt;Parsa Ghadermazi - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-and-writing-csv-files/&quot;&gt;Reading and Writing CSV Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E197_02_Parsa.611d3397c298.mp3" type="audio/mpeg" length="49717293"/>
        <guid isPermaLink="false">ba93e335-c55f-466b-88c7-1480973ac114</guid>
        <pubDate>Fri, 22 Mar 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3046</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_197_Podcast.22657b47e916.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Using Python in Bioinformatics and the Laboratory”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>196</itunes:episode>
        <title>Exploring Duck Typing in Python &amp; Dynamics of Monkey Patching</title>
        <itunes:title>Exploring Duck Typing in Python &amp; Dynamics of Monkey Patching</itunes:title>
        <link>https://realpython.com/podcasts/rpp/196/</link>
        <description>What are the advantages of determining the type of an object by how it behaves? What coding circumstances are not a good fit for duck typing? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the advantages of determining the type of an object by how it behaves? What coding circumstances are not a good fit for duck typing? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher covers a recent Real Python tutorial by Leodanis Pozo Ramos titled Duck Typing in Python: Writing Flexible and Decoupled Code. The tutorial explains the concepts of duck typing within object-oriented programming and its use within Python&amp;rsquo;s built-in tools.&lt;/p&gt;
&lt;p&gt;We discuss a recent article on monkey patching in Python. This practice of dynamically modifying a class or module&amp;rsquo;s behavior at runtime allows for testing, debugging, and experimentation.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, why names are not the same as objects in Python, using IPython Jupyter magic commands, a discussion about becoming a senior developer, a data exploration challenge, a Python evaluation game, and a terminal UI for regex testing.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pointers-python/&quot;&gt;Pointers and Objects in Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about Python&amp;rsquo;s object model and see why pointers don&amp;rsquo;t really exist in Python. You&amp;rsquo;ll also cover ways to simulate pointers in Python without managing memory.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Listener feedback&lt;/li&gt;
&lt;li&gt;00:04:02 &amp;ndash; DjangoCon US Call for Proposals&lt;/li&gt;
&lt;li&gt;00:04:38 &amp;ndash; White House Recommends Use of Python&lt;/li&gt;
&lt;li&gt;00:05:41 &amp;ndash; JupyterLab 4.1 and Notebook 7.1 Released&lt;/li&gt;
&lt;li&gt;00:06:05 &amp;ndash; What&amp;rsquo;s in a Name?&lt;/li&gt;
&lt;li&gt;00:11:52 &amp;ndash; Duck Typing in Python: Writing Flexible and Decoupled Code&lt;/li&gt;
&lt;li&gt;00:15:07 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:16:11 &amp;ndash; Using IPython Jupyter Magic Commands&lt;/li&gt;
&lt;li&gt;00:22:31 &amp;ndash; A Guide to Monkey Patching&lt;/li&gt;
&lt;li&gt;00:25:27 &amp;ndash; Falsehoods Junior Developers Believe About Becoming Senior&lt;/li&gt;
&lt;li&gt;00:33:01 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:11 &amp;ndash; Falsehoods continued&lt;/li&gt;
&lt;li&gt;00:43:43 &amp;ndash; Where in the data?&lt;/li&gt;
&lt;li&gt;00:46:55 &amp;ndash; the eval game&lt;/li&gt;
&lt;li&gt;00:48:03 &amp;ndash; rexi: Terminal UI for Regex Testing&lt;/li&gt;
&lt;li&gt;00:49:43 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://2024.djangocon.us/speaking/&quot;&gt;DjangoCon US Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2024/02/white-house-recommends-.html&quot;&gt;White House Recommends Use of Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jupyter.org/jupyterlab-4-1-and-notebook-7-1-are-here-20bfc3c10217&quot;&gt;JupyterLab 4.1 and Notebook 7.1 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thepythoncodingstack.com/p/whats-in-a-name-python-namespace-objects-names&quot;&gt;What&amp;rsquo;s in a Name?&lt;/a&gt; &amp;ndash; An article about names in Python, and why they&amp;rsquo;re not the same as objects. The article discusses reference counts and namespaces.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/duck-typing-python/&quot;&gt;Duck Typing in Python: Writing Flexible and Decoupled Code&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about duck typing in Python. It&amp;rsquo;s a typing system based on objects&amp;rsquo; behaviors rather than on inheritance. By taking advantage of duck typing, you can create flexible and decoupled sets of Python classes that you can use together or individually.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/using-ipython-jupyter-magic-commands-to-improve-the-notebook-experience-f2c870cab356&quot;&gt;Using IPython Jupyter Magic Commands&lt;/a&gt; &amp;ndash; &amp;ldquo;IPython Jupyter Magic commands (e.g. lines in notebook cells starting with % or %%) can decorate a notebook cell, or line, to modify its behavior.&amp;rdquo; This article shows you how to define them and where they can be useful.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/karishmashukla/monkeying-around-with-python-a-guide-to-monkey-patching-obc&quot;&gt;Monkeying Around With Python: A Guide to Monkey Patching&lt;/a&gt; &amp;ndash; Monkey patching is the practice of modifying live code. This article shows you how it&amp;rsquo;s done and why and when to use the practice.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vadimkravcenko.com/shorts/falsehoods-junior-developers-believe-about-becoming-senior/&quot;&gt;Falsehoods Junior Developers Believe About Becoming Senior&lt;/a&gt; &amp;ndash; This opinion piece by Vadim discusses how newer developers perceive what it means to be a senior developer, and how they&amp;rsquo;re often wrong.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.whereinthedata.com/&quot;&gt;Where in the data?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://oskaerik.github.io/theevalgame/&quot;&gt;the eval game&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/royreznik/rexi&quot;&gt;rexi: Terminal UI for Regex Testing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pointers-in-python/&quot;&gt;Pointers in Python: What&amp;rsquo;s the Point? – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ipython-interactive-python-shell/&quot;&gt;Unlock IPython&amp;rsquo;s Magical Toolbox for Your Coding Journey – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/88/&quot;&gt;Episode #88: Discussing Type Hints, Protocols, and Ducks in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.saul.pw/&quot;&gt;saul.pw&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bluebird.sh/&quot;&gt;BlueBird Shell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pointers-python/&quot;&gt;Pointers and Objects in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E196_03_Cx2.a835df084d82.mp3" type="audio/mpeg" length="49714894"/>
        <guid isPermaLink="false">373fad6d-1d9c-437d-8397-ff728abc2e04</guid>
        <pubDate>Fri, 15 Mar 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3046</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_196_Podcast.808a704a39b4.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring Duck Typing in Python &amp; Dynamics of Monkey Patching”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>195</itunes:episode>
        <title>Building a Healthy Developer Mindset While Learning Python</title>
        <itunes:title>Building a Healthy Developer Mindset While Learning Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/195/</link>
        <description>How do you get yourself unstuck when facing a programming problem? How do you develop a positive developer mindset while learning Python? This week on the show, Bob Belderbos from Pybites is here to talk about learning Python and building healthy developer habits.</description>
        <content:encoded>&lt;p&gt;How do you get yourself unstuck when facing a programming problem? How do you develop a positive developer mindset while learning Python? This week on the show, Bob Belderbos from Pybites is here to talk about learning Python and building healthy developer habits.&lt;/p&gt;
&lt;p&gt;Bob created the Pybites learning platform with his friend Julian Sequeira. They initially focused on exercises and coding challenges to motivate new Python students. As they grew their community, they created a podcast and moved into coaching.&lt;/p&gt;
&lt;p&gt;They noticed that most new developers share common struggles of tutorial paralysis, imposter syndrome, and motivation. Bob discusses techniques for developing a positive mindset, overcoming coding blocks, and delivering projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Get started on 13 Python project ideas that are just right for intermediate Python developers. They&amp;rsquo;ll challenge you enough to help you become a better Pythonista.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;0:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;0:02:06 &amp;ndash; How did you start Pybites?&lt;/li&gt;
&lt;li&gt;0:04:32 &amp;ndash; Building a community through challenges&lt;/li&gt;
&lt;li&gt;0:06:17 &amp;ndash; When did you start your podcast?&lt;/li&gt;
&lt;li&gt;0:08:22 &amp;ndash; Defining developer mindset&lt;/li&gt;
&lt;li&gt;0:11:31 &amp;ndash; Learning Python outside of a classroom&lt;/li&gt;
&lt;li&gt;0:16:15 &amp;ndash; Podcast is a good place to discuss mindset&lt;/li&gt;
&lt;li&gt;0:19:37 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;0:20:56 &amp;ndash; Sharing Python tips&lt;/li&gt;
&lt;li&gt;0:30:14 &amp;ndash; Sharing content as a creator&lt;/li&gt;
&lt;li&gt;0:35:03 &amp;ndash; Writing cleaner code&lt;/li&gt;
&lt;li&gt;0:40:20 &amp;ndash; Moving from challenges to projects&lt;/li&gt;
&lt;li&gt;0:47:08 &amp;ndash; Helping yourself when you&amp;rsquo;re stuck&lt;/li&gt;
&lt;li&gt;0:51:31 &amp;ndash; Dealing with imposter syndrome&lt;/li&gt;
&lt;li&gt;0:55:50 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;0:57:43 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;0:59:15 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;0:59:51 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pybit.es/&quot;&gt;Pybites - We Create Python Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pybitespodcast.com/&quot;&gt;Pybites Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codechalleng.es/&quot;&gt;PyBites Platform - Real World Python Exercises&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pybites.circle.so/c/start-here&quot;&gt;Pybites Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pybit.es/tips/&quot;&gt;Pybites Python Tips Book - Pybites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/itertools.html&quot;&gt;itertools — Functions creating iterators for efficient looping - Python documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/string.html#module-string&quot;&gt;string — Common string operations - Python documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-enumerate/&quot;&gt;Python enumerate(): Simplify Loops That Need Counters – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/ast.html#abstract-grammar&quot;&gt;ast — Abstract Syntax Trees - Python documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/building-maintainable-software/9781491955987/&quot;&gt;Building Maintainable Software, Java Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martinfowler.com/books/refactoring.html&quot;&gt;Refactoring - Improving the Design of Existing Code by Martin Fowler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://barbaraoakley.com/books/a-mind-for-numbers/&quot;&gt;A Mind For Numbers - Barbara Oakley&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.entrepreneur.com/growing-a-business/real-imposters-dont-experience-imposter-syndrome-heres/380268&quot;&gt;Real Imposters Don&amp;rsquo;t Experience Imposter Syndrome&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/bbelderbos&quot;&gt;Bob Belderbos (@bbelderbos) - X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/bbelderbos/&quot;&gt;Bob Belderbos - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E195_02_Bob.69dfe634020b.mp3" type="audio/mpeg" length="59269181"/>
        <guid isPermaLink="false">47f870a4-30f3-4a9b-93db-040b5631ab9d</guid>
        <pubDate>Fri, 08 Mar 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3641</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_195_Podcast.f0b410495d97.jpg"/>
        <rp:twitter-handles>@bbelderbos</rp:twitter-handles>
        <rp:twitter-title>“Building a Healthy Developer Mindset While Learning Python” with @bbelderbos</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>194</itunes:episode>
        <title>Automate Tasks With Python &amp; Building a Small Search Engine</title>
        <itunes:title>Automate Tasks With Python &amp; Building a Small Search Engine</itunes:title>
        <link>https://realpython.com/podcasts/rpp/194/</link>
        <description>What are the typical computer tasks you do manually every week? Could you automate those tasks with a Python script? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the typical computer tasks you do manually every week? Could you automate those tasks with a Python script? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent Hacker News thread about frequently used automation scripts. We share the kinds of tasks we&amp;rsquo;ve automated with Python in our work and personal lives. &lt;/p&gt;
&lt;p&gt;Christopher shares a tutorial about building a micro-search engine from scratch using Python. The post takes you through coding the components of a crawler, index, and ranker. The finished engine is designed to search the posts of the blogs you follow.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a news roundup, how a Polars query works under the hood, using Python for data analysis, understanding open-source licensing, summarizing the significant changes between Python versions, a robust TUI hex editor, and a lightweight dataframe library with a universal interface for data wrangling.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Intel.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-argparse-command-line-interfaces/&quot;&gt;Building Command Line Interfaces With argparse&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step Python video course, you&amp;rsquo;ll learn how to take your command line Python scripts to the next level by adding a convenient command line interface that you can write with argparse.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:23 &amp;ndash; uv: Python Packaging in Rust&lt;/li&gt;
&lt;li&gt;00:02:43 &amp;ndash; Rye Grows With uv &lt;/li&gt;
&lt;li&gt;00:03:20 &amp;ndash; Python 3.13.0 Alpha 4 Is Now Available&lt;/li&gt;
&lt;li&gt;00:03:45 &amp;ndash; A Bird&amp;rsquo;s Eye View of Polars&lt;/li&gt;
&lt;li&gt;00:07:28 &amp;ndash; Polars: Why We Have Rewritten the String Data Type&lt;/li&gt;
&lt;li&gt;00:09:33 &amp;ndash; A Search Engine in 80 Lines of Python&lt;/li&gt;
&lt;li&gt;00:13:14 &amp;ndash; Using Python for Data Analysis&lt;/li&gt;
&lt;li&gt;00:18:22 &amp;ndash; Sponsor: Intel&lt;/li&gt;
&lt;li&gt;00:18:53 &amp;ndash; Understanding Open Source Licensing&lt;/li&gt;
&lt;li&gt;00:21:54 &amp;ndash; Summary of Major Changes Between Python Versions&lt;/li&gt;
&lt;li&gt;00:23:19 &amp;ndash; What Python automation scripts do you reuse frequently at work?&lt;/li&gt;
&lt;li&gt;00:34:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:52 &amp;ndash; hexabyte: A modern, modular, and robust TUI hex editor&lt;/li&gt;
&lt;li&gt;00:39:56 &amp;ndash; ibis: The Flexibility of Python With the Scale of Modern SQL&lt;/li&gt;
&lt;li&gt;00:43:31 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/blog/uv&quot;&gt;&lt;code&gt;uv&lt;/code&gt;: Python Packaging in Rust&lt;/a&gt; &amp;ndash; uv is an extremely fast Python package installer and resolver, designed as a drop-in alternative to pip and pip-tools. This post introduces you to uv and shows some of its performance numbers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lucumr.pocoo.org/2024/2/15/rye-grows-with-uv/&quot;&gt;Rye Grows With uv - Armin Ronacher&amp;rsquo;s Thoughts and Writings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/02/python-3130-alpha-4-is-now-available.html&quot;&gt;Python 3.13.0 Alpha 4 Is Now Available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/posts/polars_birds_eye_view/&quot;&gt;A Bird&amp;rsquo;s Eye View of Polars&lt;/a&gt; &amp;ndash; This post on the Polars blog introduces you to how Polars works, showing the steps from queries, plans, optimizations, and then the final execution.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/posts/polars-string-type/&quot;&gt;Polars: Why We Have Rewritten the String Data Type&lt;/a&gt; &amp;ndash; A large refactor on the string data type is underway in Polars. This deep dive explains why and what is changing.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.alexmolas.com/2024/02/05/a-search-engine-in-80-lines.html&quot;&gt;A Search Engine in 80 Lines of Python&lt;/a&gt; &amp;ndash; In this post Alex explains how he built a micro-search engine from scratch using Python. The resulting search engine is used to search in the posts of the blogs he follows.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-for-data-analysis/&quot;&gt;Using Python for Data Analysis&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn the importance of having a structured data analysis workflow, and you&amp;rsquo;ll get the opportunity to practice using Python for data analysis while following a common workflow process.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://semaphoreci.com/blog/open-source-licensing&quot;&gt;Understanding Open Source Licensing&lt;/a&gt; &amp;ndash; This article discusses the importance of open-source licensing in software development and its implications for stakeholders.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nicholashairs.com/posts/major-changes-between-python-versions/&quot;&gt;Summary of Major Changes Between Python Versions&lt;/a&gt; &amp;ndash; This article is a quick reference covering the major changes introduced with each new version of Python. Can&amp;rsquo;t remember when the walrus operator was introduced? This is the place to look that up.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=39119424&quot;&gt;What Python automation scripts do you reuse frequently at work? - Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/thetacom/hexabyte&quot;&gt;hexabyte: A modern, modular, and robust TUI hex editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ibis-project/ibis&quot;&gt;ibis: The Flexibility of Python With the Scale of Modern SQL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/193/&quot;&gt;Episode #193: Wes McKinney on Improving the Data Stack &amp;amp; Composable Systems – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/open-source-licensing/0131487876/&quot;&gt;Open Source Licensing: Software Freedom and Intellectual Property Law&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/text/which-py.html&quot;&gt;What&amp;rsquo;s in which Python - Ned Batchelder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://automatetheboringstuff.com/&quot;&gt;Automate the Boring Stuff with Python - Al Sweigart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/working-with-files-in-python/&quot;&gt;Working With Files in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/command-line-interfaces-python-argparse/&quot;&gt;Build Command-Line Interfaces With Python&amp;rsquo;s argparse – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-python-functions-with-optional-arguments/&quot;&gt;Defining Python Functions With Optional Arguments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/practical-recipes-files/&quot;&gt;Practical Recipes for Working With Files in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-argparse-command-line-interfaces/&quot;&gt;Building Command Line Interfaces With argparse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E194_03_Cx2.c0aae44f5180.mp3" type="audio/mpeg" length="43801433"/>
        <guid isPermaLink="false">6fb45575-c19f-45d2-8ace-3ba4ba40829a</guid>
        <pubDate>Fri, 01 Mar 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2676</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_194_Podcast.1b702d5670f6.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Automate Tasks With Python &amp; Building a Small Search Engine”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>193</itunes:episode>
        <title>Wes McKinney on Improving the Data Stack &amp; Composable Systems</title>
        <itunes:title>Wes McKinney on Improving the Data Stack &amp; Composable Systems</itunes:title>
        <link>https://realpython.com/podcasts/rpp/193/</link>
        <description>How do you avoid the bottlenecks of data processing systems? Is it possible to build tools that decouple storage and computation? This week on the show, creator of the pandas library Wes McKinney is here to discuss Apache Arrow, composable data systems, and community collaboration.</description>
        <content:encoded>&lt;p&gt;How do you avoid the bottlenecks of data processing systems? Is it possible to build tools that decouple storage and computation? This week on the show, creator of the pandas library Wes McKinney is here to discuss Apache Arrow, composable data systems, and community collaboration.&lt;/p&gt;
&lt;p&gt;Wes briefly describes the humble beginnings of the pandas project in 2008 and moving the project to open source in 2011. Since then, he&amp;rsquo;s been thinking about improvements across the data processing ecosystem. &lt;/p&gt;
&lt;p&gt;Wes collaborated with members of the broader data science community to build the in-memory analytics infrastructure of Apache Arrow. Arrow avoids the bottlenecks of repeated data serialization and format conversion. He shares examples of Arrow&amp;rsquo;s use across the spectrum in tools like Polars and DuckDB.&lt;/p&gt;
&lt;p&gt;Wes advocates moving from vertically integrated tools toward composable data systems. We discuss his work on Ibis, a portable dataframe API for data manipulation and exploration in Python. Ibis supports multiple backends by decoupling the API from the execution engine. &lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Posit Connect.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/unleash-power-rich/&quot;&gt;Unleashing the Power of the Console With Rich&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Rich is a powerful library for creating text-based user interfaces (TUIs) in Python. It enhances code readability by pretty-printing complex data structures and adds visual appeal with colored text, tables, animations, and more.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:26 &amp;ndash; Dealing with limitations in early data science&lt;/li&gt;
&lt;li&gt;00:04:53 &amp;ndash; Making pandas open source&lt;/li&gt;
&lt;li&gt;00:07:10 &amp;ndash; Making changes to an existing platform&lt;/li&gt;
&lt;li&gt;00:12:34 &amp;ndash; Decoupling storage and computation&lt;/li&gt;
&lt;li&gt;00:23:04 &amp;ndash; Sponsor: Posit Connect&lt;/li&gt;
&lt;li&gt;00:23:54 &amp;ndash; Apache Arrow solving multiple issues&lt;/li&gt;
&lt;li&gt;00:27:40 &amp;ndash; DuckDB efficient analytic SQL database&lt;/li&gt;
&lt;li&gt;00:30:24 &amp;ndash; Polars dataframe library&lt;/li&gt;
&lt;li&gt;00:31:04 &amp;ndash; pandas 2.0 adding Arrow&lt;/li&gt;
&lt;li&gt;00:35:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:20 &amp;ndash; Apache Software Foundation background&lt;/li&gt;
&lt;li&gt;00:41:29 &amp;ndash; Shifting from developer to organizer and collaborator&lt;/li&gt;
&lt;li&gt;00:45:56 &amp;ndash; Creating a portable query layer with Ibis&lt;/li&gt;
&lt;li&gt;00:55:34 &amp;ndash; Casualties of the language wars&lt;/li&gt;
&lt;li&gt;00:57:57 &amp;ndash; What&amp;rsquo;s your role at Posit?&lt;/li&gt;
&lt;li&gt;01:01:23 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:04:52 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:06:21 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:08:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wesmckinney.com/&quot;&gt;Wes McKinney - Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wesmckinney.com/blog/looking-back-15-years/&quot;&gt;Wes McKinney - The Road to Composable Data Systems: Thoughts on the Last 15 Years and the Future&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=XRxUeL3bQfQ&quot;&gt;Wes McKinney - Leveling Up the Data Stack: Thoughts on the Last 15 Years - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hadoop.apache.org/&quot;&gt;Apache Hadoop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cloudera.com/&quot;&gt;Cloudera - The hybrid data company&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wesmckinney.com/blog/apache-arrow-pandas-internals/&quot;&gt;Wes McKinney - Apache Arrow and the &amp;ldquo;10 Things I Hate About pandas&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://voltrondata.com/&quot;&gt;Voltron Data - The Leading Designer and Builder of Enterprise Data Systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arrow.apache.org/&quot;&gt;Apache Arrow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duckdb.org/&quot;&gt;DuckDB - An in-process SQL OLAP database management system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duckdb.org/2021/10/29/duckdb-wasm.html&quot;&gt;DuckDB-Wasm - Efficient Analytical SQL in the Browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola.rs/&quot;&gt;Polars - Dataframes for the new era&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/pandas-docs/stable/index.html&quot;&gt;pandas 2.2.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/167/&quot;&gt;Episode #167: Exploring pandas 2.0 &amp;amp; Targets for Apache Arrow – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.apache.org/&quot;&gt;ASF - Welcome to The Apache Software Foundation!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ursalabs.org/blog/&quot;&gt;Ursa Labs Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ibis-project.org/&quot;&gt;Ibis - The Portable Python dataframe Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://data-apis.org/dataframe-protocol/latest/&quot;&gt;Python dataframe interchange protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hadley.nz/&quot;&gt;Hadley Wickham&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.italki.com/&quot;&gt;italki - Best language learning app with certificated tutors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/wesmckinn/&quot;&gt;Wes McKinney - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/wesmckinn&quot;&gt;Wes McKinney (@wesmckinn) - X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://posit.co/&quot;&gt;Posit - The Open-Source Data Science Company&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/unleash-power-rich/&quot;&gt;Unleashing the Power of the Console With Rich&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E193_03_Wes.b0eabcf9b679.mp3" type="audio/mpeg" length="67592685"/>
        <guid isPermaLink="false">c3c891f5-44f0-4ab8-89b3-1783df500890</guid>
        <pubDate>Fri, 23 Feb 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4160</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_193_Podcast.f685363747d6.jpg"/>
        <rp:twitter-handles>@wesmckinn</rp:twitter-handles>
        <rp:twitter-title>“Wes McKinney on Improving the Data Stack &amp; Composable Systems” with @wesmckinn</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>192</itunes:episode>
        <title>Practical Python Decorator Uses &amp; Avoiding datetime Pitfalls</title>
        <itunes:title>Practical Python Decorator Uses &amp; Avoiding datetime Pitfalls</itunes:title>
        <link>https://realpython.com/podcasts/rpp/192/</link>
        <description>What are real-life examples of using Python decorators? How can you harness their power in your code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are real-life examples of using Python decorators? How can you harness their power in your code? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent article series that digs into Python decorators. The first two articles discuss the basics of constructing decorators. The third part describes how popular Python libraries use decorators with call interception, function registration, and enriching the behavior of a function.&lt;/p&gt;
&lt;p&gt;Christopher shares a piece about the common pitfalls of working with the Python&lt;code&gt;datetime&lt;/code&gt; library. The article considers how current third-party libraries don&amp;rsquo;t address most of these quirks and offers a potential solution with a new library.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a couple of news items, a discussion about the popularity of the Rust language, handling unset values in FastAPI with Pydantic, working with Python&amp;rsquo;s mini-language for formatting strings, mocking Django queryset functions, and a modern replacement for the Requests library.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Sentry.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course on Python decorators, you&amp;rsquo;ll learn what they are and how to create and use them. Decorators provide a simple syntax for calling higher-order functions in Python. By definition, a decorator is a function that takes another function and extends the behavior of the latter function without explicitly modifying it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:53 &amp;ndash; Django security releases issued: 5.0.2, 4.2.10, and 3.2.24&lt;/li&gt;
&lt;li&gt;00:03:10 &amp;ndash; Python 3.12.2 and 3.11.8 are now available&lt;/li&gt;
&lt;li&gt;00:03:21 &amp;ndash; Introducing PSF Grants Program Office Hours&lt;/li&gt;
&lt;li&gt;00:04:19 &amp;ndash; Python&amp;rsquo;s Format Mini-Language for Tidy Strings&lt;/li&gt;
&lt;li&gt;00:12:22 &amp;ndash; Ten Python &lt;code&gt;datetime&lt;/code&gt; Pitfalls&lt;/li&gt;
&lt;li&gt;00:18:34 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:19:37 &amp;ndash; Real Life Use of Decorators&lt;/li&gt;
&lt;li&gt;00:29:18 &amp;ndash; Handling Unset Values in FastAPI With Pydantic&lt;/li&gt;
&lt;li&gt;00:35:43 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:06 &amp;ndash; The Python Rust-Aissance&lt;/li&gt;
&lt;li&gt;00:50:19 &amp;ndash; django-mock-queries: Mock Django Queryset Functions&lt;/li&gt;
&lt;li&gt;00:53:09 &amp;ndash; niquests: Requests but Multiplexed&lt;/li&gt;
&lt;li&gt;00:55:55 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/feb/06/security-releases/&quot;&gt;Django security releases issued: 5.0.2, 4.2.10, and 3.2.24&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/02/python-3122-and-3118-are-now-available.html&quot;&gt;Python 3.12.2 and 3.11.8 are now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2024/02/introducing-psf-grants-office-hours.html&quot;&gt;Introducing PSF Grants Program Office Hours&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-format-mini-language/&quot;&gt;Python&amp;rsquo;s Format Mini-Language for Tidy Strings&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about Python&amp;rsquo;s format mini-language. See how to use it for creating working format specifiers and build nicely formatted strings and messages in your code.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/&quot;&gt;Ten Python &lt;code&gt;datetime&lt;/code&gt; Pitfalls&lt;/a&gt; &amp;ndash; It&amp;rsquo;s no secret that the Python &lt;code&gt;datetime&lt;/code&gt; library has its quirks. Not only are there probably more than you think, but third-party libraries don&amp;rsquo;t address most of them! Arie created a new library to explore what a better &lt;code&gt;datetime&lt;/code&gt; library could look like.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/xmas-decorations-part-3&quot;&gt;Real Life Use of Decorators&lt;/a&gt; &amp;ndash; Part 3 in a series on how Python decorators are used. This part covers real-life use cases including call interception, function registration, and behavioral enrichment.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://roman.pt/posts/handling-unset-values-in-fastapi-with-pydantic/&quot;&gt;Handling Unset Values in FastAPI With Pydantic&lt;/a&gt; &amp;ndash; When using the HTTP PATCH method only those fields that got changed are updated. Pydantic sets fields not given as arguments as &lt;code&gt;None&lt;/code&gt; so there is no way to distinguish between an explicit &lt;code&gt;None&lt;/code&gt; value and an unset field. This post explains how you process this scenario.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://baincapitalventures.com/insight/why-more-python-developers-are-using-rust-for-building-libraries/&quot;&gt;The Python Rust-Aissance&lt;/a&gt; &amp;ndash; Companies like Polars are showing how with Rust, Python developers now have a better, smoother path towards building high-performance libraries.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lucumr.pocoo.org/2024/2/4/rye-a-vision/&quot;&gt;Rye: A Python Developer Experience Vision Continued&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/PyO3/pyo3&quot;&gt;PyO3: Rust bindings for the Python interpreter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.zdnet.com/article/rust-in-linux-where-we-are-and-where-were-going-next/&quot;&gt;Rust in Linux: Where we are and where we&amp;rsquo;re going next&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rustpython.github.io/&quot;&gt;RustPython: OSS CPython Written in Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/emmett-framework/granian&quot;&gt;granian: Rust HTTP Server for Python Applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/stphivos/django-mock-queries&quot;&gt;django-mock-queries: Mock Django Queryset Functions for Testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jawah/niquests&quot;&gt;niquests: Requests but Multiplexed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form&quot;&gt;Backus–Naur form - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.antlr.org/&quot;&gt;ANTLR -  (ANother Tool for Language Recognition) A Powerful Parser Generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/xmas-decoration-part-1&quot;&gt;Xmas Decoration, Part 1 - Bite code!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/xmas-decoration-part-2&quot;&gt;Xmas Decoration, Part 2 - Bite code!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time&quot;&gt;Falsehoods programmers believe about time - @noahsussman - Infinite Undo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.devgenius.io/10-reasons-you-should-quit-your-http-client-98fd4c94bef3&quot;&gt;10 Reasons You Should Quit Your HTTP Client - Ahmed TAHRI - Dev Genius&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python-httpx.org/&quot;&gt;HTTPX - Fully Featured HTTP Client for Python 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-datetime-module/&quot;&gt;Using Python&amp;#x27;s datetime Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-f-strings-improved-string-formatting-syntax/&quot;&gt;Python 3&amp;#x27;s F-Strings: An Improved String Formatting Syntax&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E192_03_Cx2.8445501a7ac7.mp3" type="audio/mpeg" length="55711476"/>
        <guid isPermaLink="false">27d09356-c9b2-4eae-b59c-b8f89475d0f3</guid>
        <pubDate>Fri, 16 Feb 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3420</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_192_Podcast.3284f1347254.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Practical Python Decorator Uses &amp; Avoiding datetime Pitfalls”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>191</itunes:episode>
        <title>Focusing on Data Science &amp; Less on Engineering and Dependencies</title>
        <itunes:title>Focusing on Data Science &amp; Less on Engineering and Dependencies</itunes:title>
        <link>https://realpython.com/podcasts/rpp/191/</link>
        <description>How do you manage the dependencies of a large-scale data science project? How do you migrate that project from a laptop to cloud infrastructure or utilize GPUs and multiple instances in parallel? This week on the show, Savin Goyal returns to discuss the updates to the open-source framework Metaflow.</description>
        <content:encoded>&lt;p&gt;How do you manage the dependencies of a large-scale data science project? How do you migrate that project from a laptop to cloud infrastructure or utilize GPUs and multiple instances in parallel? This week on the show, Savin Goyal returns to discuss the updates to the open-source framework Metaflow.&lt;/p&gt;
&lt;p&gt;Savin briefly describes the Metaflow platform and the goal of simplifying engineering overhead for data scientists and programmers. We discuss how the platform captures snapshots of a project as you work, allowing you to go back in time or share the state of your project with another team member.&lt;/p&gt;
&lt;p&gt;We dig into the complicated process of managing dependencies for machine learning and data science projects. Savin describes how the required external libraries can be specified within a flow with the new &lt;code&gt;@pypi&lt;/code&gt; or &lt;code&gt;@conda&lt;/code&gt; decorators. This allows a project to scale from a local machine to the cloud or multiple instances with all dependencies included.&lt;/p&gt;
&lt;p&gt;He talks about starting a new company, Outerbounds, with fellow co-workers from Netflix. Their vision is to continue to build the Metaflow open-source platform and offer customers scalable enterprise-grade infrastructure. &lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Intel.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this Code Conversation video course, you&amp;rsquo;ll learn how to package your everyday projects with &lt;code&gt;pyproject.toml&lt;/code&gt;. Playing on the same team as the import system means you can call your project from anywhere, ensure consistent imports, and have one file that&amp;rsquo;ll work for many build systems.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction  &lt;/li&gt;
&lt;li&gt;00:02:25 &amp;ndash; Update on Metaflow    &lt;/li&gt;
&lt;li&gt;00:04:13 &amp;ndash; What is Outerbounds?  &lt;/li&gt;
&lt;li&gt;00:07:26 &amp;ndash; An ML platform to serve data scientists needs &lt;/li&gt;
&lt;li&gt;00:13:02 &amp;ndash; Dependency reproducibility via &lt;code&gt;@conda&lt;/code&gt; and &lt;code&gt;@pypi&lt;/code&gt; decorators&lt;/li&gt;
&lt;li&gt;00:26:18 &amp;ndash; Sponsor: Intel    &lt;/li&gt;
&lt;li&gt;00:27:10 &amp;ndash; Storing lock files along with snapshots   &lt;/li&gt;
&lt;li&gt;00:29:17 &amp;ndash; Working alongside code and dependency management systems&lt;/li&gt;
&lt;li&gt;00:34:03 &amp;ndash; Scaling a project from laptop to the cloud    &lt;/li&gt;
&lt;li&gt;00:40:13 &amp;ndash; Video Course Spotlight    &lt;/li&gt;
&lt;li&gt;00:41:41 &amp;ndash; Getting visibility on processes   &lt;/li&gt;
&lt;li&gt;00:47:23 &amp;ndash; Adjusting your project due to GPU availability    &lt;/li&gt;
&lt;li&gt;00:52:27 &amp;ndash; Example of jumping back into a project one year later &lt;/li&gt;
&lt;li&gt;00:55:54 &amp;ndash; What are you excited about in the world of Python?    &lt;/li&gt;
&lt;li&gt;00:57:39 &amp;ndash; What do you want to learn next?   &lt;/li&gt;
&lt;li&gt;00:59:35 &amp;ndash; How can people follow your work online?   &lt;/li&gt;
&lt;li&gt;01:00:19 &amp;ndash; Thanks and goodbye    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://metaflow.org/&quot;&gt;Metaflow - a framework for real-life ML, AI, and data science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://outerbounds.com/&quot;&gt;Infrastructure for ML, AI, and Data Science - Outerbounds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=KGpg8jwAda4&quot;&gt;Human-Friendly, Production-Ready Data Science with Metaflow- Savin Goyal | SciPy 2022 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/61/&quot;&gt;Episode #61: Scaling Data Science and Machine Learning Infrastructure Like Netflix – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://outerbounds.com/blog/pypi-announcement/&quot;&gt;New in Metaflow: The Long-Awaited &lt;code&gt;@pypi&lt;/code&gt; Decorator - Outerbounds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.metaflow.org/scaling/dependencies&quot;&gt;Managing Dependencies - Metaflow Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://outerbounds.com/blog/secure-ml-secure-software-dependencies/&quot;&gt;Secure ML with Secure Software Dependencies - Outerbounds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Directed_acyclic_graph&quot;&gt;Directed acyclic graph (DAG) - Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.metaflow.org/metaflow/visualizing-results&quot;&gt;Visualizing Results - Metaflow Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://outerbounds.com/blog/seamless-data-pipelines-airflow-metaflow/&quot;&gt;Seamless Data and ML Pipelines with Airflow and Metaflow - Outerbounds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/142/&quot;&gt;Episode #142: Orchestrating Large and Small Projects With Apache Airflow – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/SavinGoyal&quot;&gt;Savin (@SavinGoyal) - X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/savingoyal/&quot;&gt;Savin Goyal - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://outerbounds.com/blog/&quot;&gt;Building the ML-driven future - Outerbounds Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-pandas-concat-and-merge/&quot;&gt;Combining Data in pandas With concat() and merge()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E191_03_Savin.f54ef77fbb9d.mp3" type="audio/mpeg" length="59916381"/>
        <guid isPermaLink="false">424cef8e-c595-4c68-88a6-a1771ef0ba27</guid>
        <pubDate>Fri, 09 Feb 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3680</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_191_Podcast.1f8bac794b15.jpg"/>
        <rp:twitter-handles>@SavinGoyal</rp:twitter-handles>
        <rp:twitter-title>“Focusing on Data Science &amp; Less on Engineering and Dependencies” with @SavinGoyal</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>190</itunes:episode>
        <title>Great Starting Points for Contributing to Open Source</title>
        <itunes:title>Great Starting Points for Contributing to Open Source</itunes:title>
        <link>https://realpython.com/podcasts/rpp/190/</link>
        <description>What&#x27;s it like to sit down for your first developer sprint at a conference? How do you find an appropriate issue to work on as a new open-source contributor? This week on the show, author and software engineer Stefanie Molin is here to discuss starting to contribute to open-source projects.</description>
        <content:encoded>&lt;p&gt;What&amp;rsquo;s it like to sit down for your first developer sprint at a conference? How do you find an appropriate issue to work on as a new open-source contributor? This week on the show, author and software engineer Stefanie Molin is here to discuss starting to contribute to open-source projects.&lt;/p&gt;
&lt;p&gt;Stefanie is a data scientist and software engineer on Bloomberg&amp;rsquo;s Security Data Science team. She recently wrote an article titled &amp;ldquo;5 Ways to Get Started in Open Source.&amp;rdquo; We discuss finding ways to contribute that fit your interests and developer skills. We dig into the experience of participating in community sprints at a conference.&lt;/p&gt;
&lt;p&gt;Stefanie is the author of Hands-On Data Analysis with Pandas. We also discuss the different processes between writing technical articles and authoring a book.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Intel.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video series, you&amp;rsquo;ll create project documentation from scratch using Sphinx, the de facto standard for Python. You&amp;rsquo;ll also hook your code repository up to Read The Docs to automatically build and publish your code documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:55 &amp;ndash; Being asked about how to get started&lt;/li&gt;
&lt;li&gt;00:07:13 &amp;ndash; Differences in short vs long form writing&lt;/li&gt;
&lt;li&gt;00:09:03 &amp;ndash; What was your introduction to contributing?&lt;/li&gt;
&lt;li&gt;00:17:52 &amp;ndash; What are additional benefits of contributing?&lt;/li&gt;
&lt;li&gt;00:22:32 &amp;ndash; Sponsor: Intel&lt;/li&gt;
&lt;li&gt;00:23:22 &amp;ndash; Sprints as an entry point&lt;/li&gt;
&lt;li&gt;00:34:36 &amp;ndash; Other requirements of a sprint&lt;/li&gt;
&lt;li&gt;00:36:05 &amp;ndash; Differences in conferences&lt;/li&gt;
&lt;li&gt;00:41:52 &amp;ndash; Other sprint experiences&lt;/li&gt;
&lt;li&gt;00:42:50 &amp;ndash; Contributing examples to documentation&lt;/li&gt;
&lt;li&gt;00:45:59 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:47:11 &amp;ndash; Looking for good first issues&lt;/li&gt;
&lt;li&gt;00:52:04 &amp;ndash; Is this a bug?&lt;/li&gt;
&lt;li&gt;00:54:10 &amp;ndash; Proposing a new feature&lt;/li&gt;
&lt;li&gt;00:56:36 &amp;ndash; Data Morph and working on personal projects&lt;/li&gt;
&lt;li&gt;01:07:29 &amp;ndash; Showing up in the Python community&lt;/li&gt;
&lt;li&gt;01:12:14 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:14:59 &amp;ndash; How can people follow the work you do online?&lt;/li&gt;
&lt;li&gt;01:15:28 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:18:23 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://levelup.gitconnected.com/5-ways-to-get-started-in-open-source-4aac430828e9&quot;&gt;5 Ways to Get Started in Open Source - by Stefanie Molin - Level Up Coding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://seaborn.pydata.org/&quot;&gt;seaborn: Statistical Data Visualization - Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpydoc.readthedocs.io/en/latest/validation.html#docstring-validation-using-pre-commit-hook&quot;&gt;Docstring Validation using Pre-Commit Hook - numpydoc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/Hands-Data-Analysis-Pandas-visualization/dp/1800563450&quot;&gt;Hands-On Data Analysis with Pandas: A Python data science handbook for data collection, wrangling, analysis, and visualization, 2nd Edition - Amazon.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/173/&quot;&gt;Episode #173: Getting Involved in Open Source &amp;amp; Generating QR Codes With Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/8/&quot;&gt;Episode #8: Docker + Python for Data Science and Machine Learning With Tania Allard – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/events/mentored-sprints/&quot;&gt;Mentored Sprints for Diverse Beginners - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/177/&quot;&gt;Episode #177: Welcoming PyPI&amp;rsquo;s Safety &amp;amp; Security Engineer Mike Fiedler – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://levelup.gitconnected.com/data-morph-moving-beyond-the-datasaurus-dozen-156927b20f8c&quot;&gt;Data Morph: Moving Beyond the Datasaurus Dozen - Level Up Coding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stefaniemolin.com/data-morph-talk/#/&quot;&gt;Data Morph: A Cautionary Tale of Summary Statistics – Slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Anscombe&#x27;s_quartet&quot;&gt;Anscombe&amp;rsquo;s quartet - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stefaniemolin.com/articles/devx/pre-commit/setup-guide/&quot;&gt;How to Set Up Pre-Commit Hooks - Stefanie Molin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.boredpanda.com/husky-speaking-italian/&quot;&gt;Dog Speaks In Italian Accent To Sound Like His Owner - Bored Panda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/StefanieMolin&quot;&gt;Stefanie Molin (@StefanieMolin) / X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stefaniemolin.com/&quot;&gt;Stefanie Molin - Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E190_03_Stefanie.fc1bc21410af.mp3" type="audio/mpeg" length="77277272"/>
        <guid isPermaLink="false">76b82821-df86-41ab-8f04-20a511a28661</guid>
        <pubDate>Fri, 02 Feb 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4767</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_190_Podcast.bf303359839f.jpg"/>
        <rp:twitter-handles>@StefanieMolin</rp:twitter-handles>
        <rp:twitter-title>“Great Starting Points for Contributing to Open Source” with @StefanieMolin</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>189</itunes:episode>
        <title>Building a Python Debugger &amp; Preparing for NumPy 2.0</title>
        <itunes:title>Building a Python Debugger &amp; Preparing for NumPy 2.0</itunes:title>
        <link>https://realpython.com/podcasts/rpp/189/</link>
        <description>How does a debugger work? What can you learn about Python by building one from scratch? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How does a debugger work? What can you learn about Python by building one from scratch? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a two-part tutorial on building a debugger in Python? Creating a simple one requires less code than you might think.&lt;/p&gt;
&lt;p&gt;We also talk about an article from Itamar Turner-Trauring about how to prepare for the upcoming changes to NumPy. The new version is not backward compatible and will require some inspection of your project dependencies. Itamar includes advice, techniques, and tools for updating your code.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a couple of news items, a discussion about managing advice as a new developer, moving to Python as a former R developer, building a Markov chain to generate readable nonsense, optimizing fonts to individual glyphs on your website, and a project for working with units of measurement in Python.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Posit Connect.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-tic-tac-toe-ai/&quot;&gt;Create a Tic-Tac-Toe Python Game Engine With an AI Player&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll create a universal game engine in Python for tic-tac-toe with two computer players, one of which will be an AI player using the powerful minimax algorithm. You&amp;rsquo;ll give your game library a text-based graphical interface and explore two front ends.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; DjangoCon Europe 2024 CFP Now Open&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Python Insider: Python 3.13.0 alpha 3 is now available&lt;/li&gt;
&lt;li&gt;00:03:04 &amp;ndash; NumPy 2 Is Coming: Preventing Breakage, Updating Your Code&lt;/li&gt;
&lt;li&gt;00:07:37 &amp;ndash; Using a Markov Chain to Generate Readable Nonsense&lt;/li&gt;
&lt;li&gt;00:12:53 &amp;ndash; Sponsor: Posit Connect&lt;/li&gt;
&lt;li&gt;00:13:43 &amp;ndash; Python Rgonomics&lt;/li&gt;
&lt;li&gt;00:20:10 &amp;ndash; Let&amp;rsquo;s Create a Python Debugger Together&lt;/li&gt;
&lt;li&gt;00:23:49 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:25:08 &amp;ndash; Advice for New Devs Who&amp;rsquo;ve Read Other Advice Essays&lt;/li&gt;
&lt;li&gt;00:42:44 &amp;ndash; Fontimize: Optimize Fonts to the Glyphs on Your Site&lt;/li&gt;
&lt;li&gt;00:44:57 &amp;ndash; Pint: Units for Python&lt;/li&gt;
&lt;li&gt;00:46:55 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/jan/01/djangocon-europe-2024-cfp/&quot;&gt;DjangoCon Europe 2024 CFP Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2024/01/python-3130-alpha-3-is-now-available.html&quot;&gt;Python Insider: Python 3.13.0 alpha 3 is now available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/numpy-2/&quot;&gt;NumPy 2 Is Coming: Preventing Breakage, Updating Your Code&lt;/a&gt; &amp;ndash; NumPy 2 is coming, and it&amp;rsquo;s backwards incompatible. Learn how to keep your code from breaking, and how to upgrade.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://benhoyt.com/writings/markov-chain/&quot;&gt;Using a Markov Chain to Generate Readable Nonsense&lt;/a&gt; &amp;ndash; Describes a simple Markov chain algorithm to generate reasonable-sounding but utterly nonsensical text, and presents some example outputs as well as a Python implementation in only 20 lines of code.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.emilyriederer.com/post/py-rgo/&quot;&gt;Python Rgonomics&lt;/a&gt; &amp;ndash; If you&amp;rsquo;re coming to Python from R, this article outlines some libraries that have an R-like feel, helping you make the transition to Pythonic workflows.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mostlynerdless.de/blog/2023/09/20/lets-create-a-python-debugger-together-part-1/&quot;&gt;Let&amp;rsquo;s Create a Python Debugger Together&lt;/a&gt; &amp;ndash; Ever wondered how a debugger works? Implementing a simple one requires less code than you might think. Read on to find out how.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://buttondown.email/hillelwayne/archive/advice-for-new-software-devs-whove-read-all-those/&quot;&gt;Advice for New Devs Who&amp;rsquo;ve Read Other Advice Essays&lt;/a&gt; &amp;ndash; After reading some programming advice posts, this author decided a lot of them concentrated on the wrong things. Here is his own take. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=38706697&quot;&gt;Associated Hacker News Discussion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vintagedave/Fontimize&quot;&gt;Fontimize: Optimize Fonts to the Glyphs on Your Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/Pint/&quot;&gt;Pint: Units for Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mostlynerdless.de/blog/2023/10/06/lets-create-a-python-debugger-together-part-2/&quot;&gt;Let&amp;rsquo;s create a Python Debugger together: Part 2 - Mostly nerdless&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=30YWsGDr8mA&quot;&gt;&amp;ldquo;Making Hard Things Easy&amp;rdquo; by Julia Evans (Strange Loop 2023) - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/71/&quot;&gt;Episode #71: Start Using a Debugger With Your Python Code – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://debuggingrules.com/&quot;&gt;Debugging Rules! – Find out what&amp;rsquo;s wrong with anything, fast.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-assert-statement/&quot;&gt;Using Python&amp;#x27;s assert to Debug and Test Your Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-tic-tac-toe-ai/&quot;&gt;Create a Tic-Tac-Toe Python Game Engine With an AI Player&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E189_03_C2.860151feeb60.mp3" type="audio/mpeg" length="46941812"/>
        <guid isPermaLink="false">411abfd4-7fb9-45d2-9062-6851ad4dcc1d</guid>
        <pubDate>Fri, 26 Jan 2024 12:00:00 +0000</pubDate>
        <itunes:duration>2875</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_189_Podcast.8fc5900e2d8c.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building a Python Debugger &amp; Preparing for NumPy 2.0”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>188</itunes:episode>
        <title>Measuring Bias, Toxicity, and Truthfulness in LLMs With Python</title>
        <itunes:title>Measuring Bias, Toxicity, and Truthfulness in LLMs With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/188/</link>
        <description>How can you measure the quality of a large language model? What tools can measure bias, toxicity, and truthfulness levels in a model using Python? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, returns to discuss techniques and tools for evaluating LLMs With Python.</description>
        <content:encoded>&lt;p&gt;How can you measure the quality of a large language model? What tools can measure bias, toxicity, and truthfulness levels in a model using Python? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, returns to discuss techniques and tools for evaluating LLMs With Python.&lt;/p&gt;
&lt;p&gt;Jodie provides some background on large language models and how they can absorb vast amounts of information about the relationship between words using a type of neural network called a transformer. We discuss training datasets and the potential quality issues with crawling uncurated sources. &lt;/p&gt;
&lt;p&gt;We dig into ways to measure levels of bias, toxicity, and hallucinations using Python. Jodie shares three benchmarking datasets and links to resources to get you started. We also discuss ways to augment models using agents or plugins, which can access search engine results or other authoritative sources.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Intel.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;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&amp;rsquo;ll see how you can use pretrained word embeddings, and you&amp;rsquo;ll squeeze more performance out of your model through hyperparameter optimization.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:19 &amp;ndash; Testing characteristics of LLMs with Python&lt;/li&gt;
&lt;li&gt;00:04:18 &amp;ndash; Background on LLMs&lt;/li&gt;
&lt;li&gt;00:08:35 &amp;ndash; Training of models&lt;/li&gt;
&lt;li&gt;00:14:23 &amp;ndash; Uncurated sources of training&lt;/li&gt;
&lt;li&gt;00:16:12 &amp;ndash; Safeguards and prompt engineering&lt;/li&gt;
&lt;li&gt;00:21:19 &amp;ndash; TruthfulQA and creating a more strict prompt&lt;/li&gt;
&lt;li&gt;00:23:20 &amp;ndash; Information that is out of date&lt;/li&gt;
&lt;li&gt;00:26:07 &amp;ndash; WinoBias for evaluating gender stereotypes&lt;/li&gt;
&lt;li&gt;00:28:30 &amp;ndash; BOLD dataset for evaluating bias&lt;/li&gt;
&lt;li&gt;00:30:28 &amp;ndash; Sponsor: Intel&lt;/li&gt;
&lt;li&gt;00:31:18 &amp;ndash; Using Hugging Face to start testing with Python&lt;/li&gt;
&lt;li&gt;00:35:25 &amp;ndash; Using the transformers package&lt;/li&gt;
&lt;li&gt;00:37:34 &amp;ndash; Using langchain for proprietary models&lt;/li&gt;
&lt;li&gt;00:43:04 &amp;ndash; Putting the tools together and evaluating&lt;/li&gt;
&lt;li&gt;00:47:19 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:48:29 &amp;ndash; Assessing toxicity&lt;/li&gt;
&lt;li&gt;00:50:21 &amp;ndash; Measuring bias&lt;/li&gt;
&lt;li&gt;00:54:40 &amp;ndash; Checking the hallucination rate&lt;/li&gt;
&lt;li&gt;00:56:22 &amp;ndash; LLM leaderboards&lt;/li&gt;
&lt;li&gt;00:58:17 &amp;ndash; What helped ChatGPT leap forward?&lt;/li&gt;
&lt;li&gt;01:06:01 &amp;ndash; Improvements of what is being crawled&lt;/li&gt;
&lt;li&gt;01:07:32 &amp;ndash; Revisiting agents and RAG&lt;/li&gt;
&lt;li&gt;01:11:03 &amp;ndash; ChatGPT plugins and Wolfram-Alpha&lt;/li&gt;
&lt;li&gt;01:13:06 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:14:33 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Background Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://builtin.com/data-science/beginners-guide-language-models&quot;&gt;A Beginner&amp;rsquo;s Guide to Language Models - Built In&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=NpmnWgQgcsA&quot;&gt;ChatGPT - Explained! - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dataset Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/datasets/truthful_qa?row=4&quot;&gt;truthful_qa - Datasets at Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/datasets/wino_bias&quot;&gt;wino_bias - Datasets at Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/datasets/AlexaAI/bold&quot;&gt;bold - Datasets at Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tutorials and Documentation for Python Packages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/blog/evaluating-llm-bias&quot;&gt;Evaluating Language Model Bias with 🤗 Evaluate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://colab.research.google.com/drive/1-HDJUcPMKEF-E7Hapih0OmA1xTW2hdAv#scrollTo=yX8ciyVWKiuO&quot;&gt;Hugging Face - HF_bias_evaluation - Google Colab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/docs/datasets/loading&quot;&gt;General Usage - Load a Dataset - Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/tasks/text-generation&quot;&gt;What is Text Generation? - Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/docs/evaluate/index&quot;&gt;🤗 Evaluate - Library Evaluating ML Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.langchain.com/docs/get_started/quickstart&quot;&gt;Python Quickstart - 🦜️🔗 Langchain&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Measurement Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/spaces/evaluate-measurement/toxicity&quot;&gt;Toxicity - a Hugging Face Space by evaluate-measurement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/spaces/evaluate-measurement/regard&quot;&gt;Regard - a Hugging Face Space by evaluate-measurement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard&quot;&gt;Open LLM Leaderboard - a Hugging Face Space&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Training Data for LLMs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://commoncrawl.org/&quot;&gt;Common Crawl - Open Repository of Web Crawl Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pile.eleuther.ai/&quot;&gt;The Pile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/2306.01116&quot;&gt;The RefinedWeb Dataset for Falcon LLM: Outperforming Curated Corpora&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Agents and Plugin Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/docs/transformers/transformers_agents&quot;&gt;Transformers Agents - Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.langchain.com/docs/modules/agents/&quot;&gt;Agents - 🦜️🔗 Langchain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://writings.stephenwolfram.com/2023/03/chatgpt-gets-its-wolfram-superpowers/&quot;&gt;ChatGPT Gets Its &amp;ldquo;Wolfram Superpowers&amp;rdquo;! - Stephen Wolfram&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/features/23764584/ai-artificial-intelligence-data-notation-labor-scale-surge-remotasks-openai-chatbots&quot;&gt;Inside the AI Factory: The Humans that Make Tech Seem Human - The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/author/jodie-burchell-jetbrains-com/&quot;&gt;Jodie Burchell - The JetBrains Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t-redactyl.io/&quot;&gt;Jodie Burchell&amp;rsquo;s Blog - Standard error&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@t_redactyl#&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E188_03_Jodie.bd4771f3f84e.mp3" type="audio/mpeg" length="73825046"/>
        <guid isPermaLink="false">1337e877-4439-4010-9879-08c39f1ff5f5</guid>
        <pubDate>Fri, 19 Jan 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4553</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_188_Podcast.a9a851e74840.jpg"/>
        <rp:twitter-handles>@t_redactyl</rp:twitter-handles>
        <rp:twitter-title>“Measuring Bias, Toxicity, and Truthfulness in LLMs With Python” with @t_redactyl</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>187</itunes:episode>
        <title>Serializing Data With Python &amp; Underscore Naming Conventions</title>
        <itunes:title>Serializing Data With Python &amp; Underscore Naming Conventions</itunes:title>
        <link>https://realpython.com/podcasts/rpp/187/</link>
        <description>Do you need to transfer an extensive data collection for a science project? What&#x27;s the best way to send executable code over the wire for distributed processing? What are the different ways to serialize data in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you need to transfer an extensive data collection for a science project? What&amp;rsquo;s the best way to send executable code over the wire for distributed processing? What are the different ways to serialize data in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a tutorial by Real Python author Bartosz Zaczyński called &amp;ldquo;Serialize Your Data With Python.&amp;rdquo; This comprehensive guide moves beyond XML and JSON to explore multiple data formats and their potential use cases. It&amp;rsquo;s a deep dive into the topic and provides a thorough resource for future reference.&lt;/p&gt;
&lt;p&gt;We also discuss a Real Python tutorial about naming conventions in Python that use single and double underscores. The piece covers differentiating between public and non-public names in APIs, writing safe classes for subclassing purposes, and avoiding name clashes with keywords.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a couple of release announcements and news items, a discussion about never being taught how to construct quality software, building a small REPL in Python, using the &lt;code&gt;key&lt;/code&gt; parameter in Python functions and methods,  a framework for RESTful APIs using Flask and SQLAlchemy, and a Rust-based HTML sanitizer for your Python projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;s aimed at beginner to intermediate programmers.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:47 &amp;ndash; JIT Coming to Python 3.13&lt;/li&gt;
&lt;li&gt;00:03:13 &amp;ndash; A copy-and-patch JIT compiler - Pull Request #113465&lt;/li&gt;
&lt;li&gt;00:03:54 &amp;ndash; Django bugfix releases issued: 4.2.9 and 5.0.1&lt;/li&gt;
&lt;li&gt;00:04:24 &amp;ndash; Single and Double Underscores in Python Names&lt;/li&gt;
&lt;li&gt;00:16:42 &amp;ndash; Building a Small REPL in Python&lt;/li&gt;
&lt;li&gt;00:20:07 &amp;ndash; The Key to the &lt;code&gt;key&lt;/code&gt; Parameter in Python&lt;/li&gt;
&lt;li&gt;00:25:23 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:44 &amp;ndash; Serialize Your Data With Python&lt;/li&gt;
&lt;li&gt;00:30:23 &amp;ndash; You Are Never Taught How to Build Quality Software&lt;/li&gt;
&lt;li&gt;00:48:43 &amp;ndash; flask-muck: RESTful APIs Using Flask and SQLAlchemy&lt;/li&gt;
&lt;li&gt;00:51:26 &amp;ndash; nh3: Python binding to Ammonia HTML sanitizer Rust crate&lt;/li&gt;
&lt;li&gt;00:53:33 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brandtbucher/brandtbucher/blob/master/2023/10/10/a_jit_compiler_for_cpython.pdf&quot;&gt;JIT Coming to Python 3.13&lt;/a&gt; &amp;ndash; Slides related to the upcoming JIT commit for Python 3.13. Note that GitHub paginates the slides if you don&amp;rsquo;t download them, so click the &lt;em&gt;More Pages&lt;/em&gt; button to keep reading.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/cpython/pull/113465&quot;&gt;A copy-and-patch JIT compiler by brandtbucher - Pull Request #113465&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2024/jan/02/bugfix-release/&quot;&gt;Django bugfix releases issued: 4.2.9 and 5.0.1 - Weblog Django&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-double-underscore/&quot;&gt;Single and Double Underscores in Python Names&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn a few Python naming conventions involving single and double underscores (&lt;code&gt;_&lt;/code&gt;). You&amp;rsquo;ll learn how to use this character to differentiate between public and non-public names in APIs, write safe classes for subclassing purposes, avoid name clashes, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bernsteinbear.com/blog/simple-python-repl/&quot;&gt;Building a Small REPL in Python&lt;/a&gt; &amp;ndash; Learn how to write your own REPL by building on top of the one that comes with Python. With a few lines of code, you can customize Python&amp;rsquo;s REPL environment as your own.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://open.substack.com/pub/thepythoncodingstack/p/the-key-to-the-key-parameter-in-python&quot;&gt;The Key to the &lt;code&gt;key&lt;/code&gt; Parameter in Python&lt;/a&gt; &amp;ndash; A parameter named &lt;code&gt;key&lt;/code&gt; is present in several Python functions, such as &lt;code&gt;sorted()&lt;/code&gt;. This article explores what it is and how to use it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-serialize-data/&quot;&gt;Serialize Your Data With Python&lt;/a&gt; &amp;ndash; In this in-depth tutorial, you&amp;rsquo;ll explore the world of data serialization in Python. You&amp;rsquo;ll compare and use different data serialization formats, serialize Python objects and executable code, and handle HTTP message payloads.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.florianbellmann.com/blog/never-taught-qa&quot;&gt;You Are Never Taught How to Build Quality Software&lt;/a&gt; &amp;ndash; Learning how to build quality software isn&amp;rsquo;t part of computer science education. How do we learn it?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=38570261&quot;&gt;Hacker News discussion about the article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dtiesling/flask-muck&quot;&gt;flask-muck: RESTful APIs Using Flask and SqlAlchemy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/messense/nh3&quot;&gt;nh3: Python binding to Ammonia HTML sanitizer Rust crate&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pep8.org/&quot;&gt;PEP 8: The Style Guide for Python Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-magic-methods/&quot;&gt;Python&amp;rsquo;s Magic Methods: Leverage Their Power in Your Classes – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.stanford.edu/~ouster/cgi-bin/book.php&quot;&gt;A Philosophy of Software Design Book - John Ousterhout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=bmSAYlu0NcY&quot;&gt;A Philosophy of Software Design - John Ousterhout - Talks at Google - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/49/&quot;&gt;Episode #49: The Challenges of Developing Into a Python Professional – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2023/12/13/django-sanitize-incoming-html-nh3/&quot;&gt;Django: Sanitize Incoming HTML Fragments With &lt;code&gt;nh3&lt;/code&gt;&lt;/a&gt; &amp;ndash; Allowing users to input HTML in comments or blog posts is problematic and can lead to exploits on your site. For years, the Django community used &lt;code&gt;django-bleach&lt;/code&gt;, but since its deprecation, Adam has been using &lt;code&gt;nh3&lt;/code&gt;, a Rust-based HTML sanitizer.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/nh3/&quot;&gt;nh3 · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-json-data-python/&quot;&gt;Working With JSON in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pickle-serializing-objects/&quot;&gt;Serializing Objects With the Python pickle Module&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E187_02.b1244807c970.mp3" type="audio/mpeg" length="53176864"/>
        <guid isPermaLink="false">2703d565-e741-4d56-9440-361ac2bf4564</guid>
        <pubDate>Fri, 12 Jan 2024 12:00:00 +0000</pubDate>
        <itunes:duration>3261</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_187_Podcast.7b902310847b.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Serializing Data With Python &amp; Underscore Naming Conventions”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>186</itunes:episode>
        <title>Exploring Python in Excel</title>
        <itunes:title>Exploring Python in Excel</itunes:title>
        <link>https://realpython.com/podcasts/rpp/186/</link>
        <description>Are you interested in using your Python skills within Excel? Would you like to share a data science project or visualization as a single Office file? This week on the show, we speak with Principal Architect John Lam and Sr. Cloud Developer Advocate Sarah Kaiser from Microsoft about Python in Excel.</description>
        <content:encoded>&lt;p&gt;Are you interested in using your Python skills within Excel? Would you like to share a data science project or visualization as a single Office file? This week on the show, we speak with Principal Architect John Lam and Sr. Cloud Developer Advocate Sarah Kaiser from Microsoft about Python in Excel.&lt;/p&gt;
&lt;p&gt;John shares the multi-year journey of adding Python to Excel. He describes how the project moved beyond writing user functions in Python to something much more elaborate. He details assembling a team with diverse skills in interface design, languages, and security.&lt;/p&gt;
&lt;p&gt;Sarah discusses the instant convenience of having familiar Python and pandas techniques at your fingertips inside Excel. We cover typical data science workflows and the potential of interactive visualizations within a spreadsheet. We also share multiple resources for you to learn more. &lt;/p&gt;
&lt;p&gt;Note: Python in Excel is currently a preview accessible by joining the Microsoft 365 Insider Program and selecting the Beta Channel.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to clean up messy data using pandas and NumPy. You&amp;rsquo;ll become equipped to deal with a range of problems, such as missing values, inconsistent formatting, malformed records, and nonsensical outliers.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; Sr. Cloud Developer Advocate Sarah Kaiser&lt;/li&gt;
&lt;li&gt;00:02:46 &amp;ndash; Principal Architect John Lam&lt;/li&gt;
&lt;li&gt;00:04:08 &amp;ndash; What is Dev Div?&lt;/li&gt;
&lt;li&gt;00:04:33 &amp;ndash; Python data science inside Excel&lt;/li&gt;
&lt;li&gt;00:09:05 &amp;ndash; Designing features with a focus on sharing&lt;/li&gt;
&lt;li&gt;00:14:28 &amp;ndash; Moving between Excel and Python objects&lt;/li&gt;
&lt;li&gt;00:18:20 &amp;ndash; What libraries are imported by default?&lt;/li&gt;
&lt;li&gt;00:23:11 &amp;ndash; Sharing a workbook with others&lt;/li&gt;
&lt;li&gt;00:26:12 &amp;ndash; Recalculating data workflow&lt;/li&gt;
&lt;li&gt;00:30:07 &amp;ndash; Working in Jupyter Notebook vs Excel&lt;/li&gt;
&lt;li&gt;00:33:03 &amp;ndash; Creating a Python object&lt;/li&gt;
&lt;li&gt;00:33:38 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:02 &amp;ndash; More history and project team&lt;/li&gt;
&lt;li&gt;00:40:19 &amp;ndash; Immediate wins of having Python in Excel&lt;/li&gt;
&lt;li&gt;00:42:28 &amp;ndash; Interactive visualizations&lt;/li&gt;
&lt;li&gt;00:44:34 &amp;ndash; Answering security concerns&lt;/li&gt;
&lt;li&gt;00:49:17 &amp;ndash; Limitations and potential&lt;/li&gt;
&lt;li&gt;00:54:34 &amp;ndash; Creating demo projects&lt;/li&gt;
&lt;li&gt;01:00:25 &amp;ndash; Resources to learn more&lt;/li&gt;
&lt;li&gt;01:02:59 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:10:41 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:12:09 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:13:26 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/microsoft-365/python-in-excel&quot;&gt;Python in Excel – Python to Excel - Microsoft 365&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.microsoft.com/en-us/office/get-started-with-python-in-excel-a33fbcbe-065b-41d3-82cf-23d05397f53d&quot;&gt;Get started with Python in Excel - Microsoft Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.microsoft.com/en-us/office/python-in-excel-dataframes-a10495b2-8372-4f0f-9179-32771fe0dc04&quot;&gt;Python in Excel DataFrames - Microsoft Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.microsoft.com/en-us/office/open-source-libraries-and-python-in-excel-c817c897-41db-40a1-b9f3-d5ffe6d1bf3e&quot;&gt;Open-source libraries and Python in Excel - Microsoft Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://seaborn.pydata.org/tutorial.html&quot;&gt;User guide and tutorial - seaborn 0.13.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ieeexplore.ieee.org/document/9286024&quot;&gt;Assessing and Restoring Reproducibility of Jupyter Notebooks - IEEE Conference Publication - IEEE Xplore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://notes.iunknown.com/python-in-excel/Book+of+Python+in+Excel&quot;&gt;Book of Python in Excel - John Lam&amp;rsquo;s Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/python-in-excel&quot;&gt;GitHub - microsoft/python-in-excel - Python in Microsoft Excel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=DL2M3glz41k&quot;&gt;Use Python in Excel to enhance your data science - Python Day - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482&quot;&gt;Introducing Python in Excel: The Best of Both Worlds for Data Analysis and Visualization - Microsoft Community Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0703/&quot;&gt;PEP 703 – Making the Global Interpreter Lock Optional in CPython - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@crazy4pi314@mathstodon.xyz&quot;&gt;Dr. Sarah Kaiser (@crazy4pi314@mathstodon.xyz) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/john_lam&quot;&gt;John Lam (@john_lam) - X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E186_02_John_Sarah.1c8d95aadf59.mp3" type="audio/mpeg" length="72472858"/>
        <guid isPermaLink="false">79bd4d44-5f9f-4ffc-8fb0-1dd01e930ce3</guid>
        <pubDate>Fri, 05 Jan 2024 12:00:00 +0000</pubDate>
        <itunes:duration>4467</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_186_Podcast.7b99afa7d85f.jpg"/>
        <rp:twitter-handles>@john_lam</rp:twitter-handles>
        <rp:twitter-title>“Exploring Python in Excel” with @john_lam</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>185</itunes:episode>
        <title>2023 Real Python Tutorial &amp; Video Course Wrap-Up</title>
        <itunes:title>2023 Real Python Tutorial &amp; Video Course Wrap-Up</itunes:title>
        <link>https://realpython.com/podcasts/rpp/185/</link>
        <description>Three members of the Real Python team are joining us this week: Kate Finegan, Tappan Moore, and Philipp Acsany. We wanted to share a year-end wrap-up with tutorials, step-by-step projects, code conversations, and video courses that showcase what our team created this year.</description>
        <content:encoded>&lt;p&gt;Three members of the Real Python team are joining us this week: Kate Finegan, Tappan Moore, and Philipp Acsany. We wanted to share a year-end wrap-up with tutorials, step-by-step projects, code conversations, and video courses that showcase what our team created this year.&lt;/p&gt;
&lt;p&gt;Kate helps to shepherd articles through the multi-stage editing process. She and the rest of the team ensure these resources impart crucial Python knowledge and provide a thorough didactic experience. Kate was also instrumental in helping introduce a new group of tutorial authors to the Real Python editorial process and house style. &lt;/p&gt;
&lt;p&gt;Philipp returns to the podcast after our conversation earlier this year, and it was great to talk to him about onboarding new video instructors. Tappan edits all our video courses and ensures that the sound, picture, and animations are just right. He also helped provide feedback to the new instructors on our video creation process.&lt;/p&gt;
&lt;p&gt;We hope you enjoy this review! We look forward to bringing you another year full of great guests, articles, and topics. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-recursion/&quot;&gt;Recursion in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A recursive function is one that calls itself. In this video course, you&amp;rsquo;ll see what recursion is, how it works in Python, and under what circumstances you should use it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:50 &amp;ndash; New Video Instructors&lt;/li&gt;
&lt;li&gt;00:05:31 &amp;ndash; New Tutorial Authors&lt;/li&gt;
&lt;li&gt;00:07:37 &amp;ndash; Shout-out to Aldren Santos&lt;/li&gt;
&lt;li&gt;00:09:27 &amp;ndash; Build a Wordle Clone With Python and Rich&lt;/li&gt;
&lt;li&gt;00:11:37 &amp;ndash; Python Classes: The Power of Object-Oriented Programming&lt;/li&gt;
&lt;li&gt;00:13:43 &amp;ndash; SOLID Principles: Improve Object-Oriented Design in Python&lt;/li&gt;
&lt;li&gt;00:14:47 &amp;ndash; Using the NumPy Random Number Generator&lt;/li&gt;
&lt;li&gt;00:17:58 &amp;ndash; Recursion in Python&lt;/li&gt;
&lt;li&gt;00:19:44 &amp;ndash; Filtering Iterables With Python&lt;/li&gt;
&lt;li&gt;00:21:04 &amp;ndash; Creating Web Maps From Your Data With Python Folium&lt;/li&gt;
&lt;li&gt;00:24:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:13 &amp;ndash; Python Basics Exercises: Building Systems With Classes&lt;/li&gt;
&lt;li&gt;00:31:00 &amp;ndash; Real Python Quizzes&lt;/li&gt;
&lt;li&gt;00:33:53 &amp;ndash; Process Images Using the Pillow Library and Python&lt;/li&gt;
&lt;li&gt;00:36:00 &amp;ndash; How to Sort Unicode Strings Alphabetically in Python&lt;/li&gt;
&lt;li&gt;00:38:36 &amp;ndash; The Python Rich Package: Unleash the Power of Console Text&lt;/li&gt;
&lt;li&gt;00:42:31 &amp;ndash; Embeddings and Vector Databases With ChromaDB&lt;/li&gt;
&lt;li&gt;00:46:41 &amp;ndash; Advent of Code: Solving Puzzles With Python&lt;/li&gt;
&lt;li&gt;00:51:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wordle-clone/&quot;&gt;Build a Wordle Clone With Python and Rich – Step-by-Step Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-classes/&quot;&gt;Python Classes: The Power of Object-Oriented Programming – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/solid-principles-python/&quot;&gt;SOLID Principles: Improve Object-Oriented Design in Python – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/numpy-random-number-generator/&quot;&gt;Using the NumPy Random Number Generator – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-recursion/&quot;&gt;Recursion in Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-filter-function/&quot;&gt;Filtering Iterables With Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-systems-classes-exercises/&quot;&gt;Python Basics Exercises: Building Systems With Classes – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-pillow/&quot;&gt;Process Images Using the Pillow Library and Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-sort-unicode-strings/&quot;&gt;How to Sort Unicode Strings Alphabetically in Python – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-rich-package/&quot;&gt;The Python Rich Package: Unleash the Power of Console Text – Showcase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/chromadb-vector-database/&quot;&gt;Embeddings and Vector Databases With ChromaDB – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-advent-of-code/&quot;&gt;Advent of Code: Solving Puzzles With Python – Code Conversation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-wordle-clone/&quot;&gt;Create a Python Wordle Clone With Rich – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-object/&quot;&gt;Class Concepts: Object-Oriented Programming in Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-inheritance/&quot;&gt;Inheritance and Internals: Object-Oriented Programming in Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/solid-principles-python/&quot;&gt;Design and Guidance: Object-Oriented Programming in Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theregister.com/2023/10/10/ftx_python_code/?ref=biztoc.com&quot;&gt;FTX Python code &amp;lsquo;allowed&amp;rsquo; Alameda Research to spend deposits - The Register&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-recursion/&quot;&gt;Recursion in Python: An Introduction – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-filter-function/&quot;&gt;Python&amp;rsquo;s filter(): Extract Values From Iterables – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-folium-web-maps-from-data/&quot;&gt;Python Folium: Create Web Maps From Your Data – Step-by-Step Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/12/&quot;&gt;Episode #12: Web Scraping in Python: Tools, Techniques, and Legality – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-class/&quot;&gt;Python Basics: Building Systems With Classes – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/image-processing-with-the-python-pillow-library/&quot;&gt;Image Processing With the Python Pillow Library – Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/80/&quot;&gt;Episode #80: Make Your Python App Interactive With a Text User Interface (TUI) – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-systems-classes-exercises/&quot;&gt;Python Basics Exercises: Building Systems With Classes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-pillow/&quot;&gt;Process Images Using the Pillow Library and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-recursion/&quot;&gt;Recursion in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E185_02_2.91aac904cbcb.mp3" type="audio/mpeg" length="51829269"/>
        <guid isPermaLink="false">28415c7c-c998-49ab-a511-a452f81d4551</guid>
        <pubDate>Fri, 29 Dec 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3180</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_185_Podcast.d527d71c5001.jpg"/>
        <rp:twitter-handles>@kehfinegan</rp:twitter-handles>
        <rp:twitter-title>“2023 Real Python Tutorial &amp; Video Course Wrap-Up” with @kehfinegan</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>184</itunes:episode>
        <title>PyCoder&#x27;s Weekly 2023 Wrap Up</title>
        <itunes:title>PyCoder&#x27;s Weekly 2023 Wrap Up</itunes:title>
        <link>https://realpython.com/podcasts/rpp/184/</link>
        <description>It&#x27;s been a fascinating year for the Python language and community. PyCoder&#x27;s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2023. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and Python trends from across the year.</description>
        <content:encoded>&lt;p&gt;It&amp;rsquo;s been a fascinating year for the Python language and community. PyCoder&amp;rsquo;s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2023. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and Python trends from across the year.&lt;/p&gt;
&lt;p&gt;Christopher shares the top five links explored by PyCoder&amp;rsquo;s readers. We also dig into trends we noticed across all the articles and stories this year, including removing dead batteries from the standard library, continuing the effort to speed up Python, using Rust code in libraries, and moving away from microservices. &lt;/p&gt;
&lt;p&gt;We hope you enjoy this review! We look forward to bringing you an upcoming year full of great Python news, articles, topics, and projects. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-basics-class/&quot;&gt;Python Basics: Building Systems With Classes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to work with classes to build complex systems in Python. By composing classes, inheriting from other classes, and overriding class behavior, you&amp;rsquo;ll harness the power of object-oriented programming (OOP).&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:21 &amp;ndash; Python 3.13.0 Alpha 2 Is Now Available&lt;/li&gt;
&lt;li&gt;00:02:46 &amp;ndash; Welcoming the Supporting Developer in Residence&lt;/li&gt;
&lt;li&gt;00:03:25 &amp;ndash; Django 5.0 Released&lt;/li&gt;
&lt;li&gt;00:03:34 &amp;ndash; Django Ninja 1.0 Released&lt;/li&gt;
&lt;li&gt;00:04:11 &amp;ndash; Top Five PyCoder Links&lt;/li&gt;
&lt;li&gt;00:05:00 &amp;ndash; Python 3.12: Cool New Features for You to Try&lt;/li&gt;
&lt;li&gt;00:05:27 &amp;ndash; Speeding Up Your Code When Multiple Cores Aren&amp;rsquo;t an Option&lt;/li&gt;
&lt;li&gt;00:05:46 &amp;ndash; Learning About Code Metrics in Python With Radon&lt;/li&gt;
&lt;li&gt;00:06:07 &amp;ndash; Python 3.12 Preview: More Intuitive and Consistent F-Strings&lt;/li&gt;
&lt;li&gt;00:06:28 &amp;ndash; Design and Guidance: Object-Oriented Programming in Python&lt;/li&gt;
&lt;li&gt;00:07:49 &amp;ndash; Python 3.12: What Didn&amp;rsquo;t Make the Headlines&lt;/li&gt;
&lt;li&gt;00:11:34 &amp;ndash; Python 3.13 Removes 20 Stdlib Modules&lt;/li&gt;
&lt;li&gt;00:13:32 &amp;ndash; Missing Batteries: Essential Libraries You&amp;rsquo;re Missing Out On&lt;/li&gt;
&lt;li&gt;00:16:21 &amp;ndash; More Batteries Please&lt;/li&gt;
&lt;li&gt;00:19:19 &amp;ndash; Three Python Trends in 2023&lt;/li&gt;
&lt;li&gt;00:24:36 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:23 &amp;ndash; Mojo, a Superset of Python&lt;/li&gt;
&lt;li&gt;00:27:54 &amp;ndash; Why Mojo?&lt;/li&gt;
&lt;li&gt;00:28:14 &amp;ndash; Mojo SDK Released for Linux&lt;/li&gt;
&lt;li&gt;00:28:19 &amp;ndash; Mojo: Head-to-Head With Python and Numba&lt;/li&gt;
&lt;li&gt;00:29:22 &amp;ndash; How We Organize Our Very Large Python Monolith&lt;/li&gt;
&lt;li&gt;00:34:11 &amp;ndash; Python and Folium to Visualize My Outdoor Activities&lt;/li&gt;
&lt;li&gt;00:37:13 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/11/python-3130-alpha-2-is-now-available.html&quot;&gt;Python 3.13.0 Alpha 2 Is Now Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/welcoming-the-supporting-developer-in-residence/39702&quot;&gt;Welcoming the Supporting Developer in Residence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/dec/04/django-50-released/&quot;&gt;Django 5.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://django-ninja.dev/whatsnew_v1/&quot;&gt;Django Ninja 1.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Top Five PyCoder Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-new-features/&quot;&gt;Python 3.12: Cool New Features for You to Try&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about the new features in Python 3.12. You&amp;rsquo;ll explore how the new release extends the better error messages and faster code execution found in the previous version, and you&amp;rsquo;ll try out the improvements to f-strings and type variable syntax.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/optimizing-dithering/&quot;&gt;Speeding Up Your Code When Multiple Cores Aren&amp;rsquo;t an Option&lt;/a&gt; &amp;ndash; Parallelism isn&amp;rsquo;t the only answer: often you can optimize low-level code to get significant performance improvements.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/2023/09/20/learning-about-code-metrics-in-python-with-radon/&quot;&gt;Learning About Code Metrics in Python With Radon&lt;/a&gt; &amp;ndash; Radon is a code metrics tool. This article introduces you to it and explains how you can improve your code based on its measurements.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-f-strings/&quot;&gt;Python 3.12 Preview: More Intuitive and Consistent F-Strings&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll preview one of the upcoming features of Python 3.12, which introduces a new f-string syntax formalization and implementation. The new implementation lifts some restrictions and limitations that affect f-string literals in Python versions lower than 3.12.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/solid-principles-python/&quot;&gt;Design and Guidance: Object-Oriented Programming in Python&lt;/a&gt; &amp;ndash; In this video course, you&amp;rsquo;ll learn about the SOLID principles, which are five well-established standards for improving your object-oriented design in Python. By applying these principles, you can create object-oriented code that is more maintainable, extensible, scalable, and testable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics and 2023 Trends:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/python-312-what-didnt-make-the-headlines&quot;&gt;Python 3.12: What Didn&amp;rsquo;t Make the Headlines&lt;/a&gt; &amp;ndash; There&amp;rsquo;s been plenty of coverage about the changes in Python 3.12. This article highlights what fell through the cracks. It talks about performance, &lt;code&gt;pathlib&lt;/code&gt; improvements, and a few other changes.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pep-594-has-been-implemented-python-3-13-removes-20-stdlib-modules/27124&quot;&gt;Python 3.13 Removes 20 Stdlib Modules&lt;/a&gt; &amp;ndash; Core developers are busy working on &lt;a href=&quot;https://peps.python.org/pep-0594/&quot;&gt;PEP 594&lt;/a&gt;, removing dead batteries from Python 3.13. This long post in the discussion forum highlights what work has been completed so far.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martinheinz.dev/blog/96&quot;&gt;Missing Batteries: Essential Libraries You&amp;rsquo;re Missing Out On&lt;/a&gt; &amp;ndash; Even though Python&amp;rsquo;s standard library comes with batteries included, it&amp;rsquo;s still missing some essentials. This article covers libraries for debugging, testing, CLI, and more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://noumenal.es/posts/more-batteries-please/89w/&quot;&gt;More Batteries Please&lt;/a&gt; &amp;ndash; This brief opinion piece from Carlton Gibson states why he thinks we need more functionality in the Python standard library rather than less.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jerrycodes.com/python-trends-in-2023/&quot;&gt;Three Python Trends in 2023&lt;/a&gt; &amp;ndash; An opinion piece on three trends likely to attract attention in the Python world in 2023: Python/Rust co-projects, web apps, and more typing. Read on for examples in each category.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fast.ai/posts/2023-05-03-mojo-launch.html&quot;&gt;Mojo, a Superset of Python&lt;/a&gt; &amp;ndash; &lt;a href=&quot;https://docs.modular.com/mojo/&quot;&gt;Mojo&lt;/a&gt; is a new programming language that&amp;rsquo;s a superset of Python. It aims to fix Python&amp;rsquo;s performance and deployment problems. Jeremy Howard - from fast.ai.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.modular.com/mojo/why-mojo.html&quot;&gt;Why Mojo?&lt;/a&gt; &amp;ndash; &amp;ldquo;A backstory and rationale for why we created the Mojo language.&amp;rdquo; Chris Lattner - from Modular.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.modular.com/blog/mojo-its-finally-here&quot;&gt;Mojo SDK Released for Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/maximsaplin/mojo-head-to-head-with-python-and-numba-5bn9&quot;&gt;Mojo: Head-to-Head With Python and Numba&lt;/a&gt; &amp;ndash; This article covers a Mandelbrot-based benchmark of Python, variations of Numba, and the newly available Mojo. Although Mojo is fast, it takes a lot more work than the author expected to translate Python to it, and with the right parameters, Numba still beats it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.europython.eu/kraken-technologies-how-we-organize-our-very-large-pythonmonolith/&quot;&gt;How We Organize Our Very Large Python Monolith&lt;/a&gt; &amp;ndash; Kraken Technologies is an environmental tech company that does a lot of Python development. One of their applications is a monolith with over 27,000 modules. This article outlines how they keep all of this organized and running.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Project:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hackernoon.com/how-i-used-python-and-folium-to-visualize-my-outdoor-activities&quot;&gt;Python and Folium to Visualize My Outdoor Activities&lt;/a&gt; &amp;ndash; Embark on an expedition of exploration and mapping! Learn how to breathe life into your GPX files and create interactive maps using Python and Folium.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-folium-web-maps-from-data/&quot;&gt;Python Folium: Create Web Maps From Your Data – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja – Real Python Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/175/&quot;&gt;Episode #175: Exploring the New Features of Python 3.12 – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pymotw.com/3/&quot;&gt;Python 3 Module of the Week - PyMOTW 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/171/&quot;&gt;Episode #171: Making Each Line of Code Efficient &amp;amp; Python In Excel – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/psf/requests&quot;&gt;psf/requests: A simple, yet elegant, HTTP library.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://htmx.org/&quot;&gt;htmx - high power tools for html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-systems-classes-exercises/&quot;&gt;Python Basics Exercises: Building Systems With Classes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-class/&quot;&gt;Python Basics: Building Systems With Classes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E184_02_Cx2.01c66af0a50e.mp3" type="audio/mpeg" length="37826378"/>
        <guid isPermaLink="false">54a20899-45a5-4683-9748-4b9cf79803eb</guid>
        <pubDate>Fri, 22 Dec 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2300</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_184_Podcast.7d2ab1f9281f.jpeg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“PyCoder&#x27;s Weekly 2023 Wrap Up”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>183</itunes:episode>
        <title>Exploring Code Reviews in Python and Automating the Process</title>
        <itunes:title>Exploring Code Reviews in Python and Automating the Process</itunes:title>
        <link>https://realpython.com/podcasts/rpp/183/</link>
        <description>What goes into a code review in Python? Is there a difference in how a large organization practices code review compared to a smaller one? What do you do if you&#x27;re a solo developer? This week on the show, Brendan Maginnis and Nick Thapen from Sourcery return to talk about code review and automated code assistance.</description>
        <content:encoded>&lt;p&gt;What goes into a code review in Python? Is there a difference in how a large organization practices code review compared to a smaller one? What do you do if you&amp;rsquo;re a solo developer? This week on the show, Brendan Maginnis and Nick Thapen from Sourcery return to talk about code review and automated code assistance.&lt;/p&gt;
&lt;p&gt;Nick and Brendan discuss their personal experiences with code reviews. From working together at a large company to starting Sourcery as a pair of developers to growing a team, they&amp;rsquo;ve experienced how various organizations review code.&lt;/p&gt;
&lt;p&gt;We discuss the importance of keeping code reviews positive and maintaining developer momentum. Nick and Brendan share techniques for automating organizational code rules and retaining institutional developer knowledge.&lt;/p&gt;
&lt;p&gt;They&amp;rsquo;ve been busy developing new features for Sourcery, moving beyond the current refactoring features. Their team is leveraging LLMs to build an automated code assistant that can perform code reviews, write tests, and answer questions about your codebase. The goal is for it to act as a personalized computer pair programmer. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/using-bpython-enhanced-repl/&quot;&gt;Using the bpython Enhanced REPL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about bpython, an alternative Python REPL that brings code suggestions and many other IDE-like features to the terminal. Once you discover how much bpython can improve your productivity, you&amp;rsquo;ll never want to return to using the vanilla Python REPL again.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:41 &amp;ndash; Why discuss code reviewing?&lt;/li&gt;
&lt;li&gt;00:04:16 &amp;ndash; What were your first code reviews like?&lt;/li&gt;
&lt;li&gt;00:06:31 &amp;ndash; Developing positive techniques as a team&lt;/li&gt;
&lt;li&gt;00:14:07 &amp;ndash; Time between reviews&lt;/li&gt;
&lt;li&gt;00:17:04 &amp;ndash; Will the techniques vary based on the organization size?&lt;/li&gt;
&lt;li&gt;00:18:43 &amp;ndash; Things to standardize and remove from code review&lt;/li&gt;
&lt;li&gt;00:20:06 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:22:06 &amp;ndash; Creating a tool that goes beyond refactoring&lt;/li&gt;
&lt;li&gt;00:23:42 &amp;ndash; Do newer models provide better context for code review?&lt;/li&gt;
&lt;li&gt;00:25:52 &amp;ndash; Working toward an automated pair programmer&lt;/li&gt;
&lt;li&gt;00:33:42 &amp;ndash; Creating rules for an organization&amp;rsquo;s code standards&lt;/li&gt;
&lt;li&gt;00:42:55 &amp;ndash; Comparing completion tools with code assistance&lt;/li&gt;
&lt;li&gt;00:48:18 &amp;ndash; Working on an existing codebase vs a new project&lt;/li&gt;
&lt;li&gt;00:52:11 &amp;ndash; Current state of Sourcery&lt;/li&gt;
&lt;li&gt;00:56:19 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:00:12 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:03:41 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:05:17 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sourcery.ai/code-review/&quot;&gt;Sourcery 1000x Faster Code Review&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/apps/sourcery-ai/installations/select_target&quot;&gt;Sourcery - GitHub Bot Install &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=sourcery.sourcery&quot;&gt;Sourcery - VSCode Extension - Visual Studio Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plugins.jetbrains.com/plugin/12631-sourcery&quot;&gt;Sourcery - IntelliJ IDEs Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/55/&quot;&gt;Episode #55: Getting Started With Refactoring Your Python Code – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://google.github.io/eng-practices/review/reviewer/&quot;&gt;How to do a code review - eng-practices - Google GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sourcery.ai/blog/chatgpt-maintainable-code/&quot;&gt;Generating Code without Generating Technical Debt?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/117/&quot;&gt;Episode #117: Measuring Python Code Quality, Simplicity, and Maintainability – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.sourcery.ai/Tutorials/Custom-Rules/&quot;&gt;Writing Custom Rules - Sourcery Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nuitka.net/&quot;&gt;Nuitka the Python Compiler - Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/154/&quot;&gt;Episode #154: Targeting WebAssembly Platforms &amp;amp; Distilling a Minimum Viable Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://searchworks.stanford.edu/view/13163262&quot;&gt;Speedsolving the cube : easy-to-follow, step-by-step instructions for many popular 3-D puzzles in SearchWorks catalog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://atari.com/blogs/newsroom/my-arcade-releases-the-atari-gamestation-pro-with-200-games&quot;&gt;My Arcade Releases the Atari Gamestation Pro with 200+ Games&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-bpython-enhanced-repl/&quot;&gt;Using the bpython Enhanced REPL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-exercises-string-methods/&quot;&gt;Python Basics Exercises: Strings and String Methods&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E183_03_Brendan_Nick.16e1b41cfbb8.mp3" type="audio/mpeg" length="64389373"/>
        <guid isPermaLink="false">75db12d1-3529-4eed-93e2-b80f9932b0c6</guid>
        <pubDate>Fri, 08 Dec 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3966</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_183_Podcast.7d4381da12c4.jpg"/>
        <rp:twitter-handles>@brendan_m6s, @nthapen</rp:twitter-handles>
        <rp:twitter-title>“Exploring Code Reviews in Python and Automating the Process” with @brendan_m6s, @nthapen</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>182</itunes:episode>
        <title>Building a Python JSON Parser &amp; Discussing Ideas for PEPs</title>
        <itunes:title>Building a Python JSON Parser &amp; Discussing Ideas for PEPs</itunes:title>
        <link>https://realpython.com/podcasts/rpp/182/</link>
        <description>Have you thought of a way to improve the Python language? How do you share your idea with core developers and start a discussion in the Python community? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you thought of a way to improve the Python language? How do you share your idea with core developers and start a discussion in the Python community? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We consider a couple of Python syntax and functional ideas posted to the discussions on python.org. The first idea is for simplifying the syntax of a function&amp;rsquo;s keyword arguments, and the second is for the ability to return a &lt;code&gt;NamedTuple&lt;/code&gt; from a function. The threads reveal steps within the Python Enhancement Proposal (PEP) process and the goal of finding a sponsor.&lt;/p&gt;
&lt;p&gt;Christopher covers a tutorial on building a JSON-like parser in Python. The project is a solid place to start if you want to learn about parsing and developing rules for recognizing syntax and extracting data.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a couple of release announcements and news items, a step-by-step guide to building a hangman game for the command line in Python, the reasons why the Django admin is supposedly ugly and ways to customize it to differentiate admin environments, an explanation of confusing git terminology, a project to extract links from a remote HTML resource, and a regex crossword game.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-advent-of-code/&quot;&gt;Advent of Code: Solving Puzzles With Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Advent of Code is an online advent calendar that shares new programming puzzles each day from December 1 to the 25. In this Code Conversation, you&amp;rsquo;ll learn why solving programming puzzles can be beneficial and how you can get started with Advent of Code using Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:46 &amp;ndash; PyPI has completed its first security audit&lt;/li&gt;
&lt;li&gt;00:03:55 &amp;ndash; Python Developers Survey 2023&lt;/li&gt;
&lt;li&gt;00:04:45 &amp;ndash; Wagtail 5.2 (LTS) Released&lt;/li&gt;
&lt;li&gt;00:05:02 &amp;ndash; How many Python core devs use typing?&lt;/li&gt;
&lt;li&gt;00:07:51 &amp;ndash; Build a Hangman Game for the Command Line in Python&lt;/li&gt;
&lt;li&gt;00:17:30 &amp;ndash; Why Is the Django Admin &amp;ldquo;Ugly&amp;rdquo;?&lt;/li&gt;
&lt;li&gt;00:20:37 &amp;ndash; Customize the Django Admin to Differentiate Environments&lt;/li&gt;
&lt;li&gt;00:22:48 &amp;ndash; Confusing git Terminology&lt;/li&gt;
&lt;li&gt;00:30:01 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:31 &amp;ndash; Let&amp;rsquo;s Make a Silly JSON-like Parser&lt;/li&gt;
&lt;li&gt;00:34:31 &amp;ndash; Idea: Return a &lt;code&gt;NamedTuple&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:45:08 &amp;ndash; Idea: Syntactic Sugar to Encourage Use of Named Arguments&lt;/li&gt;
&lt;li&gt;00:50:31 &amp;ndash; grablinks: Extract Links From a Remote HTML Resource&lt;/li&gt;
&lt;li&gt;00:52:43 &amp;ndash; Regex Crossword&lt;/li&gt;
&lt;li&gt;00:55:46 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-11-14-1-pypi-completes-first-security-audit/&quot;&gt;PyPI has completed its first security audit - The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://survey.alchemer.com/s3/7554174/python-developers-survey-2023&quot;&gt;Python Developers Survey 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.wagtail.org/en/latest/releases/5.2.html&quot;&gt;Wagtail 5.2 (LTS) Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.orsinium.dev/posts/py/core-devs-typing/&quot;&gt;How many Python core devs use typing? - Gram Publishing v2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-hangman/&quot;&gt;Build a Hangman Game for the Command Line in Python&lt;/a&gt; &amp;ndash; In this step-by-step project, you&amp;rsquo;ll learn how to write the game of hangman in Python for the command line. You&amp;rsquo;ll learn how to structure the game as a text-based interface (TUI) application.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.coderedcorp.com/blog/why-is-the-django-admin-ugly/&quot;&gt;Why Is the Django Admin &amp;ldquo;Ugly&amp;rdquo;?&lt;/a&gt; &amp;ndash; When Vince was talking with people at DjangoCon US, one question kept coming up: &lt;em&gt;Why is the Django admin so &amp;ldquo;ugly&amp;rdquo;?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://406.ch/writing/customize-the-django-admin-to-differentiate-environments/&quot;&gt;Customize the Django Admin to Differentiate Environments&lt;/a&gt; &amp;ndash; A quick post about changing the color scheme of the Django admin depending on what environment the code is deployed within. Although Django specific, this is a great idea&amp;mdash;visually reminding your admins and developers whether they&amp;rsquo;re in dev, staging, or production.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jvns.ca/blog/2023/11/01/confusing-git-terminology/&quot;&gt;Confusing git Terminology&lt;/a&gt; &amp;ndash; Julia is working on a doc that explains git and, in doing so, polled some people about what git terminology they found confusing. This post covers the most common responses and attempts to clear up the confusion.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arunmani.in/articles/silly-json-parser/&quot;&gt;Let&amp;rsquo;s Make a Silly JSON-like Parser&lt;/a&gt; &amp;ndash; This article goes into deep detail on how you would construct a JSON parser in Python. If you&amp;rsquo;re new to parsing, then this is a great place to start.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/an-idea-to-allow-implicit-return-of-namedtuples/37546&quot;&gt;Idea: Return a &lt;code&gt;NamedTuple&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/syntactic-sugar-to-encourage-use-of-named-arguments/36217&quot;&gt;Idea: Syntactic Sugar to Encourage Use of Named Arguments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/the-real-tokai/grablinks&quot;&gt;grablinks: Extract Links From a Remote HTML Resource&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://regexcrossword.com/&quot;&gt;Regex Crossword&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ole.michelsen.dk/portfolio/regexmobile/&quot;&gt;Regex Crossword Mobile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/2/&quot;&gt;Episode #2: Learn Python Skills While Creating Games – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/179/&quot;&gt;Episode #179: Improving Your Git Developer Experience in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-namedtuple/&quot;&gt;Write Pythonic and Clean Code With &lt;code&gt;namedtuple&lt;/code&gt; – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-advent-of-code/&quot;&gt;Advent of Code: Solving Puzzles With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-namedtuple/&quot;&gt;Writing Clean, Pythonic Code With namedtuple&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E182_02_Cx2.e75022352095.mp3" type="audio/mpeg" length="55305948"/>
        <guid isPermaLink="false">d9a14dda-f886-4da9-8f76-2793a7316a5d</guid>
        <pubDate>Fri, 01 Dec 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3391</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_182_Podcast.a4a3ab1f6e36.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building a Python JSON Parser &amp; Discussing Ideas for PEPs”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>181</itunes:episode>
        <title>Computational Thinking &amp; Learning Python During an AI Revolution</title>
        <itunes:title>Computational Thinking &amp; Learning Python During an AI Revolution</itunes:title>
        <link>https://realpython.com/podcasts/rpp/181/</link>
        <description>Has the current growth of artificial intelligence (AI) systems made you wonder what the future holds for Python developers? What are the hidden benefits of learning to program in Python and practicing computational thinking? This week on the show, we speak with author Lawrence Gray about his upcoming book &quot;Mastering Python: A Problem Solving Approach.&quot;</description>
        <content:encoded>&lt;p&gt;Has the current growth of artificial intelligence (AI) systems made you wonder what the future holds for Python developers? What are the hidden benefits of learning to program in Python and practicing computational thinking? This week on the show, we speak with author Lawrence Gray about his upcoming book &amp;ldquo;Mastering Python: A Problem Solving Approach.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Lawrence shares how learning Python helped him through a dark and trying time. He developed lifelong skills that he wants to pass along through teaching and authoring a book.&lt;/p&gt;
&lt;p&gt;We discuss what you can do to prepare for a future where coding jobs are automated through AI. He shares ways that Python can help build the higher-order thinking skills required by future careers. We also talk about how Python can help with computational thinking and promote cognitive development.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Site24x7.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/looping-with-python-enumerate/&quot;&gt;Looping With Python &lt;code&gt;enumerate()&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once you learn about &lt;code&gt;for&lt;/code&gt; loops in Python, you know that using an index to access items in a sequence isn&amp;rsquo;t very Pythonic. So what do you do when you need that index value? In this course, you&amp;rsquo;ll learn all about Python&amp;rsquo;s built-in &lt;code&gt;enumerate()&lt;/code&gt;, where it&amp;rsquo;s used, and how you can emulate its behavior.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:29 &amp;ndash; Learning Python and changing how you think&lt;/li&gt;
&lt;li&gt;00:05:07 &amp;ndash; What is the goal of the book?&lt;/li&gt;
&lt;li&gt;00:05:59 &amp;ndash; Discovering Python during a dark period&lt;/li&gt;
&lt;li&gt;00:10:32 &amp;ndash; What is unique to Python that helped you?&lt;/li&gt;
&lt;li&gt;00:12:43 &amp;ndash; How did you start teaching Python?&lt;/li&gt;
&lt;li&gt;00:14:40 &amp;ndash; Teaching Python to art students&lt;/li&gt;
&lt;li&gt;00:18:52 &amp;ndash; Sponsor: Site24x7.com&lt;/li&gt;
&lt;li&gt;00:19:48 &amp;ndash; Why write about computational thinking?&lt;/li&gt;
&lt;li&gt;00:21:55 &amp;ndash; Why learn Python now?&lt;/li&gt;
&lt;li&gt;00:25:18 &amp;ndash; Multiple modalities for Python&lt;/li&gt;
&lt;li&gt;00:29:32 &amp;ndash; Other optimistic thoughts on the future&lt;/li&gt;
&lt;li&gt;00:34:15 &amp;ndash; Reskilling a workforce&lt;/li&gt;
&lt;li&gt;00:37:16 &amp;ndash; What skills can be developed?&lt;/li&gt;
&lt;li&gt;00:41:13 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:42:40 &amp;ndash; Bloom&amp;rsquo;s taxonomy&lt;/li&gt;
&lt;li&gt;00:48:00 &amp;ndash; Sharing the positive impact of Python&lt;/li&gt;
&lt;li&gt;00:50:26 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:51:32 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:52:45 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:52:47 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.weforum.org/publications/the-future-of-jobs-report-2023/digest/&quot;&gt;The Future of Jobs Report 2023 - World Economic Forum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lawrencegray.com/mastering-python-book&quot;&gt;Mastering Python: Get Access to Chapter 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Computational_thinking&quot;&gt;Computational thinking - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bloom&#x27;s_taxonomy&quot;&gt;Bloom&amp;rsquo;s taxonomy - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.allendowney.com/blog/&quot;&gt;Probably Overthinking It – Data science, Bayesian Statistics, and other ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/index.html&quot;&gt;scikit-learn: machine learning in Python - documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scikit-yb.org/en/latest/index.html&quot;&gt;Yellowbrick: Machine Learning Visualization - documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2024/&quot;&gt;PyCon US 2024 - PyCon US 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/events/education-summit/index.html&quot;&gt;Education Summit - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pytorch.org/get-started/locally/&quot;&gt;PyTorch - Get Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lawrencegray.com/python&quot;&gt;Lawrence Gray Personal Site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/knn-python/&quot;&gt;Using k-Nearest Neighbors (kNN) in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-write-pythonic-loops/&quot;&gt;How to Write Pythonic Loops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/looping-with-python-enumerate/&quot;&gt;Looping With Python enumerate()&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E181_03_Lawrence.b5ae93279f16.mp3" type="audio/mpeg" length="53082137"/>
        <guid isPermaLink="false">548c22da-921d-47dc-9964-e6d37af42e3f</guid>
        <pubDate>Fri, 17 Nov 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3252</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_181_Podcast.e793e13b8998.jpg"/>
        <rp:twitter-handles>@larrygray</rp:twitter-handles>
        <rp:twitter-title>“Computational Thinking &amp; Learning Python During an AI Revolution” with @larrygray</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>180</itunes:episode>
        <title>Studying Python Software Architecture &amp; Creating Lambda Expressions</title>
        <itunes:title>Studying Python Software Architecture &amp; Creating Lambda Expressions</itunes:title>
        <link>https://realpython.com/podcasts/rpp/180/</link>
        <description>Have you moved through the fundamentals of Python, and are you now considering building a more extensive project or complete application? Where can you study the architecture of existing Python projects and learn best practices? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you moved through the fundamentals of Python, and are you now considering building a more extensive project or complete application? Where can you study the architecture of existing Python projects and learn best practices? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a set of resources that developers can study to learn how to structure projects. The collection was shared in a blog post titled &amp;ldquo;Great Resources a Beginner Might Not Find So Easily.&amp;rdquo; It includes a pair of books on the architecture of large software applications and another aimed at more modest projects.&lt;/p&gt;
&lt;p&gt;We consider when you should use lambda expressions in your Python code. These one-line expressions create anonymous functions. How do they differ from standard functions, and where is it appropriate to use them? &lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a couple of release announcements, an explanation of Python as a compiled language, a discussion covering the controversy about the recent Flask release, a project for writing less Selenium code, and a project to create ASCII art with Python.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Site24x7.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/solid-principles-python/&quot;&gt;Design and Guidance: Object-Oriented Programming in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about the SOLID principles, which are five well-established standards for improving your object-oriented design in Python. By applying these principles, you can create object-oriented code that is more maintainable, extensible, scalable, and testable.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:02:50 &amp;ndash; PyCon US 2024 Call for Proposals&lt;/li&gt;
&lt;li&gt;00:03:18 &amp;ndash; Django 5.0 Beta 1 Released&lt;/li&gt;
&lt;li&gt;00:03:29 &amp;ndash; Django security releases issued: 4.2.7, 4.1.13, and 3.2.23&lt;/li&gt;
&lt;li&gt;00:03:51 &amp;ndash; The Ruff Formatter: Python&amp;rsquo;s Fastest Formatter&lt;/li&gt;
&lt;li&gt;00:04:50 &amp;ndash; What Are Lambda Expressions?&lt;/li&gt;
&lt;li&gt;00:12:01 &amp;ndash; Sponsor: Site24x7.com&lt;/li&gt;
&lt;li&gt;00:12:56 &amp;ndash; Python Is a Compiled Language&lt;/li&gt;
&lt;li&gt;00:16:01 &amp;ndash; Great Resources a Beginner Might Not Find So Easily&lt;/li&gt;
&lt;li&gt;00:27:01 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:32 &amp;ndash; We Have to Talk About Flask&lt;/li&gt;
&lt;li&gt;00:41:46 &amp;ndash; selenium-python-helium: Write Less Selenium Code&lt;/li&gt;
&lt;li&gt;00:45:23 &amp;ndash; pyfiglet: An implementation of figlet written in Python&lt;/li&gt;
&lt;li&gt;00:47:17 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.com/pyconus2024/&quot;&gt;PyCon US 2024 Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/oct/23/django-50-beta-1-released/&quot;&gt;Django 5.0 Beta 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/nov/01/security-releases/&quot;&gt;Django security releases issued: 4.2.7, 4.1.13, and 3.2.23 | Weblog | Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/2023/10/25/the-ruff-formatter-pythons-fastest-formatter/&quot;&gt;The Ruff Formatter: Python&amp;rsquo;s Fastest Formatter&lt;/a&gt; &amp;ndash; You may have come across Ruff, a linter that&amp;rsquo;s been on the scene for about a year. Well, it recently added formatting to its features. This article shows you how, including the configuration option to allow single-quote style.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/lambda-expressions/&quot;&gt;What Are Lambda Expressions?&lt;/a&gt; &amp;ndash; This post teaches you what lambda expressions are and how they get used in Python. It shows several examples and also covers when to avoid lambda expressions.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://eddieantonio.ca/blog/2023/10/25/python-is-a-compiled-language/&quot;&gt;Python Is a Compiled Language&lt;/a&gt; &amp;ndash; Python is interpreted, but it interprets compiled code. This distinction can be confusing to students, and this instructor does a deep dive on where the line between the concepts sits.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://death.andgravity.com/aosa&quot;&gt;Great Resources a Beginner Might Not Find So Easily&lt;/a&gt; &amp;ndash; Are you having trouble making the modules work together in a larger project? Have you tried looking at popular projects as models, but did their size and scope put you off? Did you find it hard to see why they did what they did? Resources about this do exist, but they&amp;rsquo;re scattered all over&amp;hellip;unless you know where to look.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/we-have-to-talk-about-flask&quot;&gt;We Have to Talk About Flask&lt;/a&gt; &amp;ndash; The most recent release of Flask and Werkzeug have introduced backward incompatible changes that are affecting popular add-ons. Miguel writes about how this is a common occurrence and why it keeps happening.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/mitsuhiko/status/1719716779532931466&quot;&gt;Armin Ronacher on X: Flask today is a different framework than the one I have created&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/some-more-to-talk-about-flask&quot;&gt;Some More To Talk About Flask - miguelgrinberg.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=37944326&quot;&gt;We Have to Talk About Flask - Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/18/#t=3613&quot;&gt;Episode #18: Ten Years of Flask: Conversation With Creator Armin Ronacher - The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mherrmann/selenium-python-helium&quot;&gt;selenium-python-helium: Write Less Selenium Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyfiglet/&quot;&gt;pyfiglet: An implementation of figlet written in Python - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/reference/expressions.html#lambda&quot;&gt;Lambdas - Expressions - Python 3.12.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-lambda/#appropriate-uses-of-lambda-expressions&quot;&gt;How to Use Python Lambda Functions - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://aosabook.org/en/index.html#aosa2&quot;&gt;The Architecture of Open Source Applications&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/9/&quot;&gt;Episode #9: Leveling Up Your Python Literacy and Finding Python Projects to Study - The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/62/&quot;&gt;Episode #62: Selecting the Ideal Data Structure &amp;amp; Unravelling Python&amp;rsquo;s &amp;ldquo;pass&amp;rdquo; and &amp;ldquo;with&amp;rdquo; - The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/asciimatics/&quot;&gt;asciimatics - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-object/&quot;&gt;Class Concepts: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/solid-principles-python/&quot;&gt;Design and Guidance: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-class-inheritance/&quot;&gt;Inheritance and Internals: Object-Oriented Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E180_03_Cx2.a883fdaf6b17.mp3" type="audio/mpeg" length="47360139"/>
        <guid isPermaLink="false">476c8bdc-5640-4836-ba6f-820aae783844</guid>
        <pubDate>Fri, 10 Nov 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2897</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_180_Podcast.caa28f5fd1ec.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Studying Python Software Architecture &amp; Creating Lambda Expressions”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>179</itunes:episode>
        <title>Improving Your Git Developer Experience in Python</title>
        <itunes:title>Improving Your Git Developer Experience in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/179/</link>
        <description>Are you getting by with a few fundamental commands for Git when building your Python projects? Would you like to improve your version control techniques and become more efficient with the Git command line? This week on the show, Adam Johnson is back to talk about his new book, &quot;Boost Your Git DX.&quot;</description>
        <content:encoded>&lt;p&gt;Are you getting by with a few fundamental commands for Git when building your Python projects? Would you like to improve your version control techniques and become more efficient with the Git command line? This week on the show, Adam Johnson is back to talk about his new book, &amp;ldquo;Boost Your Git DX.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Adam brings advice about creating a Git configuration, enabling autocorrect, and customizing a global ignore file. He combed through the cryptic documentation and found the valuable developer settings, so you won&amp;rsquo;t have to.&lt;/p&gt;
&lt;p&gt;Adam also shares tools and settings to speed up your terminal workflows. We discuss configuring Zsh, creating aliases, and comparing diffs. We briefly dig into the most recent update to Django and his work on the project.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Taipy.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-git-github-intro/&quot;&gt;Introduction to Git and GitHub for Python Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What is Git,  what is GitHub, and what&amp;rsquo;s the difference? Learn the basics of Git and GitHub from the perspective of a Pythonista in this step-by-step video course.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:13 &amp;ndash; When did you start working on this book?&lt;/li&gt;
&lt;li&gt;00:06:11 &amp;ndash; Git&amp;rsquo;s tendency to be inscrutable&lt;/li&gt;
&lt;li&gt;00:08:57 &amp;ndash; Audience for the book&lt;/li&gt;
&lt;li&gt;00:09:47 &amp;ndash; What have you learned about writing?&lt;/li&gt;
&lt;li&gt;00:13:41 &amp;ndash; What were you most excited to share?&lt;/li&gt;
&lt;li&gt;00:14:34 &amp;ndash; Global Git ignore&lt;/li&gt;
&lt;li&gt;00:19:53 &amp;ndash; Sponsor: Taipy&lt;/li&gt;
&lt;li&gt;00:20:58 &amp;ndash; Backing up configuration&lt;/li&gt;
&lt;li&gt;00:22:37 &amp;ndash; Git autocorrect&lt;/li&gt;
&lt;li&gt;00:24:48 &amp;ndash; Recovering from mistakes&lt;/li&gt;
&lt;li&gt;00:27:58 &amp;ndash; Creating terminal aliases in Zsh&lt;/li&gt;
&lt;li&gt;00:31:59 &amp;ndash; Using a Colemak keyboard layout&lt;/li&gt;
&lt;li&gt;00:34:33 &amp;ndash; Changing the diff-options to histogram&lt;/li&gt;
&lt;li&gt;00:37:22 &amp;ndash; Altering the global configuration file&lt;/li&gt;
&lt;li&gt;00:39:36 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:05 &amp;ndash; Brief history of the Git project&lt;/li&gt;
&lt;li&gt;00:44:27 &amp;ndash; delta - syntax-highlighting pager for git, diff, and grep output&lt;/li&gt;
&lt;li&gt;00:45:22 &amp;ndash; pygments-git - Pygments lexers for Git output and files&lt;/li&gt;
&lt;li&gt;00:46:56 &amp;ndash; What are you excited about in the world of Git?&lt;/li&gt;
&lt;li&gt;00:49:17 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:52:51 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:53:50 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:55:23 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adamchainz.gumroad.com/l/bygdx&quot;&gt;Boost Your Git DX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2023/10/04/boost-your-git-dx-out-now/&quot;&gt;&amp;ldquo;Boost Your Git DX&amp;rdquo; out now - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamchainz.gumroad.com/l/byddx&quot;&gt;Boost Your Django DX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2022/11/06/git-set-up-a-global-ignore-file/&quot;&gt;Git: How to set up a global ignore file - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreexcludesFile&quot;&gt;Git - git-config Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2022/10/26/git-how-to-enable-autocorrect/&quot;&gt;Git: How to enable autocorrect - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jvns.ca/blog/2018/10/27/new-zine--oh-shit--git-/&quot;&gt;New zine: Oh shit, Git!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ohshitgit.com/&quot;&gt;Oh Shit, Git!?!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://git-scm.com/docs/git-reflog&quot;&gt;Git - git-reflog Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ohmyz.sh/&quot;&gt;Oh My Zsh - a delightful &amp;amp; open source framework for Zsh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://starship.rs/&quot;&gt;Starship: Cross-Shell Prompt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://git-scm.com/docs/diff-options&quot;&gt;Git - diff-options Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration&quot;&gt;Git - Git Configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://colemak.com/&quot;&gt;Colemak - Keyboard Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dandavison/delta&quot;&gt;delta: A syntax-highlighting pager for Git, diff, and grep output&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pygments-git/&quot;&gt;pygments-git - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sapling-scm.com/&quot;&gt;Sapling from Meta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/martinvonz/jj&quot;&gt;Jujutsu: A Git-compatible DVCS that is both simple and powerful&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/oct/23/django-50-beta-1-released/&quot;&gt;Django 5.0 beta 1 released - Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/&quot;&gt;Adam Johnson&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@adamchainz&quot;&gt;Adam Johnson (@adamchainz@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/projects/&quot;&gt;Projects - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-git-github-intro/&quot;&gt;Introduction to Git and GitHub for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E179_03_Adam.dac8685c9cab.mp3" type="audio/mpeg" length="55168699"/>
        <guid isPermaLink="false">b3411130-8cb1-4ca2-8013-5e0c335ccfc6</guid>
        <pubDate>Fri, 03 Nov 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3386</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_179_Podcast.c5f9d1390f7e.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Improving Your Git Developer Experience in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>178</itunes:episode>
        <title>Guiding Scientific Python Library Development</title>
        <itunes:title>Guiding Scientific Python Library Development</itunes:title>
        <link>https://realpython.com/podcasts/rpp/178/</link>
        <description>How do you prepare a scientific Python project for sharing with others? Could you use some best practices and guidance for packaging, documentation, and testing? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you prepare a scientific Python project for sharing with others? Could you use some best practices and guidance for packaging, documentation, and testing? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about the creation of the Scientific Python Library Development Guide. The guide was finalized during the 2023 Scientific Python Developer Summit and is a resource for modern packaging. It includes sections of tutorials, principles, templates, and common patterns.&lt;/p&gt;
&lt;p&gt;Christopher shares a recent Real Python tutorial about sorting Unicode strings in Python. He covers some of the pitfalls and ways to avoid them. The tutorial includes multiple third-party libraries to assist in wrangling Unicode characters.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a couple of release announcements, information on namespaces and variable scope in Python, benchmark comparisons of Numba and Mojo, a discussion of recent so-called AI fails, a TUI for log files with a merged timeline, a cross-platform GUI building tool similar to HyperCard, and a project for reproducing exact &lt;code&gt;argparse&lt;/code&gt; arguments.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this Code Conversation video course, you&amp;rsquo;ll take a deep dive into how scopes and closures work in Python. To do this, you&amp;rsquo;ll use a debugger to walk through some sample code, and then you&amp;rsquo;ll take a peek under the hood to see how Python holds variables internally.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:30 &amp;ndash; Python 3.13.0 alpha 1 is now available&lt;/li&gt;
&lt;li&gt;00:03:20 &amp;ndash; core.py - Podcast&lt;/li&gt;
&lt;li&gt;00:03:53 &amp;ndash; PEP 730 - Adding iOS as a supported platform&lt;/li&gt;
&lt;li&gt;00:05:22 &amp;ndash; Mojo🔥 is now available on Mac&lt;/li&gt;
&lt;li&gt;00:06:28 &amp;ndash; How to Sort Unicode Strings Alphabetically in Python&lt;/li&gt;
&lt;li&gt;00:11:48 &amp;ndash; Python Variables: Namespaces and Variable Scope&lt;/li&gt;
&lt;li&gt;00:18:18 &amp;ndash; Mojo: Head-to-Head With Python and Numba&lt;/li&gt;
&lt;li&gt;00:27:25 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:50 &amp;ndash; The Scientific Python Library Development Guide&lt;/li&gt;
&lt;li&gt;00:32:47 &amp;ndash; I&amp;rsquo;m banned for life from advertising on Meta&lt;/li&gt;
&lt;li&gt;00:48:03 &amp;ndash; &lt;code&gt;logmerger&lt;/code&gt;: TUI for Log Files With Merged Timeline&lt;/li&gt;
&lt;li&gt;00:50:34 &amp;ndash; CardStock: Cross-Platform GUI Building Tool&lt;/li&gt;
&lt;li&gt;00:54:24 &amp;ndash; &lt;code&gt;reverse_argparse&lt;/code&gt;: Tell the User What They Ran&lt;/li&gt;
&lt;li&gt;00:56:25 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/10/python-3130-alpha-1-is-now-available.html&quot;&gt;Python Insider: Python 3.13.0 alpha 1 is now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://podcasters.spotify.com/pod/show/corepy&quot;&gt;core.py - Podcast by Pablo Galindo and Łukasz Langa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0730/&quot;&gt;PEP 730 - Adding iOS as a supported platform - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.modular.com/blog/mojo-is-now-available-on-mac&quot;&gt;Modular: Mojo🔥 is now available on Mac&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-sort-unicode-strings/&quot;&gt;How to Sort Unicode Strings Alphabetically in Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to correctly sort Unicode strings in Python while avoiding common pitfalls. You&amp;rsquo;ll explore powerful third-party libraries implementing the complete Unicode Collation Algorithm (UCA), as well as standard library modules and a few handmade solutions.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://muhammadraza.me/2023/Python-Namespace/&quot;&gt;Python Variables: Namespaces and Variable Scope&lt;/a&gt; &amp;ndash; This post is a comprehensive guide on namespaces and variable scope. Learn about the four different namespaces and how to access each.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/maximsaplin/mojo-head-to-head-with-python-and-numba-5bn9&quot;&gt;Mojo: Head-to-Head With Python and Numba&lt;/a&gt; &amp;ndash; This article covers a Mandelbrot-based benchmark of Python, variations of Numba, and the newly available Mojo. Although Mojo is fast, it takes a lot more work than the author expected to translate Python to it, and with the right parameters, Numba still beats it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.scientific-python.org/scientific-python/dev-summit-1-development-guide/&quot;&gt;The Scientific Python Development Guide&lt;/a&gt; &amp;ndash; This article talks about the release of the Scientific Python Development Guide, which documents Python package development. It includes cookie-cutter templates and repo tools.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lerner.co.il/2023/10/19/im-banned-for-life-from-advertising-on-meta-because-i-teach-python/&quot;&gt;I&amp;rsquo;m banned for life from advertising on Meta. Because I teach Python. — Reuven Lerner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.404media.co/ai-generated-mushroom-foraging-books-amazon/&quot;&gt;&amp;lsquo;Life or Death:&amp;rsquo; AI-Generated Mushroom Foraging Books Are All Over Amazon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ptmcg/logmerger&quot;&gt;&lt;code&gt;logmerger&lt;/code&gt;: TUI for Log Files With Merged Timeline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/benjie-git/CardStock&quot;&gt;CardStock: Cross-Platform GUI Building Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sandialabs/reverse_argparse&quot;&gt;&lt;code&gt;reverse_argparse&lt;/code&gt;: Tell the User What They Ran&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/&quot;&gt;Write once. Deploy everywhere. - BeeWare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-scope-legb-rule/&quot;&gt;Python Scope &amp;amp; the LEGB Rule: Resolving Names in Your Code - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thonny.org/&quot;&gt;Thonny, Python IDE for beginners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-hep.org/about&quot;&gt;Scikit-HEP - About&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/39/&quot;&gt;Episode #39: Generators, Coroutines, and Learning Python Through Exercises - The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arstechnica.com/gadgets/2019/05/25-years-of-hypercard-the-missing-link-to-the-web/&quot;&gt;30-plus years of HyperCard, the missing link to the Web - Ars Technica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cardstock.run/&quot;&gt;CardStock.run - Quickly and easily build apps on the web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E178_02_Cx2.58dc666e4379.mp3" type="audio/mpeg" length="55945309"/>
        <guid isPermaLink="false">e4323818-15ed-4417-a6c6-9e8b460a21c5</guid>
        <pubDate>Fri, 27 Oct 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3430</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_178_Podcast.f291fa0ae7b6.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Guiding Scientific Python Library Development”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>177</itunes:episode>
        <title>Welcoming PyPI&#x27;s Safety &amp; Security Engineer Mike Fiedler</title>
        <itunes:title>Welcoming PyPI&#x27;s Safety &amp; Security Engineer Mike Fiedler</itunes:title>
        <link>https://realpython.com/podcasts/rpp/177/</link>
        <description>You may remember a recent Python Package Index (PyPI) announcement about hiring a full-time security engineer. We&#x27;ve also mentioned several current security initiatives from PyPI. This week on the show, we talk with Mike Fiedler about accepting this new role and securing accounts on PyPI.</description>
        <content:encoded>&lt;p&gt;You may remember a recent Python Package Index (PyPI) announcement about hiring a full-time security engineer. We&amp;rsquo;ve also mentioned several current security initiatives from PyPI. This week on the show, we talk with Mike Fiedler about accepting this new role and securing accounts on PyPI.&lt;/p&gt;
&lt;p&gt;Mike talks about how he started as a contributor to PyPI and eventually became a maintainer. We dig into why he fits this new role well and what his responsibilities are.&lt;/p&gt;
&lt;p&gt;We discuss the initiative to secure accounts using two-factor authentication (2FA) methods. Mike also explains how package maintainers can adopt a new, more secure publishing method called trusted publishing that doesn&amp;rsquo;t require long-lived passwords.&lt;/p&gt;
&lt;p&gt;We also discuss Mike&amp;rsquo;s recent talk called &amp;ldquo;How to Give Back to Open Source Without Losing Your Mind.&amp;rdquo; Mike shares advice and resources for finding your own contribution entry points.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Index. Quickly get up to speed on everything from naming your package to configuring it using &lt;code&gt;setup.cfg&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:11 &amp;ndash; PyPI Safety and Security Engineer&lt;/li&gt;
&lt;li&gt;00:05:21 &amp;ndash; Why did you initially become a PyPI contributor?&lt;/li&gt;
&lt;li&gt;00:11:26 &amp;ndash; What are you most excited about in your new role?&lt;/li&gt;
&lt;li&gt;00:12:02 &amp;ndash; Current security concerns&lt;/li&gt;
&lt;li&gt;00:15:07 &amp;ndash; Focus on malicious package reporting&lt;/li&gt;
&lt;li&gt;00:16:30 &amp;ndash; 2FA enforcement and building trust&lt;/li&gt;
&lt;li&gt;00:26:51 &amp;ndash; Managing credentials and password managers&lt;/li&gt;
&lt;li&gt;00:29:24 &amp;ndash; Forms of 2FA &lt;/li&gt;
&lt;li&gt;00:31:48 &amp;ndash; Trusted publishers&lt;/li&gt;
&lt;li&gt;00:38:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:28 &amp;ndash; Updating an older project&lt;/li&gt;
&lt;li&gt;00:41:44 &amp;ndash; Evolution of security&lt;/li&gt;
&lt;li&gt;00:43:06 &amp;ndash; Typosquatting and evolving security&lt;/li&gt;
&lt;li&gt;00:49:13 &amp;ndash; How To Give Back to Open Source Without Losing Your Mind&lt;/li&gt;
&lt;li&gt;00:52:48 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:54:45 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:57:06 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:57:37 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-08-04-pypi-hires-safety-engineer/&quot;&gt;PyPI hires a Safety &amp;amp; Security Engineer - The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-09-18-inbound-malware-reporting/&quot;&gt;Inbound Malware Volume Report - The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-08-08-2fa-enforcement-for-new-users/&quot;&gt;2FA Enforcement for New User Registrations - The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/security-key-giveaway/&quot;&gt;PyPI 2FA Security Key Giveaway - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ntia.gov/page/software-bill-materials&quot;&gt;Software Bill Of Materials - National Telecommunications and Information Administration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/&quot;&gt;Introducing &amp;lsquo;Trusted Publishers&amp;rsquo; - The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pypi.org/trusted-publishers/&quot;&gt;Trusted Publishers - Getting Started - PyPI Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vbrownbag.com/2023/05/episode-followup-how-to-give-back-to-open-source-without-losing-your-mind/&quot;&gt;How To Give Back to Open Source Without Losing Your Mind – vBrownBag&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://goodfirstissues.dev&quot;&gt;Good First Issues - OpenSauced&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://goodfirstissues.com/&quot;&gt;Good First Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hacktoberfest.com/participation/&quot;&gt;Participation - Hacktoberfest 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3120/&quot;&gt;Python Release Python 3.12.0 - Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://htmx.org/&quot;&gt;&amp;lt;/&amp;gt; htmx - high power tools for html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;The web framework for perfectionists with deadlines - Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/&quot;&gt;The Python Package Index - Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@miketheman@hachyderm.io&quot;&gt;Mike Fiedler, Code Gardener (@miketheman@hachyderm.io) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/mikefiedler&quot;&gt;Mike Fiedler, Code Gardener (@mikefiedler) / X&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mike.fiedler.me/&quot;&gt;Mike Fiedler&amp;rsquo;s personal website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;#x27;s Guide to pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E177_02_Mike.a809b10acbc7.mp3" type="audio/mpeg" length="57180136"/>
        <guid isPermaLink="false">7b3ee503-35ba-41be-ba62-353f1ab79b8a</guid>
        <pubDate>Fri, 20 Oct 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3511</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_177_Podcast.2b30f45565a4.jpg"/>
        <rp:twitter-handles>@mikefiedler</rp:twitter-handles>
        <rp:twitter-title>“Welcoming PyPI&#x27;s Safety &amp; Security Engineer Mike Fiedler” with @mikefiedler</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>176</itunes:episode>
        <title>Building Python Best Practices and Fundamental Skills</title>
        <itunes:title>Building Python Best Practices and Fundamental Skills</itunes:title>
        <link>https://realpython.com/podcasts/rpp/176/</link>
        <description>What fundamental developer skills are new Python users missing? What best practices might developers without a computer science background be lacking? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What fundamental developer skills are new Python users missing? What best practices might developers without a computer science background be lacking? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher opens our discussion by sharing a recent social media thread about teaching software engineering best practices to scientists and others without a computer science background. We talk about software design philosophy and strategies for sharing knowledge within an organization.&lt;/p&gt;
&lt;p&gt;We cover the results from the sixth annual official Python Developer Survey. The survey covers Python usage, language versions, frameworks, libraries, and various demographics. We dig into the details and share our insights.&lt;/p&gt;
&lt;p&gt;We also share several other articles and projects from the Python community, including a couple of release announcements, so many Python dataframes, ways to speed up your code when multiple cores aren&amp;rsquo;t an option, Python&amp;rsquo;s syntactic sugar, a computer algebra system named SymPy, the process of building a blog in Django, code metrics in Python with Radon, and a TUI app for daily writing.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Snyk.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-filter-function/&quot;&gt;Filtering Iterables With Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how Python&amp;rsquo;s &lt;code&gt;filter()&lt;/code&gt; works and how to use it effectively in your programs. You&amp;rsquo;ll also learn how to use list comprehension and generator expressions to replace &lt;code&gt;filter()&lt;/code&gt; and make your code more Pythonic.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:25 &amp;ndash; Django 5.0 Alpha 1 Released&lt;/li&gt;
&lt;li&gt;00:03:45 &amp;ndash; Mojo SDK Released for Linux&lt;/li&gt;
&lt;li&gt;00:04:50 &amp;ndash; Python Developers Survey 2022 Results&lt;/li&gt;
&lt;li&gt;00:13:44 &amp;ndash; Why Are There So Many Python Dataframes?&lt;/li&gt;
&lt;li&gt;00:20:24 &amp;ndash; Sponsor: Snyk&lt;/li&gt;
&lt;li&gt;00:21:15 &amp;ndash; Speeding Up Your Code When Multiple Cores Aren&amp;rsquo;t an Option&lt;/li&gt;
&lt;li&gt;00:28:41 &amp;ndash; Python Is (Mostly) Made of Syntactic Sugar&lt;/li&gt;
&lt;li&gt;00:32:57 &amp;ndash; Towards a New SymPy&lt;/li&gt;
&lt;li&gt;00:36:48 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:54 &amp;ndash; Building a Blog in Django&lt;/li&gt;
&lt;li&gt;00:41:22 &amp;ndash; What are fundamental skills and best-practices that might be lacking?&lt;/li&gt;
&lt;li&gt;00:55:02 &amp;ndash; Learning About Code Metrics in Python With Radon&lt;/li&gt;
&lt;li&gt;00:59:43 &amp;ndash; words-tui: A TUI App for Daily Writing&lt;/li&gt;
&lt;li&gt;01:02:34 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/sep/18/django-50-alpha-1-released/&quot;&gt;Django 5.0 Alpha 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.modular.com/blog/mojo-its-finally-here&quot;&gt;Mojo SDK Released for Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lp.jetbrains.com/python-developers-survey-2022/&quot;&gt;Python Developers Survey 2022 Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ponder.io/why-are-there-so-many-python-dataframes/&quot;&gt;Why Are There So Many Python Dataframes?&lt;/a&gt; &amp;ndash; Ever wonder why there are so many ways libraries that have dataframes in Python? This article talks about the different perspectives of popular tool kits to explore why they are what they are.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/optimizing-dithering/&quot;&gt;Speeding Up Your Code When Multiple Cores Aren&amp;rsquo;t an Option&lt;/a&gt; &amp;ndash; Parallelism isn&amp;rsquo;t the only answer: often you can optimize low-level code to get significant performance improvements.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lwn.net/Articles/942767/&quot;&gt;Python Is (Mostly) Made of Syntactic Sugar&lt;/a&gt; &amp;ndash; &amp;ldquo;Programming languages are often made up of a (mostly) irreducible core, with lots of sugary constructs sprinkled on top&amp;ndash;the syntactic sugar.&amp;rdquo; This article summarizes a lot of Brett Cannon&amp;rsquo;s recent work exploring what&amp;rsquo;s sugar and what&amp;rsquo;s fundamental in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://oscarbenjamin.github.io/blog/czi/post1.html&quot;&gt;Towards a New SymPy&lt;/a&gt; &amp;ndash; SymPy is a computer algebra system, meaning that it does math on symbolic concepts. This can provide a lot more accuracy than typical floating-point mathematics found in numeric systems. This is part one of a multi-part article, explaining SymPy along with its recent improvements. &lt;a href=&quot;https://oscarbenjamin.github.io/blog/czi/post2.html&quot;&gt;Part two&lt;/a&gt; discusses how SymPy handles polynomials.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://til.simonwillison.net/django/building-a-blog-in-django&quot;&gt;Building a Blog in Django&lt;/a&gt; &amp;ndash; Very little code is needed to get a blog working using the Django framework. This post highlights what you need, including each of the key code components. There&amp;rsquo;s also an &lt;a href=&quot;https://news.ycombinator.com/item?id=37482220&quot;&gt;associated Hacker News discussion&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/__mharrison__/status/1593257724397195264&quot;&gt;What are fundamental skills and best-practices that might be lacking? - Matt Harrison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.stanford.edu/~ouster/cgi-bin/aposd.php&quot;&gt;A Philosophy of Software Design - Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/49/&quot;&gt;Episode #49: The Challenges of Developing Into a Python Professional&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/2023/09/20/learning-about-code-metrics-in-python-with-radon/&quot;&gt;Learning About Code Metrics in Python With Radon&lt;/a&gt; &amp;ndash; Radon is a code metrics tool. This article introduces you to it and teaches you how you can improve your code based on its measurements.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/anze3db/words-tui&quot;&gt;words-tui: A TUI App for Daily Writing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/157/&quot;&gt;Episode #157: Discussing Mojo &amp;amp; Improving Python Object-Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/167/&quot;&gt;Episode #167: Exploring pandas 2.0 &amp;amp; Targets for Apache Arrow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode #47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/92/&quot;&gt;Episode #92: Continuing to Unravel Python&amp;rsquo;s Syntactic Sugar With Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/154/&quot;&gt;Episode #154: Targeting WebAssembly Platforms &amp;amp; Distilling a Minimum Viable Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sympy.org/en/index.html&quot;&gt;SymPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Computer_algebra_system&quot;&gt;Computer algebra system - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/simpy-simulating-with-python/&quot;&gt;SimPy: Simulating Real-World Processes With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/117/&quot;&gt;Episode #117: Measuring Python Code Quality, Simplicity, and Maintainability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sonarsource.com/&quot;&gt;Clean Code: Writing Clear, Readable, Understandable &amp;amp; Reliable Quality Code - Sonar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=dqdsNoApJ80&quot;&gt;Anthony Shaw - Wily Python: Writing simpler and more maintainable Python - PyCon 2019 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Textualize/textual&quot;&gt;Textual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nanowrimo.org/national-novel-writing-month&quot;&gt;National Novel Writing Month&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/101/&quot;&gt;Episode #101: Tools for Setting Up Python on a New Machine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-filter-function/&quot;&gt;Filtering Iterables With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-python-functions-with-optional-arguments/&quot;&gt;Defining Python Functions With Optional Arguments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simulating-processes-simpy/&quot;&gt;Simulating Real-World Processes in Python With SimPy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E176_03_Cx2.676d5a365ed1.mp3" type="audio/mpeg" length="62106362"/>
        <guid isPermaLink="false">5ee59654-2eef-426c-a6a9-eb5931a757e3</guid>
        <pubDate>Fri, 13 Oct 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3817</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_176_Podcast.f23b1c0ecbfc.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building Python Best Practices and Fundamental Skills”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>175</itunes:episode>
        <title>Exploring the New Features of Python 3.12</title>
        <itunes:title>Exploring the New Features of Python 3.12</itunes:title>
        <link>https://realpython.com/podcasts/rpp/175/</link>
        <description>Python 3.12 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. Geir Arne coordinated a series of preview articles with several members of the Real Python team this year, and his showcase tutorial, &quot;Python 3.12: Cool New Features for You to Try,&quot; came out on October 2. Christopher&#x27;s video course was posted the next day, covering the topics from the article with visual examples of Python 3.12 in action.</description>
        <content:encoded>&lt;p&gt;Python 3.12 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. Geir Arne coordinated a series of preview articles with several members of the Real Python team this year, and his showcase tutorial, &amp;ldquo;Python 3.12: Cool New Features for You to Try,&amp;rdquo; came out on October 2. Christopher&amp;rsquo;s video course was posted the next day, covering the topics from the article with visual examples of Python 3.12 in action.&lt;/p&gt;
&lt;p&gt;Geir Arne and Christopher collaborated to create code examples of the new features. We discuss better error messaging, more intuitive f-strings, subinterpreters, the Linux &lt;code&gt;perf&lt;/code&gt; profiler, improved typing syntax, and more.&lt;/p&gt;
&lt;p&gt;We dig into the updates and offer advice on incorporating them into your projects. We also consider when you should start running Python 3.12.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/new-features-python-312/&quot;&gt;What&amp;rsquo;s New in Python 3.12&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll explore the new features that Python 3.12 brings to the table. These include improved f-strings, better error messages, changes to CPython internals, additions to static typing, and more.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:15 &amp;ndash; Preview tutorials&lt;/li&gt;
&lt;li&gt;00:05:08 &amp;ndash; Ever better error messages&lt;/li&gt;
&lt;li&gt;00:10:03 &amp;ndash; More powerful f-strings&lt;/li&gt;
&lt;li&gt;00:15:46 &amp;ndash; Comprehension inlining &amp;amp; additional optimizations&lt;/li&gt;
&lt;li&gt;00:21:24 &amp;ndash; Support for subinterpreters&lt;/li&gt;
&lt;li&gt;00:27:55 &amp;ndash; Support for the Linux &lt;code&gt;perf&lt;/code&gt; profiler&lt;/li&gt;
&lt;li&gt;00:32:02 &amp;ndash; Immortal objects&lt;/li&gt;
&lt;li&gt;00:35:01 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:03 &amp;ndash; Calendar constants for days and months&lt;/li&gt;
&lt;li&gt;00:38:48 &amp;ndash; New &lt;code&gt;itertools.batched()&lt;/code&gt; for grouping Items&lt;/li&gt;
&lt;li&gt;00:40:53 &amp;ndash; Improved type variable syntax&lt;/li&gt;
&lt;li&gt;00:50:51 &amp;ndash; New &lt;code&gt;Path.walk()&lt;/code&gt; for listing files in subdirectories&lt;/li&gt;
&lt;li&gt;00:53:04 &amp;ndash; Override decorator for static typing&lt;/li&gt;
&lt;li&gt;00:57:36 &amp;ndash; Advice on upgrading&lt;/li&gt;
&lt;li&gt;01:03:08 &amp;ndash; Thanks to the core developer team&lt;/li&gt;
&lt;li&gt;01:04:39 &amp;ndash; Thanks to the Real Python team and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-new-features/&quot;&gt;Python 3.12: Cool New Features for You to Try&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3120/&quot;&gt;Python Release Python 3.12.0 - Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-error-messages/&quot;&gt;Python 3.12 Preview: Ever Better Error Messages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-f-strings/&quot;&gt;Python 3.12 Preview: More Intuitive and Consistent F-Strings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0701/&quot;&gt;PEP 701 – Syntactic formalization of f-strings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0709/&quot;&gt;PEP 709 – Inlined comprehensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-subinterpreters/&quot;&gt;Python 3.12 Preview: Subinterpreters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0554/&quot;&gt;PEP 554 – Multiple Interpreters in the Stdlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0684/&quot;&gt;PEP 684 – A Per-Interpreter GIL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-perf-profiler/&quot;&gt;Python 3.12 Preview: Support For the Linux perf Profiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0683/&quot;&gt;PEP 683 – Immortal Objects, Using a Fixed Refcount&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0695/&quot;&gt;PEP 695 – Type Parameter Syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-typing/&quot;&gt;Python 3.12 Preview: Static Typing Improvements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0698/&quot;&gt;PEP 698 – Override Decorator for Static Typing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-312/&quot;&gt;What&amp;#x27;s New in Python 3.12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-311/&quot;&gt;Cool New Features in Python 3.11&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E175_02_GA_CT.d44e655db556.mp3" type="audio/mpeg" length="64493219"/>
        <guid isPermaLink="false">1c538e53-2697-4ddf-98eb-31587cc34b1f</guid>
        <pubDate>Fri, 06 Oct 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3969</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_175_Podcast.e4f06073b109.jpg"/>
        <rp:twitter-handles>@gahjelle</rp:twitter-handles>
        <rp:twitter-title>“Exploring the New Features of Python 3.12” with @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>174</itunes:episode>
        <title>Considering ChatGPT&#x27;s Technical Review of a Programming Book</title>
        <itunes:title>Considering ChatGPT&#x27;s Technical Review of a Programming Book</itunes:title>
        <link>https://realpython.com/podcasts/rpp/174/</link>
        <description>What can you learn from feeding an entire book on Python programming into ChatGPT-4 and asking it to provide a technical review? What are the potential pitfalls of using an LLM as a learning tool? This week on the show, author Al Sweigart talks about his recent experiments using ChatGPT and Python.</description>
        <content:encoded>&lt;p&gt;What can you learn from feeding an entire book on Python programming into ChatGPT-4 and asking it to provide a technical review? What are the potential pitfalls of using an LLM as a learning tool? This week on the show, author Al Sweigart talks about his recent experiments using ChatGPT and Python.&lt;/p&gt;
&lt;p&gt;Al wanted to test how well an LLM could understand the computer science concepts covered in his recent book, &lt;a href=&quot;https://inventwithpython.com/recursion/&quot;&gt;The Recursive Book of Recursion&lt;/a&gt;. We talk about the positive and negative results of this technical review. We consider if this would be a valuable tool for technical review of your projects. &lt;/p&gt;
&lt;p&gt;Al shares his thoughts on using ChatGPT as a learning tool and its potential pitfalls. We also cover the current strengths of this type of tool for Python developers.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/conditional-logic-control-flow-exercises/&quot;&gt;Python Basics Exercises: Conditional Logic and Control Flow&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this Python Basics Exercises course, you&amp;rsquo;ll review how to use conditional logic to write programs that perform different actions based on different conditions. Paired with functions and loops, conditional logic allows you to write complex programs that can handle many different situations.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:51 &amp;ndash; Reasons for experimenting&lt;/li&gt;
&lt;li&gt;00:04:24 &amp;ndash; Using ChatGPT to review his recursion book&lt;/li&gt;
&lt;li&gt;00:10:45 &amp;ndash; Why do this review?&lt;/li&gt;
&lt;li&gt;00:11:34 &amp;ndash; The trouble of confabulation&lt;/li&gt;
&lt;li&gt;00:18:45 &amp;ndash; Meaning of artificial intelligence over time&lt;/li&gt;
&lt;li&gt;00:28:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:54 &amp;ndash; Detailed prompts and asking for specifics&lt;/li&gt;
&lt;li&gt;00:36:44 &amp;ndash; Potential pitfalls for learning&lt;/li&gt;
&lt;li&gt;00:49:48 &amp;ndash; Checking for flaws in generated code&lt;/li&gt;
&lt;li&gt;00:54:58 &amp;ndash; How can it be useful?&lt;/li&gt;
&lt;li&gt;01:01:33 &amp;ndash; Touching briefly on ethics&lt;/li&gt;
&lt;li&gt;01:02:35 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:05:21 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:07:36 &amp;ndash; Python Programming Exercises, Gently Explained &lt;/li&gt;
&lt;li&gt;01:09:20 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:09:49 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alsweigart.com/&quot;&gt;Al Sweigart&amp;rsquo;s Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/blog/2023/06/15/using-chatgpt-4-to-review-my-recursion-programming-book/&quot;&gt;Using ChatGPT-4 to Review My Recursion Programming Book - The Invent with Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/practical-prompt-engineering/&quot;&gt;Prompt Engineering: A Practical Example – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/chatgpt-coding-mentor-python/&quot;&gt;ChatGPT: Your Personal Python Coding Mentor – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/github-copilot-python/&quot;&gt;GitHub Copilot: Fly With Python at the Speed of Thought – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bbc.com/news/world-us-canada-65735769&quot;&gt;ChatGPT: US lawyer admits using AI for case research - BBC News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://axbom.com/hammer-ai/&quot;&gt;If a hammer was like AI…&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://axbom.com/aielements/&quot;&gt;The Elements of AI Ethics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=knUGpULAmn4&quot;&gt;Al Sweigart: An Overview of the Python Code Tool Landscape 2023 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/pythongently/&quot;&gt;Python Programming Exercises, Gently Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/&quot;&gt;Invent with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://astral.sh/ruff&quot;&gt;Ruff, an extremely fast Python linter - Astral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rust-cli.github.io/book/index.html&quot;&gt;Command Line Applications in Rust&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-strings-string-methods/&quot;&gt;Python Basics: Strings and String Methods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/conditional-logic-control-flow-exercises/&quot;&gt;Python Basics Exercises: Conditional Logic and Control Flow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/basics-conditional-logic-control-flow/&quot;&gt;Python Basics: Conditional Logic and Control Flow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E174_02_AL.85ad60d87743.mp3" type="audio/mpeg" length="68779455"/>
        <guid isPermaLink="false">7c249120-7f7d-4ed8-9acb-b9ca7340b2ae</guid>
        <pubDate>Fri, 29 Sep 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4234</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_174_Podcast.71cac7d4d10e.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Considering ChatGPT&#x27;s Technical Review of a Programming Book”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>173</itunes:episode>
        <title>Getting Involved in Open Source &amp; Generating QR Codes With Python</title>
        <itunes:title>Getting Involved in Open Source &amp; Generating QR Codes With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/173/</link>
        <description>Have you thought about contributing to an open-source Python project? What are possible entry points for intermediate developers? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you thought about contributing to an open-source Python project? What are possible entry points for intermediate developers? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent article by Stefanie Molin called &amp;ldquo;5 Ways to Get Started in Open Source.&amp;rdquo; Christopher shares his experience with suggesting features and potential bug fixes. We talk about common entry points for beginners and provide additional resources. &lt;/p&gt;
&lt;p&gt;We cover a recent Real Python tutorial about creating QR codes with Python. The tutorial introduces the library Segno and tours the features. By working through the examples, you&amp;rsquo;ll be ready to build a  QR code project yourself.&lt;/p&gt;
&lt;p&gt;We also cover several other articles and projects from the Python community, including a couple of release announcements, an introduction to Python&amp;rsquo;s &lt;code&gt;functools&lt;/code&gt; module, Hatch as an alternative for packaging, options for when NumPy is too slow, a simple diceware generator project, and a collection of machine learning recipes.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With &lt;code&gt;lru_cache&lt;/code&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Caching is an essential optimization technique. In this video course, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s &lt;code&gt;@lru_cache&lt;/code&gt; decorator to cache the results of your functions using the LRU cache strategy. This is a powerful technique you can use to leverage the power of caching in your implementations.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:04 &amp;ndash; 2023 Django Developers Survey&lt;/li&gt;
&lt;li&gt;00:02:36 &amp;ndash; Python 3.12.0 Release Candidate 2 Available&lt;/li&gt;
&lt;li&gt;00:03:04 &amp;ndash; Pandas 2.1.0 Released&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; PEP 713: Callable Modules - Rejected&lt;/li&gt;
&lt;li&gt;00:04:52 &amp;ndash; Generate Beautiful QR Codes With Python&lt;/li&gt;
&lt;li&gt;00:10:17 &amp;ndash; Introduction to Python&amp;rsquo;s Functools Module&lt;/li&gt;
&lt;li&gt;00:14:00 &amp;ndash; Switching to Hatch&lt;/li&gt;
&lt;li&gt;00:20:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:21:27 &amp;ndash; When NumPy is too slow&lt;/li&gt;
&lt;li&gt;00:26:31 &amp;ndash; 5 Ways to Get Started in Open Source&lt;/li&gt;
&lt;li&gt;00:42:28 &amp;ndash; nodice-cli: A simple diceware generator with no dependencies&lt;/li&gt;
&lt;li&gt;00:44:32 &amp;ndash; ML-Recipes: Collection of Machine Learning Recipes&lt;/li&gt;
&lt;li&gt;00:47:00 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/sep/05/2023-django-developers-survey/&quot;&gt;2023 Django Developers Survey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/09/python-3120-release-candidate-2-now.html&quot;&gt;Python 3.12.0 Release Candidate 2 Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/docs/whatsnew/v2.1.0.html&quot;&gt;Pandas 2.1.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pep-713-callable-modules/26127/86&quot;&gt;PEP 713: Callable Modules - Rejected - PEPs - Discussions on Python.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-generate-qr-code/&quot;&gt;Generate Beautiful QR Codes With Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use Python to generate QR codes, from your standard black-and-white QR codes to beautiful ones with your favorite colors. You&amp;rsquo;ll learn how to format QR codes, rotate them, and even replace the static background with moving images.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://florian-dahlitz.de/articles/introduction-to-pythons-functools-module&quot;&gt;Introduction to Python&amp;rsquo;s Functools Module&lt;/a&gt; &amp;ndash; This article introduces you to the functions in Python&amp;rsquo;s &lt;code&gt;functools&lt;/code&gt; module with real-world examples to help show you how and when to use each feature.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://andrich.me/2023/08/switching-to-hatch/&quot;&gt;Switching to Hatch&lt;/a&gt; &amp;ndash; Oliver used Poetry for most of his projects, but he recently tried out Hatch instead. This blog post covers what it took to get things going and what features he used, including how he ditched tox.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/numpy-is-slow/&quot;&gt;When NumPy is too slow&lt;/a&gt; &amp;ndash; NumPy is typically faster than plain Python for numeric calculations. What should you do when you find your NumPy-based code is too slow?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@stefaniemolin/5-ways-to-get-started-in-open-source-4aac430828e9&quot;&gt;5 Ways to Get Started in Open Source&lt;/a&gt; &amp;ndash; This article shares ideas for finding and making your first open-source contribution, using examples from contributions the author has made to various projects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensourceevents.github.io/&quot;&gt;The In-Person Event Handbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/events/sprints/&quot;&gt;Development Sprints - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hacktoberfest.com/&quot;&gt;Hacktoberfest 2023&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/avnigo/nodice-cli&quot;&gt;nodice-cli: A simple diceware generator with no dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rougier/ML-Recipes&quot;&gt;ML-Recipes: Collection of Machine Learning Recipes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/157/&quot;&gt;Episode #157: Discussing Mojo &amp;amp; Improving Python Object-Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://segno.readthedocs.io/en/latest/&quot;&gt;Segno - Python QR Code and Micro QR Code encoder — Segno documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/125/&quot;&gt;Episode #125: Improve Matplotlib With Style Sheets &amp;amp; Python Async for the Web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/functools.html&quot;&gt;&lt;code&gt;functools&lt;/code&gt; — Higher-order functions and operations on callable objects — Python documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hatch.pypa.io/latest/&quot;&gt;About - Hatch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tox.wiki/en/4.11.3/&quot;&gt;tox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/936/?correct=horse&amp;amp;battery=staple&quot;&gt;xkcd: Password Strength&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With lru_cache&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E173_02_Cx2.f0567d9ddcd4.mp3" type="audio/mpeg" length="46901685"/>
        <guid isPermaLink="false">3caa994f-32b9-4f47-a8a1-2dc31faed8d0</guid>
        <pubDate>Fri, 22 Sep 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2868</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_173_Podcast.13d2c8ae5d84.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Getting Involved in Open Source &amp; Generating QR Codes With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>172</itunes:episode>
        <title>Measuring Multiple Facets of Python Performance With Scalene</title>
        <itunes:title>Measuring Multiple Facets of Python Performance With Scalene</itunes:title>
        <link>https://realpython.com/podcasts/rpp/172/</link>
        <description>When choosing a tool for profiling Python code performance, should it focus on the CPU, GPU, memory, or individual lines of code? What if it looked at all those factors and didn&#x27;t alter code performance while measuring it? This week on the show, we talk about Scalene with Emery Berger, Professor of Computer Science at the University of Massachusetts Amherst.</description>
        <content:encoded>&lt;p&gt;When choosing a tool for profiling Python code performance, should it focus on the CPU, GPU, memory, or individual lines of code? What if it looked at all those factors and didn&amp;rsquo;t alter code performance while measuring it? This week on the show, we talk about Scalene with Emery Berger, Professor of Computer Science at the University of Massachusetts Amherst.&lt;/p&gt;
&lt;p&gt;Emery talks about his background in memory management and his collaboration on Hoard, a scalable memory manager system used in Mac OS X. We discuss the need for improving code performance on modern computer architecture. He highlights this idea by contrasting the familiar limitations of Moore&amp;rsquo;s law with the lesser-known rule of Dennard scaling.&lt;/p&gt;
&lt;p&gt;Working with his students in the university lab, they developed Scalene. Scalene is a high-performance CPU, GPU, and memory profiler. It can look at code from the individual function or line-by-line level and compare time spent in Python vs C code. Emery talks about the recent Scalene feature of AI-powered optimization proposals and covers a couple of examples. He also shares a collection of additional Python code-assistant tools from their lab.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/if-name-main-python/&quot;&gt;What Does if &lt;strong&gt;name&lt;/strong&gt; == &amp;ldquo;&lt;strong&gt;main&lt;/strong&gt;&amp;rdquo; Mean in Python?&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn all about Python&amp;rsquo;s name-main idiom. You&amp;rsquo;ll learn what it does in Python, how it works, when to use it, when to avoid it, and how to refer to it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:13 &amp;ndash; College of Information and Computer Sciences&lt;/li&gt;
&lt;li&gt;00:03:25 &amp;ndash; Memory management systems background&lt;/li&gt;
&lt;li&gt;00:05:15 &amp;ndash; Dennard Scaling vs Moore&amp;rsquo;s Law&lt;/li&gt;
&lt;li&gt;00:10:12 &amp;ndash; Starting work on Python profiling&lt;/li&gt;
&lt;li&gt;00:15:00 &amp;ndash; Deciding on a statistical profiler&lt;/li&gt;
&lt;li&gt;00:17:05 &amp;ndash; Wanting to trace memory&lt;/li&gt;
&lt;li&gt;00:21:21 &amp;ndash; Finding memory issues&lt;/li&gt;
&lt;li&gt;00:23:59 &amp;ndash; Line-by-line analysis&lt;/li&gt;
&lt;li&gt;00:25:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:14 &amp;ndash; Measuring profiler performance&lt;/li&gt;
&lt;li&gt;00:30:30 &amp;ndash; Memory leak detection&lt;/li&gt;
&lt;li&gt;00:34:31 &amp;ndash; When should you run a profiler?&lt;/li&gt;
&lt;li&gt;00:37:27 &amp;ndash; Considerations for measuring cloud performance&lt;/li&gt;
&lt;li&gt;00:39:12 &amp;ndash; Working with Jupyter and Conda&lt;/li&gt;
&lt;li&gt;00:42:18 &amp;ndash; Common issues and AI solutions&lt;/li&gt;
&lt;li&gt;00:45:50 &amp;ndash; Using a profiler to learn a codebase&lt;/li&gt;
&lt;li&gt;00:50:48 &amp;ndash; Examples of AI-powered optimizations &lt;/li&gt;
&lt;li&gt;00:55:50 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:30 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:01:48 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:02:56 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://emeryberger.com/&quot;&gt;Emery Berger - Professor of Computer Science, UMass Amherst&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/plasma-umass/scalene&quot;&gt;Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python with AI-powered optimization proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hoard.org/&quot;&gt;Hoard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Moore%27s_law&quot;&gt;Moore&amp;rsquo;s law - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Dennard_scaling&quot;&gt;Dennard scaling - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=nrQPqy3YY5A&amp;amp;t=26s&quot;&gt;Scalene: A high-performance, high-precision CPU+GPU+memory profiler for Python - PyCon 2021 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=vVUnCXKuNOg&quot;&gt;Python Performance Matters - Strange Loop 2022 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/pdf/2212.07597.pdf&quot;&gt;Triangulating Python Performance Issues with Scalene&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/plasma-umass/chatdbg&quot;&gt;ChatDBG: Puts root causes analysis into your debugger, and suggests fixes&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/plasma-umass/commentator&quot;&gt;Commentator: Automatically writes comments and type annotations for your code&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/plasma-umass/pythoness&quot;&gt;Pythoness: Automatically generates Python code from natural language description&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/plasma-umass/slipcover&quot;&gt;Slipcover: Near Zero-Overhead Python Code Coverage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/emeryberger&quot;&gt;emeryberger  - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/if-name-main-python/&quot;&gt;What Does if &lt;strong&gt;name&lt;/strong&gt; == &amp;quot;&lt;strong&gt;main&lt;/strong&gt;&amp;quot; Mean in Python?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E172_02_Emery.544c68f38fbe.mp3" type="audio/mpeg" length="62146217"/>
        <guid isPermaLink="false">2358d953-d0be-49ab-a07c-191c8fac622b</guid>
        <pubDate>Fri, 15 Sep 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3822</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_172_Podcast.7d1f9840f487.jpg"/>
        <rp:twitter-handles>@emeryberger</rp:twitter-handles>
        <rp:twitter-title>“Measuring Multiple Facets of Python Performance With Scalene” with @emeryberger</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>171</itunes:episode>
        <title>Making Each Line of Code Efficient &amp; Python In Excel</title>
        <itunes:title>Making Each Line of Code Efficient &amp; Python In Excel</itunes:title>
        <link>https://realpython.com/podcasts/rpp/171/</link>
        <description>Are you writing efficient Python with as few lines of code as possible? Are you familiar with the many built-in language features that will simplify your code and make it more Pythonic? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you writing efficient Python with as few lines of code as possible? Are you familiar with the many built-in language features that will simplify your code and make it more Pythonic? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent post from Bob Belderbos titled &amp;ldquo;Make Each Line Count, Keeping Things Simple in Python.&amp;rdquo; We provide many of our favorite Pythonic examples and the language mistakes that we&amp;rsquo;ve learned from. We also share multiple resources to add to your learning path.&lt;/p&gt;
&lt;p&gt;Microsoft has announced a limited beta program for Python in Excel. We dig into the current details, requirements, and potential use cases.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a group of announcements from the Python Software Foundation, a showcase of the Polars DataFrame library, immortal objects in Python, a code image generator Python project, an MS Paint clone in the terminal, and a Django ORM cheatsheet.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-pillow/&quot;&gt;Process Images Using the Pillow Library and Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to use the Python Pillow library to deal with images and perform image processing. You&amp;rsquo;ll also explore using NumPy for further processing, including to create animations.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:10 &amp;ndash; Python 3.12.0 release candidate 1 released&lt;/li&gt;
&lt;li&gt;00:02:53 &amp;ndash; PSF Announces New PyPI Safety &amp;amp; Security Engineer&lt;/li&gt;
&lt;li&gt;00:03:44 &amp;ndash; 2022 PSF Annual Report&lt;/li&gt;
&lt;li&gt;00:04:13 &amp;ndash; Pydantic has been downloaded &amp;hellip; 1 BILLION times!&lt;/li&gt;
&lt;li&gt;00:04:28 &amp;ndash; Python Polars: A Lightning-Fast DataFrame Library&lt;/li&gt;
&lt;li&gt;00:12:26 &amp;ndash; Introducing Immortal Objects for Python&lt;/li&gt;
&lt;li&gt;00:15:32 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:17:01 &amp;ndash; Introducing Python in Excel&lt;/li&gt;
&lt;li&gt;00:26:34 &amp;ndash; Build a Code Image Generator With Python&lt;/li&gt;
&lt;li&gt;00:31:49 &amp;ndash; Make Each Line Count, Keeping Things Simple in Python&lt;/li&gt;
&lt;li&gt;00:44:08 &amp;ndash; Textual-paint&lt;/li&gt;
&lt;li&gt;00:46:04 &amp;ndash; Django ORM Cheatsheet&lt;/li&gt;
&lt;li&gt;00:49:48 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/08/python-3120-release-candidate-1-released.html&quot;&gt;Python Insider: Python 3.12.0 release candidate 1 released&lt;/a&gt; &amp;ndash; &amp;ldquo;The second candidate (and the last planned release preview) is scheduled for Monday, 2023-09-04, while the official release of 3.12.0 is scheduled for Monday, 2023-10-02.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/08/python-3115-31013-3918-and-3818-is-now.html&quot;&gt;Python 3.11.5, 3.10.13, 3.9.18, and 3.8.18 is now available - Python Insider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2023/08/announcing-our-new-pypi-safety-security.html&quot;&gt;PSF Announces New PyPI Safety &amp;amp; Security Engineer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/annual-report/2022/&quot;&gt;2022 PSF Annual Report&lt;/a&gt; &amp;ndash; The annual report from the Python Software Foundation details all the changes and events at the PSF last year.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pydantic/status/1696564961084952736&quot;&gt;Pydantic has been downloaded &amp;hellip; 1 BILLION times! - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/polars-python/&quot;&gt;Python Polars: A Lightning-Fast DataFrame Library&lt;/a&gt; &amp;ndash; Welcome to the world of Polars, a powerful DataFrame library for Python! In this showcase tutorial, you&amp;rsquo;ll get a hands-on introduction to Polars&amp;rsquo; core features and see why this library is catching so much buzz.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://engineering.fb.com/2023/08/15/developer-tools/immortal-objects-for-python-instagram-meta/&quot;&gt;Introducing Immortal Objects for Python&lt;/a&gt; &amp;ndash; This article explains immortal objects (&lt;a href=&quot;https://peps.python.org/pep-0683/&quot;&gt;PEP 683&lt;/a&gt;), which are excluded from garbage collection. This causes performance and shared memory improvements for large architectures.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482&quot;&gt;Introducing Python in Excel&lt;/a&gt; &amp;ndash; Microsoft has announced that they&amp;rsquo;re embedding Python in Excel through a partnership with Anaconda. Read on for details.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-code-image-generator/&quot;&gt;Build a Code Image Generator With Python&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll build a code image generator that creates nice-looking images of your code snippets to share on social media. Your code image generator will be powered by the Flask web framework and include exciting packages like Pygments and Playwright.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pybit.es/articles/make-each-line-count-keeping-things-simple-in-python/&quot;&gt;Make Each Line Count, Keeping Things Simple in Python&lt;/a&gt; &amp;ndash; Simplicity is hard. This article talks briefly about how you approach coding while keeping things simple.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/itertools.html&quot;&gt;itertools — Functions creating iterators for efficient looping — Python documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://more-itertools.readthedocs.io/en/stable/&quot;&gt;More Itertools - more-itertools 10.1.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-enumerate/&quot;&gt;Python &lt;code&gt;enumerate()&lt;/code&gt;: Simplify Loops That Need Counters – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-all/&quot;&gt;Python&amp;rsquo;s &lt;code&gt;all()&lt;/code&gt;: Check Your Iterables for Truthiness – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/any-python/&quot;&gt;How to Use &lt;code&gt;any()&lt;/code&gt; in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/1j01/textual-paint&quot;&gt;Textual-paint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangocentral.com/django-orm-cheatsheet/&quot;&gt;Django ORM Cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pola-rs/polars/releases/tag/py-0.19.0&quot;&gt;Release Python Polars 0.19.0 · pola-rs/polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/140/&quot;&gt;Episode #140: Speeding Up Your DataFrames With Polars – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/167/&quot;&gt;Episode #167: Exploring pandas 2.0 &amp;amp; Targets for Apache Arrow – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=FbBXtqtRnWU&quot;&gt;Introducing Python in Excel 😱 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hilite.me/&quot;&gt;Source code beautifier / syntax highlighter – convert code snippets to HTML « hilite.me&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-a-django-user-management-system/&quot;&gt;Building a Django User Management System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-pillow/&quot;&gt;Process Images Using the Pillow Library and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E171_02_Cx2.3fcffec2aeda.mp3" type="audio/mpeg" length="49552579"/>
        <guid isPermaLink="false">4aee15ad-15e8-4f61-95cb-c5de9c7ff4a4</guid>
        <pubDate>Fri, 08 Sep 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3033</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_171_Podcast.dc8458a6cf72.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Making Each Line of Code Efficient &amp; Python In Excel”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>170</itunes:episode>
        <title>Finding the Right Coding Font for Programming in Python</title>
        <itunes:title>Finding the Right Coding Font for Programming in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/170/</link>
        <description>What should you consider when picking a font for coding in Python? What characters and their respective glyphs should you check before making your decision? This week on the show, we talk with Real Python author and core team member Philipp Acsany about his recent article, Choosing the Best Coding Font for Programming.</description>
        <content:encoded>&lt;p&gt;What should you consider when picking a font for coding in Python? What characters and their respective glyphs should you check before making your decision? This week on the show, we talk with Real Python author and core team member Philipp Acsany about his recent article, Choosing the Best Coding Font for Programming.&lt;/p&gt;
&lt;p&gt;Philipp shares some of his background as a font engineer and graphic designer. We talk about how font design tools were his introduction to programming in Python.&lt;/p&gt;
&lt;p&gt;We discuss how the frequent use of underscores, at signs, parentheses, and asterisks in Python&amp;rsquo;s syntax should affect your decision. Philipp&amp;rsquo;s tutorial provides several resources to help you find a monospace font that fits your coding requirements.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-wordle-clone/&quot;&gt;Create a Python Wordle Clone With Rich&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step project, you&amp;rsquo;ll build your own Wordle clone with Python. Your game will run in the terminal, and you&amp;rsquo;ll use Rich to ensure your word-guessing app looks good. Learn how to build a command-line application from scratch and then challenge your friends to a wordly competition!&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:32 &amp;ndash; Previous podcast appearances&lt;/li&gt;
&lt;li&gt;00:03:18 &amp;ndash; Programming-environment fussiness and monospace fonts&lt;/li&gt;
&lt;li&gt;00:07:29 &amp;ndash; Researching the tutorial and curating the collection&lt;/li&gt;
&lt;li&gt;00:10:51 &amp;ndash; Philipp&amp;rsquo;s background&lt;/li&gt;
&lt;li&gt;00:18:07 &amp;ndash; Differentiating characters&lt;/li&gt;
&lt;li&gt;00:21:37 &amp;ndash; Monospace, typewriters, and alignment&lt;/li&gt;
&lt;li&gt;00:25:08 &amp;ndash; Character sets to study&lt;/li&gt;
&lt;li&gt;00:32:38 &amp;ndash; The comma and the period&lt;/li&gt;
&lt;li&gt;00:37:04 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:38:30 &amp;ndash; Python&amp;rsquo;s use in font development&lt;/li&gt;
&lt;li&gt;00:42:48 &amp;ndash; Different fonts for different languages&lt;/li&gt;
&lt;li&gt;00:49:27 &amp;ndash; Non-English comments&lt;/li&gt;
&lt;li&gt;00:55:40 &amp;ndash; Our font choices&lt;/li&gt;
&lt;li&gt;00:59:00 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:01:35 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:03:41 &amp;ndash; Where can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:04:38 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/coding-font/&quot;&gt;Choosing the Best Coding Font for Programming - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://engineeringkiosk.dev/podcast/episode/79-font-engineering-und-schriftarten-f%C3%BCrs-programmieren-mit-philipp-acsany/&quot;&gt;#79 Font-Engineering und Schriftarten fürs Programmieren mit Philipp Acsany - Engineering Kiosk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/134/&quot;&gt;Episode #134: Building Python REST APIs With Flask &amp;amp; Structuring Pull Requests – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://input.djr.com/info/&quot;&gt;Input: Fonts for Code — Info&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Slashed_zero&quot;&gt;Slashed zero - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=jVhlJNJopOQ&quot;&gt;Papyrus - SNL - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fontlab.com/&quot;&gt;FontLab - Font editors and converters for Mac and Windows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robofont.com/&quot;&gt;RoboFont&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hedycode.com/&quot;&gt;Hedy - Textual programming made easy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.keybr.com/&quot;&gt;Typing Practice - keybr.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://monkeytype.com/&quot;&gt;Monkeytype - A minimalistic, customizable typing test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.homerow.app/&quot;&gt;Homerow — Keyboard shortcuts for every button in macOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/pacsany/&quot;&gt;About Philipp Acsany – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/acsany/&quot;&gt;Philipp Acsany - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.chess.com/member/axani&quot;&gt;Filip Axani (axani) - Chess Profile - Chess.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-wordle-clone/&quot;&gt;Create a Python Wordle Clone With Rich&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-argparse-command-line-interfaces/&quot;&gt;Building Command Line Interfaces With argparse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E170_02_Philipp.41217850684d.mp3" type="audio/mpeg" length="63760379"/>
        <guid isPermaLink="false">9585a3b9-e1ea-445b-a309-fdb72bc43b82</guid>
        <pubDate>Fri, 01 Sep 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3923</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_170_Podcast.325d4401058b.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Finding the Right Coding Font for Programming in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>169</itunes:episode>
        <title>Improving Classification Models With XGBoost</title>
        <itunes:title>Improving Classification Models With XGBoost</itunes:title>
        <link>https://realpython.com/podcasts/rpp/169/</link>
        <description>How can you improve a classification model while avoiding overfitting? Once you have a model, what tools can you use to explain it to others? This week on the show, we talk with author and Python trainer Matt Harrison about his new book Effective XGBoost: Tuning, Understanding, and Deploying Classification Models.</description>
        <content:encoded>&lt;p&gt;How can you improve a classification model while avoiding overfitting? Once you have a model, what tools can you use to explain it to others? This week on the show, we talk with author and Python trainer Matt Harrison about his new book Effective XGBoost: Tuning, Understanding, and Deploying Classification Models.&lt;/p&gt;
&lt;p&gt;Matt talks about the process of developing the book and how he wanted it to be an interactive experience for the reader. He explains the concept of gradient boosting and provides metaphors for developing a model. He shares his appreciation for exploratory data analysis as a crucial step in understanding your data. &lt;/p&gt;
&lt;p&gt;He also shares additional libraries to help you explain your model. We discuss how difficult it is to develop the story of how the model works to share it with stakeholders. &lt;/p&gt;
&lt;p&gt;He illustrates why covering the complete process is essential, from exploring data and building a model to finally deploying it. He shares many of the tools he found along the way.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Scout APM.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-linear-regression/&quot;&gt;Starting With Linear Regression in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll get started with linear regression in Python. Linear regression is one of the fundamental statistical and machine learning techniques, and Python is a popular choice for machine learning.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:16 &amp;ndash; Starting on the book&lt;/li&gt;
&lt;li&gt;00:04:36 &amp;ndash; What is tabular prediction?&lt;/li&gt;
&lt;li&gt;00:06:50 &amp;ndash; Who could leverage XGBoost?&lt;/li&gt;
&lt;li&gt;00:09:46 &amp;ndash; Background to get started&lt;/li&gt;
&lt;li&gt;00:11:50 &amp;ndash; Using XGBoost to explore data&lt;/li&gt;
&lt;li&gt;00:21:06 &amp;ndash; Sponsor: ScoutAPM&lt;/li&gt;
&lt;li&gt;00:21:54 &amp;ndash; Focusing on using the tool&lt;/li&gt;
&lt;li&gt;00:26:37 &amp;ndash; Not being a developer&lt;/li&gt;
&lt;li&gt;00:30:53 &amp;ndash; Contrasting XGBoost and logistic regression&lt;/li&gt;
&lt;li&gt;00:41:57 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:43:21 &amp;ndash; Using SHAP to explain the model&lt;/li&gt;
&lt;li&gt;00:48:06 &amp;ndash; Working with hyperparameters&lt;/li&gt;
&lt;li&gt;00:51:40 &amp;ndash; Deploying your model&lt;/li&gt;
&lt;li&gt;00:53:09 &amp;ndash; XGBoost Feature Interactions Reshaped (XGBFIR)&lt;/li&gt;
&lt;li&gt;00:55:47 &amp;ndash; Communicating the story of a model&lt;/li&gt;
&lt;li&gt;00:57:57 &amp;ndash; How to find the book&lt;/li&gt;
&lt;li&gt;00:59:07 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:02:46 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:03:12 &amp;ndash; How can people follow what you do online?&lt;/li&gt;
&lt;li&gt;01:03:59 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.metasnake.com/&quot;&gt;MetaSnake - Custom Python Training&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://store.metasnake.com/?coupon=REALPYTHON&quot;&gt;Effective XGBoost Book - Store Link (Discount expires end of September 2023)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xgboost.readthedocs.io/en/stable/&quot;&gt;XGBoost Documentation — xgboost 1.7.6 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Gradient_boosting&quot;&gt;Gradient boosting - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://shap.readthedocs.io/en/latest/index.html&quot;&gt;SHAP (SHapley Additive exPlanations) Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hyperopt.github.io/hyperopt/&quot;&gt;Hyperopt Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mlflow.org/&quot;&gt;MLflow - A platform for the machine learning lifecycle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/limexp/xgbfir&quot;&gt;xgbfir: XGBoost Feature Interactions Reshaped&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://store.metasnake.com/?coupon=REALPYTHON&quot;&gt;Effective XGBoost Book - Store Link (Discount expires end of September 2023)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.modular.com/mojo&quot;&gt;Mojo 🔥: Programming language for all of AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.metasnake.com/blog/&quot;&gt;MetaSnake - Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/panela/&quot;&gt;🐍 Matt Harrison - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/__mharrison__&quot;&gt;Matt Harrison (@__mharrison__) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/knn-python/&quot;&gt;Using k-Nearest Neighbors (kNN) in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-linear-regression/&quot;&gt;Starting With Linear Regression in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E169_03_Matt_Harrison.049ebf5e47d0.mp3" type="audio/mpeg" length="63451045"/>
        <guid isPermaLink="false">727bc5e9-7168-4df7-b1bd-b5a59bff2596</guid>
        <pubDate>Fri, 25 Aug 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3900</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_169_Podcast.ff49fc59c392.jpg"/>
        <rp:twitter-handles>@__mharrison__</rp:twitter-handles>
        <rp:twitter-title>“Improving Classification Models With XGBoost” with @__mharrison__</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>168</itunes:episode>
        <title>Common Python Stumbling Blocks &amp; Quirky Behaviors</title>
        <itunes:title>Common Python Stumbling Blocks &amp; Quirky Behaviors</itunes:title>
        <link>https://realpython.com/podcasts/rpp/168/</link>
        <description>Have you ever encountered strange behavior when trying something new in Python? What are common quirks hiding within the language? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you ever encountered strange behavior when trying something new in Python? What are common quirks hiding within the language? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent blog post that lists a collection of quirky Python behaviors. We share a few examples with explanations but leave several as puzzles to dig into.&lt;/p&gt;
&lt;p&gt;Christopher transitions our discussion into Python features that can be difficult to explain to a new programmer. We also share some of our own stumbling blocks while learning the language.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news update, previewing Python 3.12&amp;rsquo;s more intuitive and consistent f-strings, finding performance bottlenecks with profiling, emulating the 6502 processor in Python, using Rich to inspect Python objects, and plotting statistical data with Lets-Plot.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Porkbun. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to use ggplot in Python to build data visualizations with plotnine. You&amp;rsquo;ll discover what a grammar of graphics is and how it can help you create plots in a very concise and consistent way.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:12 &amp;ndash; Steering Council Announces Optional GIL&lt;/li&gt;
&lt;li&gt;00:04:05 &amp;ndash; Polars is Starting a Company&lt;/li&gt;
&lt;li&gt;00:05:13 &amp;ndash; Python 3.12 Preview: More Intuitive and Consistent F-Strings&lt;/li&gt;
&lt;li&gt;00:09:29 &amp;ndash; Sponsor: Porkbun&lt;/li&gt;
&lt;li&gt;00:10:22 &amp;ndash; Profiling in Python: How to Find Performance Bottlenecks&lt;/li&gt;
&lt;li&gt;00:21:01 &amp;ndash; Writing a 6502 Emulator in Python&lt;/li&gt;
&lt;li&gt;00:24:36 &amp;ndash; Python Quirks&lt;/li&gt;
&lt;li&gt;00:32:30 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:02 &amp;ndash; What Python feature would you have trouble explaining to a new programmer?&lt;/li&gt;
&lt;li&gt;00:42:25 &amp;ndash; Using Rich Inspect to Interrogate Python Objects&lt;/li&gt;
&lt;li&gt;00:44:36 &amp;ndash; Lets-Plot: Plotting Library for Statistical Data&lt;/li&gt;
&lt;li&gt;00:48:01 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/a-steering-council-notice-about-pep-703-making-the-global-interpreter-lock-optional-in-cpython/30474&quot;&gt;Steering Council Announces Optional GIL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pola.rs/posts/company-announcement/&quot;&gt;Polars is Starting a Company&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-f-strings/&quot;&gt;Python 3.12 Preview: More Intuitive and Consistent F-Strings&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll preview one of the upcoming features of Python 3.12, which introduces a new f-string syntax formalization and implementation. The new implementation lifts some restrictions and limitations that affect f-string literals in Python versions lower than 3.12.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-profiling/&quot;&gt;Profiling in Python: How to Find Performance Bottlenecks&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to profile your Python programs using numerous tools available in the standard library, third-party libraries, as well as a powerful tool foreign to Python. Along the way, you&amp;rsquo;ll learn what profiling is and cover a few related concepts.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dailystuff.nl/projects/writing-a-6502-emulator-in-python&quot;&gt;Writing a 6502 Emulator in Python&lt;/a&gt; &amp;ndash; The 6502 processor from Motorola was quite popular and could be found in the Nintendo and Sega consoles as well as the Commodore 64. This very detailed article shows you how to build an emulator for the processor in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://writing.peercy.net/p/python-quirks&quot;&gt;Python Quirks&lt;/a&gt; &amp;ndash; A straight-out list of code snippets showing off some of the weird and unexpected behavior of your favorite language.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/treyhunner/status/1686010074525732864&quot;&gt;What Python feature would you have trouble explaining to a new programmer? - Trey Hunner on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://textual.textualize.io/blog/2023/07/27/using-rich-inspect-to-interrogate-python-objects/&quot;&gt;Using Rich Inspect to Interrogate Python Objects&lt;/a&gt; &amp;ndash; You might know the Rich library as the terminal color tool, but it has a few utilities that are generally helpful in your code. This article shows you the &lt;code&gt;inspect&lt;/code&gt; feature, which gives you loads of information on an object.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/JetBrains/lets-plot&quot;&gt;Lets-Plot: Plotting Library for Statistical Data&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pola.rs/&quot;&gt;Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python312-perf-profiler/&quot;&gt;Python 3.12 Preview: Support For the Linux perf Profiler – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-timer/&quot;&gt;Python Timer Functions: Three Ways to Monitor Your Code – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/128/&quot;&gt;Episode #128: Using a Memory Profiler in Python &amp;amp; What It Can Teach You – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/defining-your-own-python-function/#mutable-default-parameter-values&quot;&gt;Defining Your Own Python Function – Mutable Default Parameters&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E168_03_Cx2.29e3773cdc12.mp3" type="audio/mpeg" length="48117520"/>
        <guid isPermaLink="false">a393e956-b6ca-4786-bca6-c8ed274b2fb5</guid>
        <pubDate>Fri, 11 Aug 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2942</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_168_Podcast.3b9d9a462ca7.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Common Python Stumbling Blocks &amp; Quirky Behaviors”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>167</itunes:episode>
        <title>Exploring pandas 2.0 &amp; Targets for Apache Arrow</title>
        <itunes:title>Exploring pandas 2.0 &amp; Targets for Apache Arrow</itunes:title>
        <link>https://realpython.com/podcasts/rpp/167/</link>
        <description>What are the new ways to describe your data in pandas 2.0? Will the addition of Apache Arrow to the data back end foster the growth of data interoperability? This week on the show, we talk with pandas core developer Marc Garcia about the release of pandas 2.0.</description>
        <content:encoded>&lt;p&gt;What are the new ways to describe your data in pandas 2.0? Will the addition of Apache Arrow to the data back end foster the growth of data interoperability? This week on the show, we talk with pandas core developer Marc Garcia about the release of pandas 2.0.&lt;/p&gt;
&lt;p&gt;Marc shares his background and work on pandas. We discuss the history of data representation in pandas and the need to move beyond NumPy. We also talk about how Apache Arrow only solves some of the issues.&lt;/p&gt;
&lt;p&gt;We dig into the potential of an Apache Arrow back end and how it could offer interoperability between data platforms. We also cover the moderate adoption and backward-compatibility concerns. Marc also shares his thoughts on making pandas more extensible.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll get started with pandas DataFrames, which are powerful and widely used two-dimensional data structures. You&amp;rsquo;ll learn how to perform basic operations with data, handle missing values, work with time-series data, and visualize data from a pandas DataFrame.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:07 &amp;ndash; Getting involved with the pandas project&lt;/li&gt;
&lt;li&gt;00:03:48 &amp;ndash; Continued growth of the platform&lt;/li&gt;
&lt;li&gt;00:06:49 &amp;ndash; Parallel branch development&lt;/li&gt;
&lt;li&gt;00:09:19 &amp;ndash; The introduction of Apache Arrow&lt;/li&gt;
&lt;li&gt;00:18:53 &amp;ndash; Working with NumPy data in pandas&lt;/li&gt;
&lt;li&gt;00:30:18 &amp;ndash; Arrow data types and strings&lt;/li&gt;
&lt;li&gt;00:41:23 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:42:37 &amp;ndash; Interoperability of Arrow data back end&lt;/li&gt;
&lt;li&gt;00:50:36 &amp;ndash; Could pandas be more extensible?&lt;/li&gt;
&lt;li&gt;01:00:49 &amp;ndash; Python DataFrame Summit 2023&lt;/li&gt;
&lt;li&gt;01:08:12 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:11:13 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:12:12 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:13:46 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://datapythonista.me/&quot;&gt;Marc Garcia - datapythonista - data engineer, data scientist and pandas core developer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datapythonista.me/blog/pandas-20-and-the-arrow-revolution-part-i&quot;&gt;pandas 2.0 and the Arrow revolution (part I)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tubedu.org/w/0054e518-804e-4d91-9388-11d7008fd909&quot;&gt;The pandas of the future - Marc Garcia - SciPyLA 2019 - TubEdu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://slate.com/technology/2019/10/round-floor-software-errors-stock-market-battlefield.html&quot;&gt;The deadly consequences of rounding errors - Slate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/community/blog/&quot;&gt;Community Blog - pandas - Python Data Analysis Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arrow.apache.org/&quot;&gt;Apache Arrow - Apache Arrow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wesmckinney.com/blog/apache-arrow-pandas-internals/&quot;&gt;Apache Arrow and the &amp;ldquo;10 Things I Hate About pandas&amp;rdquo; - Wes McKinney&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/pdeps/0009-io-extensions.html&quot;&gt;I/O Extensions in pandas - PDEP-9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://tomaugspurger.net/posts/pandas-extension-arrays/&quot;&gt;Extension Arrays for Pandas - Tom&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://df-summit-23.pydata.org/&quot;&gt;Python Dataframe Summit 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Freediving&quot;&gt;Freediving - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/datapythonista/&quot;&gt;Marc Garcia - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/datapythonista&quot;&gt;Marc Garcia (@datapythonista) - X&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-writing-files-pandas/&quot;&gt;Reading and Writing Files With pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/explore-dataset-with-pandas/&quot;&gt;Explore Your Dataset With pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E167_02_Marc.abff6cdca577.mp3" type="audio/mpeg" length="72598675"/>
        <guid isPermaLink="false">5c0d2598-fdb5-492f-b398-13b85c0d09d5</guid>
        <pubDate>Fri, 04 Aug 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4473</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_167_Podcast.bf2cefc5933a.jpg"/>
        <rp:twitter-handles>@datapythonista</rp:twitter-handles>
        <rp:twitter-title>“Exploring pandas 2.0 &amp; Targets for Apache Arrow” with @datapythonista</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>166</itunes:episode>
        <title>Differentiating the Versions of Python &amp; Unlocking IPython&#x27;s Magic</title>
        <itunes:title>Differentiating the Versions of Python &amp; Unlocking IPython&#x27;s Magic</itunes:title>
        <link>https://realpython.com/podcasts/rpp/166/</link>
        <description>What are all the different versions of Python? You may have heard of Cython, Brython, PyPy, or others and wondered where they fit into the Python landscape. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are all the different versions of Python? You may have heard of Cython, Brython, PyPy, or others and wondered where they fit into the Python landscape. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article from the Bite Code blog about all the different forms that Python can take. CPython is the reference implementation of the language, which is what we usually discuss. He lists several alternative projects and the use cases.&lt;/p&gt;
&lt;p&gt;We also discuss a recent Real Python tutorial about IPython. IPython is an interactive Python shell from the team that developed Jupyter Notebooks. It includes a set of IDE-like features and unique magic commands. The tutorial digs into using the tool to learn more about Python and explore your code.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including several news updates, the state of WASI support for CPython, how Python uses garbage collection, a discussion about the current AI echo chamber, an async Python web microframework, a stand-alone CSV editor, and a project for identifying unused dependencies to avoid a bloated virtual environment.  &lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Scout APM.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-maze-solver-part-1/&quot;&gt;Mazes in Python Part 1: Building and Visualizing&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this two-part video course project, you&amp;rsquo;ll build a maze solver in Python using graph algorithms from the NetworkX library. Along the way, you&amp;rsquo;ll design a binary file format for the maze, represent it in an object-oriented way, and visualize the solution using scalable vector graphics (SVG).&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:19 &amp;ndash; Python 3.12.0 Beta 4 Released&lt;/li&gt;
&lt;li&gt;00:02:53 &amp;ndash; Django in Action - Christopher&amp;rsquo;s Book&lt;/li&gt;
&lt;li&gt;00:04:28 &amp;ndash; State of WASI Support for CPython: June 2023&lt;/li&gt;
&lt;li&gt;00:08:32 &amp;ndash; What&amp;rsquo;s the Deal With CPython, PyPy, MicroPython, Jython…?&lt;/li&gt;
&lt;li&gt;00:12:10 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:12:57 &amp;ndash; Unlock IPython&amp;rsquo;s Magical Toolbox for Your Coding Journey&lt;/li&gt;
&lt;li&gt;00:18:33 &amp;ndash; How Python Uses Garbage Collection&lt;/li&gt;
&lt;li&gt;00:21:31 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:23:04 &amp;ndash; Are People in Tech Inside an AI Echo Chamber?&lt;/li&gt;
&lt;li&gt;00:39:39 &amp;ndash; quart: An Async Python Web Microframework&lt;/li&gt;
&lt;li&gt;00:41:33 &amp;ndash; Modern CSV: CSV Editor/Viewer&lt;/li&gt;
&lt;li&gt;00:43:09 &amp;ndash; creosote: Identify Unused Dependencies&lt;/li&gt;
&lt;li&gt;00:45:09 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/07/pleased-to-announce-release-of-python-3.html&quot;&gt;Python 3.12.0 Beta 4 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/django-in-action?utm_source=ctrudeau&amp;amp;utm_medium=affiliate&amp;amp;utm_campaign=book_trudeau_django_7_18_23&amp;amp;a_aid=ctrudeau&amp;amp;a_bid=3d9dd449&quot;&gt;Django in Action - Christopher&amp;rsquo;s Book - Manning Early Access Program&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/wasi-support-for-cpython-june-2023/&quot;&gt;State of WASI Support for CPython: June 2023&lt;/a&gt; &amp;ndash; This post from Brett Cannon covers the current state of WebAssembly targets in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/whats-the-deal-with-cpython-pypy&quot;&gt;What&amp;rsquo;s the Deal With CPython, PyPy, MicroPython, Jython…?&lt;/a&gt; &amp;ndash; This comprehensive article introduces you to all the different ways that you can Python. CPython isn&amp;rsquo;t the only choice. Learn what else is out there and why you might choose an alternative.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/ipython-interactive-python-shell/&quot;&gt;Unlock IPython&amp;rsquo;s Magical Toolbox for Your Coding Journey&lt;/a&gt; &amp;ndash; IPython is a powerful tool that can prove useful on your journey to mastering Python. Its friendly interface will enable you to comfortably take control of your learning. In this tutorial, you&amp;rsquo;ll cover the basic concepts of using IPython and learn how its features can make coding efficient.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/karishmashukla/how-python-uses-garbage-collection-for-efficient-memory-management-270h&quot;&gt;How Python Uses Garbage Collection&lt;/a&gt; &amp;ndash; This article outlines how Python stores variables as references and how that relates to memory management&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=36567918&quot;&gt;Are People in Tech Inside an AI Echo Chamber?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/features/23764584/ai-artificial-intelligence-data-notation-labor-scale-surge-remotasks-openai-chatbots&quot;&gt;Inside the AI Factory: the humans that make tech seem human - The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arstechnica.com/information-technology/2023/07/is-chatgpt-getting-worse-over-time-study-claims-yes-but-others-arent-sure/?utm_brand=arstechnica&amp;amp;utm_social-type=owned&amp;amp;utm_source=mastodon&amp;amp;utm_medium=social&quot;&gt;Is ChatGPT getting worse over time? Study claims yes, but others aren&amp;rsquo;t sure | Ars Technica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/pdf/2307.09009.pdf&quot;&gt;How Is ChatGPT&amp;rsquo;s Behavior Changing over Time?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pallets/quart&quot;&gt;quart: An Async Python Web Microframework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moderncsv.com/&quot;&gt;Modern CSV: CSV Editor/Viewer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fredrikaverpil/creosote&quot;&gt;creosote: Identify unused dependencies and avoid a bloated virtual environment&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/154/&quot;&gt;Episode #154: Targeting WebAssembly Platforms &amp;amp; Distilling a Minimum Viable Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ipython.readthedocs.io/en/stable/&quot;&gt;IPython 8.14.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-maze-solver-part-2/&quot;&gt;Mazes in Python Part 2: Storing and Solving&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-oop/&quot;&gt;Python Basics: Object-Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-maze-solver/&quot;&gt;Mazes in Python: Build, Visualize, Store, and Solve&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E166_03_Cx2.6942c31fe760.mp3" type="audio/mpeg" length="45313922"/>
        <guid isPermaLink="false">13d56044-bc0d-44e0-b887-2ac135514596</guid>
        <pubDate>Fri, 28 Jul 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2771</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_166_Podcast.8eaaac8afbec.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Differentiating the Versions of Python &amp; Unlocking IPython&#x27;s Magic”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>165</itunes:episode>
        <title>Leveraging the Features of Your Database With Postgres and Python</title>
        <itunes:title>Leveraging the Features of Your Database With Postgres and Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/165/</link>
        <description>Are you getting the most out of your Postgres database? What features could you leverage to improve your Python project? This week on the show, Craig Kerstiens from Crunchy Data is here to discuss getting the most out of Postgres.</description>
        <content:encoded>&lt;p&gt;Are you getting the most out of your Postgres database? What features could you leverage to improve your Python project? This week on the show, Craig Kerstiens from Crunchy Data is here to discuss getting the most out of Postgres.&lt;/p&gt;
&lt;p&gt;Craig shares his years of PostgreSQL expertise with advice on getting more from the platform. We talk about rich data types for describing ranges, geospatial data, and JSON. &lt;/p&gt;
&lt;p&gt;Craig shares tools for accessing performance statistics from the command line and strategies for optimizing your terminal settings for SQL searches. He discusses Postgres extensions for customizing the database to your needs. Craig also provides multiple resources for learning more and an online tool for practicing within a playground environment.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to create web maps from data using Folium. The package combines Python&amp;rsquo;s data-wrangling strengths with the data-visualization power of the JavaScript library Leaflet. In this video course, you&amp;rsquo;ll create and style a choropleth world map showing the ecological footprint per country.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:36 &amp;ndash; What are reasons for considering Postgres?&lt;/li&gt;
&lt;li&gt;00:07:41 &amp;ndash; Timeline of recent features&lt;/li&gt;
&lt;li&gt;00:11:06 &amp;ndash; Unique data types&lt;/li&gt;
&lt;li&gt;00:16:34 &amp;ndash; Storing JSON information&lt;/li&gt;
&lt;li&gt;00:20:19 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:21:50 &amp;ndash; Storing geographic information&lt;/li&gt;
&lt;li&gt;00:25:16 &amp;ndash; What&amp;rsquo;s the process for adding extensions?&lt;/li&gt;
&lt;li&gt;00:31:33 &amp;ndash; Advice for Python developers using Postgres&lt;/li&gt;
&lt;li&gt;00:33:31 &amp;ndash; Advice on writing SQL&lt;/li&gt;
&lt;li&gt;00:38:06 &amp;ndash; Command-line tools and customizations&lt;/li&gt;
&lt;li&gt;00:48:18 &amp;ndash; Django as an entry to Python&lt;/li&gt;
&lt;li&gt;00:51:13 &amp;ndash; Resources for learning and practicing with Postgres&lt;/li&gt;
&lt;li&gt;00:53:45 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:55 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:58:34 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:59:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.craigkerstiens.com/&quot;&gt;Craig Kerstiens - Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/&quot;&gt;Trusted Open Source PostgreSQL &amp;amp; Commercial Support for the Enterprise - Crunchy Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/why-postgres&quot;&gt;Why Postgres? - Crunchy Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=C5hd8HyC0YI&quot;&gt;Why Postgres - Craig Kerstiens - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=HaCaCnZlDcI&quot;&gt;A hands on experience with complex SQL - Craig Kerstiens - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Ingres_(database)&quot;&gt;Ingres (database) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/4.2/ref/contrib/postgres/fields/&quot;&gt;PostgreSQL specific model fields - Django documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.postgresql.org/wiki/Psqlrc&quot;&gt;Psqlrc - PostgreSQL wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.citusdata.com/blog/2019/02/08/the-most-useful-postgres-extension-pg-stat-statements/&quot;&gt;The most useful Postgres extension - pg_stat_statements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog/high-compression-metrics-storage-with-postgres-hyperloglog&quot;&gt;High-compression Metrics Storage with Postgres Hyperloglog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/developers/tutorials&quot;&gt;Postgres Playground and Tutorials - Crunchy Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crunchydata.com/blog&quot;&gt;PostgreSQL Blog - Crunchy Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/craigkerstiens/status/1679179083245297664&quot;&gt;It&amp;rsquo;s at least once a week I talk with someone that &amp;ldquo;loves Postgres&amp;rdquo; but isn&amp;rsquo;t sure why&amp;hellip;  Craig Kerstiens on Twitter: &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thewokbook.com/&quot;&gt;The Wok Book: Recipes and Techniques by J. Kenji Lopez-Alt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-folium-web-maps-from-data/&quot;&gt;Creating Web Maps From Your Data With Python Folium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/deploying-a-flask-application-using-heroku/&quot;&gt;Deploying a Flask Application Using Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python/&quot;&gt;SQLite and SQLAlchemy in Python: Moving Your Data Beyond Flat Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E165_02_Craig.f9af04ee84f4.mp3" type="audio/mpeg" length="59175976"/>
        <guid isPermaLink="false">645a04cc-9745-47c1-a315-01e3083b2ecd</guid>
        <pubDate>Fri, 21 Jul 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3633</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_165_Podcast.9774cbe4f89b.jpg"/>
        <rp:twitter-handles>@craigkerstiens</rp:twitter-handles>
        <rp:twitter-title>“Leveraging the Features of Your Database With Postgres and Python” with @craigkerstiens</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>164</itunes:episode>
        <title>Constructing Python Library APIs &amp; Tackling Jinja Templating</title>
        <itunes:title>Constructing Python Library APIs &amp; Tackling Jinja Templating</itunes:title>
        <link>https://realpython.com/podcasts/rpp/164/</link>
        <description>What principles should you consider when designing a Python library? How do you construct a library API that&#x27;s understandable and easy to use? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What principles should you consider when designing a Python library? How do you construct a library API that&amp;rsquo;s understandable and easy to use? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share an article about building library APIs. The piece provides advice for package structure, naming, error handling, and more. The author guides you toward Pythonic principles by comparing clunky vs elegant design examples.&lt;/p&gt;
&lt;p&gt;Christopher discusses his recent video course on Jinja templating. The course covers creating text files with programmatic content and employing rich templates to structure the front end of Python web applications. &lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including several news updates, reasons why membership tests are fast for the &lt;code&gt;range()&lt;/code&gt; function, CLI tools hidden in the Python standard library, a thread about the right way to install Python, recipes for using the Polars library, and a project for feature flags within Django.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Snyk.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/jinja-templating/&quot;&gt;Jinja Templating&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With Jinja, you can build rich templates that power the front end of your web applications. But you can use Jinja without a web framework running in the background. Anytime you want to create text files with programmatic content, Jinja can help you out.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:16 &amp;ndash; PyLadies Conference (Dec 2023) Call for Volunteers&lt;/li&gt;
&lt;li&gt;00:02:32 &amp;ndash; PSF Board Election Results&lt;/li&gt;
&lt;li&gt;00:03:47 &amp;ndash; PSF Announces New Security Developer in Residence&lt;/li&gt;
&lt;li&gt;00:04:39 &amp;ndash; Django Security Releases Issued&lt;/li&gt;
&lt;li&gt;00:04:50 &amp;ndash; Deprecation of &lt;code&gt;bdist_egg&lt;/code&gt; Uploads to PyPI&lt;/li&gt;
&lt;li&gt;00:05:54 &amp;ndash; Why Are Membership Tests So Fast for &lt;code&gt;range()&lt;/code&gt; in Python?&lt;/li&gt;
&lt;li&gt;00:11:51 &amp;ndash; CLI Tools Hidden in the Python Standard Library&lt;/li&gt;
&lt;li&gt;00:15:59 &amp;ndash; Sponsor: Snyk&lt;/li&gt;
&lt;li&gt;00:16:49 &amp;ndash; Designing Pythonic Library APIs&lt;/li&gt;
&lt;li&gt;00:28:27 &amp;ndash; Jinja Templating&lt;/li&gt;
&lt;li&gt;00:32:49 &amp;ndash; Kill a Developer in 4 Words or Less&lt;/li&gt;
&lt;li&gt;00:37:28 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:38:51 &amp;ndash; What is &amp;ldquo;the right way&amp;rdquo; to install Python on a new M2 MacBook?&lt;/li&gt;
&lt;li&gt;00:44:11 &amp;ndash; polars-cookbook: Recipes for Using Python&amp;rsquo;s Polars Library&lt;/li&gt;
&lt;li&gt;00:46:48 &amp;ndash; waffle: Feature Flags for Django&lt;/li&gt;
&lt;li&gt;00:49:54 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pyladies.com/blog/Announcement-PyLadies-Conference/global-conference-announcement/&quot;&gt;PyLadies Conference (Dec 2023) Call for Volunteers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2023/06/announcing-2023-psf-board-election.html&quot;&gt;PSF Board Election Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2023/06/announcing-our-new-security-developer.html&quot;&gt;PSF Announces New Security Developer in Residence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sethmlarson.dev/security-developer-in-residence&quot;&gt;I Am the First PSF Security Developer-in-Residence&lt;/a&gt; &amp;ndash; Seth was recently hired as the first security developer in residence at the PSF. His blog post talks about what his responsibilities are and how he defines success for the position.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonsoftwarefoundation.applytojob.com/apply/9jXnEu0MuJ/Deputy-CPython-Developer-In-Residence&quot;&gt;Deputy CPython Developer in Residence - Python Software Foundation - Career Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/jul/03/security-releases/&quot;&gt;Django Security Releases Issued: 4.2.3, 4.1.10, and 3.2.20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-06-26-deprecate-egg-uploads/&quot;&gt;Deprecation of &lt;code&gt;bdist_egg&lt;/code&gt; Uploads to PyPI&lt;/a&gt; &amp;ndash; &lt;a href=&quot;https://peps.python.org/pep-0715/&quot;&gt;PEP 715&lt;/a&gt; has been accepted and as of August 1, 2023, the &lt;code&gt;.egg&lt;/code&gt; format will no longer be accepted as an upload. Existing eggs on PyPI will remain in place.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-range-membership-test/&quot;&gt;Why Are Membership Tests So Fast for &lt;code&gt;range()&lt;/code&gt; in Python?&lt;/a&gt; &amp;ndash; In Python, &lt;code&gt;range()&lt;/code&gt; is most commonly used in &lt;code&gt;for&lt;/code&gt; loops. However, ranges have some other use cases too, as they share many properties with lists. In this tutorial, you&amp;rsquo;ll explore why it&amp;rsquo;s so fast to perform a membership test on a Python range.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://til.simonwillison.net/python/stdlib-cli-tools&quot;&gt;CLI Tools Hidden in the Python Standard Library&lt;/a&gt; &amp;ndash; There are several modules in Python that are directly callable from the command line, including the ability to gzip and pretty-print JSON. This article introduces you to what options are available and how Simon discovered them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://benhoyt.com/writings/python-api-design/&quot;&gt;Designing Pythonic Library APIs&lt;/a&gt; &amp;ndash; This article summarizes principles that Ben has found useful when designing Python library APIs. Topics include structure, naming, error handling, and type annotations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/jinja-templating/&quot;&gt;Jinja Templating&lt;/a&gt; &amp;ndash; With Jinja, you can build rich templates that power the front end of your web applications. But you can use Jinja without a web framework running in the background. Anytime you want to create text files with programmatic content, Jinja can help you out.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/xsgames_/status/1671549861290819585&quot;&gt;Kill a Developer in 4 Words or Less - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/chrisalbon/status/1676309875025121280&quot;&gt;What is &amp;ldquo;the right way&amp;rdquo; to install Python on a new M2 MacBook? - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/escobar-west/polars-cookbook&quot;&gt;polars-cookbook: Recipes for Using Python&amp;rsquo;s Polars Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/django-waffle/django-waffle&quot;&gt;waffle: Feature Flags for Django&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL9MuO5r3rpXJ5k-NEI3Gc6S3CZU7mGwvP&quot;&gt;PSF Board of Directors Nominees - 2023 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jvns/pandas-cookbook&quot;&gt;pandas-cookbook: Recipes for using Python&amp;rsquo;s pandas library&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/deploy-python-script-web-flask/&quot;&gt;Deploy Your Python Script on the Web With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/jinja-templating/&quot;&gt;Jinja Templating&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E164_03_Cx2.efa7997ae5fa.mp3" type="audio/mpeg" length="49860746"/>
        <guid isPermaLink="false">772e09e2-283b-4b8b-87aa-31f5040f5189</guid>
        <pubDate>Fri, 14 Jul 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3055</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_164_Podcast.7dddb45aea3a.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Constructing Python Library APIs &amp; Tackling Jinja Templating”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>163</itunes:episode>
        <title>Python Crash Course &amp; Learning Enough to Start Creating</title>
        <itunes:title>Python Crash Course &amp; Learning Enough to Start Creating</itunes:title>
        <link>https://realpython.com/podcasts/rpp/163/</link>
        <description>How much Python do you need to learn to start creating projects? What&#x27;s a good balance of information and hands-on practice? This week on the show, Eric Matthes is here to discuss his book Python Crash Course.</description>
        <content:encoded>&lt;p&gt;How much Python do you need to learn to start creating projects? What&amp;rsquo;s a good balance of information and hands-on practice? This week on the show, Eric Matthes is here to discuss his book Python Crash Course.&lt;/p&gt;
&lt;p&gt;As a former high school science, math, and programming teacher, Eric saw something missing in the programming publishing landscape. We discuss the guiding questions that inspired the book&amp;rsquo;s development and the title. Eric covers how the crash course takes readers through a fast-paced introduction to Python that culminates in three unique projects.&lt;/p&gt;
&lt;p&gt;We also discuss Eric&amp;rsquo;s blog, Mostly Python, where he digs deeper into technical subjects. He also occasionally shares more topical posts and includes many exercises.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/plot-pandas-data-visualization/&quot;&gt;Plot With pandas: Python Data Visualization Basics&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll get to know the basic plotting possibilities that Python provides in the popular data analysis library pandas. You&amp;rsquo;ll learn about the different kinds of plots that pandas offers, how to use them for data exploration, and which types of plots are best for certain use cases.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:04 &amp;ndash; Why Alaska?&lt;/li&gt;
&lt;li&gt;00:05:33 &amp;ndash; What do you like about Python?&lt;/li&gt;
&lt;li&gt;00:06:40 &amp;ndash; Becoming an author &amp;amp; the intended reader&lt;/li&gt;
&lt;li&gt;00:15:56 &amp;ndash; History of programming books&lt;/li&gt;
&lt;li&gt;00:17:39 &amp;ndash; Having a purpose for learning&lt;/li&gt;
&lt;li&gt;00:20:22 &amp;ndash; Exercising as you go&lt;/li&gt;
&lt;li&gt;00:24:45 &amp;ndash; Including projects in the book&lt;/li&gt;
&lt;li&gt;00:26:32 &amp;ndash; Is the &amp;ldquo;crash course&amp;rdquo; a book model?&lt;/li&gt;
&lt;li&gt;00:29:20 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:29 &amp;ndash; How much of a topic to reveal&lt;/li&gt;
&lt;li&gt;00:35:08 &amp;ndash; Guiding questions&lt;/li&gt;
&lt;li&gt;00:42:43 &amp;ndash; Moving from functions to testing in four chapters&lt;/li&gt;
&lt;li&gt;00:46:21 &amp;ndash; What were you excited to update in the book?&lt;/li&gt;
&lt;li&gt;00:50:28 &amp;ndash; Were there doubts about preparing readers for projects?&lt;/li&gt;
&lt;li&gt;00:53:52 &amp;ndash; Space invaders clone pygame project&lt;/li&gt;
&lt;li&gt;00:55:52 &amp;ndash; Data visualization project&lt;/li&gt;
&lt;li&gt;01:00:38 &amp;ndash; Django web app project&lt;/li&gt;
&lt;li&gt;01:04:15 &amp;ndash; Cheat sheets and additional resources&lt;/li&gt;
&lt;li&gt;01:07:54 &amp;ndash; Python flash cards&lt;/li&gt;
&lt;li&gt;01:09:54 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:10:54 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:11:46 &amp;ndash; How can people follow the work you do?&lt;/li&gt;
&lt;li&gt;01:13:06 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/python-crash-course-3rd-edition&quot;&gt;Python Crash Course, 3rd Edition - No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/105/&quot;&gt;Episode #105: Creating Better Error Messages for Python 3.10 &amp;amp; 3.11 – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2022/schedule/presentation/69/&quot;&gt;Making Python Better One Error Message At A Time - PyCon 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/learning-python-2nd/0596002815/&quot;&gt;Learning Python, 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/7.4.x/&quot;&gt;pytest: helps you write better programs — pytest documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pygame.org/wiki/GettingStarted&quot;&gt;Pygame&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://matplotlib.org/&quot;&gt;Matplotlib — Visualization with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plotly.com/&quot;&gt;Plotly: Low-Code Data App Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://django-simple-deploy.readthedocs.io/en/latest/&quot;&gt;django-simple-deploy - readthedocs.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ehmatthes.github.io/pcc_3e/cheat_sheets/&quot;&gt;Cheat Sheets - Python Crash Course, Third Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/pythonflashcards&quot;&gt;Python Flash Cards - No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.djangocon.us/&quot;&gt;DjangoCon US 2023 - October 16-20, 2023 - Durham, NC United States&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/&quot;&gt;pandas - Python Data Analysis Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ehmatthes.github.io/pcc_3e/&quot;&gt;Python Crash Course, Third Edition - GitHub Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mostlypython.substack.com/&quot;&gt;Mostly Python - Eric Matthes - Substack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@ehmatthes&quot;&gt;Eric Matthes (@ehmatthes@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/plot-pandas-data-visualization/&quot;&gt;Plot With pandas: Python Data Visualization Basics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E163_02_Eric.c30b38904a9d.mp3" type="audio/mpeg" length="71888382"/>
        <guid isPermaLink="false">cf713225-5d4c-47fa-8594-e2669890b85f</guid>
        <pubDate>Fri, 07 Jul 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4432</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_163_Podcast.ff56c957cb62.jpg"/>
        <rp:twitter-handles>@ehmatthes</rp:twitter-handles>
        <rp:twitter-title>“Python Crash Course &amp; Learning Enough to Start Creating” with @ehmatthes</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>162</itunes:episode>
        <title>Exploring the Zen of Python &amp; pandas Features for Finance</title>
        <itunes:title>Exploring the Zen of Python &amp; pandas Features for Finance</itunes:title>
        <link>https://realpython.com/podcasts/rpp/162/</link>
        <description>What advice can you extract from the Zen of Python? How can these nineteen guiding principles help you write more idiomatic Python? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What advice can you extract from the Zen of Python? How can these nineteen guiding principles help you write more idiomatic Python? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a Real Python tutorial by Bartosz Zaczyński titled &amp;ldquo;What&amp;rsquo;s the Zen of Python?&amp;rdquo; We talk about the poem&amp;rsquo;s origin and ways to access the Zen within Python. We also discuss how different sections provide contradictory advice for what makes good Python code.&lt;/p&gt;
&lt;p&gt;We cover a recent post by previous guest Matt Harrison about using Python and pandas for finance. Matt&amp;rsquo;s article covers methods in the pandas library for aggregation, resampling, and rolling averages.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including staying up-to-date with news, solving a Legend of Zelda puzzle with Python, avoiding &amp;ldquo;simply&amp;rdquo; providing advice, displaying better stack traces, and creating files with fake data.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Learn what concurrency means in Python and why you might want to use it. You&amp;rsquo;ll see a simple, non-concurrent approach and then look into why you&amp;rsquo;d want threading, asyncio, or multiprocessing.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:49 &amp;ndash; Python 3.11.4, 3.10.12, 3.9.17, 3.8.17, 3.7.17, and Python 3.12.0 beta 3 released&lt;/li&gt;
&lt;li&gt;00:02:24 &amp;ndash; Enforcement of 2FA for PyPI Began June 1st&lt;/li&gt;
&lt;li&gt;00:02:54 &amp;ndash; Faster Python 3.13 Plan&lt;/li&gt;
&lt;li&gt;00:03:14 &amp;ndash; PyPy v7.3.12 Released&lt;/li&gt;
&lt;li&gt;00:03:28 &amp;ndash; Migrate to &lt;code&gt;.readthedocs.yaml&lt;/code&gt; Configuration&lt;/li&gt;
&lt;li&gt;00:05:14 &amp;ndash; PyCon US 2023 and PyCascades 2023 Videos Are Up&lt;/li&gt;
&lt;li&gt;00:05:37 &amp;ndash; What&amp;rsquo;s the Zen of Python?&lt;/li&gt;
&lt;li&gt;00:09:22 &amp;ndash; Python for Finance: Pandas Resample, Groupby, and Rolling&lt;/li&gt;
&lt;li&gt;00:15:24 &amp;ndash; Python and the Legend of Zelda&lt;/li&gt;
&lt;li&gt;00:17:47 &amp;ndash; Don&amp;rsquo;t Say &amp;ldquo;Simply&amp;rdquo; Use Pyenv, Poetry or Anaconda&lt;/li&gt;
&lt;li&gt;00:28:54 &amp;ndash; Is Parallel Programming Hard?&lt;/li&gt;
&lt;li&gt;00:40:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:42:20 &amp;ndash; pymg: A Better Display for Stack Traces&lt;/li&gt;
&lt;li&gt;00:44:58 &amp;ndash; faker-file: Create Files With Fake Data&lt;/li&gt;
&lt;li&gt;00:49:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/06/python-3114-31012-3917-3817-3717-and.html&quot;&gt;Python 3.11.4, 3.10.12, 3.9.17, 3.8.17, 3.7.17, and 3.12.0 Beta 2 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/06/python-3120-beta-3-released.html&quot;&gt;Python Insider: Python 3.12.0 beta 3 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-06-01-2fa-enforcement-for-upload/&quot;&gt;Enforcement of 2FA for PyPI Began June 1st&lt;/a&gt; &amp;ndash; For those accounts that have two-factor authentication turned on for PyPI uploads, the use of 2FA is now required. Users with 2FA who were only using a password in the past will now have to perform 2FA as well. This is all part of the PyPI transition to 2FA across the board.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/faster-cpython/ideas/blob/main/3.13/README.md&quot;&gt;Faster Python 3.13 Plan&lt;/a&gt; &amp;ndash; This brief outline highlights the plan for the faster CPython project for the 3.13 release. It includes &lt;a href=&quot;https://peps.python.org/pep-0669/&quot;&gt;PEP 669&lt;/a&gt;, &lt;a href=&quot;https://peps.python.org/pep-0554/&quot;&gt;PEP 554&lt;/a&gt;, improved memory management, and more. Here&amp;rsquo;s the associated &lt;a href=&quot;https://news.ycombinator.com/item?id=36339777&quot;&gt;Hacker News discussion&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pypy.org/posts/2023/06/pypy-v7312-release.html&quot;&gt;PyPy v7.3.12 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.readthedocs.com/migrate-configuration-v2/&quot;&gt;Migrate to &lt;code&gt;.readthedocs.yaml&lt;/code&gt; Configuration&lt;/a&gt; &amp;ndash; The Read the Docs site has announced the new requirement that all builds must move to using a &lt;code&gt;.readthedocs.yaml&lt;/code&gt; configuration file, version 2. There are some test windows where they&amp;rsquo;ll be temporarily enforcing the change, but the final release date is September 25, 2023. Read on for details on how to migrate your project.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLcNrB7gPa-NedACvFYa9iVUIhnku_EBSz&quot;&gt;PyCascades 2023 Videos Are Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/pyconus&quot;&gt;PyCon US 2023 Videos Are Up&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/zen-of-python/&quot;&gt;What&amp;rsquo;s the Zen of Python?&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll be exploring the Zen of Python, a collection of nineteen guiding principles for writing idiomatic Python. You&amp;rsquo;ll find out how they originated and whether you should follow them. Along the way, you&amp;rsquo;ll uncover several inside jokes associated with this humorous poem.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ponder.io/python-for-finance-pandas-resample-groupby-and-rolling/&quot;&gt;Python for Finance: Pandas Resample, Groupby, and Rolling&lt;/a&gt; &amp;ndash; When working with time series data such as financial information, the resample, grouping, and rolling features of pandas can make your life easier.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gazj.substack.com/p/python-and-the-legend-of-zelda&quot;&gt;Python and the Legend of Zelda&lt;/a&gt; &amp;ndash; The Game Boy Color version of Legend of Zelda: Oracle of Ages contains a grid-based puzzle. Gaz writes about creating a brute-force program to solve the challenge using Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bitecode.dev/p/why-not-tell-people-to-simply-use&quot;&gt;Don&amp;rsquo;t Say &amp;ldquo;Simply&amp;rdquo; Use Pyenv, Poetry or Anaconda&lt;/a&gt; &amp;ndash; This article talks about the issues that newer Python coders might encounter by adopting more complicated package management mechanisms and explains why sticking with &lt;code&gt;pip&lt;/code&gt; is often the better choice.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=36318280&quot;&gt;Is Parallel Programming Hard?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://charlesleifer.com/blog/asyncio/&quot;&gt;AsyncIO: Why I Hate It&lt;/a&gt; &amp;ndash; Charles is the creator of &lt;a href=&quot;https://docs.peewee-orm.com/en/latest/&quot;&gt;Peewee ORM&lt;/a&gt; and often gets the question &lt;em&gt;when will it support &lt;code&gt;asyncio&lt;/code&gt;?&lt;/em&gt; In this opinion piece, he talks about why he doesn&amp;rsquo;t like &lt;code&gt;asyncio&lt;/code&gt; and which alternatives he prefers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mimseyedi/pymg&quot;&gt;pymg: A Better Display for Stack Traces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/barseghyanartur/faker-file&quot;&gt;faker-file: Create Files With Fake Data&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=LA1Ir0s4icw&quot;&gt;Practicality Beats Purity: The Zen of Python&amp;rsquo;s Escape Hatch - Chris Neugebauer - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bitecode.substack.com/p/relieving-your-python-packaging-pain&quot;&gt;Relieving your Python packaging pain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html&quot;&gt;Is Parallel Programming Hard, And, If So, What Can You Do About It? - Book Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/threading-python/&quot;&gt;Threading in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-concurrency-asyncio-module/&quot;&gt;Hands-On Python 3 Concurrency With the asyncio Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E162_02_Cx2.363436affb2f.mp3" type="audio/mpeg" length="48990408"/>
        <guid isPermaLink="false">876bd0dc-b021-4985-bad3-6dac7512c18b</guid>
        <pubDate>Fri, 30 Jun 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3001</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_162_Podcast.4ab2f3be3fc1.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring the Zen of Python &amp; pandas Features for Finance”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>161</itunes:episode>
        <title>Resources and Advice for Building CircuitPython Projects</title>
        <itunes:title>Resources and Advice for Building CircuitPython Projects</itunes:title>
        <link>https://realpython.com/podcasts/rpp/161/</link>
        <description>Are you looking to advance your CircuitPython projects? Would you like a collection of resources and tools to help you along your path? This week on the show, Tod Kurt is here to discuss building projects with CircuitPython.</description>
        <content:encoded>&lt;p&gt;Are you looking to advance your CircuitPython projects? Would you like a collection of resources and tools to help you along your path? This week on the show, Tod Kurt is here to discuss building projects with CircuitPython.&lt;/p&gt;
&lt;p&gt;Tod has been working with embedded electronics for a long time and has been an active member of the Arduino community. He recently started to build projects using CircuitPython, and it has become his preferred prototype method. &lt;/p&gt;
&lt;p&gt;He shares software resources, hardware tools, and advice about working with CircuitPython and embedded electronics. We discuss several of his music hardware projects and the libraries and modules that he uses for synthesis. He also shares a powerful online prototyping tool to plan your project before spending money or plugging in a soldering iron.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-reading-and-writing-files/&quot;&gt;Python Basics: Reading and Writing Files&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to move data back and forth between your Python programs and external software by reading and writing files. You&amp;rsquo;ll practice reading and writing data stored in the CSV file format, one of the most widely supported file formats for transferring tabular data.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:17 &amp;ndash; Tod&amp;rsquo;s background and ThingM&lt;/li&gt;
&lt;li&gt;00:06:37 &amp;ndash; The Bootloader Podcast&lt;/li&gt;
&lt;li&gt;00:09:58 &amp;ndash; Why did you move from C to Python?&lt;/li&gt;
&lt;li&gt;00:13:47 &amp;ndash; Starting new projects with CircuitPython instead of Arduino&lt;/li&gt;
&lt;li&gt;00:17:14 &amp;ndash; Advantages of the Arduino language&lt;/li&gt;
&lt;li&gt;00:21:07 &amp;ndash; Modules that extend CircuitPython with C&lt;/li&gt;
&lt;li&gt;00:25:23 &amp;ndash; Synthesis and sample playback in CircuitPython&lt;/li&gt;
&lt;li&gt;00:32:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:13 &amp;ndash; ulab for NumPy-like functionality in CircuitPython&lt;/li&gt;
&lt;li&gt;00:39:20 &amp;ndash; Raspberry Pi Pico as inexpensive project board&lt;/li&gt;
&lt;li&gt;00:46:08 &amp;ndash; STEMMA QT and breadboards&lt;/li&gt;
&lt;li&gt;00:48:40 &amp;ndash; Powering projects with a USB power bank&lt;/li&gt;
&lt;li&gt;00:51:25 &amp;ndash; Software tools - tio, circup, and discotool&lt;/li&gt;
&lt;li&gt;00:56:55 &amp;ndash; CircuitPython tricks GitHub repo&lt;/li&gt;
&lt;li&gt;00:59:44 &amp;ndash; Wokwi simulator for CircuitPython and Raspberry Pi Pico&lt;/li&gt;
&lt;li&gt;01:01:25 &amp;ndash; PCB board design resources&lt;/li&gt;
&lt;li&gt;01:03:27 &amp;ndash; todbot projects on Tindie&lt;/li&gt;
&lt;li&gt;01:06:11 &amp;ndash; Hardware tools for projects&lt;/li&gt;
&lt;li&gt;01:08:21 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:09:42 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:11:30 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:12:50 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://todbot.com/blog/&quot;&gt;todbot blog – Random experiments, circuits, and code by Tod Kurt.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/@Todbot&quot;&gt;todbot - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thingm.com/&quot;&gt;ThingM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thebootloader.net/about/&quot;&gt;The Bootloader Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.circuitpythonshow.com/@circuitpythonshow&quot;&gt;The CircuitPython Show Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.arduino.cc/&quot;&gt;Arduino - Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.adafruit.com/extending-circuitpython&quot;&gt;Extending CircuitPython: An Introduction - Adafruit Learning System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/5710&quot;&gt;Adafruit Feather RP2040 with DVI - HDMI Output&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/75/&quot;&gt;Episode #75: Building With CircuitPython &amp;amp; Constraints of Python for Microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.circuitpython.org/en/latest/shared-bindings/displayio/&quot;&gt;displayio – Native helpers for driving displays - CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sensorium.github.io/Mozzi/&quot;&gt;Mozzi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.circuitpython.org/en/latest/shared-bindings/synthio/index.html&quot;&gt;synthio: Support for multi-channel audio synthesis - Adafruit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.adafruit.com/ulab-crunch-numbers-fast-with-circuitpython&quot;&gt;ulab: Crunch Numbers fast in CircuitPython - Adafruit Learning System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/4864&quot;&gt;Raspberry Pi Pico RP2040 - Adafruit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.adafruit.com/introducing-adafruit-stemma-qt&quot;&gt;What is STEMMA? - Adafruit STEMMA &amp;amp; STEMMA QT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07JZCZSH9/&quot;&gt;USB Power bank - Current Favorite  - Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tio/tio&quot;&gt;tio: A simple serial device I/O tool - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/adafruit/circup&quot;&gt;circup: CircuitPython library updater - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Neradoc/discotool&quot;&gt;discotool: USB Arduino type boards discovery library and tool - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/todbot/circuitpython-tricks/&quot;&gt;circuitpython-tricks: Some CircuitPython tricks, mostly reminders to myself - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wokwi.com/projects/new/circuitpython-pi-pico&quot;&gt;Wokwi Simulator - CircuitPython on Raspberry Pi Pico Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.autodesk.com/products/eagle/overview?term=1-YEAR&amp;amp;tab=subscription&quot;&gt;EAGLE - PCB Design And Electrical Schematic Software - Autodesk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kicad.org/&quot;&gt;KiCad EDA - Schematic Capture &amp;amp; PCB Design Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.thea.codes/introducing-kicanvas/&quot;&gt;Introducing KiCanvas - Stargirl (Thea) Flowers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tindie.com/products/todbot/picotouch-capsense-midi-keyboard-for-raspi-pico/&quot;&gt;PicoTouch - Capsense MIDI keyboard - Tindie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tindie.com/products/todbot/picostepseq-pcb/&quot;&gt;PicoStepSeq PCB from todbot synth toys - Tindie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B08QMWFQ2H/&quot;&gt;USB Voltage and Current Tester - Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B00JX1ZS5O/&quot;&gt;USB Hub with Individual Power Switches - Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/cpython-internals-paperback/&quot;&gt;CPython Internals Book – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/AllenDowney/ThinkDSP&quot;&gt;ThinkDSP: Free Book on Digital Signal Processing in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://todbot.com/blog/&quot;&gt;todbot blog – Random experiments, circuits, and code by Tod Kurt.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mastodon.social/@todbot&quot;&gt;Tod Kurt (todbot) (@todbot@mastodon.social) - Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discord.com/invite/adafruit&quot;&gt;Adafruit Discord - @todbot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-reading-and-writing-files/&quot;&gt;Python Basics: Reading and Writing Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-micropython/&quot;&gt;Getting Started With MicroPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-file-system-operations/&quot;&gt;Python Basics: File System Operations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E161_02_TodKurt.fb92c413b064.mp3" type="audio/mpeg" length="71654676"/>
        <guid isPermaLink="false">8309709d-e7c4-4a1d-a74d-8325ebdd91a1</guid>
        <pubDate>Fri, 23 Jun 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4413</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_161_Podcast.c5c7e403a68a.jpg"/>
        <rp:twitter-handles>@todbot</rp:twitter-handles>
        <rp:twitter-title>“Resources and Advice for Building CircuitPython Projects” with @todbot</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>160</itunes:episode>
        <title>Inheriting a Large Python Code Base &amp; Building a GUI With Kivy</title>
        <itunes:title>Inheriting a Large Python Code Base &amp; Building a GUI With Kivy</itunes:title>
        <link>https://realpython.com/podcasts/rpp/160/</link>
        <description>What are the unique challenges of a large Python code base? What techniques can you implement to simplify the management of a big project? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the unique challenges of a large Python code base? What techniques can you implement to simplify the management of a big project? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent thread on Hacker News about working with a large Python code base. Christopher advises configuring tests and using tools to keep your code consistent across an organization. He also answers several questions about code complexity, typing, and leveraging third-party libraries.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including news from the Python Language Summit, Kivy for GUI development, the power of bit manipulation, the removal of unused import statements in your code, and a Python-based iOS project for adding reminders about links from a podcast.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/cross-platform-gui-apps-kivy/&quot;&gt;Build Cross-Platform GUI Apps With Kivy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to build a cross-platform mobile application with Python and the Kivy GUI framework. You&amp;rsquo;ll discover how to develop an application that can run on your desktop as well as your phone. Then, you&amp;rsquo;ll package your app for Windows, Linux, and macOS.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:43 &amp;ndash; Python 3.13 Removes 20 Stdlib Modules&lt;/li&gt;
&lt;li&gt;00:03:20 &amp;ndash; Making the Global Interpreter Lock Optional&lt;/li&gt;
&lt;li&gt;00:04:52 &amp;ndash; What Is the Standard Library For?&lt;/li&gt;
&lt;li&gt;00:06:14 &amp;ndash; Python&amp;rsquo;s &lt;code&gt;.__call__()&lt;/code&gt; Method: Creating Callable Instances&lt;/li&gt;
&lt;li&gt;00:11:40 &amp;ndash; The Power of Bit Manipulation&lt;/li&gt;
&lt;li&gt;00:15:39 &amp;ndash; Using Kivy for GUI Development&lt;/li&gt;
&lt;li&gt;00:21:18 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:22:43 &amp;ndash; How Do You Deal With Large Python Code Bases?&lt;/li&gt;
&lt;li&gt;00:40:50 &amp;ndash; unimport: Remove Unused Import Statements in Your Code&lt;/li&gt;
&lt;li&gt;00:42:36 &amp;ndash; Update: rsync-time-machine.py&lt;/li&gt;
&lt;li&gt;00:43:20 &amp;ndash; memocast: Add links heard in podcasts into iOS reminders&lt;/li&gt;
&lt;li&gt;00:47:42 &amp;ndash; A request to listeners&lt;/li&gt;
&lt;li&gt;00:48:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pep-594-has-been-implemented-python-3-13-removes-20-stdlib-modules/27124&quot;&gt;Python 3.13 Removes 20 Stdlib Modules&lt;/a&gt; &amp;ndash; Core developers are busy working on &lt;a href=&quot;https://peps.python.org/pep-0594/&quot;&gt;PEP 594&lt;/a&gt;, removing dead batteries from Python 3.13. This long post in the discussion forum highlights what work has been completed so far.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-making.html&quot;&gt;Making the Global Interpreter Lock Optional&lt;/a&gt; &amp;ndash; In the past, Sam Gross has outlined how to make the GIL optional in CPython. He presented at the Python Language Summit, providing updates on his progress and future plans for the project.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0703/&quot;&gt;PEP 703 – Making the Global Interpreter Lock Optional in CPython | peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-3-12-updates/26503/43&quot;&gt;PEP 703 - Discussion on Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-what-is.html&quot;&gt;What Is the Standard Library For?&lt;/a&gt; &amp;ndash; This post summarizes a conversation at the Python Language Summit proposing that guidelines be defined for when something should be added to the standard library.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-callable-instances/&quot;&gt;Python&amp;rsquo;s &lt;code&gt;.__call__()&lt;/code&gt; Method: Creating Callable Instances&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn what a callable is in Python and how to create callable instances using the &lt;code&gt;.__call__()&lt;/code&gt; special method in your custom classes. You&amp;rsquo;ll also code several examples of practical use cases for callable instances in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anurag629.club/posts/the-power-of-bit-manipulation-how-to-solve-problems-efficiently&quot;&gt;The Power of Bit Manipulation&lt;/a&gt; &amp;ndash; In this article, you learn about bit manipulation and how to solve problems efficiently using it in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonguis.com/tutorials/getting-started-kivy/&quot;&gt;Using Kivy for GUI Development&lt;/a&gt; &amp;ndash; Kivy is an open-source Python library for developing desktop and mobile GUI apps. It&amp;rsquo;s supported on Windows, Linux, macOS, Android, and iOS. This article introduces you to Kivy and teaches you how to build your first GUI with it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=36093141&quot;&gt;How Do You Deal With Large Python Code Bases?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hakancelikdev/unimport&quot;&gt;unimport: Remove Unused Import Statements in Your Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/engdan77/memocast&quot;&gt;memocast: 🎧 A small iOS app for e.g. iPhone that allow you to add links heard in podcasts into reminders&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/binary-bytes-bitwise-operators/&quot;&gt;Binary, Bytes, and Bitwise Operators in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/mobile-app-kivy-python/#understanding-the-kivy-framework&quot;&gt;Build a Mobile Application With the Kivy Python Framework – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.odoo.com/&quot;&gt;Open Source ERP and CRM | Odoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://moodle.org/&quot;&gt;Moodle - Open-source learning platform | Moodle.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/basnijholt/rsync-time-machine.py&quot;&gt;rsync-time-machine.py: Time Machine-style backups using rsync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.omz-software.com/pythonista/&quot;&gt;Pythonista for iOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-oop/&quot;&gt;Python Basics: Object-Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simplify-gui-dev-pysimplegui/&quot;&gt;Simplify Python GUI Development With PySimpleGUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cross-platform-gui-apps-kivy/&quot;&gt;Build Cross-Platform GUI Apps With Kivy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E160_02_C2x.967f0a53c100.mp3" type="audio/mpeg" length="48079958"/>
        <guid isPermaLink="false">48e0a223-45f2-43ab-9d70-d26d066bc0b9</guid>
        <pubDate>Fri, 16 Jun 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2945</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_160_Podcast.dc99a0a7d99d.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Inheriting a Large Python Code Base &amp; Building a GUI With Kivy”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>159</itunes:episode>
        <title>Volunteering, Organizing, and Finding a Python Community</title>
        <itunes:title>Volunteering, Organizing, and Finding a Python Community</itunes:title>
        <link>https://realpython.com/podcasts/rpp/159/</link>
        <description>Have you thought about getting more involved in the Python community? Are you interested in volunteering for an event or becoming an organizer? This week on the show, we speak with organizers from this year&#x27;s PyCascades conference about making connections, learning new skills, and rationing your time.</description>
        <content:encoded>&lt;p&gt;Have you thought about getting more involved in the Python community? Are you interested in volunteering for an event or becoming an organizer? This week on the show, we speak with organizers from this year&amp;rsquo;s PyCascades conference about making connections, learning new skills, and rationing your time.&lt;/p&gt;
&lt;p&gt;We have three guests to discuss working on PyCascades 2023 and how they got involved in volunteering. Conference Chair Ben Berry, a site reliability engineer based in Seattle, is currently working on a private platform-as-a-service. Diversity Chair Madison Swain-Bowden is a senior data engineer out of Seattle, currently working at Automattic on the Openverse team. Sponsorship Chair Michael van der Kamp is a back-end engineer at Coffee Meets Bagel.&lt;/p&gt;
&lt;p&gt;We discuss finding other volunteers, maintaining motivation, and connecting with sponsors. Our guests also share their stories of overcoming challenges, connecting with community, and finding fulfillment through volunteering. &lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Proxify. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With this course and Python project, you&amp;rsquo;ll build a script to calculate grades for a class using pandas. The script will quickly and accurately calculate grades from a variety of data sources. You&amp;rsquo;ll see examples of loading, merging, and saving data with pandas, as well as plotting some summary statistics.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:34 &amp;ndash; Conference Chair Ben Berry &lt;/li&gt;
&lt;li&gt;00:03:58 &amp;ndash; Diversity Chair Madison Swain-Bowden&lt;/li&gt;
&lt;li&gt;00:06:04 &amp;ndash; Sponsorship Chair Michael van der Kamp&lt;/li&gt;
&lt;li&gt;00:08:28 &amp;ndash; Scheduling of conferences around one another&lt;/li&gt;
&lt;li&gt;00:10:41 &amp;ndash; How did you get involved in the community?&lt;/li&gt;
&lt;li&gt;00:20:01 &amp;ndash; Sponsor: Proxify&lt;/li&gt;
&lt;li&gt;00:20:57 &amp;ndash; Workplace groups and guilds&lt;/li&gt;
&lt;li&gt;00:27:41 &amp;ndash; How community helps with job referrals&lt;/li&gt;
&lt;li&gt;00:32:19 &amp;ndash; New position and added responsibilities&lt;/li&gt;
&lt;li&gt;00:41:24 &amp;ndash; How would you pitch volunteering?&lt;/li&gt;
&lt;li&gt;00:44:32 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:45:45 &amp;ndash; How do you avoid overdoing it?&lt;/li&gt;
&lt;li&gt;00:52:46 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:16 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:59:22 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/about/team/&quot;&gt;The Team - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/results?search_query=pycascades+2023&quot;&gt;PyCascades 2023 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyladies.com/&quot;&gt;PyLadies – Women Who Love Coding in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.meetup.com/psppython/&quot;&gt;Puget Sound Programming Python (PuPPy) (Seattle, WA) - Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.meetup.com/pysprings/&quot;&gt;PySprings (Colorado Springs, CO) - Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://agilecoffee.com/leancoffee/&quot;&gt;What is Lean Coffee? - an introduction to agenda-less meetings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/async-io-python/&quot;&gt;Async IO in Python: A Complete Walkthrough – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/lessons/structural-pattern-matching/&quot;&gt;Structural Pattern Matching – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fastapi-python-web-apis/&quot;&gt;Using FastAPI to Build Python Web APIs – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/rust-rustaceans&quot;&gt;Rust for Rustaceans - No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/michael-vanderkamp/&quot;&gt;Michael van der Kamp - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tumblr.com/aetherunbound&quot;&gt;Madison on Tumblr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@benb&quot;&gt;Ben Berry (@benb@fosstodon.org)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E159_03_PyCascades.881475315394.mp3" type="audio/mpeg" length="59140795"/>
        <guid isPermaLink="false">a933186a-fcda-4193-82d7-45f4e7a5629a</guid>
        <pubDate>Fri, 09 Jun 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3633</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_159_Podcast.c199d24824b4.jpg"/>
        <rp:twitter-handles>@bengerman13, @AetherUnbound, @pycascades</rp:twitter-handles>
        <rp:twitter-title>“Volunteering, Organizing, and Finding a Python Community” with @bengerman13, @AetherUnbound, @pycascades</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>158</itunes:episode>
        <title>Building Python CI With Docker &amp; Applying for a Hacker Initiative Grant</title>
        <itunes:title>Building Python CI With Docker &amp; Applying for a Hacker Initiative Grant</itunes:title>
        <link>https://realpython.com/podcasts/rpp/158/</link>
        <description>Do you need a refresher on using Docker with Python? Would you like to learn how to configure a continuous integration pipeline with modern tools and Docker? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you need a refresher on using Docker with Python? Would you like to learn how to configure a continuous integration pipeline with modern tools and Docker? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share a Real Python tutorial from  Bartosz Zaczyński about building continuous integration with Docker. Docker provides consistent environments for configuring, testing, and delivering Python applications. In this tutorial, you&amp;rsquo;ll get up to speed with current Docker and CI techniques.&lt;/p&gt;
&lt;p&gt;We also speak with Bill Pollock from No Starch Press about Hacker Initiative. The public nonprofit gives back to and strengthens the hacking community. The 2023 grant cycle is currently open until August 15. We discuss the application process and projects from previous grant recipients.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news update and some resources on implementing metaclasses in Python, creating time machine-style backups, and scanning your project for vulnerabilities.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-metaclasses/&quot;&gt;Metaclasses in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Metaclasses are an important but mysterious behind-the-scenes mechanism for instantiating classes in Python. In this video course, you&amp;rsquo;ll learn how Python&amp;rsquo;s metaclasses work in object-oriented programming.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:26 &amp;ndash; PyPI Temporarily Suspended New Registrations&lt;/li&gt;
&lt;li&gt;00:03:38 &amp;ndash; PyPI was subpoenaed&lt;/li&gt;
&lt;li&gt;00:04:54 &amp;ndash; Python 3.12.0 beta 1 released&lt;/li&gt;
&lt;li&gt;00:05:19 &amp;ndash; Build Robust Continuous Integration With Docker and Friends&lt;/li&gt;
&lt;li&gt;00:13:02 &amp;ndash; Metaclasses in Python&lt;/li&gt;
&lt;li&gt;00:20:03 &amp;ndash; Pronouncing SQL - Is there life after SQL? &lt;/li&gt;
&lt;li&gt;00:22:52 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:25 &amp;ndash; pyscan: Python dependency vulnerability scanner, written in Rust&lt;/li&gt;
&lt;li&gt;00:26:28 &amp;ndash; rsync-time-machine.py: Time Machine-Style Backups&lt;/li&gt;
&lt;li&gt;00:29:20 &amp;ndash; Bill Pollock and Hacker Initiative&lt;/li&gt;
&lt;li&gt;00:34:18 &amp;ndash; Previous grant recipients&lt;/li&gt;
&lt;li&gt;00:36:58 &amp;ndash; First Tech Challenge&lt;/li&gt;
&lt;li&gt;00:43:18 &amp;ndash; Large vs small nonprofits&lt;/li&gt;
&lt;li&gt;00:45:48 &amp;ndash; Applying for the 2023 grant cycle&lt;/li&gt;
&lt;li&gt;00:49:01 &amp;ndash; Underserved areas&lt;/li&gt;
&lt;li&gt;00:51:45 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://status.python.org/incidents/qy2t9mjjcc7g&quot;&gt;PyPI Temporarily Suspended New Registrations&lt;/a&gt; &amp;ndash; Due to a large volume of traffic from malicious users, PyPI temporarily suspended new account and project registrations on May 20. The suspension was lifted thirty hours later on May 21.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-05-24-pypi-was-subpoenaed/&quot;&gt;PyPI was subpoenaed - The Python Package Index&lt;/a&gt; &amp;ndash; The PSF received three subpoenas from the US Department of Justice for PyPI user data in March and April of 2023.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/05/python-3120-beta-1-released.html?utm_campaign=Django%2BNewsletter&amp;amp;utm_medium=email&amp;amp;utm_source=Django_Newsletter_181&quot;&gt;Python Insider: Python 3.12.0 beta 1 released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/docker-continuous-integration/&quot;&gt;Build Robust Continuous Integration With Docker and Friends&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll use Docker and GitHub Actions to build a robust continuous integration pipeline for a multi-container web application consisting of Flask and Redis. Along the way, you&amp;rsquo;ll learn how to dockerize a Python web application.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-metaclasses/&quot;&gt;Metaclasses in Python - Real Python Video Course&lt;/a&gt; &amp;ndash; Metaclasses are an important but mysterious behind-the-scenes mechanism for instantiating classes in Python. In this video course, you&amp;rsquo;ll learn how Python&amp;rsquo;s metaclasses work in object-oriented programming.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ryFCHFxSFDE&quot;&gt;Is there life after SQL? - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/aswinnnn/pyscan&quot;&gt;pyscan: Python dependency vulnerability scanner, written in Rust - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/basnijholt/rsync-time-machine.py&quot;&gt;rsync-time-machine.py: Time Machine-Style Backups&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hacker Initiative Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hackerinitiative.org/&quot;&gt;Hacker Initiative – By hackers. For hackers.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hackerinitiative.org/apply-now/&quot;&gt;Apply for the 2023 Grant Cycle – Hacker Initiative&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hackerinitiative.org/2022-grant-recipients/&quot;&gt;2022 Grant Recipients – Hacker Initiative&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brettcannon/cpython-wasi-build/releases/tag/v3.12.0b1&quot;&gt;Release CPython 3.12.0b1 w/ WASI SDK 20 - brettcannon/cpython-wasi-build&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/149/&quot;&gt;Episode #149: Coding With namedtuple &amp;amp; Python&amp;rsquo;s Dynamic Superpowers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.firstinspires.org/robotics/ftc/what-is-first-tech-challenge&quot;&gt;What is FIRST Tech Challenge? - FIRST&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/&quot;&gt;No Starch Press - &amp;ldquo;The finest in geek entertainment&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-continuous-integration/&quot;&gt;Continuous Integration With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-metaclasses/&quot;&gt;Metaclasses in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-namedtuple/&quot;&gt;Writing Clean, Pythonic Code With namedtuple&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E158_03_Cx2_Bill_Vv2.f4918f13a9ea.mp3" type="audio/mpeg" length="51800830"/>
        <guid isPermaLink="false">e9282c82-eb9a-4cce-b3af-bbfd0fe65339</guid>
        <pubDate>Fri, 02 Jun 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3175</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_158_Podcast.02122328ae7c.jpg"/>
        <rp:twitter-handles>@billpollock</rp:twitter-handles>
        <rp:twitter-title>“Building Python CI With Docker &amp; Applying for a Hacker Initiative Grant” with @billpollock</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>157</itunes:episode>
        <title>Discussing Mojo &amp; Improving Python Object-Oriented Programming</title>
        <itunes:title>Discussing Mojo &amp; Improving Python Object-Oriented Programming</itunes:title>
        <link>https://realpython.com/podcasts/rpp/157/</link>
        <description>Would you like to speed up your Python machine-learning code dramatically? What if you only had to change a few keywords and add a couple of type hints on portions of your code? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like to speed up your Python machine-learning code dramatically? What if you only had to change a few keywords and add a couple of type hints on portions of your code? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a new programming language named Mojo, which is a superset of Python. It aims to fix Python&amp;rsquo;s performance and deployment problems. The project has many interesting ideas and a leader who has helped to shape modern compiler technology.&lt;/p&gt;
&lt;p&gt;We also share a pair of Real Python tutorials from Leodanis Pozo Ramos about object-oriented programming in Python. The first one is a deep dive into the creation of classes. It&amp;rsquo;s an excellent refresher for anyone looking to hone their OOP skills in Python. &lt;/p&gt;
&lt;p&gt;The second tutorial covers the SOLID principles, which are five well-established standards for improving your object-oriented design. These principles guide you to create object-oriented code that is more maintainable, extensible, scalable, and testable.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news update, showing warnings when running Django, tracking the progress of your Python program, and a Markdown browser for your terminal.&lt;/p&gt;
&lt;p&gt;This week&amp;rsquo;s episode is brought to you by Koyeb.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/knn-python/&quot;&gt;Using k-Nearest Neighbors (kNN) in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn all about the k-nearest neighbors (kNN) algorithm in Python, including how to implement kNN from scratch. Once you understand how kNN works, you&amp;rsquo;ll use scikit-learn to facilitate your coding process.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:39 &amp;ndash; PEP 713: Callable Modules&lt;/li&gt;
&lt;li&gt;00:04:22 &amp;ndash; PEP 712: &amp;ldquo;Converter&amp;rdquo; Parameter for &lt;code&gt;dataclasses.field&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:06:49 &amp;ndash; Python Classes: The Power of Object-Oriented Programming&lt;/li&gt;
&lt;li&gt;00:16:44 &amp;ndash; Sponsor: Koyeb&lt;/li&gt;
&lt;li&gt;00:17:33 &amp;ndash; SOLID Principles: Improve Object-Oriented Design in Python&lt;/li&gt;
&lt;li&gt;00:22:00 &amp;ndash; Mojo, a Superset of Python&lt;/li&gt;
&lt;li&gt;00:34:31 &amp;ndash; Mojo might be the biggest thing to happen in programming for decades&lt;/li&gt;
&lt;li&gt;00:41:48 &amp;ndash; Mojo – a new programming language for AI developers &lt;/li&gt;
&lt;li&gt;00:44:03 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:45:23 &amp;ndash; Have Python Show Warnings When Running Django&lt;/li&gt;
&lt;li&gt;00:47:52 &amp;ndash; TQDM: Tracking the Progress of Your Python Program&lt;/li&gt;
&lt;li&gt;00:50:34 &amp;ndash; frogmouth: A Markdown Browser for Your Terminal&lt;/li&gt;
&lt;li&gt;00:53:59 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0713/&quot;&gt;PEP 713: Callable Modules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0712/&quot;&gt;PEP 712: &amp;ldquo;Converter&amp;rdquo; Parameter for &lt;code&gt;dataclasses.field&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-classes/&quot;&gt;Python Classes: The Power of Object-Oriented Programming&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to create and use full-featured classes in your Python code. Classes provide a great way to solve complex programming problems by approaching them through models that represent real-world objects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/solid-principles-python/&quot;&gt;SOLID Principles: Improve Object-Oriented Design in Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about the SOLID principles, which are five well-established standards for improving your object-oriented design in Python. By applying these principles, you can create object-oriented code that is more maintainable, extensible, scalable, and testable.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fast.ai/posts/2023-05-03-mojo-launch.html&quot;&gt;Mojo, a Superset of Python&lt;/a&gt; &amp;ndash; &lt;a href=&quot;https://docs.modular.com/mojo/&quot;&gt;Mojo&lt;/a&gt; is a new programming language, which is a superset of Python. It aims to fix Python&amp;rsquo;s performance and deployment problems.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.untangled.dev/2023/04/26/py-django-warnings/&quot;&gt;Have Python Show Warnings When Running Django&lt;/a&gt; &amp;ndash; How to show warnings when running Python, and Django, during local development. The easy, yet not well-known, way.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=35809658&quot;&gt;Mojo might be the biggest thing to happen in programming for decades - Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=35790367&quot;&gt;Mojo, a new programming language for AI developers - Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://coderslegacy.com/tqdm-tracking-the-progress-of-your-python-program/&quot;&gt;TQDM: Tracking the Progress of Your Python Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Textualize/frogmouth&quot;&gt;frogmouth: A Markdown Browser for Your Terminal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tqdm.github.io/presentation-%28pydata%29/video/&quot;&gt;Video - tqdm documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tqdm.github.io/&quot;&gt;tqdm documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypa.github.io/pipx/&quot;&gt;pipx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/101/&quot;&gt;Episode #101: Tools for Setting Up Python on a New Machine – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/knn-python/&quot;&gt;Using k-Nearest Neighbors (kNN) in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/multiple-constructors-python/&quot;&gt;Using Multiple Constructors in Your Python Classes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E157_03_Cx2.ac81ba1316ac.mp3" type="audio/mpeg" length="53765992"/>
        <guid isPermaLink="false">acc94108-1bf1-44d0-b1cf-e1c73b1babbd</guid>
        <pubDate>Fri, 26 May 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3298</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_157_Podcast.0c6f1866728c.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Discussing Mojo &amp; Improving Python Object-Oriented Programming”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>156</itunes:episode>
        <title>Virtual Environment Structure &amp; Surveying the Packaging Ecosystem</title>
        <itunes:title>Virtual Environment Structure &amp; Surveying the Packaging Ecosystem</itunes:title>
        <link>https://realpython.com/podcasts/rpp/156/</link>
        <description>How do Python virtual environments work under the hood? How does understanding these concepts help you with managing them for your projects? This week on the show, CPython core developer Brett Cannon returns to discuss his recent articles about virtual environments and the Python packaging landscape.</description>
        <content:encoded>&lt;p&gt;How do Python virtual environments work under the hood? How does understanding these concepts help you with managing them for your projects? This week on the show, CPython core developer Brett Cannon returns to discuss his recent articles about virtual environments and the Python packaging landscape.&lt;/p&gt;
&lt;p&gt;Brett talks about his recent article &amp;ldquo;How Virtual Environments Work.&amp;rdquo; He was researching the topic to solve an issue with a Linux Python distribution that doesn&amp;rsquo;t provide the tools to create virtual environments. We talk about how he solved the problem by creating a tiny library named microvenv.&lt;/p&gt;
&lt;p&gt;We also take a look at the Python packaging ecosystem. Brett talks about the early days of Python, when these tools didn&amp;rsquo;t exist. He contrasts that with the current packaging solution explosion and how each one attempts to solve unique problems. We also discuss the Python Packaging User Survey and the plans for packaging summits at PyCon US. Note that we recorded this episode two weeks before PyCon US 2023.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-repl/&quot;&gt;Getting the Most Out of the Python Standard REPL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to use the Python standard REPL (Read-Eval-Print Loop) to run your code interactively. This tool will allow you to test new ideas, explore and experiment with new tools and libraries, refactor and debug your code, try out examples, and more.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:58 &amp;ndash; Virtual environments&lt;/li&gt;
&lt;li&gt;00:07:10 &amp;ndash; PEP 704 &amp;amp; virtual environment workflows&lt;/li&gt;
&lt;li&gt;00:26:57 &amp;ndash; Experimenting with not including &lt;code&gt;pip&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;00:34:44 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:35 &amp;ndash; What are you using for packaging?&lt;/li&gt;
&lt;li&gt;00:43:32 &amp;ndash; Python Packaging User Survey &amp;amp; the history of packaging&lt;/li&gt;
&lt;li&gt;00:48:40 &amp;ndash; Packing only gets complex when it&amp;rsquo;s not pure Python code&lt;/li&gt;
&lt;li&gt;01:01:22 &amp;ndash; Outcomes after the survey and the packaging summit&lt;/li&gt;
&lt;li&gt;01:03:56 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:05:28 &amp;ndash; What&amp;rsquo;s something you want to learn next?&lt;/li&gt;
&lt;li&gt;01:07:12 &amp;ndash; How can people follow the work that you do?&lt;/li&gt;
&lt;li&gt;01:08:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/how-virtual-environments-work/&quot;&gt;How virtual environments work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0704/&quot;&gt;PEP 704 – Require virtual environments by default for package installers - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/microvenv/&quot;&gt;microvenv - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brettcannon/python-launcher&quot;&gt;python-launcher: Python launcher for Unix - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bootstrap.pypa.io/&quot;&gt;bootstrap.pypa.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/classifying-python-virtual-environment-workflows/&quot;&gt;Classifying Python virtual environment workflows&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://drive.google.com/file/d/1U5d5SiXLVkzDpS0i1dJIA4Hu5Qg704T9/view&quot;&gt;Python Packaging User Survey - Results PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pradyunsg.me/blog/2023/01/21/thoughts-on-python-packaging/&quot;&gt;Thoughts on the Python packaging ecosystem - Pradyun Gedam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pypa/packaging&quot;&gt;pypa/packaging: Core utilities for Python packages - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flit.pypa.io/en/latest/&quot;&gt;Flit 3.8.0 - Flit 3.8.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/hatch/&quot;&gt;hatch - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/hatchling/&quot;&gt;hatchling - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/93/&quot;&gt;Episode #93: Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0665/&quot;&gt;PEP 665 – A file format to list Python dependencies for reproducibility of an application - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/programming-rust-2nd/9781492052586/&quot;&gt;Programming Rust, 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/&quot;&gt;Tall, Snarky Canadian - Brett&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/&quot;&gt;Microsoft Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/blogs/&quot;&gt;Visual Studio Code Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@brettcannon&quot;&gt;Brett Cannon (@brettcannon@fosstodon.org) - Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-repl/&quot;&gt;Getting the Most Out of the Python Standard REPL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-python-virtual-environments/&quot;&gt;Working With Python Virtual Environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E156_03_Brett.509a74210ac0.mp3" type="audio/mpeg" length="67618805"/>
        <guid isPermaLink="false">183f8947-cf8b-4603-a3f8-af74596bcc57</guid>
        <pubDate>Fri, 12 May 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4167</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_156_Podcast.5de9cb56941d.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Virtual Environment Structure &amp; Surveying the Packaging Ecosystem”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>155</itunes:episode>
        <title>Checking Project Dependencies &amp; Python Dev Resource Collections</title>
        <itunes:title>Checking Project Dependencies &amp; Python Dev Resource Collections</itunes:title>
        <link>https://realpython.com/podcasts/rpp/155/</link>
        <description>How can you ensure that you&#x27;ve appropriately declared your project&#x27;s required dependencies? How do you determine what dependencies are missing from a third-party project that you can&#x27;t run? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How can you ensure that you&amp;rsquo;ve appropriately declared your project&amp;rsquo;s required dependencies? How do you determine what dependencies are missing from a third-party project that you can&amp;rsquo;t run? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a new Python dependency checker called FawltyDeps. The tool helps you determine if you&amp;rsquo;ve declared too few or too many packages for your project. &lt;/p&gt;
&lt;p&gt;Christopher has brought several developer resource collections: a list of assured open-source Python packages from Google, test databases with interesting datasets, and multiple Django third-party packages. &lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news update, advice on how to pitch yourself as a guest to a podcast, how to submit articles and projects to PyCoders Weekly,  PyPI&amp;rsquo;s introduction of trusted publishers and organizations, a tool for tracking package history, a pixel art paint program written in Python, and a project for efficient string matching with regular expressions.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Index. Quickly get up to speed on everything from naming your package to configuring it using &lt;code&gt;setup.cfg&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:19 &amp;ndash; PEP 684 – A Per-Interpreter GIL Accepted&lt;/li&gt;
&lt;li&gt;00:03:59 &amp;ndash; Python 3.10 Runtime Now Available in AWS Lambda&lt;/li&gt;
&lt;li&gt;00:04:19 &amp;ndash; PyCon US 2023 Follow Up&lt;/li&gt;
&lt;li&gt;00:08:05 &amp;ndash; Podcast Topic &amp;amp; Guest Submissions&lt;/li&gt;
&lt;li&gt;00:13:45 &amp;ndash; Submissions to PyCoders Weekly&lt;/li&gt;
&lt;li&gt;00:16:49 &amp;ndash; Google&amp;rsquo;s Assured OSS Python Packages&lt;/li&gt;
&lt;li&gt;00:18:27 &amp;ndash; Groovy Datasets for Test Databases&lt;/li&gt;
&lt;li&gt;00:19:10 &amp;ndash; Top 10 Django Third-Party Packages &lt;/li&gt;
&lt;li&gt;00:20:27 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:21:46 &amp;ndash; FawltyDeps - A Dependency Checker for Your Python&lt;/li&gt;
&lt;li&gt;00:26:58 &amp;ndash; PyPI Introduces &amp;ldquo;Trusted Publishers&amp;rdquo;&lt;/li&gt;
&lt;li&gt;00:28:27 &amp;ndash; Introducing PyPI Organizations&lt;/li&gt;
&lt;li&gt;00:29:02 &amp;ndash; pypi-diff: PyPI Package History Tracking&lt;/li&gt;
&lt;li&gt;00:30:29 &amp;ndash; PyDPainter: A usable pixel art paint program written in Python&lt;/li&gt;
&lt;li&gt;00:35:19 &amp;ndash; trrex: Efficient String Matching With Regular Expressions&lt;/li&gt;
&lt;li&gt;00:37:16 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0684/&quot;&gt;PEP 684 – A Per-Interpreter GIL Accepted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/blogs/compute/python-3-10-runtime-now-available-in-aws-lambda/&quot;&gt;Python 3.10 Runtime Now Available in AWS Lambda&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/&quot;&gt;PyCon US 2023 - Follow Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/&quot;&gt;The Real Python Podcast (podcast@realpython.com)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly - Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/assured-open-source-software/docs/supported-packages&quot;&gt;Google&amp;rsquo;s Assured OSS Python Packages&lt;/a&gt; &amp;ndash; Google publishes a list of the open-source packages that it uses and secures within its own software supply chain. The list is public, so you can take advantage of their assessment.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://redis.com/blog/datasets-for-test-databases/&quot;&gt;Groovy Datasets for Test Databases&lt;/a&gt; &amp;ndash; When you experiment with a new-to-you data science skill, you need some sort of data to work with. Why be boring? This article talks about several available datasets that you can use when you practice your coding skills.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learndjango.com/tutorials/essential-django-3rd-party-packages&quot;&gt;Top 10 Django Third-Party Packages&lt;/a&gt; &amp;ndash; Will covers a list of his favorite third-party packages for Django. This includes old favorites, like Django REST framework, and lesser-known packages, like django-filter and django-environ.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tweag.io/blog/2023-03-14-announcing-fawltydeps/&quot;&gt;FawltyDeps: A Dependency Checker for Your Python&lt;/a&gt; &amp;ndash; FawltyDeps is a new tool to help you identify undeclared and unused dependencies in your Python code, making your projects leaner and more reproducible.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/&quot;&gt;PyPI Introduces &amp;ldquo;Trusted Publishers&amp;rdquo;&lt;/a&gt; &amp;ndash; PyPI package maintainers can adopt a new, more secure, OIDC-authenticated publishing method that doesn&amp;rsquo;t require sharing long-lived passwords or API tokens with external systems.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-04-23-introducing-pypi-organizations/&quot;&gt;Introducing PyPI Organizations - The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/abbbi/pypi-diff&quot;&gt;pypi-diff: PyPI Package History Tracking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mriale/PyDPainter&quot;&gt;PyDPainter: A usable pixel art paint program written in Python - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mesejo/trex&quot;&gt;trrex: Efficient String Matching With Regular Expressions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.data-is-plural.com/&quot;&gt;Data Is Plural&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tweag/FawltyDeps&quot;&gt;FawltyDeps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GGfsSvbrb4o&quot;&gt;Quick PyDPainter Demo - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=tnpiRPgu1Rs&quot;&gt;Having a look at PyDPainter and comparing it to Deluxe Paint on the Amiga - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pypi-publish-python-package/&quot;&gt;Publishing Python Packages to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E155_03_Cx2.9be3dd354d27.mp3" type="audio/mpeg" length="37664757"/>
        <guid isPermaLink="false">d61d0af9-6cde-4959-aca0-08a68cf7dfb3</guid>
        <pubDate>Fri, 05 May 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2289</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_155_Podcast.542be0917e6d.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Checking Project Dependencies &amp; Python Dev Resource Collections”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>154</itunes:episode>
        <title>Targeting WebAssembly Platforms &amp; Distilling a Minimum Viable Python</title>
        <itunes:title>Targeting WebAssembly Platforms &amp; Distilling a Minimum Viable Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/154/</link>
        <description>Are you familiar with the different versions of WebAssembly? Could WASM be the &quot;write once, run everywhere&quot; solution that developers have searched for? Where does distributing Python applications fit in the narrative? This week on the show, we have CPython core developer Brett Cannon to discuss his recent articles about WebAssembly and MVPy.</description>
        <content:encoded>&lt;p&gt;Are you familiar with the different versions of WebAssembly? Could WASM be the &amp;ldquo;write once, run everywhere&amp;rdquo; solution that developers have searched for? Where does distributing Python applications fit in the narrative? This week on the show, we have CPython core developer Brett Cannon to discuss his recent articles about WebAssembly and MVPy.&lt;/p&gt;
&lt;p&gt;Brett has completed his syntactic sugar series, which we discussed in a previous episode. He details the origin of the series and his process of unearthing a minimum viable version of Python. Brett shares how he updated his PyCon US talk on the subject after feedback from presenting it at PyCascades.&lt;/p&gt;
&lt;p&gt;We also dig deep into WebAssembly, specifically WebAssembly System Interface (WASI). Brett explains the concept of a  &amp;ldquo;platform target triple&amp;rdquo; and the importance of defining which system CPython is compiled for. We also discuss WebAssembly becoming a ubiquitous distribution system.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-basics-class/&quot;&gt;Python Basics: Building Systems With Classes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to work with classes to build complex systems in Python. By composing classes, inheriting from other classes, and overriding class behavior, you&amp;rsquo;ll harness the power of object-oriented programming (OOP).&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:05 &amp;ndash; PyCascades 2023 &lt;/li&gt;
&lt;li&gt;00:02:56 &amp;ndash; Using social media for polls and checking interest&lt;/li&gt;
&lt;li&gt;00:06:02 &amp;ndash; Completing the syntactic sugar blog series&lt;/li&gt;
&lt;li&gt;00:15:29 &amp;ndash; Minimum Viable Python (MVPy) and WebAssembly&lt;/li&gt;
&lt;li&gt;00:19:29 &amp;ndash; Other teams focusing on WebAssembly&lt;/li&gt;
&lt;li&gt;00:21:31 &amp;ndash; Sponsor: Courier&lt;/li&gt;
&lt;li&gt;00:22:13 &amp;ndash; Stack of technology&lt;/li&gt;
&lt;li&gt;00:26:50 &amp;ndash; WebAssembly and its platform targets&lt;/li&gt;
&lt;li&gt;00:32:35 &amp;ndash; WASI and connecting to a runtime&lt;/li&gt;
&lt;li&gt;00:38:33 &amp;ndash; Extension modules and dynamic libraries&lt;/li&gt;
&lt;li&gt;00:47:29 &amp;ndash; Overcoming road blocks and envisioning a new WASI assignment&lt;/li&gt;
&lt;li&gt;00:51:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:53:26 &amp;ndash; PEP 11 &amp;amp; CPython platform support for WASI&lt;/li&gt;
&lt;li&gt;01:03:11 &amp;ndash; Machine-specific runtime &lt;/li&gt;
&lt;li&gt;01:04:57 &amp;ndash; Write once, run everywhere&lt;/li&gt;
&lt;li&gt;01:13:14 &amp;ndash; Talks and summits planned for PyCon 2023&lt;/li&gt;
&lt;li&gt;01:18:00 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/mvpy-minimum-viable-python/&quot;&gt;MVPy: Minimum Viable Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/schedule/presentation/41/&quot;&gt;Python&amp;rsquo;s Syntactic Sugar - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode #47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/tag/syntactic-sugar/&quot;&gt;syntactic sugar - Tall, Snarky Canadian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@brettcannon&quot;&gt;Brett Cannon (@brettcannon@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wasi.dev/&quot;&gt;WASI - wasi.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/webassembly-and-its-platform-targets/&quot;&gt;WebAssembly and its platform targets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/disney-streaming/introducing-the-disney-application-development-kit-adk-ad85ca139073&quot;&gt;Introducing the Disney+ Application Development Kit (ADK) - Mike Hanley&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.fastly.com/learning/compute/&quot;&gt;Compute@Edge services using WebAssembly - Fastly Developer Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-python-web-wasm&amp;amp;ssr=false#overview&quot;&gt;Experimental - Python for the Web - Visual Studio Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0011/&quot;&gt;PEP 11 – CPython platform support - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/testing-a-project-using-the-wasi-build-of-cpython-with-pytest/&quot;&gt;Testing a Python project using the WASI build of CPython with &lt;code&gt;pytest&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.infoworld.com/article/3651503/the-rise-of-webassembly.html&quot;&gt;The rise of WebAssembly - InfoWorld&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adlrocha.substack.com/p/adlrocha-can-wasm-become-the-new&quot;&gt;Can WASM become the new Docker?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bytecodealliance/wasmtime&quot;&gt;bytecodealliance/wasmtime: A fast and secure runtime for WebAssembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://emscripten.org/&quot;&gt;Emscripten - Dev Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyscript.net/&quot;&gt;PyScript - Run Python in your HTML&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-oop/&quot;&gt;Python Basics: Object-Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/inheritance-composition-python/&quot;&gt;Inheritance and Composition: A Python OOP Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-class/&quot;&gt;Python Basics: Building Systems With Classes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E154_03_Brett.66966432e726.mp3" type="audio/mpeg" length="76937831"/>
        <guid isPermaLink="false">684534b6-a971-4ed0-b707-5326cd0ab5ec</guid>
        <pubDate>Fri, 28 Apr 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4743</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_154_Podcast.9cf392bb6b6d.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Targeting WebAssembly Platforms &amp; Distilling a Minimum Viable Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>153</itunes:episode>
        <title>Seeking Faster Text Processing &amp; Python&#x27;s .__repr__() vs .__str__()</title>
        <itunes:title>Seeking Faster Text Processing &amp; Python&#x27;s .__repr__() vs .__str__()</itunes:title>
        <link>https://realpython.com/podcasts/rpp/153/</link>
        <description>What can you do if your text manipulation in Python is slowing you down? Are there faster alternatives using a compiled extension? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What can you do if your text manipulation in Python is slowing you down? Are there faster alternatives using a compiled extension? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a recent article by Itamar Turner-Trauring called &amp;ldquo;Speeding Up Text Processing in Python (Is Hard).&amp;rdquo; The piece compares the performance of string-matching scenarios using several alternatives to pure Python that rely on compiled extensions. &lt;/p&gt;
&lt;p&gt;We also discuss a recent Real Python tutorial by Stephen Gruppetta on when to use &lt;code&gt;.__repr__()&lt;/code&gt; vs &lt;code&gt;.__str__()&lt;/code&gt; in Python. We cover the use cases for these special methods and the intended audiences for the strings they produce.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news update, an article on the functional power of Python&amp;rsquo;s &lt;code&gt;reduce()&lt;/code&gt;, a call to ban 1+N in Django, a friendly project to fetch your data files, and a tool for tracking your work from the shell.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll get a Python-centric introduction to character encodings and Unicode. Handling character encodings and numbering systems can at times seem painful and complicated, but this guide is here to help with easy-to-follow Python examples.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:11 &amp;ndash; The Python Package Index Launches a Blog&lt;/li&gt;
&lt;li&gt;00:03:11 &amp;ndash; PEP 582 (Python Local Packages Directory) Rejected&lt;/li&gt;
&lt;li&gt;00:05:00 &amp;ndash; Django 4.2 Release Candidate 1 Released&lt;/li&gt;
&lt;li&gt;00:05:34 &amp;ndash; Want to Host DjangoCon Europe 2024?&lt;/li&gt;
&lt;li&gt;00:06:23 &amp;ndash; When Should You Use &lt;code&gt;.__repr__()&lt;/code&gt; vs &lt;code&gt;.__str__()&lt;/code&gt; in Python?&lt;/li&gt;
&lt;li&gt;00:14:16 &amp;ndash; Sponsor: Snyk&lt;/li&gt;
&lt;li&gt;00:15:06 &amp;ndash; Speeding Up Text Processing in Python (Is Hard)&lt;/li&gt;
&lt;li&gt;00:22:21 &amp;ndash; &lt;code&gt;reduce()&lt;/code&gt; - The Power of a Single Python Function&lt;/li&gt;
&lt;li&gt;00:30:27 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:04 &amp;ndash; Ban 1+N in Django&lt;/li&gt;
&lt;li&gt;00:35:26 &amp;ndash; Pooch - A Friend to Fetch Your Data Files&lt;/li&gt;
&lt;li&gt;00:39:11 &amp;ndash; workedon - Track Your Work From the Shell&lt;/li&gt;
&lt;li&gt;00:41:53 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.pypi.org/posts/2023-03-21-welcome-to-the-pypi-blog/&quot;&gt;The Python Package Index Launches a Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pep-582-python-local-packages-directory/963/430&quot;&gt;PEP 582 (Python Local Packages Directory) Rejected&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/mar/20/django-42-rc1/&quot;&gt;Django 4.2 Release Candidate 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/mar/20/want-to-host-djangocon-europe-2024/&quot;&gt;Want to Host DjangoCon Europe 2024?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-repr-vs-str/&quot;&gt;When Should You Use &lt;code&gt;.__repr__()&lt;/code&gt; vs &lt;code&gt;.__str__()&lt;/code&gt; in Python?&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn the difference between the string representations returned by &lt;code&gt;.__repr__()&lt;/code&gt; vs &lt;code&gt;.__str__()&lt;/code&gt; and understand how to use them effectively in classes that you define.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/faster-text-processing/&quot;&gt;Speeding Up Text Processing in Python (Is Hard)&lt;/a&gt; &amp;ndash; If you need to speed up string parsing and formatting in Python, you have many choices. This article covers the uses of Cython, mypyc, Rust, and PyPy and considers how to choose between them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martinheinz.dev/blog/93&quot;&gt;&lt;code&gt;reduce()&lt;/code&gt; - The Power of a Single Python Function&lt;/a&gt; &amp;ndash; &amp;ldquo;While Python is not a pure functional programming language, you still can do a lot of functional programming in it. In fact, just one function - &lt;code&gt;reduce()&lt;/code&gt; - can do most of it.&amp;rdquo; This article introduces you to &lt;code&gt;reduce()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://suor.github.io/blog/2023/03/26/ban-1-plus-n-in-django/&quot;&gt;Ban 1+N in Django&lt;/a&gt; &amp;ndash; The 1+N database anti-pattern is common: fetch some rows from the database then re-fetch specific rows to get all the items. An ORM can hide this away and make you fail to realize that it&amp;rsquo;s happening. This article discusses how to avoid this anti-pattern in Django. It also has an added meta-bonus: a link to the attempt to write the article with &lt;a href=&quot;https://gist.github.com/Suor/af424c3501792dba6fcf907506987571&quot;&gt;ChatGPT&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fatiando/pooch&quot;&gt;Pooch: A Friend to Fetch Your Data Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/viseshrp/workedon&quot;&gt;workedon: Track Your Work From the Shell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-reduce-function/&quot;&gt;Python&amp;rsquo;s &lt;code&gt;reduce()&lt;/code&gt;: From Functional to Pythonic Style – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/116/&quot;&gt;Episode #116: Exploring Functional Programming in Python With Bruce Eckel – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=KvxBc4xUMyg&quot;&gt;Lightning talk at PyCascades 2023 - Pooch: A friend to fetch your data files - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Secure_copy_protocol&quot;&gt;Secure copy protocol - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/map-function-transform-iterables/&quot;&gt;Python&amp;#x27;s map() Function: Transforming Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-strings-string-methods/&quot;&gt;Python Basics: Strings and String Methods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E153_03_C2.e0c728710fe8.mp3" type="audio/mpeg" length="42124008"/>
        <guid isPermaLink="false">ae700168-6490-4c6d-bc53-9ee33f1b6bb8</guid>
        <pubDate>Fri, 14 Apr 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2574</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_153_Podcast.6405ab91412d.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Seeking Faster Text Processing &amp; Python&#x27;s .__repr__() vs .__str__()”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>152</itunes:episode>
        <title>Automate Processes and Distribute Python Tools With RPA and RCC</title>
        <itunes:title>Automate Processes and Distribute Python Tools With RPA and RCC</itunes:title>
        <link>https://realpython.com/podcasts/rpp/152/</link>
        <description>Are you exploring automation of your repetitive business tasks with Python? How are you going to share your helpful tools with co-workers? This week on the show, Sampo Ahokas from Robocorp is here to discuss robotic process automation (RPA) and distribution of these robots.</description>
        <content:encoded>&lt;p&gt;Are you exploring automation of your repetitive business tasks with Python? How are you going to share your helpful tools with co-workers? This week on the show, Sampo Ahokas from Robocorp is here to discuss robotic process automation (RPA) and distribution of these robots.&lt;/p&gt;
&lt;p&gt;Sampo is a co-founder and VP of engineering at Robocorp. We talk about using Robot Framework, an open-source RPA tool, to develop bots that implement your existing Python skills. Sampo shares example projects and additional resources for new users.&lt;/p&gt;
&lt;p&gt;We discuss the typical difficulties of sharing automation tools with a team and trying to avoid the dreaded &amp;ldquo;works on my machine&amp;rdquo; problem. Sampo describes how their group worked to develop a Conda-based tool for creating shareable packages and environments. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/zipfile-python/&quot;&gt;Manipulating ZIP Files With Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to manipulate ZIP files using Python&amp;rsquo;s &lt;code&gt;zipfile&lt;/code&gt; module from the standard library. Through hands-on examples, you&amp;rsquo;ll learn how to read, write, compress, and extract files from your ZIP files quickly.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:25 &amp;ndash; What is robotic process automation (RPA)? &lt;/li&gt;
&lt;li&gt;00:03:55 &amp;ndash; What do you mean by automation?&lt;/li&gt;
&lt;li&gt;00:05:56 &amp;ndash; Additional examples of RPA&lt;/li&gt;
&lt;li&gt;00:07:41 &amp;ndash; What is the RPA platform?&lt;/li&gt;
&lt;li&gt;00:10:06 &amp;ndash; What is the Robot Framework?&lt;/li&gt;
&lt;li&gt;00:12:42 &amp;ndash; Robocorp portal&lt;/li&gt;
&lt;li&gt;00:14:09 &amp;ndash; Python integration&lt;/li&gt;
&lt;li&gt;00:17:06 &amp;ndash; Sponsor: REVSYS&lt;/li&gt;
&lt;li&gt;00:17:56 &amp;ndash; Distribution with RCC&lt;/li&gt;
&lt;li&gt;00:20:24 &amp;ndash; Why does the system use conda under the hood?&lt;/li&gt;
&lt;li&gt;00:24:12 &amp;ndash; What hurdles did you face creating RCC?&lt;/li&gt;
&lt;li&gt;00:27:51 &amp;ndash; Steps for the end user&lt;/li&gt;
&lt;li&gt;00:30:52 &amp;ndash; Making the project open source&lt;/li&gt;
&lt;li&gt;00:35:20 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:42 &amp;ndash; Tips for someone starting with automation&lt;/li&gt;
&lt;li&gt;00:42:17 &amp;ndash; Integration with VSCode&lt;/li&gt;
&lt;li&gt;00:44:18 &amp;ndash; Intelligent document processing (IDP)&lt;/li&gt;
&lt;li&gt;00:45:36 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:47:46 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:48:13 &amp;ndash; How can people follow the project online?&lt;/li&gt;
&lt;li&gt;00:48:46 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://robocorp.com/&quot;&gt;Open Source RPA - Intelligent Automation Software - Robocorp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robocorp.com/blog/what-is-rpa-a-breakdown-of-rpa-and-its-benefits&quot;&gt;What is RPA? A breakdown of RPA and its benefits - Robocorp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robocorp.com/portal&quot;&gt;Robocorp Portal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robocorp.com/docs&quot;&gt;RPA Documentation, Training Courses, Certificates - Robocorp documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/robocorp/rpaframework&quot;&gt;rpaframework: Collection of open-source libraries and tools for Robotic Process Automation (RPA), designed to be used with both Robot Framework and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/robocorp/rcc&quot;&gt;rcc: RCC is a set of tooling that allows you to create, manage, and distribute Python-based self-contained automation packages - or &amp;lsquo;robots&amp;rsquo; as we call them.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.conda.io/projects/conda/en/latest/index.html&quot;&gt;Conda - documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://quantstack.net/&quot;&gt;QuantStack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mamba.readthedocs.io/en/latest/installation.html#micromamba&quot;&gt;micromamba - documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robocorp.com/products/automation-studio&quot;&gt;Low-code RPA Development Solution | Automation Studio - Robocorp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dzone.com/articles/bolster-intelligent-document-processing-with-robot&quot;&gt;Bolster IDP With Robotic Process Automation - DZone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Visual Studio Code - Code Editing. Redefined&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.langchain.com/en/latest/index.html&quot;&gt;Welcome to LangChain - 🦜🔗 LangChain 0.0.131&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/sahokas/?originalSubdomain=fi&quot;&gt;Sampo Ahokas - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/RobocorpInc&quot;&gt;Robocorp (@RobocorpInc) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://forum.robocorp.com/&quot;&gt;Community for Software Robot Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://robocorp.com/resources&quot;&gt;RPA Resources, White Papers and Case Studies - Robocorp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-and-writing-files-python/&quot;&gt;Reading and Writing Files in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/zipfile-python/&quot;&gt;Manipulating ZIP Files With Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E152_03_Sampo.99e028de9eb9.mp3" type="audio/mpeg" length="48811271"/>
        <guid isPermaLink="false">58ca2b25-b1c1-4a0d-8026-979c9ad09b9a</guid>
        <pubDate>Fri, 07 Apr 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2985</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_152_Podcast.01ad6a39770c.jpg"/>
        <rp:twitter-handles>@RobocorpInc</rp:twitter-handles>
        <rp:twitter-title>“Automate Processes and Distribute Python Tools With RPA and RCC” with @RobocorpInc</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>151</itunes:episode>
        <title>Evaluating Python Packages &amp; Celebrating 20 Years of PyCon US</title>
        <itunes:title>Evaluating Python Packages &amp; Celebrating 20 Years of PyCon US</itunes:title>
        <link>https://realpython.com/podcasts/rpp/151/</link>
        <description>Have you ever installed a Python package without knowing anything about it? What best practices should you employ to ensure the quality of your next package installation? Christopher Trudeau is back this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects. We also have Python Software Foundation executive director, Deb Nicholson, to share details about PyCon US 2023.</description>
        <content:encoded>&lt;p&gt;Have you ever installed a Python package without knowing anything about it? What best practices should you employ to ensure the quality of your next package installation? Christopher Trudeau is back this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects. We also have Python Software Foundation executive director, Deb Nicholson, to share details about PyCon US 2023.&lt;/p&gt;
&lt;p&gt;We cover a recent Real Python tutorial by Philipp Acsany on evaluating the quality of Python packages. The piece provides a tool kit for researching the traits, history, software license, and current condition of external Python packages. We also discuss the techniques that we personally use before selecting a package for our Python projects.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, with topics such as the underlying structure of virtual environments, the overhead of Python &lt;code&gt;asyncio&lt;/code&gt; tasks, documentation for Python projects with Sphinx and Read the Docs, a project for creating &lt;code&gt;argparse&lt;/code&gt; boilerplate, and a way to generate seemingly realistic fake numbers using Benford&amp;rsquo;s law.&lt;/p&gt;
&lt;p&gt;Deb Nicholson is also here to talk about the 20th anniversary of PyCon US, hosted in Salt Lake City. We dig into the details of the upcoming conference, including keynote speakers, tutorials, scheduled talks, and improvements to the hybrid online experience.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video series, you&amp;rsquo;ll create project documentation from scratch using Sphinx, the de facto standard for Python. You&amp;rsquo;ll also hook your code repository up to Read The Docs to automatically build and publish your code documentation.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:46 &amp;ndash; How to Evaluate the Quality of Python Packages&lt;/li&gt;
&lt;li&gt;00:11:35 &amp;ndash; Overhead of Python &lt;code&gt;asyncio&lt;/code&gt; Tasks&lt;/li&gt;
&lt;li&gt;00:14:53 &amp;ndash; Sponsor: Courier&lt;/li&gt;
&lt;li&gt;00:15:37 &amp;ndash; How Virtual Environments Work&lt;/li&gt;
&lt;li&gt;00:23:48 &amp;ndash; Documenting Python Projects With Sphinx and Read the Docs&lt;/li&gt;
&lt;li&gt;00:28:29 &amp;ndash; duckargs: Code Generator for &lt;code&gt;argparse&lt;/code&gt; Boilerplate&lt;/li&gt;
&lt;li&gt;00:30:46 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:04 &amp;ndash; Are Those Numbers Realistic or Fake? Try Using Benford&amp;rsquo;s Law&lt;/li&gt;
&lt;li&gt;00:34:37 &amp;ndash; Introduction for Deb Nicholson&lt;/li&gt;
&lt;li&gt;00:36:33 &amp;ndash; What is your role with PyCon US?&lt;/li&gt;
&lt;li&gt;00:37:28 &amp;ndash; Hybrid conference and dates&lt;/li&gt;
&lt;li&gt;00:39:07 &amp;ndash; Tutorials&lt;/li&gt;
&lt;li&gt;00:40:30 &amp;ndash; Education Summit and Typing Summit&lt;/li&gt;
&lt;li&gt;00:42:06 &amp;ndash; Keynote speakers&lt;/li&gt;
&lt;li&gt;00:42:57 &amp;ndash; Lightning talks, posters, and job fair&lt;/li&gt;
&lt;li&gt;00:45:04 &amp;ndash; 20th anniversary of PyCon US&lt;/li&gt;
&lt;li&gt;00:46:56 &amp;ndash; Resources for proposals and talks&lt;/li&gt;
&lt;li&gt;00:49:22 &amp;ndash; Previous podcast guests and talks&lt;/li&gt;
&lt;li&gt;00:51:26 &amp;ndash; Mentored sprints for diverse beginners &lt;/li&gt;
&lt;li&gt;00:53:12 &amp;ndash; PyLadies auction&lt;/li&gt;
&lt;li&gt;00:54:29 &amp;ndash; COVID policy&lt;/li&gt;
&lt;li&gt;00:56:50 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:07 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:59:24 &amp;ndash; How to follow the PSF and PyCon US?&lt;/li&gt;
&lt;li&gt;00:59:55 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-package-quality/&quot;&gt;How to Evaluate the Quality of Python Packages&lt;/a&gt; &amp;ndash; Just like you shouldn&amp;rsquo;t download any file from the Internet, you shouldn&amp;rsquo;t install third-party Python packages without evaluating them first. This tutorial will give you the tool set to evaluate the quality of external Python packages before you incorporate them into your Python projects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://textual.textualize.io/blog/2023/03/08/overhead-of-python-asyncio-tasks/&quot;&gt;Overhead of Python Asyncio Tasks&lt;/a&gt; &amp;ndash; The Textual library uses a lot of asyncio tasks. In order to determine whether to spend time optimizing them, Will measured the cost of creating asyncio tasks. TLDR; optimize something else. This article also spawned a conversation on &lt;a href=&quot;https://news.ycombinator.com/item?id=35073136&quot;&gt;Hacker News&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/how-virtual-environments-work/&quot;&gt;How Virtual Environments Work&lt;/a&gt; &amp;ndash; This article attempts to demystify virtual environments, specifically why they exist and how they work. It even delves into why Brett is heading down this alley and how running into challenges with cross-platform tools has prompted the creation of &lt;code&gt;microvenv&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt; &amp;ndash; In this video series, you&amp;rsquo;ll create project documentation from scratch using Sphinx, the de facto standard for Python. You&amp;rsquo;ll also hook your code repository up to Read The Docs to automatically build and publish your code documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/eriknyquist/duckargs&quot;&gt;duckargs: Code Generator for &lt;code&gt;argparse&lt;/code&gt; Boilerplate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.softwarepragmatism.com/benfords-law&quot;&gt;Are Those Numbers Realistic or Fake? Try Using Benford&amp;rsquo;s Law&lt;/a&gt; &amp;ndash; How can you tell whether a set of figures is trustworthy? It&amp;rsquo;s not always simple, but Benford&amp;rsquo;s Law gives you one way to find out. There&amp;rsquo;s even a Python Package to help you check: &lt;a href=&quot;https://pypi.org/project/randalyze/&quot;&gt;randalyze&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyCon US 2023 Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/&quot;&gt;Welcome to PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf-landing/&quot;&gt;Python Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/attend/information/&quot;&gt;Registration Information - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/schedule/talks/&quot;&gt;Talks Schedule - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/schedule/tutorials/&quot;&gt;Tutorials Schedule - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/events/education-summit/&quot;&gt;Education Summit - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSfI1o7vX9ELrxpPn88GhhMTgucz825g8Oc99UIS2WKhFlM5Gw/viewform&quot;&gt;PyCon US Stories Slideshow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/speaking/guidelines/&quot;&gt;Proposal Guidelines - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/events/pyladies-auction/&quot;&gt;PyLadies Auction - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/volunteers/volunteering/&quot;&gt;Volunteering - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://libraries.io/&quot;&gt;Libraries.io - The Open Source Discovery Service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://choosealicense.com/licenses/&quot;&gt;Licenses - Choose a License&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-virtual-environments-a-primer/&quot;&gt;Python Virtual Environments: A Primer – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act&quot;&gt;EU Cyber Resilience Act - Shaping Europe&amp;rsquo;s digital future&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2022/11/where-is-psf.html&quot;&gt;Python Software Foundation News: Where is the PSF?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.us19.list-manage.com/subscribe?u=5697f493c3a48994f504d4deb&amp;amp;id=a0a3bd5663&quot;&gt;Signup for the Python Software Foundation Newsletter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.meetup.com/bostonpython/&quot;&gt;The Boston Python User Group (Cambridge, MA) - Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyladies.com/&quot;&gt;PyLadies – Women Who Love Coding in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sphinx/&quot;&gt;Documenting Python Projects With Sphinx and Read the Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E151_03_C2_PyCon.0a878fd12b97.mp3" type="audio/mpeg" length="59484686"/>
        <guid isPermaLink="false">ca8b4c4e-065f-431a-8c70-c934854dd185</guid>
        <pubDate>Fri, 31 Mar 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3657</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_151_Podcast.edc5d5f13085.jpg"/>
        <rp:twitter-handles>@baconandcoconut</rp:twitter-handles>
        <rp:twitter-title>“Evaluating Python Packages &amp; Celebrating 20 Years of PyCon US” with @baconandcoconut</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>150</itunes:episode>
        <title>Lessons Learned From Four Years Programming With Python</title>
        <itunes:title>Lessons Learned From Four Years Programming With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/150/</link>
        <description>What are the core lessons you&#x27;ve learned along your Python development journey? What are key takeaways you would share with new users of the language? This week on the show, Duarte Oliveira e Carmo is here to discuss his recent talk, &quot;Four Years of Python.&quot;</description>
        <content:encoded>&lt;p&gt;What are the core lessons you&amp;rsquo;ve learned along your Python development journey? What are key takeaways you would share with new users of the language? This week on the show, Duarte Oliveira e Carmo is here to discuss his recent talk, &amp;ldquo;Four Years of Python.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Duarte works at the crossroads of machine learning, data science, and software engineering. He began using Python in his graduate studies and never looked back. In 2021, he wrote a blog post about some of the valuable lessons he&amp;rsquo;s learned. Then he decided the lessons and concepts in the post might make a good conference talk.&lt;/p&gt;
&lt;p&gt;We cover the steps in his process of crafting the presentation, practicing it at a smaller conference, and finally presenting it at PyCon Italia last year.
We also dig into the four major themes of the talk. Along the way, we share a collection of resources to help you continue learning on your Python journey.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/url-shortener-fastapi/&quot;&gt;Building a URL Shortener With FastAPI and Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll build an app to create and manage shortened URLs. Your Python URL shortener can receive a full target URL and return a shortened URL. You&amp;rsquo;ll also use the automatically created documentation of FastAPI to try out your API endpoints.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; Four years of Python&lt;/li&gt;
&lt;li&gt;00:04:18 &amp;ndash; Why did you create a blog?&lt;/li&gt;
&lt;li&gt;00:06:19 &amp;ndash; A singular vs wide focus for the blog&lt;/li&gt;
&lt;li&gt;00:09:19 &amp;ndash; Pitching the talk to conferences&lt;/li&gt;
&lt;li&gt;00:13:02 &amp;ndash; Resources for preparing your talk&lt;/li&gt;
&lt;li&gt;00:16:03 &amp;ndash; What was your programming and Python background?&lt;/li&gt;
&lt;li&gt;00:19:00 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:19:47 &amp;ndash; Reading is better than Googling&lt;/li&gt;
&lt;li&gt;00:26:23 &amp;ndash; What are some of your favorite docs?&lt;/li&gt;
&lt;li&gt;00:28:48 &amp;ndash; Thoughts on GPT and Copilot&lt;/li&gt;
&lt;li&gt;00:31:45 &amp;ndash; Keep it stupid simple&lt;/li&gt;
&lt;li&gt;00:36:07 &amp;ndash; What&amp;rsquo;s extensible code?&lt;/li&gt;
&lt;li&gt;00:38:29 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:54 &amp;ndash; Learning testing techniques &amp;amp; testing data science code &lt;/li&gt;
&lt;li&gt;00:46:05 &amp;ndash; Continuous learning&lt;/li&gt;
&lt;li&gt;00:51:46 &amp;ndash; What do you use for RSS?&lt;/li&gt;
&lt;li&gt;00:53:06 &amp;ndash; Resources for machine learning&lt;/li&gt;
&lt;li&gt;00:57:20 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:57 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:55 &amp;ndash; How can people follow the work you do?&lt;/li&gt;
&lt;li&gt;01:01:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://duarteocarmo.com/blog/four-years-python&quot;&gt;Four years of Python - Duarte O.Carmo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=zB_Hr-05Stc&quot;&gt;Four years of Python - Duarte Carmo - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/practices-of-the-python-pro&quot;&gt;Practices of the Python Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.getpelican.com/en/latest/index.html&quot;&gt;Pelican 4.8.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://collider.com/blank-check-movies/&quot;&gt;&amp;ldquo;One for Them, One for Me&amp;rdquo; - Blank Check Movies From Famous Directors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pydata.org/&quot;&gt;PyData&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numfocus.org/&quot;&gt;NumFOCUS: A Nonprofit Supporting Open Code for Better Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/speaking/talks/&quot;&gt;Proposing a Talk - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/docs/&quot;&gt;pandas documentation - pandas 1.5.3 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/user_guide.html&quot;&gt;scikit-learn 1.2.2 - User guide - documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastapi.tiangolo.com/tutorial/&quot;&gt;FastAPI - Tutorial - User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fastapi-python-web-apis/&quot;&gt;Using FastAPI to Build Python Web APIs - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/&quot;&gt;Python 3.11.2 Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kindle-highlights.email/&quot;&gt;Kindle Highlights Newsletter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reederapp.com/&quot;&gt;Reeder 5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://feedly.com/&quot;&gt;Welcome to Feedly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://normconf.com/&quot;&gt;Normconf: The Normcore Tech Conference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vickiboykis.com/&quot;&gt;Tech Blog - ★❤✰ Vicki Boykis ★❤✰&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sebastianraschka.com/blog/&quot;&gt;Sebastian Raschka - Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://koaning.io/&quot;&gt;Blog of a data person. - koaning.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/machine-learning-design/9781098115777/&quot;&gt;Machine Learning Design Patterns - Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://changelog.com/practicalai&quot;&gt;The Practical AI Podcast - Changelog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rfordatascience/tidytuesday&quot;&gt;tidytuesday: Official repo for the #tidytuesday project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycon.de/&quot;&gt;PyCon.DE &amp;amp; PyData Berlin, 2023 - PyConDE &amp;amp; PyData Berlin 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.it/en&quot;&gt;PyCon Italia - 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/ruff/&quot;&gt;ruff - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://effectivepython.com/&quot;&gt;Effective Python › The Book: Second Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/3/&quot;&gt;Episode #3: Effective Python and Python at Google Scale - The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duarteocarmo.com/&quot;&gt;Duarte O.Carmo&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duarteocarmo.com/talks&quot;&gt;Talks - Duarte O.Carmo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/duarteocarmo/&quot;&gt;Duarte O.Carmo - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rest-apis-with-fastapi/&quot;&gt;Python REST APIs With FastAPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/splitting-datasets-scikit-learn-train-test-split/&quot;&gt;Splitting Datasets With scikit-learn and train_test_split()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/url-shortener-fastapi/&quot;&gt;Building a URL Shortener With FastAPI and Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E150_03_Duarte.07fca6eba935.mp3" type="audio/mpeg" length="60827687"/>
        <guid isPermaLink="false">08615568-6bc2-4d33-a2e4-e1ea18aae208</guid>
        <pubDate>Fri, 24 Mar 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3741</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_150_Podcast.b3007d2770a3.jpg"/>
        <rp:twitter-handles>@duarteocarmo</rp:twitter-handles>
        <rp:twitter-title>“Lessons Learned From Four Years Programming With Python” with @duarteocarmo</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>149</itunes:episode>
        <title>Coding With namedtuple &amp; Python&#x27;s Dynamic Superpowers</title>
        <itunes:title>Coding With namedtuple &amp; Python&#x27;s Dynamic Superpowers</itunes:title>
        <link>https://realpython.com/podcasts/rpp/149/</link>
        <description>Have you explored Python&#x27;s collections module? Within it, you&#x27;ll find a powerful factory function called namedtuple(), which provides multiple enhancements over the standard tuple for writing clearer and cleaner code. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you explored Python&amp;rsquo;s collections module? Within it, you&amp;rsquo;ll find a powerful factory function called namedtuple(), which provides multiple enhancements over the standard tuple for writing clearer and cleaner code. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher discusses his Real Python video course about writing more Pythonic code using  &lt;code&gt;namedtuple()&lt;/code&gt;. With namedtuple(), you can create immutable sequence types that allow you to access their values using descriptive field names and dot notation instead of clunky integer indices.&lt;/p&gt;
&lt;p&gt;We also discuss metaprogramming and the unique advantages of Python&amp;rsquo;s dynamism. Christopher shares potential paths for this type of coding from web applications, testing, and AST techniques. &lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news update, the Arrow revolution happening in pandas 2.0, a new PEP for inlined comprehensions, tips and techniques for modern Flask apps, a Python helper tool for building and running a REPL with custom commands, and a project to turn a pandas DataFrame into a Tableau-style UI.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-namedtuple/&quot;&gt;Writing Clean, Pythonic Code With &lt;code&gt;namedtuple&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn what Python&amp;rsquo;s &lt;code&gt;namedtuple&lt;/code&gt; is and how to use it in your code. You&amp;rsquo;ll also learn about the main differences between named tuples and other data structures, such as dictionaries, data classes, and typed named tuples.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:17 &amp;ndash; Python 3.12.0 alpha 6 released&lt;/li&gt;
&lt;li&gt;00:02:40 &amp;ndash; Django Developers Survey 2022 Results&lt;/li&gt;
&lt;li&gt;00:03:12 &amp;ndash; Writing Clean, Pythonic Code With &lt;code&gt;namedtuple&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:07:40 &amp;ndash; pandas 2.0 and the Arrow Revolution (Part I)&lt;/li&gt;
&lt;li&gt;00:17:21 &amp;ndash; Sponsor: RevSys&lt;/li&gt;
&lt;li&gt;00:18:10 &amp;ndash; PEP 709: Inlined Comprehensions&lt;/li&gt;
&lt;li&gt;00:20:51 &amp;ndash; 13 Tips and Techniques for Modern Flask Apps&lt;/li&gt;
&lt;li&gt;00:25:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:24 &amp;ndash; Discussion: Python&amp;rsquo;s &amp;ldquo;Disappointing&amp;rdquo; Superpowers&lt;/li&gt;
&lt;li&gt;00:47:54 &amp;ndash; replbuilder: Python helper tool for building and running a REPL with custom commands&lt;/li&gt;
&lt;li&gt;00:49:58 &amp;ndash; pygwalker: Turn pandas Into a Tableau-Style UI &lt;/li&gt;
&lt;li&gt;00:52:15 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/03/python-3120-alpha-6-released.html&quot;&gt;Python Insider: Python 3.12.0 alpha 6 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/mar/09/django-developers-survey-2022-results/?utm_campaign=Django%2BNewsletter&amp;amp;utm_medium=email&amp;amp;utm_source=Django_Newsletter_170&quot;&gt;Django Developers Survey 2022 Results - Django Weblog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-namedtuple/&quot;&gt;Writing Clean, Pythonic Code With &lt;code&gt;namedtuple&lt;/code&gt;&lt;/a&gt; &amp;ndash; In this video course, you&amp;rsquo;ll learn what Python&amp;rsquo;s &lt;code&gt;namedtuple&lt;/code&gt; is and how to use it in your code. You&amp;rsquo;ll also learn about the main differences between named tuples and other data structures, such as dictionaries, data classes, and typed named tuples.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datapythonista.me/blog/pandas-20-and-the-arrow-revolution-part-i&quot;&gt;pandas 2.0 and the Arrow Revolution (Part I)&lt;/a&gt; &amp;ndash; This article details the changes in the pandas 2.0 release, with emphasis on the underlying adoption of Apache Arrow.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0709/&quot;&gt;PEP 709: Inlined Comprehensions&lt;/a&gt; &amp;ndash; Python Enhancement Proposal 709 covers a change to how comprehensions are handled. Currently, they&amp;rsquo;re compiled as nested functions. Benchmarking shows that treating &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;dict&lt;/code&gt;, and &lt;code&gt;set&lt;/code&gt; comprehensions as inline code can result in a 2x speedup on the comprehension.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pgjones.dev/blog/modern-flask-2023/&quot;&gt;13 Tips and Techniques for Modern Flask Apps&lt;/a&gt; &amp;ndash; Flask is approaching its 13th birthday, and to celebrate, Phillip has written 13 tips for writing modern Flask apps. It covers dealing with JSON, environment-based configuration, auto-generated docs, and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lukeplant.me.uk/blog/posts/pythons-disappointing-superpowers/&quot;&gt;Python&amp;rsquo;s &amp;ldquo;Disappointing&amp;rdquo; Superpowers - lukeplant.me.uk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://buttondown.email/hillelwayne/archive/i-am-disappointed-by-dynamic-typing/&quot;&gt;I am disappointed by dynamic typing - Buttondown&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=34611969&quot;&gt;Python&amp;rsquo;s &amp;ldquo;Disappointing&amp;rdquo; superpowers - Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lobste.rs/s/9w7ylg/python_s_disappointing_superpowers&quot;&gt;Python&amp;rsquo;s &amp;ldquo;Disappointing&amp;rdquo; Superpowers - Lobsters&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Aperocky/replbuilder&quot;&gt;replbuilder: Python helper tool for building and running a repl with custom commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Kanaries/pygwalker&quot;&gt;pygwalker: Turn pandas Into a Tableau-Style UI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-namedtuple/&quot;&gt;Write Pythonic and Clean Code With namedtuple – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/146/&quot;&gt;Episode #146: Using NumPy and Linear Algebra for Faster Python Code – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wesmckinney.com/blog/apache-arrow-pandas-internals/&quot;&gt;Apache Arrow and the &amp;ldquo;10 Things I Hate About pandas&amp;rdquo; - Wes McKinney&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=wdmf1msbtVs&quot;&gt;Data science without borders - Wes McKinney (Two Sigma Investments) - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wesmckinney.com/blog/from-ursa-to-voltrondata/&quot;&gt;Joining Forces for an Arrow-Native Future - Wes McKinney&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/docs/dev/reference/arrays.html?highlight=arrowdtype#pyarrow&quot;&gt;pandas arrays, scalars, and data types — pandas 2.1.0.dev0+171.gc293caf2e9 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/18/&quot;&gt;Episode #18: Ten Years of Flask: Conversation With Creator Armin Ronacher – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 1 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-metaclasses/&quot;&gt;Python Metaclasses – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kanaries.net/&quot;&gt;Kanaries AI enhanced data exploration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-namedtuple/&quot;&gt;Writing Clean, Pythonic Code With namedtuple&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E149_03_Cx2.2a2b0ac57b39.mp3" type="audio/mpeg" length="52162398"/>
        <guid isPermaLink="false">eefe59fe-ed48-433f-a243-a98722589273</guid>
        <pubDate>Fri, 17 Mar 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3197</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_149_Podcast.48a0c945f97d.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Coding With namedtuple &amp; Python&#x27;s Dynamic Superpowers”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>148</itunes:episode>
        <title>Sharing Your Python App Across Platforms With BeeWare</title>
        <itunes:title>Sharing Your Python App Across Platforms With BeeWare</itunes:title>
        <link>https://realpython.com/podcasts/rpp/148/</link>
        <description>Are you interested in deploying your Python project everywhere? This week on the show, Russell Keith-Magee, founder and maintainer of the BeeWare project, returns. Russell shares recent updates to Briefcase, a tool that converts a Python application into native installers on macOS, Windows, Linux, and mobile devices.</description>
        <content:encoded>&lt;p&gt;Are you interested in deploying your Python project everywhere? This week on the show, Russell Keith-Magee, founder and maintainer of the BeeWare project, returns. Russell shares recent updates to Briefcase, a tool that converts a Python application into native installers on macOS, Windows, Linux, and mobile devices.&lt;/p&gt;
&lt;p&gt;We cover how Anaconda hired him last year to work full-time on the BeeWare project. He shares how this has helped him focus his efforts and move the project forward. &lt;/p&gt;
&lt;p&gt;We also discuss his recent talk at DjangoCon US 2022 on how to turn your website into an app (and why maybe you shouldn&amp;rsquo;t). Russell details the problems of converting from the Web to a mobile platform. We also contrast WebAssembly System Interface (WASI) with the tools that his team works on.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/property-python/&quot;&gt;Managing Attributes With Python&amp;rsquo;s &lt;code&gt;property()&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to create managed attributes, also known as properties, using Python&amp;rsquo;s &lt;code&gt;property()&lt;/code&gt; in your custom classes.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:06 &amp;ndash; BeeWare project update and open-source funding&lt;/li&gt;
&lt;li&gt;00:06:47 &amp;ndash; What are BeeWare and Briefcase?&lt;/li&gt;
&lt;li&gt;00:08:19 &amp;ndash; Toga GUI and contributions&lt;/li&gt;
&lt;li&gt;00:10:47 &amp;ndash; Pace of the project now&lt;/li&gt;
&lt;li&gt;00:12:47 &amp;ndash; PEP 517 and binary packages with C or Rust&lt;/li&gt;
&lt;li&gt;00:17:29 &amp;ndash; WASM and Briefcase for Web&lt;/li&gt;
&lt;li&gt;00:22:22 &amp;ndash; Sponsor: InfluxData&lt;/li&gt;
&lt;li&gt;00:23:10 &amp;ndash; How to turn your Website into an App - Talk&lt;/li&gt;
&lt;li&gt;00:28:14 &amp;ndash; Bridging libraries that access platform hardware&lt;/li&gt;
&lt;li&gt;00:40:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:42:27 &amp;ndash; WASI - WebAssembly System Interface&lt;/li&gt;
&lt;li&gt;00:48:18 &amp;ndash; Do you need an app or a website?&lt;/li&gt;
&lt;li&gt;00:54:23 &amp;ndash; Getting started with BeeWare&lt;/li&gt;
&lt;li&gt;01:00:06 &amp;ndash; What to do first if interested in contributing?&lt;/li&gt;
&lt;li&gt;01:02:33 &amp;ndash; Channels for the project&lt;/li&gt;
&lt;li&gt;01:04:55 &amp;ndash; Upcoming conference talks&lt;/li&gt;
&lt;li&gt;01:05:26 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:06:42 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:09:28 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;01:10:10 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/&quot;&gt;Write once. Deploy everywhere. — BeeWare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ftP5BQh1-YM&quot;&gt;Russell Keith-Magee - Keynote - PyCon 2019 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anaconda.com/open-source&quot;&gt;Anaconda - Open Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyscript.net/&quot;&gt;PyScript - Run Python in your HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/22/&quot;&gt;Episode #22: Create Cross-Platform Python GUI Apps With BeeWare – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ewwDcRRE4z0&quot;&gt;How to turn your Website into an App (and why maybe you shouldn&amp;rsquo;t!) with Russell Keith Magee - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0517/&quot;&gt;PEP 517 – A build-system independent format for source trees - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/rubicon-objc/&quot;&gt;rubicon-objc - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chaquo.com/chaquopy/&quot;&gt;Chaquopy – Python SDK for Android&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wasi.dev/&quot;&gt;WASI.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/CAP_theorem&quot;&gt;CAP theorem - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.beeware.org/en/latest/&quot;&gt;BeeWare Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/news/buzz/&quot;&gt;The Buzz - BeeWare Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/schedule/presentation/20/&quot;&gt;You &lt;em&gt;can&lt;/em&gt; take it with you: Packaging your Python code with Briefcase - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/PyBeeWare/&quot;&gt;BeeWare (@PyBeeWare) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@freakboy3742@cloudisland.nz&quot;&gt;Russell Keith-Magee (@freakboy3742@cloudisland.nz) - Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/property-python/&quot;&gt;Managing Attributes With Python&amp;#x27;s property()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getters-and-setters-python/&quot;&gt;Getters and Setters in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E148_03_Russell.c20cc7d0c905.mp3" type="audio/mpeg" length="69468071"/>
        <guid isPermaLink="false">50ff43f2-133d-4716-b2a8-8aeb44cba0ae</guid>
        <pubDate>Fri, 10 Mar 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4276</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_148_Podcast2.2e86450b0439.jpg"/>
        <rp:twitter-handles>@freakboy3742</rp:twitter-handles>
        <rp:twitter-title>“Sharing Your Python App Across Platforms With BeeWare” with @freakboy3742</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>147</itunes:episode>
        <title>Django Deployment Strategies &amp; Preparing for PyCascades 2023</title>
        <itunes:title>Django Deployment Strategies &amp; Preparing for PyCascades 2023</itunes:title>
        <link>https://realpython.com/podcasts/rpp/147/</link>
        <description>Have you decided how you&#x27;re going to deploy your Django project? Should you use a VPS or a PaaS? Christopher Trudeau is back this week, bringing another batch of PyCoder&#x27;s Weekly articles and projects. We also have organizers from PyCascades to share details about this year&#x27;s hybrid in-person and virtual conference.</description>
        <content:encoded>&lt;p&gt;Have you decided how you&amp;rsquo;re going to deploy your Django project? Should you use a VPS or a PaaS? Christopher Trudeau is back this week, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects. We also have organizers from PyCascades to share details about this year&amp;rsquo;s hybrid in-person and virtual conference.&lt;/p&gt;
&lt;p&gt;Christopher shares an article about selecting an appropriate Django project deployment strategy. The guide compares VPS (virtual private server) and PaaS (platform as a service) systems. He also covers hosting providers for each and highlights potential pitfalls.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news update, what&amp;rsquo;s new in SQLAlchemy 2.0, how to flush the output of the Python print function, the dangers behind image resizing for machine learning, a project that visualizes pathfinding algorithms, and a runtime executor project.&lt;/p&gt;
&lt;p&gt;We also have three special guests from PyCascades 2023 to dig into the details of the conference. Conference chair Eliza Sarobhasa is CTO at Women Who Drone and Leadership Fellow (Python Track) &amp;amp; Python Developer Advocate at Women Who Code. Sprints chair Chethana Gopinath is a Software Engineer at realtor.com and a Senior Lead at Women Who Code Python. Speaker Support Chair Jolene Wong is a Senior Software Engineer at Cisco based in Vancouver. We discuss hosting a hybrid conference, participating in open-source sprints, and finding a local Python community.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-print/&quot;&gt;The Python print() Function: Go Beyond the Basics&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn about the print() function in Python and discover some of its lesser-known features. Avoid common mistakes, take your &amp;ldquo;hello world&amp;rdquo; to the next level, and know when to use a better alternative.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:47 &amp;ndash; Django 4.2 beta 1 released&lt;/li&gt;
&lt;li&gt;00:03:04 &amp;ndash; What&amp;rsquo;s New in SQLAlchemy 2.0?&lt;/li&gt;
&lt;li&gt;00:06:42 &amp;ndash; How to Flush the Output of the Python Print Function&lt;/li&gt;
&lt;li&gt;00:14:30 &amp;ndash; The Essential Django Deployment Guide&lt;/li&gt;
&lt;li&gt;00:21:37 &amp;ndash; Sponsor: Snyk&lt;/li&gt;
&lt;li&gt;00:22:30 &amp;ndash; The Dangers Behind Image Resizing&lt;/li&gt;
&lt;li&gt;00:29:40 &amp;ndash; Pathfinding-Visualizer: Visualize Pathfinding With Pygame&lt;/li&gt;
&lt;li&gt;00:32:40 &amp;ndash; rtx: Runtime Executor (&lt;code&gt;asdf&lt;/code&gt; Rust Clone)&lt;/li&gt;
&lt;li&gt;00:36:19 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:31 &amp;ndash; PyCascades 2023 Details&lt;/li&gt;
&lt;li&gt;00:38:53 &amp;ndash; Hybrid conference&lt;/li&gt;
&lt;li&gt;00:41:11 &amp;ndash; How did Chethana get involved?&lt;/li&gt;
&lt;li&gt;00:42:30 &amp;ndash; Open-source sprints&lt;/li&gt;
&lt;li&gt;00:45:19 &amp;ndash; How did Jolene get involved?&lt;/li&gt;
&lt;li&gt;00:46:31 &amp;ndash; How did Eliza get involved?&lt;/li&gt;
&lt;li&gt;00:50:21 &amp;ndash; Venue details&lt;/li&gt;
&lt;li&gt;00:52:32 &amp;ndash; Scheduled talks&lt;/li&gt;
&lt;li&gt;00:56:13 &amp;ndash; Conference sponsors&lt;/li&gt;
&lt;li&gt;00:57:48 &amp;ndash; Advice for attendees&lt;/li&gt;
&lt;li&gt;01:00:46 &amp;ndash; Tickets and virtual platform&lt;/li&gt;
&lt;li&gt;01:03:01 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:06:13 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/feb/20/django-42-beta-1-released/&quot;&gt;Django 4.2 beta 1 released | Weblog | Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlalchemy.org/blog/2023/01/26/sqlalchemy-2.0.0-released/&quot;&gt;SQLAlchemy 2.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/what-s-new-in-sqlalchemy-2-0&quot;&gt;What&amp;rsquo;s New in SQLAlchemy 2.0?&lt;/a&gt; &amp;ndash; SQLAlchemy 2.0 was launched in January. This article reviews the latest changes, whether it is worth the upgrade, and how to go about it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-flush-print-output/&quot;&gt;How to Flush the Output of the Python Print Function&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to flush the output of Python&amp;rsquo;s print function. You&amp;rsquo;ll explore output stream buffering in Python using code examples and learn that output streams are block-buffered by default, and that print() with its default arguments executes line-buffered when interactive.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.saaspegasus.com/guides/django-deployment/&quot;&gt;The Essential Django Deployment Guide&lt;/a&gt; &amp;ndash; Going from &amp;ldquo;it works on my machine&amp;rdquo; to deploying to the public can be a daunting task. This guide details the choices between VPS and PaaS systems, how to choose, what the options are, and what you need to know to get your Django code live.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zuru.tech/blog/the-dangers-behind-image-resizing&quot;&gt;The Dangers Behind Image Resizing&lt;/a&gt; &amp;ndash; When training an ML model on image data you likely want smaller, consistently sized images. That means image processing in your pipeline, but the expectation that image resizing is the same across libraries can cause unforeseen problems.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Tauseef-Hilal/Pathfinding-Visualizer&quot;&gt;Pathfinding-Visualizer: Visualize Pathfinding With Pygame&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jdxcode/rtx&quot;&gt;rtx: Runtime Executor (&lt;code&gt;asdf&lt;/code&gt; Rust Clone)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PyCascades Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/&quot;&gt;Home - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/about/team/&quot;&gt;The Team - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/program/schedule/&quot;&gt;Schedule - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/program/sprints/&quot;&gt;Sprints - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSf9wxA1Q4Nx6ZahmkOw_39G66ORRhAe7oJsDSi2D9ebXiTdrA/viewform&quot;&gt;PyCascades 2023 - Sprints Sign Up Form&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/about/covid/&quot;&gt;COVID Policy - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/program/venueless/&quot;&gt;Venueless - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pycascades.com/sponsors/become-a-sponsor/&quot;&gt;Become A Sponsor - PyCascades 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/PyCascades&quot;&gt;PyCascades - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/44/#t=207&quot;&gt;Episode #44: Creating an Interactive Online Python Conference for PyCascades 2021 – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/glossary.html#term-file-like-object&quot;&gt;File Object - Glossary - Python Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-print/&quot;&gt;The Python print() Function: Go Beyond the Basics – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/functools.html?highlight=functools%20partial#functools.partial&quot;&gt;functools — Higher-order functions and operations on callable objects — Python 3.11.2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.womenwhocode.com/python&quot;&gt;Python - Women Who Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beacons.ai/wwcodepython&quot;&gt;WWCodePython - Tiktok Creator &amp;amp; Bio Links - Beacons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyladies.com/&quot;&gt;PyLadies – Women Who Love Coding in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.meetup.com/pyladies-vancouver/&quot;&gt;PyLadies Vancouver (Vancouver, BC) | Meetup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-app-with-gunicorn-nginx/&quot;&gt;Deploy a Django App With Gunicorn and Nginx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-print/&quot;&gt;The Python print() Function: Go Beyond the Basics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python/&quot;&gt;SQLite and SQLAlchemy in Python: Moving Your Data Beyond Flat Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E147_03_c2_PyC_R2.c5c46042199b.mp3" type="audio/mpeg" length="65979509"/>
        <guid isPermaLink="false">05e6155e-8ab9-4b1e-bafa-4f96603c1424</guid>
        <pubDate>Fri, 03 Mar 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4061</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_147_Podcast.9730109bbb9c.jpg"/>
        <rp:twitter-handles>@gravitytrope, @pycascades, @jwowo_uwu</rp:twitter-handles>
        <rp:twitter-title>“Django Deployment Strategies &amp; Preparing for PyCascades 2023” with @gravitytrope, @pycascades, @jwowo_uwu</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>146</itunes:episode>
        <title>Using NumPy and Linear Algebra for Faster Python Code</title>
        <itunes:title>Using NumPy and Linear Algebra for Faster Python Code</itunes:title>
        <link>https://realpython.com/podcasts/rpp/146/</link>
        <description>Are you still using loops and lists to process your data in Python? Have you heard of a Python library with optimized data structures and built-in operations that can speed up your data science code? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, returns to share secrets for harnessing linear algebra and NumPy for your projects.</description>
        <content:encoded>&lt;p&gt;Are you still using loops and lists to process your data in Python? Have you heard of a Python library with optimized data structures and built-in operations that can speed up your data science code? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, returns to share secrets for harnessing linear algebra and NumPy for your projects.&lt;/p&gt;
&lt;p&gt;Jodie details how most people begin their data science journey using loops to iterate over values and apply operations sequentially. We talk about how loops are friendly for beginners, being clear to read and easy to debug, but unfortunately don&amp;rsquo;t scale well, especially with large amounts of data.&lt;/p&gt;
&lt;p&gt;Jodie shares some of the basics of linear algebra and how to organize data into vectors. We talk about how the NumPy library leverages those concepts to improve data processing. We discuss how the library includes operations for vector and matrix addition and subtraction, and why these operations are more efficient than loops. We also cover how NumPy stores arrays in memory and when working with them is faster vs when it&amp;rsquo;s not.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to clean up messy data using pandas and NumPy. You&amp;rsquo;ll become equipped to deal with a range of problems, such as missing values, inconsistent formatting, malformed records, and nonsensical outliers.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:02:35 &amp;ndash; Vectorize all the things! - PyCon UK 2022 Talk&lt;/li&gt;
&lt;li&gt;00:06:39 &amp;ndash; Becoming familiar with linear algebra&lt;/li&gt;
&lt;li&gt;00:09:05 &amp;ndash; Beginners start with loops&lt;/li&gt;
&lt;li&gt;00:11:25 &amp;ndash; Starting with basic linear algebra&lt;/li&gt;
&lt;li&gt;00:12:25 &amp;ndash; The basic unit of a vector&lt;/li&gt;
&lt;li&gt;00:18:06 &amp;ndash; NumPy representing vectors in Python&lt;/li&gt;
&lt;li&gt;00:23:25 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:24:13 &amp;ndash; Block management&lt;/li&gt;
&lt;li&gt;00:25:54 &amp;ndash; Replacing a loop with vector-based operations&lt;/li&gt;
&lt;li&gt;00:34:06 &amp;ndash; NumPy broadcasting&lt;/li&gt;
&lt;li&gt;00:38:52 &amp;ndash; Approximating nearest neighbors&lt;/li&gt;
&lt;li&gt;00:43:49 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:45:15 &amp;ndash; Solving the problem&lt;/li&gt;
&lt;li&gt;00:46:44 &amp;ndash; Getting rid of nested loops&lt;/li&gt;
&lt;li&gt;00:48:54 &amp;ndash; A peek under the hood&lt;/li&gt;
&lt;li&gt;00:53:28 &amp;ndash; How arrays vs lists are stored in memory&lt;/li&gt;
&lt;li&gt;01:00:24 &amp;ndash; Considering a GPU&lt;/li&gt;
&lt;li&gt;01:03:37 &amp;ndash; Real Python resources on the subject&lt;/li&gt;
&lt;li&gt;01:04:08 &amp;ndash; Upcoming talks and conferences&lt;/li&gt;
&lt;li&gt;01:07:31 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=9_mhjjlKjDo&quot;&gt;Vectorize all the things! How basic linear algebra can speed up your data science code - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://math.mit.edu/~gs/linearalgebra/ila5/indexila5.html&quot;&gt;Introduction to Linear Algebra, 5th Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/&quot;&gt;Linear Algebra - Mathematics - MIT OpenCourseWare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://math.mit.edu/~gs/learningfromdata/&quot;&gt;Linear Algebra and Learning from Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-linear-algebra/&quot;&gt;Linear Algebra in Python: Matrix Inverses and Least Squares&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/doc/stable/user/absolute_beginners.html&quot;&gt;NumPy: the absolute basics for beginners - NumPy Manual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/doc/stable/user/basics.broadcasting.html&quot;&gt;Broadcasting — NumPy v1.24 Manual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/spotify/annoy&quot;&gt;spotify/annoy: Approximate Nearest Neighbors in C++/Python optimized&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/numpy-array-programming/&quot;&gt;Look Ma, No For-Loops: Array Programming With NumPy – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/numpy-tutorial/&quot;&gt;NumPy Tutorial: Your First Steps Into Data Science in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pandas-iterate-over-rows/&quot;&gt;How to Iterate Over Rows in pandas, and Why You Shouldn&amp;rsquo;t – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.datacamp.com/radar-2023&quot;&gt;RADAR: Thrive in the era of data - DataCamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pythonwebconf.com/presentations/vectorize-all-the-things-using-linear-algebra-and-numpy-to-make-your-python-code-lightning-fast&quot;&gt;Vectorize all the things! Using linear algebra and NumPy to make your Python code lightning fast. - Python Web Conference 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/schedule/presentation/140/&quot;&gt;Jodie Burchell - PyCon US 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t-redactyl.io/&quot;&gt;Jodie Burchell&amp;rsquo;s Blog - Standard error&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@t_redactyl#&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-arange/&quot;&gt;Using NumPy&amp;#x27;s np.arange() Effectively&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E146_03_Jodie.49b004d51553.mp3" type="audio/mpeg" length="66917075"/>
        <guid isPermaLink="false">d81c3705-5339-44b5-a21e-44bf0e80570b</guid>
        <pubDate>Fri, 24 Feb 2023 12:00:00 +0000</pubDate>
        <itunes:duration>4117</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_146_Podcast.507939e4c424.jpg"/>
        <rp:twitter-handles>@t_redactyl</rp:twitter-handles>
        <rp:twitter-title>“Using NumPy and Linear Algebra for Faster Python Code” with @t_redactyl</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>145</itunes:episode>
        <title>Creating a Python Wordle Clone &amp; Testing Environments With Nox</title>
        <itunes:title>Creating a Python Wordle Clone &amp; Testing Environments With Nox</itunes:title>
        <link>https://realpython.com/podcasts/rpp/145/</link>
        <description>Would you like to practice your Python skills while building a challenging word game? Have you been wanting to learn more about creating command-line interfaces and  making them colorful and interactive? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like to practice your Python skills while building a challenging word game? Have you been wanting to learn more about creating command-line interfaces and  making them colorful and interactive? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share a recent Real Python step-by-step project about creating a clone of Wordle. In the project, you&amp;rsquo;ll practice building a terminal application, validating user input, and refactoring code into functions.&lt;/p&gt;
&lt;p&gt;Christopher shares an article that compares two popular testing tools, Nox and Tox. He discusses how each framework approaches test environment configuration and why the author leans toward using Nox&amp;rsquo;s Python decorator&amp;ndash;based format.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news update, a guide to trying out code and ideas quickly with the Python REPL, a PEP about requiring virtual environments by default, a discussion about lessons learned in twenty years as a software engineer, a project for a spreadsheet GUI inside of JupyterLab notebooks, and adding C-style &lt;code&gt;for&lt;/code&gt; loops to Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/getters-and-setters-python/&quot;&gt;Getters and Setters in Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn what getter and setter methods are, how Python properties are preferred over getters and setters when dealing with attribute access and mutation, and when to use getter and setter methods instead of properties in Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:21 &amp;ndash; Django Security Releases Issued&lt;/li&gt;
&lt;li&gt;00:02:43 &amp;ndash; PSF Is Hiring a Security Developer-in-Residence&lt;/li&gt;
&lt;li&gt;00:03:44 &amp;ndash; Python 3.11.2, Python 3.10.10 and 3.12.0 alpha 5 are available&lt;/li&gt;
&lt;li&gt;00:04:02 &amp;ndash; Build a Wordle Clone With Python and Rich&lt;/li&gt;
&lt;li&gt;00:10:05 &amp;ndash; Why I Like Nox&lt;/li&gt;
&lt;li&gt;00:16:44 &amp;ndash; Sponsor: Anaconda Cloud&lt;/li&gt;
&lt;li&gt;00:17:26 &amp;ndash; PEP 704: Require Virtual Environments by Default&lt;/li&gt;
&lt;li&gt;00:27:17 &amp;ndash; The Python Standard REPL: Try Out Code and Ideas Quickly&lt;/li&gt;
&lt;li&gt;00:33:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:35 &amp;ndash; 20 Things I&amp;rsquo;ve Learned in My 20 Years as a Software Engineer&lt;/li&gt;
&lt;li&gt;00:47:50 &amp;ndash; Mito: A Spreadsheet Inside Your JupyterLab Notebooks&lt;/li&gt;
&lt;li&gt;00:51:37 &amp;ndash; How I Added C-Style for-Loops to Python&lt;/li&gt;
&lt;li&gt;00:58:08 &amp;ndash; Thanks and goodbye &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/feb/01/security-releases/&quot;&gt;Django Security Releases Issued: 4.1.6, 4.0.9, and 3.2.17&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2023/01/the-psf-is-hiring-security-developer-in.html&quot;&gt;PSF Is Hiring a Security Developer-in-Residence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2023/02/python-3112-python-31010-and-3120-alpha.html&quot;&gt;Python Insider: Python 3.11.2, Python 3.10.10 and 3.12.0 alpha 5 are available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wordle-clone/&quot;&gt;Build a Wordle Clone With Python and Rich&lt;/a&gt; &amp;ndash; In this step-by-step project, you&amp;rsquo;ll build your own Wordle clone with Python. Your game will run in the terminal, and you&amp;rsquo;ll use Rich to ensure your word-guessing app looks good. Learn how to build a command-line application from scratch and then challenge your friends to a wordly competition!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hynek.me/articles/why-i-like-nox/&quot;&gt;Why I Like Nox&lt;/a&gt; &amp;ndash; Both Nox and Tox are multi-environment testing tools. This opinion piece by Hynek compares and contrasts them and explains why he is increasingly using Nox.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0704/&quot;&gt;PEP 704: Require Virtual Environments by Default&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-repl/&quot;&gt;The Python Standard REPL: Try Out Code and Ideas Quickly&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use the Python standard REPL (Read-Eval-Print Loop) to run your code interactively. This tool will allow you to test new ideas, explore and experiment with new tools and libraries, refactor and debug your code, try out examples, and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/&quot;&gt;20 Things I&amp;rsquo;ve Learned in My 20 Years as a Software Engineer&lt;/a&gt; &amp;ndash; Justin writes a list of things he&amp;rsquo;s learned over his past twenty years in development. He starts by stating how context is important and that his lessons are from small teams that emphasize productivity and are tool agnostic.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.simplethread.com/the-10x-programmer-myth/&quot;&gt;The 10x Programmer Myth - Simple Thread&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mito-ds/monorepo&quot;&gt;Mito: A Spreadsheet Inside Your JupyterLab Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sadh.life/post/cursed-for/&quot;&gt;How I Added C-Style for-Loops to Python&lt;/a&gt; &amp;ndash; Ever wanted a C-style &lt;code&gt;for&lt;/code&gt; loop in Python? No? Well, you can have one anyway. See how Tushar implemented &lt;code&gt;with for (i := var(0), i &amp;lt; 10, i + 2):&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openssf.org/community/alpha-omega/&quot;&gt;Alpha-Omega - Open Source Security Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nox.thea.codes/en/latest/&quot;&gt;Welcome to Nox - Nox 2022.11.21 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/classifying-python-virtual-environment-workflows/&quot;&gt;Classifying Python Virtual Environment Workflows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/pep-704-require-virtual-environments-by-default-for-package-installers/22846/5&quot;&gt;PEP 704 - Require virtual environments by default for package installers - Discourse on Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/en/latest/tutorials/installing-packages/#creating-virtual-environments&quot;&gt;Creating Virtual Environments - Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-virtual-environments-a-primer/&quot;&gt;Python Virtual Environments: A Primer – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/using-jupyterlab/&quot;&gt;JupyterLab for an Enhanced Notebook Experience&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming-oop-python/&quot;&gt;A Conceptual Primer on OOP in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-oop/&quot;&gt;Python Basics: Object-Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getters-and-setters-python/&quot;&gt;Getters and Setters in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E145_03_Cx2.abc600d33769.mp3" type="audio/mpeg" length="57792227"/>
        <guid isPermaLink="false">5a9df1d9-a89e-4d27-b458-5cd803a3edfc</guid>
        <pubDate>Fri, 17 Feb 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3550</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_145_Podcast.c75ba77e84fd.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Creating a Python Wordle Clone &amp; Testing Environments With Nox”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>144</itunes:episode>
        <title>Wrangling Business Process Models With Python and SpiffWorkflow</title>
        <itunes:title>Wrangling Business Process Models With Python and SpiffWorkflow</itunes:title>
        <link>https://realpython.com/podcasts/rpp/144/</link>
        <description>Can you describe your business processes with flowcharts? What if you could define the steps in a standard notation and implement the workflows in pure Python? This week on the show, Dan Funk from Sartography is here to discuss SpiffWorkflow.</description>
        <content:encoded>&lt;p&gt;Can you describe your business processes with flowcharts? What if you could define the steps in a standard notation and implement the workflows in pure Python? This week on the show, Dan Funk from Sartography is here to discuss SpiffWorkflow.&lt;/p&gt;
&lt;p&gt;SpiffWorkflow is a Python tool for translating Business Process Model and Notation (BPMN) diagrams into a workflow engine. You can manipulate this visual chain of events to suit your team&amp;rsquo;s business requirements. Individual events in the workflow can contain blocks or scripts of Python code to be executed.&lt;/p&gt;
&lt;p&gt;We discuss the concept of low-code software tools. Dan also talks about how SpiffWorkflow aims at getting non-developers within an organization involved in development.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/new-features-python-311/&quot;&gt;Cool New Features in Python 3.11 – Real Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll explore what Python 3.11 brings to the table. You&amp;rsquo;ll learn how Python 3.11 is the fastest and most user-friendly version of CPython yet, and learn about improvements to the typing system and to the asynchronous features of Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:14 &amp;ndash; What is SpiffWorkflow?&lt;/li&gt;
&lt;li&gt;00:03:12 &amp;ndash; What is BPMN? &lt;/li&gt;
&lt;li&gt;00:06:29 &amp;ndash; What did you need to add to the project?&lt;/li&gt;
&lt;li&gt;00:07:12 &amp;ndash; What are the components of a diagram?&lt;/li&gt;
&lt;li&gt;00:12:42 &amp;ndash; Examples of workflow&lt;/li&gt;
&lt;li&gt;00:13:54 &amp;ndash; Sponsor: TelemetryHub&lt;/li&gt;
&lt;li&gt;00:14:29 &amp;ndash; What types of industries use BPMN?&lt;/li&gt;
&lt;li&gt;00:18:02 &amp;ndash; Decision Model and Notation (DMN)&lt;/li&gt;
&lt;li&gt;00:19:34 &amp;ndash; What is low-code?&lt;/li&gt;
&lt;li&gt;00:27:02 &amp;ndash; How could someone get involved?&lt;/li&gt;
&lt;li&gt;00:28:02 &amp;ndash; How do you host a workflow?&lt;/li&gt;
&lt;li&gt;00:29:43 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:05 &amp;ndash; What has the project taught you as a developer?&lt;/li&gt;
&lt;li&gt;00:37:29 &amp;ndash; Empowering more members of the organization&lt;/li&gt;
&lt;li&gt;00:42:07 &amp;ndash; Project direction for the next year&lt;/li&gt;
&lt;li&gt;00:42:51 &amp;ndash; Where to start with SpiffWorkflow?&lt;/li&gt;
&lt;li&gt;00:43:15 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:45:59 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:51:06 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.spiffworkflow.org/&quot;&gt;SpiffWorkflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spiffworkflow.readthedocs.io/en/latest/&quot;&gt;Overview SpiffWorkflow 1.2.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sartography/SpiffWorkflow&quot;&gt;SpiffWorkflow: A powerful workflow engine implemented in pure Python - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sartography.com/&quot;&gt;Sartography&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation&quot;&gt;Business Process Model and Notation - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.omg.org/dmn/&quot;&gt;Decision Model and Notation™ (DMN™) | Object Management Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bpmn.io/&quot;&gt;Web-based tooling for BPMN, DMN, CMMN, and Forms | bpmn.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.computer.org/csdl/magazine/so/2023/01/09994228/1JgvNO5CqwU&quot;&gt;Creating a Low-Code Business Process Execution Platform With Python, BPMN, and DMN - IEEE Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.spiffworkflow.org/posts/articles/low_code/&quot;&gt;The Low Code Wall, SpiffWorkflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.spiffworkflow.org/pages/spiffarena/&quot;&gt;SpiffArena, SpiffWorkflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Fjdqb2tdxHg&quot;&gt;Install SpiffArena then build and run your first diagram - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mindtrails.virginia.edu/&quot;&gt;MindTrails - University of Virginia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/practices-of-the-python-pro&quot;&gt;Practices of the Python Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/49/&quot;&gt;Episode #49: The Challenges of Developing Into a Python Professional – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/whatsnew/3.11.html#whatsnew311-pep678&quot;&gt;PEP 678: Exceptions can be enriched with notes - Python 3.11.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.instructables.com/Building-A-Ship-In-A-Bottle/&quot;&gt;Building a Ship in a Bottle. : 14 Steps (with Pictures) - Instructables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://status.im/&quot;&gt;Status - Private, Secure Communication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/funkdan/&quot;&gt;Dan Funk - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/SpiffWorkflow&quot;&gt;SpiffWorkflow (@SpiffWorkflow) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-311/&quot;&gt;Cool New Features in Python 3.11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E144_03_DanFunk.7cabd96ad678.mp3" type="audio/mpeg" length="51176106"/>
        <guid isPermaLink="false">cc8056f0-afd8-412e-8487-3ff67e12938b</guid>
        <pubDate>Fri, 10 Feb 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3137</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_144_Podcast.7e950983241f.jpg"/>
        <rp:twitter-handles>@SpiffWorkflow</rp:twitter-handles>
        <rp:twitter-title>“Wrangling Business Process Models With Python and SpiffWorkflow” with @SpiffWorkflow</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>143</itunes:episode>
        <title>Create Interactive Maps &amp; Geospatial Data Visualizations With Python</title>
        <itunes:title>Create Interactive Maps &amp; Geospatial Data Visualizations With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/143/</link>
        <description>Would you like to quickly add data to a map with Python? Have you wanted to create beautiful interactive maps and export them as a stand-alone static web page? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like to quickly add data to a map with Python? Have you wanted to create beautiful interactive maps and export them as a stand-alone static web page? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share a recent Real Python tutorial about using Python Folium to create geospatial data visualizations. Folium harnesses the power of the JavaScript library Leaflet. The project shares how to combine this graphical power with Python&amp;rsquo;s data-wrangling strength.&lt;/p&gt;
&lt;p&gt;Christopher shares a recent Python Enhancement Proposal (PEP) about the Global Interpreter Lock (GIL) in CPython. The PEP proposes a change to the build process that implements a flag for optionally building a GIL-less interpreter.  &lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news update, a &lt;code&gt;YAML&lt;/code&gt; document from hell, a set of logging practices to follow, a discussion about the discourse surrounding the recent Python packaging user survey, a modern Python UI library based on Tkinter, and a lightweight tool kit for bounding boxes.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this Code Conversation video course, you&amp;rsquo;ll learn how to package your everyday projects with &lt;code&gt;pyproject.toml&lt;/code&gt;. Playing on the same team as the import system means you can call your project from anywhere, ensure consistent imports, and have one file that&amp;rsquo;ll work for many build systems.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:33 &amp;ndash; Bleach 6.0.0 release and deprecation&lt;/li&gt;
&lt;li&gt;00:05:03 &amp;ndash; Python Folium: Create Web Maps From Your Data&lt;/li&gt;
&lt;li&gt;00:10:37 &amp;ndash; PEP 703: Making the GIL Optional in CPython&lt;/li&gt;
&lt;li&gt;00:15:36 &amp;ndash; Sponsor: Influxdata&lt;/li&gt;
&lt;li&gt;00:16:24 &amp;ndash; The YAML Document From Hell&lt;/li&gt;
&lt;li&gt;00:27:53 &amp;ndash; Logging Practices I Follow&lt;/li&gt;
&lt;li&gt;00:32:08 &amp;ndash; How to improve Python packaging&lt;/li&gt;
&lt;li&gt;00:36:55 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:38:25 &amp;ndash; Thoughts on the Python packaging ecosystem&lt;/li&gt;
&lt;li&gt;00:58:16 &amp;ndash; CustomTkinter: Python UI library Based on Tkinter&lt;/li&gt;
&lt;li&gt;01:00:16 &amp;ndash; pybboxes: Lightweight Tool Kit for Bounding Boxes&lt;/li&gt;
&lt;li&gt;01:01:36 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bluesock.org/~willkg/blog/dev/bleach_6_0_0_deprecation.html&quot;&gt;Bleach 6.0.0 release and deprecation - Will&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-folium-web-maps-from-data/&quot;&gt;Python Folium: Create Web Maps From Your Data&lt;/a&gt; &amp;ndash; You&amp;rsquo;ll learn how to create web maps from data using Folium. The package combines Python&amp;rsquo;s data-wrangling strengths with the data-visualization power of the JavaScript library Leaflet. In this tutorial, you&amp;rsquo;ll create and style a choropleth world map that shows the ecological footprint per country.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0703/&quot;&gt;PEP 703: Making the GIL Optional in CPython&lt;/a&gt; &amp;ndash; This PEP proposes changes to the CPython build process that would allow you to build a GIL-less interpreter. This kind of interpreter would not be ABI compatible with the GIL-based one, and the programmer would become responsible for some locking situations in C-extensions. If implemented, this would lead the way to being able to operate without the GIL in cases where backward-compatibility issues aren&amp;rsquo;t important.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell&quot;&gt;The &lt;code&gt;yaml&lt;/code&gt; Document From Hell&lt;/a&gt; &amp;ndash; As a data format, YAML is extremely complicated and it has many footguns. In this post, Ruud explains some of those pitfalls by means of an example and suggests a few simpler and safer YAML alternatives.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.16elt.com/2023/01/06/logging-practices-I-follow/&quot;&gt;Logging Practices I Follow&lt;/a&gt; &amp;ndash; &amp;ldquo;No matter what kind of software you&amp;rsquo;re developing, you most definitely leverage logging to some extent, probably every single day.&amp;rdquo; This article outlines good cross-language logging practices, making it easier to find bugs and understand what has happened in your software.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/&quot;&gt;How to improve Python packaging, or why fourteen tools are at least twelve too many - Chris Warrick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pradyunsg.me/blog/2023/01/21/thoughts-on-python-packaging/&quot;&gt;Thoughts on the Python packaging ecosystem - Pradyun Gedam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://drive.google.com/file/d/1U5d5SiXLVkzDpS0i1dJIA4Hu5Qg704T9/view&quot;&gt;Python Packaging User Survey - Results PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/python-packaging-strategy-discussion-part-1/22420?u=pradyunsg&quot;&gt;Python Packaging Strategy Discussion - Part 1 - Packaging - Discussions on Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=34467952&quot;&gt;Thoughts on the Python packaging ecosystem | Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@stargirl@hachyderm.io/109697057987690007&quot;&gt;Stargirl: &amp;ldquo;So You Want to Solve Python Packaging&amp;rdquo; - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/927/&quot;&gt;xkcd: Standards&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/TomSchimansky/CustomTkinter&quot;&gt;CustomTkinter: Python UI Library Based on Tkinter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/devrimcavusoglu/pybboxes&quot;&gt;pybboxes: Lightweight Tool Kit for Bounding Boxes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0554/&quot;&gt;PEP 554 – Multiple Interpreters in the Stdlib - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-yaml/&quot;&gt;YAML: The Missing Battery in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-toml/&quot;&gt;Python and TOML: New Best Friends – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0665/&quot;&gt;PEP 665 – A file format to list Python dependencies for reproducibility of an application - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/tkinter.html?highlight=tkinter#module-tkinter&quot;&gt;tkinter — Python interface to Tcl/Tk — Python 3.11.1 docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-tkinter/&quot;&gt;Python GUI Programming With Tkinter – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/logging-python/&quot;&gt;Logging Inside Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E143_03_Cx2.ad1601cfa5ba.mp3" type="audio/mpeg" length="61292658"/>
        <guid isPermaLink="false">0cc43cef-3c89-4157-ab5e-681d2f762b21</guid>
        <pubDate>Fri, 03 Feb 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3766</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_143_Podcast.2f82decab40e.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Create Interactive Maps &amp; Geospatial Data Visualizations With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>142</itunes:episode>
        <title>Orchestrating Large and Small Projects With Apache Airflow</title>
        <itunes:title>Orchestrating Large and Small Projects With Apache Airflow</itunes:title>
        <link>https://realpython.com/podcasts/rpp/142/</link>
        <description>Have you worked on a project that needed an orchestration tool? How do you define the workflow of an entire data pipeline or a messaging system with Python? This week on the show, Calvin Hendryx-Parker is back to talk about using Apache Airflow and orchestrating Python projects.</description>
        <content:encoded>&lt;p&gt;Have you worked on a project that needed an orchestration tool? How do you define the workflow of an entire data pipeline or a messaging system with Python? This week on the show, Calvin Hendryx-Parker is back to talk about using Apache Airflow and orchestrating Python projects.&lt;/p&gt;
&lt;p&gt;Calvin is the co-founder and CTO of Six Feet Up and a Python Web Conference co-organizer. He&amp;rsquo;s recently been working on a massive project that requires thousands of jobs involving transferring and transforming data. Through his research into orchestration systems, he found Apache Airflow. &lt;/p&gt;
&lt;p&gt;Airflow is an open-source tool to define, schedule, and monitor workflows. The platform is pure Python and integrates with a wide variety of services. We discuss how workflows are defined by creating directed acyclic graphs (DAG). &lt;/p&gt;
&lt;p&gt;Calvin talks about how a recent project outgrew the system and how his team built a clever solution using Python. We also discuss the upcoming Python Web Conference and what virtual attendees can expect.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-basics-oop/&quot;&gt;Python Basics: Object-Oriented Programming&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll get to know OOP, or object-oriented programming. You&amp;rsquo;ll learn how to create a class, use classes to create new objects, and instantiate classes with attributes.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:24 &amp;ndash; Describing the large data pipeline&lt;/li&gt;
&lt;li&gt;00:04:38 &amp;ndash; What format was the data in?&lt;/li&gt;
&lt;li&gt;00:06:04 &amp;ndash; Was the format of the data changed for storage?&lt;/li&gt;
&lt;li&gt;00:09:34 &amp;ndash; Data engineering and describing sources and targets&lt;/li&gt;
&lt;li&gt;00:11:29 &amp;ndash; Apache Airflow orchestration and hitting limitations&lt;/li&gt;
&lt;li&gt;00:18:12 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:18:54 &amp;ndash; DAG: Directed acyclic graphs&lt;/li&gt;
&lt;li&gt;00:22:29 &amp;ndash; Streaming data and other tool choices&lt;/li&gt;
&lt;li&gt;00:25:38 &amp;ndash; Overcoming DAG Factory limitations&lt;/li&gt;
&lt;li&gt;00:31:49 &amp;ndash; Another industry example for Airflow&lt;/li&gt;
&lt;li&gt;00:34:24 &amp;ndash; Finding solutions as a consultancy&lt;/li&gt;
&lt;li&gt;00:35:12 &amp;ndash; Is there a minimum-size project for Airflow?&lt;/li&gt;
&lt;li&gt;00:37:37 &amp;ndash; Django under the hood&lt;/li&gt;
&lt;li&gt;00:38:31 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:58 &amp;ndash; The Python Web Conference 2023&lt;/li&gt;
&lt;li&gt;00:44:24 &amp;ndash; Do you have any upcoming conference talks?&lt;/li&gt;
&lt;li&gt;00:45:53 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:46:52 &amp;ndash; IndyPy talk by Mariatta Wijaya&lt;/li&gt;
&lt;li&gt;00:48:01 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:51:45 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:53:22 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://airflow.apache.org/docs/&quot;&gt;Apache Airflow - Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/blog/too-big-for-dag-factories&quot;&gt;Too Big for DAG Factories? — Six Feet Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Directed_acyclic_graph&quot;&gt;Directed acyclic graph - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dags.html&quot;&gt;DAGs — Airflow Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.astronomer.io/learn/dynamically-generating-dags&quot;&gt;Dynamically generating DAGs in Airflow - Astronomer Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.databricks.com/&quot;&gt;Data Lakehouse Architecture and AI Company - Databricks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/10/&quot;&gt;Episode #10: Python Job Hunting in a Pandemic – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/124/&quot;&gt;Episode #124: Exploring Recursion in Python With Al Sweigart – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/recursion/&quot;&gt;The Recursive Book of Recursion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/61/&quot;&gt;Episode #61: Scaling Data Science and Machine Learning Infrastructure Like Netflix – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://indypy.org/#&quot;&gt;IndyPy — Indiana Python User Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=zEIPTg22OYE&amp;amp;list=PLt4L3V8wVnF6JgEz7BLuRIZSS6Qsx_AFn&quot;&gt;Contributing to Python - Mariatta Wijaya - Python Core Developer - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.home-assistant.io/&quot;&gt;Home Assistant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.arturia.com/products/hardware-synths/microfreak/details&quot;&gt;Arturia - MicroFreak&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.arturia.com/products/software-instruments/pigments/overview&quot;&gt;Arturia - Pigments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@calvinhp&quot;&gt;CalvinHP (@calvinhp@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/calvinhp&quot;&gt;calvinhp - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/blog&quot;&gt;Six Feet Up - Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2023.pythonwebconf.com/&quot;&gt;Python Web Conference 2023&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-oop/&quot;&gt;Python Basics: Object-Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming-oop-python/&quot;&gt;A Conceptual Primer on OOP in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E142_03_Calvin.2efb7b6d077a.mp3" type="audio/mpeg" length="53221542"/>
        <guid isPermaLink="false">7835bbef-257f-4e52-b4cb-f85d197f19b6</guid>
        <pubDate>Fri, 27 Jan 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3264</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_142_Podcast.26aaa7a14c7a.jpg"/>
        <rp:twitter-handles>@calvinhp</rp:twitter-handles>
        <rp:twitter-title>“Orchestrating Large and Small Projects With Apache Airflow” with @calvinhp</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>141</itunes:episode>
        <title>Exploring Python With bpython &amp; Formalizing f-String Grammar</title>
        <itunes:title>Exploring Python With bpython &amp; Formalizing f-String Grammar</itunes:title>
        <link>https://realpython.com/podcasts/rpp/141/</link>
        <description>Have you used the Python Read-Eval-Print Loop (REPL) to explore the language and learn about how it operates? Would it help if it provided syntax highlighting, definitions, and code completion and behaved more like an IDE? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you used the Python Read-Eval-Print Loop (REPL) to explore the language and learn about how it operates? Would it help if it provided syntax highlighting, definitions, and code completion and behaved more like an IDE? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss the drop-in REPL replacement bpython. bpython enhances the interactivity of a Python REPL session. It&amp;rsquo;s also a powerful teaching tool for instructors and students to experiment with and explore Python code. &lt;/p&gt;
&lt;p&gt;Christopher shares a recent Python Enhancement Proposal (PEP) about formalizing the grammar for f-strings. The PEP describes a reduction in the underlying parser code complexity and provides for future features like comments in multiline f-strings.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news roundup, a collection of surveys to classify Python virtual environment workflows, a course about context managers and Python&amp;rsquo;s &lt;code&gt;with&lt;/code&gt; statement, a discussion about microfeatures that we would like to see adopted in Python, a Python terminal music player, and an infinite array powered by AI.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/with-statement-python/&quot;&gt;Context Managers and Python&amp;rsquo;s &lt;code&gt;with&lt;/code&gt; Statement&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn what the Python &lt;code&gt;with&lt;/code&gt; statement is and how to use it with existing context managers. You&amp;rsquo;ll also learn how to create your own context managers.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:21 &amp;ndash; Pillow 9.4.0 Released&lt;/li&gt;
&lt;li&gt;00:02:47 &amp;ndash; Django Bugfix Release: 4.1.5&lt;/li&gt;
&lt;li&gt;00:02:56 &amp;ndash; Plone 6.0 Released&lt;/li&gt;
&lt;li&gt;00:03:16 &amp;ndash; PyCon Italia 2023&lt;/li&gt;
&lt;li&gt;00:03:54 &amp;ndash; Discover bpython: A Python REPL With IDE-Like Features&lt;/li&gt;
&lt;li&gt;00:13:55 &amp;ndash; PEP 701: Syntactic Formalization of f-Strings&lt;/li&gt;
&lt;li&gt;00:17:07 &amp;ndash; Sponsor: Influx Data&lt;/li&gt;
&lt;li&gt;00:17:57 &amp;ndash; Classifying Python Virtual Environment Workflows&lt;/li&gt;
&lt;li&gt;00:30:26 &amp;ndash; Context Managers and Python&amp;rsquo;s &lt;code&gt;with&lt;/code&gt; Statement&lt;/li&gt;
&lt;li&gt;00:36:32 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:47 &amp;ndash; Microfeatures I&amp;rsquo;d Like to See in More Languages&lt;/li&gt;
&lt;li&gt;00:49:34 &amp;ndash; Python Terminal Music Player&lt;/li&gt;
&lt;li&gt;00:51:19 &amp;ndash; Infinite AI Array&lt;/li&gt;
&lt;li&gt;00:55:05 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pillow.readthedocs.io/en/stable/releasenotes/9.4.0.html&quot;&gt;Pillow 9.4.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2023/jan/02/bugfix-release/&quot;&gt;Django Bugfix Release: 4.1.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plone.org/news-and-events/news/2022/plone-6-0-released&quot;&gt;Plone 6.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.it/en&quot;&gt;PyCon Italia 2023&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/bpython-alternative-python-repl/&quot;&gt;Discover bpython: A Python REPL With IDE-Like Features&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about bpython, an alternative Python REPL that brings code suggestions and many other IDE-like features to the terminal. Once you discover how much bpython can improve your productivity, you&amp;rsquo;ll never want to return to using the vanilla Python REPL again.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0701/&quot;&gt;PEP 701: Syntactic Formalization of f-Strings&lt;/a&gt; &amp;ndash; This Python Enhancement Proposal describes the formalization of a grammar for f-strings, allowing a reduction in the underlying parser code complexity and providing future features like comments in multiline f-strings.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/classifying-python-virtual-environment-workflows/&quot;&gt;Classifying Python Virtual Environment Workflows&lt;/a&gt; &amp;ndash; This article discusses the various ways of creating and managing Python virtual environments, including what kinds of tools you could use. It categorizes the different styles and describes how the choices that you make affect your workflow.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/with-statement-python/&quot;&gt;Context Managers and Python&amp;rsquo;s &lt;code&gt;with&lt;/code&gt; Statement&lt;/a&gt; &amp;ndash; In this video course, you&amp;rsquo;ll learn what the Python &lt;code&gt;with&lt;/code&gt; statement is and how to use it with existing context managers. You&amp;rsquo;ll also learn how to create your own context managers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://buttondown.email/hillelwayne/archive/microfeatures-id-like-to-see-in-more-languages/&quot;&gt;Microfeatures I&amp;rsquo;d Like to See in More Languages&lt;/a&gt; &amp;ndash; Some language features are intrinsic to the language. Others are syntactic sugar that other programming languages could easily borrow. This opinion piece from Hillel highlights some features that the mainstream should steal from more obscure languages. Two Python features that he&amp;rsquo;d like to see in more languages are chained evaluations (&lt;code&gt;2 &amp;lt;= x &amp;lt; 10&lt;/code&gt;) and numbers with separators (1000000 == 1_000_000).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bmwant/pypod&quot;&gt;Python Terminal Music Player&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ianbicking.org/blog/2023/01/infinite-ai-array.html&quot;&gt;Infinite AI Array&lt;/a&gt; &amp;ndash; Learn about an insane library containing special lists and dicts so that any missed calls automatically go to GPT3 and add a predictive value in its place.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/cltrudeau/status/1616445805036195844&quot;&gt;Christopher Trudeau&amp;rsquo;s - Act function for virtual environments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-python-virtual-environments/&quot;&gt;Working With Python Virtual Environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-f-strings-improved-string-formatting-syntax/&quot;&gt;Python 3&amp;#x27;s F-Strings: An Improved String Formatting Syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/with-statement-python/&quot;&gt;Context Managers and Using Python&amp;#x27;s with Statement&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E141_03_Cx2.f3e3ea8be478.mp3" type="audio/mpeg" length="54779656"/>
        <guid isPermaLink="false">dfc06937-8343-4528-898d-614a690eacd9</guid>
        <pubDate>Fri, 20 Jan 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3366</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_141_Podcast.90e6b3854de9.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring Python With bpython &amp; Formalizing f-String Grammar”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>140</itunes:episode>
        <title>Speeding Up Your DataFrames With Polars</title>
        <itunes:title>Speeding Up Your DataFrames With Polars</itunes:title>
        <link>https://realpython.com/podcasts/rpp/140/</link>
        <description>How can you get more performance from your existing data science infrastructure? What if a DataFrame library could take advantage of your machine&#x27;s available cores and provide built-in methods for handling larger-than-RAM datasets? This week on the show, Liam Brannigan is here to discuss Polars.</description>
        <content:encoded>&lt;p&gt;How can you get more performance from your existing data science infrastructure? What if a DataFrame library could take advantage of your machine&amp;rsquo;s available cores and provide built-in methods for handling larger-than-RAM datasets? This week on the show, Liam Brannigan is here to discuss Polars.&lt;/p&gt;
&lt;p&gt;Liam is an experienced data scientist working in finance, technology, and environmental analysis. He&amp;rsquo;s recently started contributing to the documentation for Polars and developing a training course for the library.&lt;/p&gt;
&lt;p&gt;We talk about the library&amp;rsquo;s overall speed and lack of additional dependencies. Liam explains the advantages of lazy vs eager mode and which to choose when performing data exploration or attempting to load a dataset larger than your RAM.&lt;/p&gt;
&lt;p&gt;We also discuss potential barriers to switching to Polars from a pandas workflow. Across our conversation, we explore several other libraries and technologies, including Apache Arrow, DuckDB, query optimization, and the &amp;ldquo;rustification&amp;rdquo; of Python tools.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to use ggplot in Python to build data visualizations with plotnine. You&amp;rsquo;ll discover what a grammar of graphics is and how it can help you create plots in a very concise and consistent way.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Show Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:06 &amp;ndash; Liam&amp;rsquo;s background and intro to Polars&lt;/li&gt;
&lt;li&gt;00:03:37 &amp;ndash; Hurdles to switching to Polars&lt;/li&gt;
&lt;li&gt;00:05:23 &amp;ndash; Creating training resources&lt;/li&gt;
&lt;li&gt;00:08:15 &amp;ndash; No index &lt;/li&gt;
&lt;li&gt;00:09:46 &amp;ndash; Data science 2025 predictions&lt;/li&gt;
&lt;li&gt;00:12:02 &amp;ndash; Contributions to Polars&lt;/li&gt;
&lt;li&gt;00:15:07 &amp;ndash; Eager vs lazy mode &amp;amp; query optimization&lt;/li&gt;
&lt;li&gt;00:19:25 &amp;ndash; Sponsor: Anaconda Nucleus&lt;/li&gt;
&lt;li&gt;00:20:00 &amp;ndash; Apache Arrow and parquet&lt;/li&gt;
&lt;li&gt;00:24:43 &amp;ndash; DuckDB and column orientation&lt;/li&gt;
&lt;li&gt;00:29:27 &amp;ndash; The &amp;ldquo;rustification&amp;rdquo; of libraries&lt;/li&gt;
&lt;li&gt;00:34:49 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:16 &amp;ndash; GPUs and memory requirements&lt;/li&gt;
&lt;li&gt;00:45:49 &amp;ndash; No additional library requirements&lt;/li&gt;
&lt;li&gt;00:47:37 &amp;ndash; Development of the ecosystem&lt;/li&gt;
&lt;li&gt;00:51:33 &amp;ndash; Chaining operations&lt;/li&gt;
&lt;li&gt;00:53:39 &amp;ndash; How can people follow your work?&lt;/li&gt;
&lt;li&gt;00:54:51 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:56:09 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:56:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://braaannigan.github.io//&quot;&gt;Liam Brannigan - Data Scientist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pola.rs/&quot;&gt;Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/polars/&quot;&gt;polars - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola-rs.github.io/polars-book/user-guide/coming_from_pandas.html&quot;&gt;Coming from Pandas - Polars - User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UC-J3uR0g7CxCSnx0YFE6R_g&quot;&gt;Rho-Signal Data Analytics - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rhosignal.com/posts/polars-pandas-cheatsheet/&quot;&gt;Cheatsheet for Pandas to Polars - Rho Signal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.udemy.com/course/data-analysis-with-polars/?couponCode=POLARS-DISCOUNT&quot;&gt;Data Analysis with Polars - Udemy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pola.rs/posts/i-wrote-one-of-the-fastest-dataframe-libraries/&quot;&gt;I wrote one of the fastest DataFrame libraries - Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://h2oai.github.io/db-benchmark/&quot;&gt;Database-like ops benchmark comparison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://braaannigan.github.io/software/2022/11/07/data-science-2025.html&quot;&gt;Data science 2025 - Liam Brannigan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duckdb.org/&quot;&gt;DuckDB - An in-process SQL OLAP database management system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.orchest.io/blog/the-great-python-dataframe-showdown-part-1-demystifying-apache-arrow&quot;&gt;The great Python DataFrame showdown, part 1: Demystifying Apache Arrow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arrow.apache.org/&quot;&gt;Apache Arrow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/learn&quot;&gt;Learn Rust - Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kevinheavey.github.io/modern-polars/&quot;&gt;Modern Polars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anaconda.com/blog/pyscript-updates-bytecode-alliance-pyodide-and-micropython&quot;&gt;Anaconda - PyScript Updates: Bytecode Alliance, Pyodide, and MicroPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jupytext.readthedocs.io/en/latest/&quot;&gt;Jupytext - Jupyter Notebooks as Markdown Documents, Julia, Python or R Scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://braaannigan.github.io/software/2022/10/25/polars-up-and-running.html&quot;&gt;Polars up and running - Liam Brannigan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://braaannigan.github.io/blog/blog_index.html&quot;&gt;Liam Brannigan - Data Scientist - Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/braaannigan&quot;&gt;Liam Brannigan (@braaannigan) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/liam-brannigan-9080b214a/&quot;&gt;Liam Brannigan - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/threading-python/&quot;&gt;Threading in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-writing-files-pandas/&quot;&gt;Reading and Writing Files With pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E140_03_Liam.fef262d540fb.mp3" type="audio/mpeg" length="56648852"/>
        <guid isPermaLink="false">029a8ce6-dbe9-413d-a8b1-db89a740dc99</guid>
        <pubDate>Fri, 13 Jan 2023 12:00:00 +0000</pubDate>
        <itunes:duration>3477</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_140_Podcast.b2ff1ece6b29.jpg"/>
        <rp:twitter-handles>@braaannigan</rp:twitter-handles>
        <rp:twitter-title>“Speeding Up Your DataFrames With Polars” with @braaannigan</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>139</itunes:episode>
        <title>Surveying Comprehension Constructs &amp; Python Parallelism Infighting</title>
        <itunes:title>Surveying Comprehension Constructs &amp; Python Parallelism Infighting</itunes:title>
        <link>https://realpython.com/podcasts/rpp/139/</link>
        <description>Have you embraced the use of comprehensions in your Python journey? Are you familiar with all the varieties of comprehension constructs? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you embraced the use of comprehensions in your Python journey? Are you familiar with all the varieties of comprehension constructs? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent article that surveys Python&amp;rsquo;s comprehensions and generators. This overview includes code snippets and the fundamentals of creating list, set, and dictionary comprehensions. We weigh the advantages of using a comprehension versus the more familiar &lt;code&gt;for&lt;/code&gt; loops that they replace.&lt;/p&gt;
&lt;p&gt;Christopher shares an article about how there may be infighting between the parallelism in your Python code and the parallelism within the libraries that you&amp;rsquo;re using. These complex system interactions can cause processing slowdowns and hard-to-trace bottlenecks.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news roundup, a Python linter comparison, an overview of multiprocessing race conditions in Python, a discussion covering &lt;code&gt;import&lt;/code&gt; statement styles, a project for WASM-powered Jupyter tools running in the browser, and a collection of easter eggs and jokes hidden inside Python itself.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/understand-list-comprehensions/&quot;&gt;Understanding Python List Comprehensions&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Python list comprehensions make it easy to create lists while performing sophisticated filtering, mapping, and conditional logic on their members. In this course, you&amp;rsquo;ll learn when to use list comprehensions in Python and how to create them effectively.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:41 &amp;ndash; PyPy v7.3.10 Release&lt;/li&gt;
&lt;li&gt;00:03:17 &amp;ndash; Django Bugfix Release: 4.1.4&lt;/li&gt;
&lt;li&gt;00:03:28 &amp;ndash; Python 3.11.1, 3.10.9, 3.9.16, 3.8.16, 3.7.16 Released&lt;/li&gt;
&lt;li&gt;00:03:56 &amp;ndash; Python Linter Comparison 2022&lt;/li&gt;
&lt;li&gt;00:11:51 &amp;ndash; Who Controls Parallelism? A Disagreement That Leads to Slower Code&lt;/li&gt;
&lt;li&gt;00:15:58 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:16:47 &amp;ndash; A Crash Course in Comprehensions and Generators&lt;/li&gt;
&lt;li&gt;00:24:23 &amp;ndash; Multiprocessing Race Conditions in Python&lt;/li&gt;
&lt;li&gt;00:27:46 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:55 &amp;ndash; What Style of &lt;code&gt;import&lt;/code&gt; Statement Do You Use?&lt;/li&gt;
&lt;li&gt;00:36:54 &amp;ndash; jupyterlite: WASM Powered Jupyter Running in the Browser&lt;/li&gt;
&lt;li&gt;00:40:35 &amp;ndash; python-easter-eggs: Easter Eggs and Hidden Jokes in Python&lt;/li&gt;
&lt;li&gt;00:43:18 &amp;ndash; PyCoder&amp;rsquo;s Weekly: Submit a Link&lt;/li&gt;
&lt;li&gt;00:43:46 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pypy.org/posts/2022/12/pypy-v7310-release.html&quot;&gt;PyPy v7.3.10 Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2022/dec/06/bugfix-release/&quot;&gt;Django Bugfix Release: 4.1.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2022/12/python-3111-3109-3916-3816-3716-and.html&quot;&gt;Python 3.11.1, 3.10.9, 3.9.16, 3.8.16, 3.7.16 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/blog/2022/11/19/python-linter-comparison-2022-pylint-vs-pyflakes-vs-flake8-vs-autopep8-vs-bandit-vs-prospector-vs-pylama-vs-pyroma-vs-black-vs-mypy-vs-radon-vs-mccabe/&quot;&gt;Python Linter Comparison 2022&lt;/a&gt; &amp;ndash; There are many linter choices for Python. This article covers a lot of them: Pylint, Pyflakes, Flake8, autopep8, Bandit, Prospector, Pylama, Pyroma, Black, Mypy, Radon, and mccabe.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/concurrency-control/&quot;&gt;Who Controls Parallelism? A Disagreement That Leads to Slower Code&lt;/a&gt; &amp;ndash; In complex systems, there may be a fight between the parallelism in your code vs the parallelism in the libraries that you&amp;rsquo;re using. This fight can cause things to slow down. This article shows some examples and explores what you can do about the issue.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@petefison/a-crash-course-in-python-comprehensions-and-generators-f069c8f8ca38&quot;&gt;A Crash Course in Comprehensions and Generators&lt;/a&gt; &amp;ndash; A great collection of code snippets that showcase the power and flexibility of list comprehensions, generators, and related constructs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://superfastpython.com/multiprocessing-race-condition-python/&quot;&gt;Multiprocessing Race Conditions in Python&lt;/a&gt; &amp;ndash; A race condition happens when parallel tasks attempt to execute code at the same time and the results are dependent on order of execution. Finding race conditions can be challenging. This article gives some hints as to how to find the different kinds of race conditions when coding with the &lt;code&gt;multiprocessing&lt;/code&gt; module.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/bbelderbos/status/1598663617506734080&quot;&gt;What Style of &lt;code&gt;import&lt;/code&gt; Statement Do You Use?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.quantifiedcode.com/python-anti-patterns/maintainability/from_module_import_all_used.html&quot;&gt;Using wildcard imports (from … import *) — Python Anti-Patterns documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-import/#basic-python-import&quot;&gt;Python import: Advanced Techniques and Tips – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jupyterlite/jupyterlite&quot;&gt;jupyterlite: WASM Powered Jupyter Running in the Browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/OrkoHunter/python-easter-eggs&quot;&gt;python-easter-eggs: Easter Eggs and Hidden Jokes in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/39/&quot;&gt;Episode #39: Generators, Coroutines, and Learning Python Through Exercises – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/introduction-to-python-generators/&quot;&gt;How to Use Generators and yield in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder&amp;rsquo;s Weekly: Submit a Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/threading-python/&quot;&gt;Threading in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/understand-list-comprehensions/&quot;&gt;Understanding Python List Comprehensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-generators/&quot;&gt;Python Generators 101&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E139_03_Cx2.ef73e6d1565c.mp3" type="audio/mpeg" length="43925632"/>
        <guid isPermaLink="false">2ff3baea-07dc-4da9-8f4b-f511d97fec39</guid>
        <pubDate>Fri, 06 Jan 2023 12:00:00 +0000</pubDate>
        <itunes:duration>2683</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_139_Podcast.e1f01a008c7f.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Surveying Comprehension Constructs &amp; Python Parallelism Infighting”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>138</itunes:episode>
        <title>2022 Real Python Tutorial &amp; Video Course Wrap Up</title>
        <itunes:title>2022 Real Python Tutorial &amp; Video Course Wrap Up</itunes:title>
        <link>https://realpython.com/podcasts/rpp/138/</link>
        <description>It&#x27;s been another year of changes at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python material this year. We added some new members to the team, updated the site&#x27;s features, and created new styles of tutorials and video courses.</description>
        <content:encoded>&lt;p&gt;It&amp;rsquo;s been another year of changes at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python material this year. We added some new members to the team, updated the site&amp;rsquo;s features, and created new styles of tutorials and video courses.&lt;/p&gt;
&lt;p&gt;Three members of the Real Python team join us this week, Kate Finegan, Geir Arne Hjelle, and Leodanis Pozo Ramos. We wanted to share a year-end wrap-up with tutorials, step-by-step projects, and video courses that showcase what our team created this year.&lt;/p&gt;
&lt;p&gt;Kate and Geir Arne help to shepherd articles through the multi-stage editing process. Along with the rest of the team, they make sure these resources impart crucial Python knowledge and provide a thorough didactic experience. Leodanis&amp;rsquo; name has been featured many times on this podcast, and it was great to talk to him about writing tutorials and diving deep into the Pythonic details.&lt;/p&gt;
&lt;p&gt;We hope you enjoy this review! Programming note, there won&amp;rsquo;t be an episode next week, but we&amp;rsquo;ll be back in January and look forward to bringing you a year full of great guests, articles, and topics. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to build professional documentation for a Python package using MkDocs and mkdocstrings. These tools allow you to generate nice-looking and modern documentation from Markdown files and, more importantly, from your code&amp;rsquo;s docstrings.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:02 &amp;ndash; Geir Arne and RP content direction&lt;/li&gt;
&lt;li&gt;00:04:31 &amp;ndash; Kate Finegan and editing tutorials&lt;/li&gt;
&lt;li&gt;00:07:35 &amp;ndash; Leodanis Pozo Ramos and writing tutorials&lt;/li&gt;
&lt;li&gt;00:09:14 &amp;ndash; Changes for Real Python in 2022&lt;/li&gt;
&lt;li&gt;00:18:56 &amp;ndash; Your Python Coding Environment on Windows&lt;/li&gt;
&lt;li&gt;00:23:32 &amp;ndash; Sponsor: TelemetryHub&lt;/li&gt;
&lt;li&gt;00:24:16 &amp;ndash; Why Is It Important to Close Files in Python?&lt;/li&gt;
&lt;li&gt;00:28:40 &amp;ndash; Python and TOML: New Best Friends&lt;/li&gt;
&lt;li&gt;00:33:47 &amp;ndash; Sneaky REST APIs With Django Ninja&lt;/li&gt;
&lt;li&gt;00:36:24 &amp;ndash; Manage Your To-Do Lists Using Python and Django&lt;/li&gt;
&lt;li&gt;00:39:52 &amp;ndash; Python Constants: Improve Your Code&amp;rsquo;s Maintainability&lt;/li&gt;
&lt;li&gt;00:42:59 &amp;ndash; Build Your Python Project Documentation With MkDocs&lt;/li&gt;
&lt;li&gt;00:49:28 &amp;ndash; Building a URL Shortener With FastAPI and Python&lt;/li&gt;
&lt;li&gt;00:51:24 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:52:40 &amp;ndash; Image Processing With the Python Pillow Library&lt;/li&gt;
&lt;li&gt;00:57:20 &amp;ndash; Draw the Mandelbrot Set in Python&lt;/li&gt;
&lt;li&gt;01:05:01 &amp;ndash; Using Python&amp;rsquo;s pip to Manage Your Projects&amp;rsquo; Dependencies&lt;/li&gt;
&lt;li&gt;01:11:39 &amp;ndash; Exploring Scopes and Closures in Python&lt;/li&gt;
&lt;li&gt;01:14:49 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-coding-setup-windows/&quot;&gt;Your Python Coding Environment on Windows: Setup Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/why-close-file-python/&quot;&gt;Why Is It Important to Close Files in Python?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-toml/&quot;&gt;Python and TOML: New Best Friends&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-todo-lists/&quot;&gt;Manage Your To-Do Lists Using Python and Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-constants/&quot;&gt;Python Constants: Improve Your Code&amp;rsquo;s Maintainability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-project-documentation-with-mkdocs/&quot;&gt;Build Your Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/url-shortener-fastapi/&quot;&gt;Building a URL Shortener With FastAPI and Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/image-processing-with-the-python-pillow-library/&quot;&gt;Image Processing With the Python Pillow Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/mandelbrot-set-python/&quot;&gt;Draw the Mandelbrot Set in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/what-is-pip/&quot;&gt;Using Python&amp;rsquo;s pip to Manage Your Projects&amp;rsquo; Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-a-python-url-shortener-with-fastapi/&quot;&gt;Build a URL Shortener With FastAPI and Python – Step-by-Step Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E138_03_2022_Wrap.1a3fc7e6b838.mp3" type="audio/mpeg" length="74201611"/>
        <guid isPermaLink="false">7459e763-c5d6-4086-8719-3c3b381c6896</guid>
        <pubDate>Fri, 23 Dec 2022 12:00:00 +0000</pubDate>
        <itunes:duration>4572</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_138_Podcast.c144528b41eb.jpg"/>
        <rp:twitter-handles>@kehfinegan, @lpozo78, @gahjelle</rp:twitter-handles>
        <rp:twitter-title>“2022 Real Python Tutorial &amp; Video Course Wrap Up” with @kehfinegan, @lpozo78, @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>137</itunes:episode>
        <title>Start Using a Build System &amp; Continuous Integration in Python</title>
        <itunes:title>Start Using a Build System &amp; Continuous Integration in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/137/</link>
        <description>What advantages can a build system provide for a Python developer? What new skills are required when working with a team of developers? This week on the show, Benjy Weinberger from Toolchain is here to discuss the Pants build system and getting started with continuous integration (CI).</description>
        <content:encoded>&lt;p&gt;What advantages can a build system provide for a Python developer? What new skills are required when working with a team of developers? This week on the show, Benjy Weinberger from Toolchain is here to discuss the Pants build system and getting started with continuous integration (CI).&lt;/p&gt;
&lt;p&gt;Benjy is one of the core developers of the Pants build system. He talks about the software tools and processes that a build system simplifies. We discuss how an individual developer can take advantage of continuous integration. We also cover some of the expectations when moving into professional software development.&lt;/p&gt;
&lt;p&gt;Have you learned about or started to use tools like linters, code formatters, import sorters, type checkers, and packaging systems? A build system is designed to combine all of those tools into a simplified, one-step process to share your best code.&lt;/p&gt;
&lt;p&gt;Benjy explains concepts like implementing fine-grained invalidation, moving to a monorepo, and using a build system for data science projects. He also shares his tips for getting started with Pants and finding help within the community.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to take your testing to the next level with pytest. You&amp;rsquo;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.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:03:19 &amp;ndash; Working on Pants&lt;/li&gt;
&lt;li&gt;00:05:24 &amp;ndash; Background on Toolchain&lt;/li&gt;
&lt;li&gt;00:08:26 &amp;ndash; Individual developer using CI&lt;/li&gt;
&lt;li&gt;00:11:04 &amp;ndash; When did you start using these types of tools?&lt;/li&gt;
&lt;li&gt;00:14:30 &amp;ndash; Was the organization open to the development of CI tools?&lt;/li&gt;
&lt;li&gt;00:15:45 &amp;ndash; Having a foundation with Git&lt;/li&gt;
&lt;li&gt;00:17:11 &amp;ndash; Moving toward workflows&lt;/li&gt;
&lt;li&gt;00:23:30 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:24:20 &amp;ndash; What&amp;rsquo;s fine-grained invalidation?&lt;/li&gt;
&lt;li&gt;00:29:32 &amp;ndash; Setting up test coverage&lt;/li&gt;
&lt;li&gt;00:33:07 &amp;ndash; Moving into packaging and deployment&lt;/li&gt;
&lt;li&gt;00:37:22 &amp;ndash; Advantages of a monorepo&lt;/li&gt;
&lt;li&gt;00:42:10 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:43:36 &amp;ndash; Reasons for deeper Python integration&lt;/li&gt;
&lt;li&gt;00:47:40 &amp;ndash; Using the build system with data science projects&lt;/li&gt;
&lt;li&gt;00:52:21 &amp;ndash; Getting started with Pants&lt;/li&gt;
&lt;li&gt;00:55:47 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:57:12 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:58:41 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:59:27 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pantsbuild.org/&quot;&gt;Pants 2: The ergonomic build system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pantsbuild/pants&quot;&gt;GitHub - pantsbuild/pants: The Pantsbuild developer workflow system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://toolchain.com/&quot;&gt;Toolchain Labs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/387/build-all-the-things-with-pants-build-system&quot;&gt;E387 Build All the Things with Pants Build System - Talk Python To Me&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-continuous-integration/&quot;&gt;Continuous Integration With Python: An Introduction – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-git-github-intro/&quot;&gt;Introduction to Git and GitHub for Python Developers – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://monorepo.tools/#what-is-a-monorepo&quot;&gt;Monorepo Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pex/&quot;&gt;pex - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pantsbuild/example-python&quot;&gt;pantsbuild/example-python: An example repo to demonstrate Python support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pantsbuild.org/docs/the-pants-community&quot;&gt;The Pants community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2022/schedule/presentation/17/&quot;&gt;Christopher Neugebauer - Presentation at PyCon 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=0INmW9KaAp4&quot;&gt;Talk - Christopher Neugebauer: Fast and reproducible tests, packaging, and deploys with&amp;hellip; - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/benjy/&quot;&gt;Benjy Weinberger (@benjy) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pantsbuild/&quot;&gt;Pantsbuild (@pantsbuild) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-continuous-integration/&quot;&gt;Continuous Integration With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E137_03_Benjy_2.4fa8f4f236d1.mp3" type="audio/mpeg" length="59012460"/>
        <guid isPermaLink="false">c0746355-10f7-4bd9-af23-e3dfed03aeb9</guid>
        <pubDate>Fri, 16 Dec 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3626</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_137_Podcast_2.1f6860231b33.jpg"/>
        <rp:twitter-handles>@benjy</rp:twitter-handles>
        <rp:twitter-title>“Start Using a Build System &amp; Continuous Integration in Python” with @benjy</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>136</itunes:episode>
        <title>Package Python Code With pyproject.toml &amp; Listing Files With pathlib</title>
        <itunes:title>Package Python Code With pyproject.toml &amp; Listing Files With pathlib</itunes:title>
        <link>https://realpython.com/podcasts/rpp/136/</link>
        <description>How do you start packaging your code with pyproject.toml? Would you like to join a conversation that gently walks you through setting up your Python projects to share? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you start packaging your code with pyproject.toml? Would you like to join a conversation that gently walks you through setting up your Python projects to share? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent code conversation featuring Real Python team members Ian Currie and Geir Arne Hjelle. The video dives into the officially sanctioned way to configure your project using a &lt;code&gt;pyproject.toml&lt;/code&gt; file. We cover how this relatively new approach will help you package your code for use on your system or for sharing with others.&lt;/p&gt;
&lt;p&gt;Christopher shares a Real Python tutorial about using &lt;code&gt;pathlib&lt;/code&gt; to get a list of all the files within a directory. We&amp;rsquo;re both fans of &lt;code&gt;pathlib&lt;/code&gt; and how it simplifies working with file paths. The tutorial digs into methods to recursively list all directory contents or create a conditional listing.  &lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including an explanation of Python bytecode, an argument for always using &lt;code&gt;[closed, open)&lt;/code&gt; intervals, a discussion about building the monolith before microservices, a way to parse natural language time and date expressions, and a project for posting on Mastodon.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pathlib-python/&quot;&gt;Using Python&amp;rsquo;s pathlib Module&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to effectively work with file system paths in Python 3 using the &lt;code&gt;pathlib&lt;/code&gt; module in the standard library.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:30 &amp;ndash; Always Use &lt;code&gt;[closed, open)&lt;/code&gt; Intervals&lt;/li&gt;
&lt;li&gt;00:07:05 &amp;ndash; Everyday Project Packaging With &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:15:38 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:16:27 &amp;ndash; How to Get a List of All Files in a Directory With Python&lt;/li&gt;
&lt;li&gt;00:20:37 &amp;ndash; Python Bytecode Explained&lt;/li&gt;
&lt;li&gt;00:29:39 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:48 &amp;ndash; Build the Modular Monolith First&lt;/li&gt;
&lt;li&gt;00:44:34 &amp;ndash; toot - PyPI&lt;/li&gt;
&lt;li&gt;00:49:58 &amp;ndash; quickadd: Parse Natural Language Time and Date Expressions&lt;/li&gt;
&lt;li&gt;00:53:09 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fhur.me/posts/always-use-closed-open-intervals&quot;&gt;Always Use &lt;code&gt;[closed, open)&lt;/code&gt; Intervals&lt;/a&gt; &amp;ndash; &amp;ldquo;Intervals or ranges pop-up everywhere in the programming world. The classic example is picking a start and end date, like you would when booking an AirBnB or a flight. Have you ever wondered why they are always implemented as [closed, open) as opposed to [closed, closed]?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With &lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/a&gt; &amp;ndash; In this Code Conversation video course, you&amp;rsquo;ll learn how to package your everyday projects with &lt;code&gt;pyproject.toml&lt;/code&gt;. Playing on the same team as the import system means you can call your project from anywhere, ensure consistent imports, and have one file that&amp;rsquo;ll work for many build systems.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/get-all-files-in-directory-python/&quot;&gt;How to Get a List of All Files in a Directory With Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll be examining a couple of methods to get a list of files and folders in a directory with Python. You&amp;rsquo;ll also use both methods to recursively list directory contents. Finally, you&amp;rsquo;ll examine a situation that pits one method against the other.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/MoserMichael/pyasmtool/blob/master/bytecode_disasm.md&quot;&gt;Python Bytecode Explained&lt;/a&gt; &amp;ndash; When a Python program is run, the interpreter first parses your code and checks for syntax errors, then it translates it into bytecode instructions. This article explains some of the features of Python bytecode.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.fearofoblivion.com/build-a-modular-monolith-first&quot;&gt;Build the Modular Monolith First&lt;/a&gt; &amp;ndash; &amp;ldquo;Even talking about building a monolith today, is a bit taboo. It is all about microservices at the moment, and has been for a few years. But they aren&amp;rsquo;t a silver bullet.&amp;rdquo; Coding samples in the article aren&amp;rsquo;t Python, but the architectural advice is cross-language.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.martinfowler.com/articles/distributed-objects-microservices.html&quot;&gt;Microservices and the First Law of Distributed Objects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/jasoncwarner/status/1592227285024636928&quot;&gt;&amp;ldquo;I&amp;rsquo;m convinced that one of the biggest architectural mistakes of the past decade was going full microservice&amp;rdquo;  Jason Warner - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/toot/&quot;&gt;toot - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Acreom/quickadd&quot;&gt;quickadd: Parse Natural Language Time and Date Expressions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=v6tALyc4C10&quot;&gt;Packaging Your Python Code With pyproject.toml | Complete Code Conversation - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pypi-publish-python-package/&quot;&gt;How to Publish an Open-Source Python Package to PyPI – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypackages.com/&quot;&gt;Publishing Python Packages: Test, share, and automate your projects | Dane Hillard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/83/&quot;&gt;Episode #83: Ready to Publish Your Python Packages? – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/MoserMichael/python-obj-system/blob/master/README.md&quot;&gt;Advanced Course on Python3 - MoserMichael - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/MoserMichael/pyasmtool&quot;&gt;pyasmtool: Explores the Python bytecode, provides some tools to access it for fun and profit. - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/39/&quot;&gt;Episode #39: Generators, Coroutines, and Learning Python Through Exercises – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode #47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/mvpy-minimum-viable-python/&quot;&gt;MVPy: Minimum Viable Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/124/&quot;&gt;Episode #124: Exploring Recursion in Python With Al Sweigart – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.martinfowler.com/articles/distributed-objects-microservices.html&quot;&gt;Microservices and the First Law of Distributed Objects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/390/mastodon-for-python-devs&quot;&gt;Mastodon for Python Devs - Talk Python #390&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simonwillison.net/2022/Nov/8/mastodon-is-just-blogs/&quot;&gt;Mastodon is just blogs&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/TR/activitypub/&quot;&gt;ActivityPub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://awesomeopensource.com/projects/activitypub&quot;&gt;The Top 239 Activitypub Open Source Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dev.to/andypiper/a-opportunity-for-developers-1ee4&quot;&gt;A 🦣 opportunity for developers - DEV Community 👩‍💻👨‍💻&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@martin.heinz/getting-started-with-mastodon-api-in-python-9f105309ed43&quot;&gt;Getting Started with Mastodon API in Python | Martin Heinz - Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/cltrudeau&quot;&gt;Christopher Trudeau (@cltrudeau) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/digiglean&quot;&gt;Christopher Bailey | (@digiglean) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@digiglean&quot;&gt;Christopher Bailey (@digiglean@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@realpython&quot;&gt;Real Python (@realpython@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pathlib-python/&quot;&gt;Using Python&amp;#x27;s pathlib Module&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E136_03_Cx2.a1293ac118bc.mp3" type="audio/mpeg" length="53007401"/>
        <guid isPermaLink="false">549369c5-660c-4619-aee3-f0efcce616b3</guid>
        <pubDate>Fri, 09 Dec 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3248</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_136_Podcast.a85e2732fef3.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Package Python Code With pyproject.toml &amp; Listing Files With pathlib”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>135</itunes:episode>
        <title>Preparing Data to Measure True Machine Learning Model Performance</title>
        <itunes:title>Preparing Data to Measure True Machine Learning Model Performance</itunes:title>
        <link>https://realpython.com/podcasts/rpp/135/</link>
        <description>How do you prepare a dataset for machine learning (ML)? How do you go beyond cleaning the data and move toward measuring how the model performs? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, returns to talk about strategies for better ML model performance.</description>
        <content:encoded>&lt;p&gt;How do you prepare a dataset for machine learning (ML)? How do you go beyond cleaning the data and move toward measuring how the model performs? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, returns to talk about strategies for better ML model performance.&lt;/p&gt;
&lt;p&gt;Jodie starts by defining some terms for the conversation. We talk about targets, features, and supervised learning.&lt;/p&gt;
&lt;p&gt;We discuss three common ways that data can alter model performance and which Python tools can help spot and avoid them. Jodie shares personal experiences of working through these pitfalls. We also share a healthy collection of resources to explore and learn more.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/data-pandas-concat-and-merge/&quot;&gt;Combining Data in pandas With concat() and merge()&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn two techniques for combining data in pandas: merge() and concat(). Combining Series and DataFrame objects in pandas is a powerful way to gain new insights into your data. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; Recent conference talks&lt;/li&gt;
&lt;li&gt;00:03:24 &amp;ndash; How to prepare your data for model performance&lt;/li&gt;
&lt;li&gt;00:04:24 &amp;ndash; Vocabulary: target, features, and supervised learning&lt;/li&gt;
&lt;li&gt;00:06:28 &amp;ndash; The curse of dimensionality&lt;/li&gt;
&lt;li&gt;00:08:57 &amp;ndash; Overfitting&lt;/li&gt;
&lt;li&gt;00:11:08 &amp;ndash; Underfitting&lt;/li&gt;
&lt;li&gt;00:12:11 &amp;ndash; Splitting the dataset&lt;/li&gt;
&lt;li&gt;00:13:39 &amp;ndash; K-fold cross validation&lt;/li&gt;
&lt;li&gt;00:18:30 &amp;ndash; Data leakage&lt;/li&gt;
&lt;li&gt;00:21:36 &amp;ndash; Checking for duplicates&lt;/li&gt;
&lt;li&gt;00:26:23 &amp;ndash; Applying transformations only after splitting data&lt;/li&gt;
&lt;li&gt;00:31:16 &amp;ndash; Imbalanced data&lt;/li&gt;
&lt;li&gt;00:36:36 &amp;ndash; Using ML to balance data&lt;/li&gt;
&lt;li&gt;00:41:05 &amp;ndash; Informing your model of the imbalance&lt;/li&gt;
&lt;li&gt;00:42:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:20 &amp;ndash; Accuracy used as a measure&lt;/li&gt;
&lt;li&gt;00:49:05 &amp;ndash; Scikit-learn method &lt;code&gt;classification_table&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:50:43 &amp;ndash; Jet Brains blog post and conference talk&lt;/li&gt;
&lt;li&gt;00:52:18 &amp;ndash; How can people follow your work online?&lt;/li&gt;
&lt;li&gt;00:54:39 &amp;ndash; Upcoming webinars&lt;/li&gt;
&lt;li&gt;00:56:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jetbrains.com/datalore/2022/11/08/how-to-prepare-your-dataset-for-machine-learning-and-analysis/&quot;&gt;How to Prepare Your Dataset for Machine Learning and Analysis - The JetBrains Datalore Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Curse_of_dimensionality&quot;&gt;Curse of dimensionality - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/overfitting-vs-underfitting-a-complete-example-d05dd7e19765&quot;&gt;Overfitting vs. Underfitting: A Complete Example - Will Koehrsen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://machinelearningmastery.com/k-fold-cross-validation/&quot;&gt;A Gentle Introduction to k-fold Cross-Validation - MachineLearningMastery.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html&quot;&gt;sklearn.model_selection.train_test_split — scikit-learn documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/modules/cross_validation.html&quot;&gt;Cross-validation: evaluating estimator performance — scikit-learn documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html#sklearn.model_selection.cross_val_score&quot;&gt;sklearn.model_selection.cross_val_score — scikit-learn documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.analyticsvidhya.com/blog/2021/07/data-leakage-and-its-effect-on-the-performance-of-an-ml-model/&quot;&gt;Data Leakage And Its Effect On The Performance of An ML Model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.duplicated.html&quot;&gt;pandas.DataFrame.duplicated — pandas documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pandas-groupby/&quot;&gt;pandas GroupBy: Your Guide to Grouping Data in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html&quot;&gt;pandas.DataFrame.groupby — pandas documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/nerd-for-tech/difference-fit-transform-and-fit-transform-method-in-scikit-learn-b0a4efcab804&quot;&gt;Difference between fit(), transform() and fit_transform() method in Scikit-learn - Aishwarya Chand: Nerd For Tech&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/machine-learning/data-prep/construct/sampling-splitting/imbalanced-data&quot;&gt;Imbalanced Data in Machine Learning - Google Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://imbalanced-learn.org/stable/under_sampling.html&quot;&gt;Under-sampling — imbalanced-learn.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://imbalanced-learn.org/stable/over_sampling.html&quot;&gt;Over-sampling — imbalanced-learn.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gretel.ai/learn/getting-started&quot;&gt;Learn - Getting Started with Gretel.ai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tensorflow.org/tutorials/structured_data/imbalanced_data#class_weights&quot;&gt;Classification on imbalanced data: Class weights - TensorFlow Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://machinelearningmastery.com/tour-of-evaluation-metrics-for-imbalanced-classification/&quot;&gt;Tour of Evaluation Metrics for Imbalanced Classification - MachineLearningMastery.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cloudbrew.be/&quot;&gt;CloudBrew - A two-day conference by AZUG, the Belgium Microsoft Azure User Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t-redactyl.io/&quot;&gt;Jodie Burchell&amp;rsquo;s Blog - Standard error&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosstodon.org/@t_redactyl#&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-pandas-concat-and-merge/&quot;&gt;Combining Data in pandas With concat() and merge()&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E135_03_Jodie_V2.c2f171d9a040.mp3" type="audio/mpeg" length="56446522"/>
        <guid isPermaLink="false">35e95da5-6b52-4c91-ac2d-93582391e116</guid>
        <pubDate>Fri, 02 Dec 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3465</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_135_Podcast.c5ddd4e25214.jpg"/>
        <rp:twitter-handles>@t_redactyl</rp:twitter-handles>
        <rp:twitter-title>“Preparing Data to Measure True Machine Learning Model Performance” with @t_redactyl</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>134</itunes:episode>
        <title>Building Python REST APIs With Flask &amp; Structuring Pull Requests</title>
        <itunes:title>Building Python REST APIs With Flask &amp; Structuring Pull Requests</itunes:title>
        <link>https://realpython.com/podcasts/rpp/134/</link>
        <description>How do you build a REST API using the Flask web framework? How can you quickly add endpoints while automatically generating documentation? This week on the show, Real Python author Philipp Acsany is here to discuss his tutorial series &quot;Python REST APIs With Flask, Connexion, and SQLAlchemy.&quot; Christopher Trudeau is also here with another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you build a REST API using the Flask web framework? How can you quickly add endpoints while automatically generating documentation? This week on the show, Real Python author Philipp Acsany is here to discuss his tutorial series &amp;ldquo;Python REST APIs With Flask, Connexion, and SQLAlchemy.&amp;rdquo; Christopher Trudeau is also here with another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Philipp talks about updating a set of tutorials to use current libraries and best practices. The series takes you through building the base Flask project, defining endpoints, creating documentation, adding a persistent database, and implementing models with SQLAlchemy.&lt;/p&gt;
&lt;p&gt;Christopher shares an article about contributing to an existing internal or open-source project by properly preparing pull requests. The article is titled &amp;ldquo;Ten Tasty Ingredients for a Delicious Pull Request&amp;rdquo;. &lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including more suspicious PyPI packages using new tactics, method chaining in pandas, tools to find syntax errors without stopping, a library for searching text in videos using optical character recognition (OCR), a project for visualizing CPython&amp;rsquo;s specializing adaptive interpreter, and a library for building CLI applications based on type hints.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The Pandas DataFrame: Working With Data Efficiently&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll get started with pandas DataFrames, which are powerful and widely used two-dimensional data structures. You&amp;rsquo;ll learn how to perform basic operations with data, handle missing values, work with time-series data, and visualize data from a pandas DataFrame.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:09 &amp;ndash; Philipp&amp;rsquo;s background &lt;/li&gt;
&lt;li&gt;00:05:37 &amp;ndash; Python REST APIs With Flask, Connexion, and SQLAlchemy&lt;/li&gt;
&lt;li&gt;00:14:35 &amp;ndash; Ten Tasty Ingredients for a Delicious Pull Request&lt;/li&gt;
&lt;li&gt;00:24:25 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:25:13 &amp;ndash; Method Chaining in Pandas: Bad Form or a Recipe for Success?&lt;/li&gt;
&lt;li&gt;00:31:35 &amp;ndash; More Suspicious PyPI Packages&lt;/li&gt;
&lt;li&gt;00:35:48 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:01 &amp;ndash; What Tools Find Syntax Errors Without Stopping?&lt;/li&gt;
&lt;li&gt;00:47:29 &amp;ndash; Perform OCR upon entire videos&lt;/li&gt;
&lt;li&gt;00:49:49 &amp;ndash; Visualize CPython 3.11&amp;rsquo;s Specializing, Adaptive Interpreter&lt;/li&gt;
&lt;li&gt;00:54:08 &amp;ndash; Typer, build great CLIs&lt;/li&gt;
&lt;li&gt;00:56:29 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/pacsany/&quot;&gt;About Philipp Acsany – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api-part-2/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api-part-3/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wagtail.org/blog/ten-tasty-ingredients-for-a-delicious-pull-request/&quot;&gt;Ten Tasty Ingredients for a Delicious Pull Request&lt;/a&gt; &amp;ndash; LB is a core team member of the open-source project Wagtail and, as such, has a lot of experience dealing with community contributions. This article talks about how to be a good contributor, whether for your next open-source software (OSS) PR or within your own organization.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://davidamos.dev/method-chaining-in-pandas/&quot;&gt;Method Chaining in Pandas: Bad Form or a Recipe for Success?&lt;/a&gt; &amp;ndash; Python trainer Matt Harrison has been creating a bit of a stir. Some of his pandas examples have elicited criticism from different folks in the Twitterverse. Dave Amos interviews Matt to discuss the pros and cons of his approach.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.phylum.io/phylum-discovers-dozens-more-pypi-packages-attempting-to-deliver-w4sp-stealer-in-ongoing-supply-chain-attack&quot;&gt;More Suspicious PyPI Packages&lt;/a&gt; &amp;ndash; Researchers at Phylum have come across over a dozen new malicious uploads to PyPI. Many of them are copied and pasted versions of legitimate packages that have been renamed and had malicious code inserted. This detailed article shows some of the tactics used by the bad actors.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://groups.google.com/g/comp.lang.python/c/bIyu1fkADio&quot;&gt;What Tools Find Syntax Errors Without Stopping?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/peterc/videocr&quot;&gt;videocr: Perform OCR upon entire videos to look for credentials or similar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brandtbucher/specialist&quot;&gt;Visualize CPython 3.11&amp;rsquo;s Specializing, Adaptive Interpreter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://typer.tiangolo.com/&quot;&gt;Typer, build great CLIs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dailyblogging.org/wordpress/what-percentage-of-websites-use-wordpress/&quot;&gt;What Percentage Of Websites Use WordPress In 2022?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/__mharrison__/status/1582393274102206467&quot;&gt;&amp;ldquo;Here&amp;rsquo;s a recipe to clean up the Ames housing dataset.&amp;rdquo; Matt Harrison - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=PHhOTEYDvHQ&quot;&gt;Idiomatic Pandas - Matt Harrison | Conf42 Python 2021 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/103/&quot;&gt;Episode #103: Becoming More Effective at Manipulating Data With Pandas – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pola-rs.github.io/polars-book/user-guide/quickstart/intro.html&quot;&gt;Getting started - Polars - User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/py_compile.html?highlight=py_compile&quot;&gt;py_compile — Compile Python source files — Python 3.11.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-typer-cli/&quot;&gt;Build a Command-Line To-Do App With Python and Typer – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/deploy-python-script-web-flask/&quot;&gt;Deploy Your Python Script on the Web With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python/&quot;&gt;SQLite and SQLAlchemy in Python: Moving Your Data Beyond Flat Files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E134_03_cx2_PA.f962c25bbd68.mp3" type="audio/mpeg" length="56205677"/>
        <guid isPermaLink="false">a5b2e640-5fee-47fb-961f-a33d0a92f928</guid>
        <pubDate>Fri, 25 Nov 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3453</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_134_Podcast.321e16ce2af1.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building Python REST APIs With Flask &amp; Structuring Pull Requests”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>133</itunes:episode>
        <title>Moving Projects Away From Passwords With WebAuthn and Python</title>
        <itunes:title>Moving Projects Away From Passwords With WebAuthn and Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/133/</link>
        <description>What if you didn&#x27;t have to worry about managing user passwords as a Python developer? That&#x27;s where the WebAuthn protocol and new hardware standards are heading. This week on the show, Dan Moore from FusionAuth returns to discuss a password-less future.</description>
        <content:encoded>&lt;p&gt;What if you didn&amp;rsquo;t have to worry about managing user passwords as a Python developer? That&amp;rsquo;s where the WebAuthn protocol and new hardware standards are heading. This week on the show, Dan Moore from FusionAuth returns to discuss a password-less future.&lt;/p&gt;
&lt;p&gt;WebAuthn is a way to authenticate users using biometric, secure authentication methods. Dan dives into passkeys, ceremonies, authenticators, and hardware standards. We also cover several projects and libraries that can help you get started with WebAuthn in Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/refactoring-code-to-get-help/&quot;&gt;Refactoring: Prepare Your Code to Get Help&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this Code Conversation video course, you&amp;rsquo;ll explore the steps you can take to get help when you&amp;rsquo;re stuck while coding. You&amp;rsquo;ll investigate how to clean up your code to focus on the question you have. Along the way, you&amp;rsquo;ll learn how to handle errors and use custom exceptions.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:36 &amp;ndash; Dan&amp;rsquo;s WebAuthn article&lt;/li&gt;
&lt;li&gt;00:03:26 &amp;ndash; FIDO and WebAuthn&lt;/li&gt;
&lt;li&gt;00:05:53 &amp;ndash; What&amp;rsquo;s a YubiKey?&lt;/li&gt;
&lt;li&gt;00:07:57 &amp;ndash; Phones with biometric systems&lt;/li&gt;
&lt;li&gt;00:12:03 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:12:45 &amp;ndash; Similarities to HTTPS&lt;/li&gt;
&lt;li&gt;00:16:13 &amp;ndash; A password-less future&lt;/li&gt;
&lt;li&gt;00:24:31 &amp;ndash; Where&amp;rsquo;s it being used?&lt;/li&gt;
&lt;li&gt;00:30:53 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:26 &amp;ndash; Python WebAuthn projects and packages&lt;/li&gt;
&lt;li&gt;00:34:52 &amp;ndash; Does a developer need to set up additional auth methods?&lt;/li&gt;
&lt;li&gt;00:37:31 &amp;ndash; How are the third-party auth services implementing this?&lt;/li&gt;
&lt;li&gt;00:39:50 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:41:24 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:43:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fusionauth.io/learn/expert-advice/authentication/webauthn-explained&quot;&gt;WebAuthn Explained - FusionAuth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/99/&quot;&gt;Episode #99: OAuth 2 and Authentication Choices for Your Python Project – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcommunity.microsoft.com/t5/identity-standards-blog/all-about-fido2-ctap2-and-webauthn/ba-p/288910&quot;&gt;All about FIDO2, CTAP2 and WebAuthn - Microsoft Community Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://yubikey.me/&quot;&gt;YubiKey - Hardware Security Keys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hideez.com/blogs/news/apple-adopts-passwordless-authentication-technology&quot;&gt;Apple Adopts Passwordless Authentication Technology – Hideez&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/2022/11/17/23464817/1password-passkey-support-security-apple-google&quot;&gt;1Password is launching passkey support in early 2023 - The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/duo-labs/py_webauthn&quot;&gt;duo-labs/py_webauthn: Pythonic WebAuthn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/as207960/python-webauthn&quot;&gt;python-webauthn: Server side handlers for WebAuthN with support for Apple&amp;rsquo;s FaceID, and the FIDO metadata service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pywarp/&quot;&gt;pywarp - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webauthn-rp.readthedocs.io/en/latest/index.html&quot;&gt;webauthn-rp documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duo.com/blog/going-passwordless-with-py-webauthn&quot;&gt;Going Passwordless With py_webauthn - Duo Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/asnelling/django-webauth&quot;&gt;django-webauth: Two Factor Authentication in Django using Web Authentication API (WebAuthn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/django-webauthin/&quot;&gt;django-webauthin - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.yubico.com/python-fido2/&quot;&gt;python-fido2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3110/&quot;&gt;Python 3.11.0 Release - Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/asins/0760372454&quot;&gt;Real Food Fermentation by Alex Lewin - Amazon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fusionauth.io/&quot;&gt;Auth. Built for Devs, by Devs - FusionAuth&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-https-cryptography/&quot;&gt;Exploring HTTPS and Cryptography in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-code-bugs/&quot;&gt;Python Basics: Finding and Fixing Code Bugs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/refactoring-code-to-get-help/&quot;&gt;Refactoring: Prepare Your Code to Get Help&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E133_03_Dan_Moore.72ea7b2eed77.mp3" type="audio/mpeg" length="43876600"/>
        <guid isPermaLink="false">bfdbfd66-5606-4136-a9e7-8ce78c1dd93f</guid>
        <pubDate>Fri, 18 Nov 2022 12:00:00 +0000</pubDate>
        <itunes:duration>2677</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_133_Podcast.1e2c826d7c4c.jpg"/>
        <rp:twitter-handles>@mooreds</rp:twitter-handles>
        <rp:twitter-title>“Moving Projects Away From Passwords With WebAuthn and Python” with @mooreds</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>132</itunes:episode>
        <title>Creating Tic-Tac-Toe With an AI Player &amp; Shortcuts for Python Decorators</title>
        <itunes:title>Creating Tic-Tac-Toe With an AI Player &amp; Shortcuts for Python Decorators</itunes:title>
        <link>https://realpython.com/podcasts/rpp/132/</link>
        <description>How do you create a computer opponent for a simple game within Python? Would you also like to learn how to adapt the game to run in a web browser or graphical user interface (GUI)? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you create a computer opponent for a simple game within Python? Would you also like to learn how to adapt the game to run in a web browser or graphical user interface (GUI)? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a recent Real Python step-by-step project for creating a tic-tac-toe game engine. He talks about how to build the game engine and adapt it for different front ends. The tutorial also shows how to implement an unbeatable computer player using the minimax algorithm.&lt;/p&gt;
&lt;p&gt;We discuss an article about how to avoid repeating yourself when creating decorators with multiple parameters. We talk about how you can stop copying and pasting code several times by assigning the decorator to a new variable.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news roundup, a deep dive into Python&amp;rsquo;s doctest, several Python command line tricks, type annotations via automated refactoring, a new way to draw boxes in the terminal,  a collection of projects for beginners with source code, a minimalist PDF creation library, and a tool for sensible logging in Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course on Python decorators, you&amp;rsquo;ll learn what they are and how to create and use them. Decorators provide a simple syntax for calling higher-order functions in Python. By definition, a decorator is a function that takes another function and extends the behavior of the latter function without explicitly modifying it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:25 &amp;ndash; Python 3.12.0 Alpha 1 Released&lt;/li&gt;
&lt;li&gt;00:02:45 &amp;ndash; PyCon US 2023 Call for Proposals&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; Python&amp;rsquo;s doctest: Document and Test Your Code at Once&lt;/li&gt;
&lt;li&gt;00:13:59 &amp;ndash; Build a Tic-Tac-Toe Game Engine With an AI Player in Python&lt;/li&gt;
&lt;li&gt;00:22:12 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:22:59 &amp;ndash; Python Command Line Tricks&lt;/li&gt;
&lt;li&gt;00:30:50 &amp;ndash; Type Annotation via Automated Refactoring&lt;/li&gt;
&lt;li&gt;00:34:29 &amp;ndash; A New (?) Way of Drawing Boxes in the Terminal&lt;/li&gt;
&lt;li&gt;00:37:10 &amp;ndash; Decorator Shortcuts&lt;/li&gt;
&lt;li&gt;00:39:36 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:02 &amp;ndash; 190 Python Projects With Source Code&lt;/li&gt;
&lt;li&gt;00:47:58 &amp;ndash; fpdf2: Minimalist PDF Creation Library&lt;/li&gt;
&lt;li&gt;00:50:04 &amp;ndash; Simple, Sane, and Sensible Logging in Python&lt;/li&gt;
&lt;li&gt;00:53:05 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.python.org/2022/10/python-3120-alpha-1-released.html&quot;&gt;Python 3.12.0 Alpha 1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2023/speaking/guidelines/&quot;&gt;PyCon US 2023 Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-doctest/&quot;&gt;Python&amp;rsquo;s doctest: Document and Test Your Code at Once&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to add usage examples to your code&amp;rsquo;s documentation and docstrings and how to use these examples to test your code. To run your usage examples as automated tests, you&amp;rsquo;ll use Python&amp;rsquo;s doctest module from the standard library.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/tic-tac-toe-ai-python/&quot;&gt;Build a Tic-Tac-Toe Game Engine With an AI Player in Python&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll build a universal game engine in Python with tic-tac-toe rules and two computer players, including an unbeatable AI player using the minimax algorithm. You&amp;rsquo;ll also create a text-based graphical front end for your library and explore two alternative front ends.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@martin.heinz/python-cli-tricks-that-dont-require-any-code-whatsoever-e7bdb9409aeb&quot;&gt;Python Command Line Tricks&lt;/a&gt; &amp;ndash; Using &lt;code&gt;python -m&lt;/code&gt; you can do all sorts of things from the command line, including starting a webserver, opening a browser, parsing JSON, compressing files, and much more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/building-carta/type-annotation-via-automated-refactoring-fd8edfe123d4&quot;&gt;Type Annotation via Automated Refactoring&lt;/a&gt; &amp;ndash; Jimmy&amp;rsquo;s team at Carta decided they wanted to add type annotations to their large codebase, but doing so manually would&amp;rsquo;ve taken a very long time. This post shows you how they built automated refactoring tools to add type annotations to their code.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.willmcgugan.com/blog/tech/post/ceo-just-wants-to-draw-boxes/&quot;&gt;A New (?) Way of Drawing Boxes in the Terminal&lt;/a&gt; &amp;ndash; With clever use of some of the Unicode border characters, you can build a better box around your text, without any color bleeding.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/blog/202210/decorator_shortcuts.html&quot;&gt;Decorator Shortcuts&lt;/a&gt; &amp;ndash; &amp;ldquo;When using many decorators in code, there&amp;rsquo;s a shortcut you can use if you find yourself repeating them. They can be assigned to a variable just like any other Python expression.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://amankharwal.medium.com/130-python-projects-with-source-code-61f498591bb&quot;&gt;190 Python Projects With Source Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfpdf.github.io/fpdf2/&quot;&gt;fpdf2: Minimalist PDF Creation Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@petefison/logging-in-python-doesnt-get-simpler-than-this-50a7f24af1f4&quot;&gt;Simple, Sane, and Sensible Logging in Python&lt;/a&gt; &amp;ndash; Get started with logging in Python or deploy advanced, flexible loggers without the boilerplate code. Learn all about &lt;code&gt;log2d&lt;/code&gt;, a third-party wrapper for the Python logging library.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-project-documentation-with-mkdocs/&quot;&gt;Build Your Python Project Documentation With MkDocs – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/97/&quot;&gt;Episode #97: Improving Your Django and Python Developer Experience – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-zipapp/#creating-a-standalone-python-zip-app-with-zipapp&quot;&gt;Python&amp;rsquo;s zipapp: Build Executable Zip Applications – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/80/&quot;&gt;Episode #80: Make Your Python App Interactive With a Text User Interface (TUI) – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/20/&quot;&gt;Episode #20: Building PDFs in Python with ReportLab – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.fpdf.org/en/links.php&quot;&gt;Links for Documentation FPDF and Other Ports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/PFython/log2d&quot;&gt;PFython/log2d - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E132_03_Cx2.288d6615fb93.mp3" type="audio/mpeg" length="52926896"/>
        <guid isPermaLink="false">734371a4-746e-4a7d-a8ea-d633752d82c3</guid>
        <pubDate>Fri, 11 Nov 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3244</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_132_Podcast.bd6f2d40a5d8.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Creating Tic-Tac-Toe With an AI Player &amp; Shortcuts for Python Decorators”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>131</itunes:episode>
        <title>Exploring the New Features of Python 3.11</title>
        <itunes:title>Exploring the New Features of Python 3.11</itunes:title>
        <link>https://realpython.com/podcasts/rpp/131/</link>
        <description>Python 3.11 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to talk about the new version. Geir Arne wrote a series of preview tutorials earlier this year, and his annual piece, titled &quot;Python 3.11: Cool New Features for You to Try,&quot; was published on October 24. Christopher&#x27;s video course came out the next day, covering the topics from the tutorial with visual examples of Python 3.11 in action.</description>
        <content:encoded>&lt;p&gt;Python 3.11 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to talk about the new version. Geir Arne wrote a series of preview tutorials earlier this year, and his annual piece, titled &amp;ldquo;Python 3.11: Cool New Features for You to Try,&amp;rdquo; was published on October 24. Christopher&amp;rsquo;s video course came out the next day, covering the topics from the tutorial with visual examples of Python 3.11 in action.&lt;/p&gt;
&lt;p&gt;Geir Arne and Christopher collaborated to create code examples for the new features. We discuss better error messages, faster code execution, task and exception groups, typing features, and native TOML support.&lt;/p&gt;
&lt;p&gt;We dive into the updates and offer advice about ways to incorporate them into your projects. We also consider when you should start running Python 3.11.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/new-features-python-311/&quot;&gt;Cool New Features in Python 3.11 – Real Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll explore what Python 3.11 brings to the table. You&amp;rsquo;ll learn how Python 3.11 is the fastest and most user-friendly version of CPython yet, and learn about improvements to the typing system and to the asynchronous features of Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:19 &amp;ndash; Preview series&lt;/li&gt;
&lt;li&gt;00:03:50 &amp;ndash; Faster CPython project&lt;/li&gt;
&lt;li&gt;00:07:10 &amp;ndash; Specializing adaptive interpreter&lt;/li&gt;
&lt;li&gt;00:11:24 &amp;ndash; Other performance stuff&lt;/li&gt;
&lt;li&gt;00:16:07 &amp;ndash; Sponsor: Deepgram&lt;/li&gt;
&lt;li&gt;00:16:51 &amp;ndash; Improved tracebacks&lt;/li&gt;
&lt;li&gt;00:21:49 &amp;ndash; Exception groups and notes&lt;/li&gt;
&lt;li&gt;00:27:22 &amp;ndash; Self type and additional type hints&lt;/li&gt;
&lt;li&gt;00:36:14 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:27 &amp;ndash; asyncio and task groups&lt;/li&gt;
&lt;li&gt;00:41:25 &amp;ndash; TOML and tomllib&lt;/li&gt;
&lt;li&gt;00:46:21 &amp;ndash; ISO date parsing&lt;/li&gt;
&lt;li&gt;00:50:09 &amp;ndash; Negative zeros&lt;/li&gt;
&lt;li&gt;00:53:38 &amp;ndash; Dead battery deprecations&lt;/li&gt;
&lt;li&gt;00:56:04 &amp;ndash; Advice on upgrading&lt;/li&gt;
&lt;li&gt;01:01:01 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python311-new-features/&quot;&gt;Python 3.11: Cool New Features for You to Try – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-311/&quot;&gt;Cool New Features in Python 3.11 – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/markshannon/faster-cpython/blob/master/plan.md&quot;&gt;faster-cpython/plan.md - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0659/&quot;&gt;PEP 659 – Specializing Adaptive Interpreter - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Just-in-time_compilation&quot;&gt;Just-in-time compilation - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/381/python-perf-specializing-adaptive-interpreter&quot;&gt;Episode #381 Python Perf: Specializing, Adaptive Interpreter - Talk Python To Me Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/339/making-python-faster-with-guido-and-mark&quot;&gt;Episode #339 Making Python Faster with Guido and Mark - Talk Python To Me Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/cpython/issues/84403&quot;&gt;&amp;ldquo;Zero cost&amp;rdquo; exception handling · Issue #84403 · python/cpython - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python311-exception-groups/&quot;&gt;Python 3.11 Preview: Task and Exception Groups – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.11/whatsnew/3.11.html#faster-startup&quot;&gt;Faster Startup In Python 3.11 — Python 3.11.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python311-error-messages/&quot;&gt;Python 3.11 Preview: Even Better Error Messages – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0657/&quot;&gt;PEP 657 – Include Fine Grained Error Locations in Tracebacks - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/105/&quot;&gt;Episode #105: Creating Better Error Messages for Python 3.10 &amp;amp; 3.11 – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=uARIj9eAZcQ&quot;&gt;Exception Groups and except: Irit Katriel - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0673/&quot;&gt;PEP 673 – Self Type - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0646/&quot;&gt;PEP 646 – Variadic Generics - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Lfe2zsGS0Js&quot;&gt;How Exception Groups Will Improve Error Handling in AsyncIO - Łukasz Langa | Power IT Conference - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://neopythonic.blogspot.com/2022/10/reasoning-about-asynciosemaphore.html&quot;&gt;Neopythonic: Reasoning about asyncio.Semaphore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0680/&quot;&gt;PEP 680 – tomllib: Support for Parsing TOML in the Standard Library - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://toml.io/en/&quot;&gt;TOML: Tom&amp;rsquo;s Obvious Minimal Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python311-tomllib/&quot;&gt;Python 3.11 Preview: TOML and tomllib – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.11/library/datetime.html#datetime.datetime.fromisoformat&quot;&gt;datetime — Basic date and time types — Python 3.11.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://13monthcalendar.com/&quot;&gt;13 Month Calendar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Signed_zero&quot;&gt;Signed zero - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0594/&quot;&gt;PEP 594 – Removing dead batteries from the standard library - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/new-features-python-311/&quot;&gt;Cool New Features in Python 3.11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E131_03.95cc04ccac39.mp3" type="audio/mpeg" length="60973536"/>
        <guid isPermaLink="false">4640a1a8-82a0-492a-92cb-9a858f49bb2f</guid>
        <pubDate>Fri, 04 Nov 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3746</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_131_Podcast.9e876ad5c367.jpg"/>
        <rp:twitter-handles>@gahjelle</rp:twitter-handles>
        <rp:twitter-title>“Exploring the New Features of Python 3.11” with @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>130</itunes:episode>
        <title>Fostering an Internal Python Community &amp; Managing the 3.11 Release</title>
        <itunes:title>Fostering an Internal Python Community &amp; Managing the 3.11 Release</itunes:title>
        <link>https://realpython.com/podcasts/rpp/130/</link>
        <description>Does your company have a plan for growing an internal Python community? What are the attributes to look for when bringing someone into your department? This week on the show, Pablo Galindo Salgado returns to talk about building community through the Python Guild at Bloomberg and managing the release of Python 3.11.</description>
        <content:encoded>&lt;p&gt;Does your company have a plan for growing an internal Python community? What are the attributes to look for when bringing someone into your department? This week on the show, Pablo Galindo Salgado returns to talk about building community through the Python Guild at Bloomberg and managing the release of Python 3.11.&lt;/p&gt;
&lt;p&gt;Pablo describes how the Python Guild started and currently operates inside Bloomberg. We talk about how it fosters community and acts as a way to promote internally developed tools across disparate teams. We also discuss how work groups use it to find new internal candidates for their teams. &lt;/p&gt;
&lt;p&gt;Pablo talks about his role as release manager for Python 3.10 and 3.11. He shares the intense journey the team has had this year in preparing for the release of 3.11. He details updating testing strategies to work with the new specializing adaptive interpreter.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-basics-strings-string-methods/&quot;&gt;Python Basics: Strings and String Methods&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In Python, collections of text are called strings. In this course, you&amp;rsquo;ll learn about this fundamental data type and the string methods that you can use to manipulate strings. Along the way, you&amp;rsquo;ll learn ways to work with strings of numbers, and how to format strings for printing.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:13 &amp;ndash; Python Guild inside of Bloomberg&lt;/li&gt;
&lt;li&gt;00:13:31 &amp;ndash; Finding candidates for the guild from other areas&lt;/li&gt;
&lt;li&gt;00:19:11 &amp;ndash; Sponsor: Platform.sh&lt;/li&gt;
&lt;li&gt;00:19:47 &amp;ndash; Considering eagerness to learn and excitement&lt;/li&gt;
&lt;li&gt;00:29:44 &amp;ndash; Structuring the guild into work groups&lt;/li&gt;
&lt;li&gt;00:33:43 &amp;ndash; How are things going as release manager?&lt;/li&gt;
&lt;li&gt;00:38:25 &amp;ndash; Testing for adaptive interpreters&lt;/li&gt;
&lt;li&gt;00:44:02 &amp;ndash; Working toward the feature freeze&lt;/li&gt;
&lt;li&gt;00:50:39 &amp;ndash; Changing the parser went smoothly&lt;/li&gt;
&lt;li&gt;00:54:34 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:55:55 &amp;ndash; Where do you find the time?&lt;/li&gt;
&lt;li&gt;00:59:51 &amp;ndash; How&amp;rsquo;s the sweep picking coming along?&lt;/li&gt;
&lt;li&gt;01:00:33 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:01:29 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:07:18 &amp;ndash; How can people follow the work you do?&lt;/li&gt;
&lt;li&gt;01:08:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bloomberg.com/company/stories/bloomberg-memray-open-source-profiler-python-code/&quot;&gt;Bloomberg publishes Memray, a new open source memory profiler for Python code - Bloomberg LP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com//bloomberg/memray&quot;&gt;bloomberg/memray: Memray is a memory profiler for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pluralsight.com/tech-blog/guilds-at-pluralsight/&quot;&gt;Pluralsight Tech Blog - Guilds at Pluralsight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.capitalone.com/tech/open-source/building-python-user-community-among-capital-ones-data-analysts/&quot;&gt;Lessons From Building a Community of Python Users Among Capital One&amp;rsquo;s Analysts - Capital One&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0013/&quot;&gt;PEP 13 – Python Language Governance - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2022/09/python-3110rc2-is-now-available.html&quot;&gt;Python Insider: Python 3.11.0rc2 is now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.11/whatsnew/3.11.html#faster-cpython&quot;&gt;What&amp;rsquo;s New In Python 3.11 — Python 3.11.0rc2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0659/&quot;&gt;PEP 659 – Specializing Adaptive Interpreter - peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Andon_(manufacturing)&quot;&gt;Andon (manufacturing) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/learn&quot;&gt;Learn Rust - Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.apple.com/swift/&quot;&gt;Swift - Apple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raywenderlich.com/&quot;&gt;raywenderlich.com - High quality programming tutorials: iOS, Android, Swift, Kotlin, Flutter, Server Side Swift, Unity, and more!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://surveys.jetbrains.com/s3/c2-python-developers-survey-2022&quot;&gt;Python Developers Survey 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pablogsal&quot;&gt;pablogsal (Pablo Galindo Salgado) - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pyblogsal&quot;&gt;Pablo Galindo Salgado (@pyblogsal) - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-strings-string-methods/&quot;&gt;Python Basics: Strings and String Methods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-first-program/&quot;&gt;Python Basics: Code Your First Python Program&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E130_03_Pablo.886a8ac4ee91.mp3" type="audio/mpeg" length="67608337"/>
        <guid isPermaLink="false">81060053-b95b-47e3-bc12-b2481887ebfb</guid>
        <pubDate>Fri, 21 Oct 2022 12:00:00 +0000</pubDate>
        <itunes:duration>4165</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_130_Podcast.5765470e8c9a.jpg"/>
        <rp:twitter-handles>@pyblogsal</rp:twitter-handles>
        <rp:twitter-title>“Fostering an Internal Python Community &amp; Managing the 3.11 Release” with @pyblogsal</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>129</itunes:episode>
        <title>Using an Ellipsis in Python &amp; Goals for CPython 3.12</title>
        <itunes:title>Using an Ellipsis in Python &amp; Goals for CPython 3.12</itunes:title>
        <link>https://realpython.com/podcasts/rpp/129/</link>
        <description>Where should you use an ellipsis in Python? How does it behave as a placeholder in a script, project, or stub file? What are the next goals for the Faster CPython project? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Where should you use an ellipsis in Python? How does it behave as a placeholder in a script, project, or stub file? What are the next goals for the Faster CPython project? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about a Real Python article that covers when you should use an ellipsis in Python. We discuss the similarities with the &lt;code&gt;pass&lt;/code&gt; keyword and how it&amp;rsquo;s used for type hints within stub files. &lt;/p&gt;
&lt;p&gt;Christopher shares resources covering the goals of the Faster CPython project. We&amp;rsquo;re on the cusp of the release of Python 3.11, but the project keeps moving forward as they look at ways to continue speeding up Python. &lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including a news roundup, alternatives for hosting Python-based applications, ways to create custom Python strings, a discussion about aging programmers, a structural diff that understands syntax, and a project for refurbishing and modernizing Python codebases.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/multiple-constructors-python/&quot;&gt;Providing Multiple Constructors in Your Python Classes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to provide multiple constructors in your Python classes. To this end, you&amp;rsquo;ll learn different techniques, such as checking argument types, using default argument values, writing class methods, and implementing single-dispatch methods.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:26 &amp;ndash; Django security releases issued&lt;/li&gt;
&lt;li&gt;00:02:44 &amp;ndash; PEP 698: Override Decorator for Static Typing&lt;/li&gt;
&lt;li&gt;00:03:37 &amp;ndash; Heroku Alternatives for Python-Based Applications&lt;/li&gt;
&lt;li&gt;00:14:34 &amp;ndash; Python 3.12 Goals: Faster-CPython Ideas Wiki&lt;/li&gt;
&lt;li&gt;00:20:29 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:21:19 &amp;ndash; When Do You Use an Ellipsis in Python?&lt;/li&gt;
&lt;li&gt;00:28:18 &amp;ndash; Custom Python Strings: Inheriting From &lt;code&gt;str&lt;/code&gt; vs &lt;code&gt;UserString&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:32:52 &amp;ndash; Aging Programmer&lt;/li&gt;
&lt;li&gt;00:46:32 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:47:48 &amp;ndash; difftastic: A Structural Diff That Understands Syntax&lt;/li&gt;
&lt;li&gt;00:50:44 &amp;ndash; refurb: Refurbish and Modernize Python Codebases&lt;/li&gt;
&lt;li&gt;00:55:44 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2022/oct/04/security-releases/&quot;&gt;Django security releases issued: 4.1.2, 4.0.8, and 3.2.16 | Weblog | Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0698/&quot;&gt;PEP 698: Override Decorator for Static Typing&lt;/a&gt; &amp;ndash; This Python Enhancement Proposal describes the use of a new decorator, &lt;code&gt;@override&lt;/code&gt;, which would be used as a type hint for methods in a subclass that override a parent&amp;rsquo;s method. This type hint would introduce a level of safety if the parent method is refactored without corresponding changes to the child method.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://testdriven.io/blog/heroku-alternatives/&quot;&gt;Heroku Alternatives for Python-Based Applications&lt;/a&gt; &amp;ndash; Learn about alternatives to Heroku and their pros and cons. Platforms discussed include Digital Ocean, Google App Engine, AWS, Azure, PythonAnywhere, and half a dozen more.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/faster-cpython/ideas/wiki/Python-3.12-Goals&quot;&gt;Python 3.12 Goals: Faster-CPython Ideas Wiki&lt;/a&gt; &amp;ndash; A summary of the goals for the Faster CPython initiative within the Python 3.12 release. Includes trace optimizations, shrinking object sizes, improving memory management overhead, and more. See also the associated &lt;a href=&quot;https://github.com/faster-cpython/ideas/wiki/Workflow-for-3.12-cycle&quot;&gt;Workflow for 3.12 cycle&lt;/a&gt; checklist.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-ellipsis/&quot;&gt;When Do You Use an Ellipsis in Python?&lt;/a&gt; &amp;ndash; You may have seen three dots in Python scripts. Although this syntax may look odd, using an ellipsis is valid Python code. In this tutorial, you&amp;rsquo;ll learn when Python&amp;rsquo;s &lt;code&gt;Ellipsis&lt;/code&gt; constant can come in handy for you.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/inherit-python-str/&quot;&gt;Custom Python Strings: Inheriting From &lt;code&gt;str&lt;/code&gt; vs &lt;code&gt;UserString&lt;/code&gt;&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to create custom string-like classes in Python by inheriting from the built-in &lt;code&gt;str&lt;/code&gt; class or by subclassing &lt;code&gt;UserString&lt;/code&gt; from the &lt;code&gt;collections&lt;/code&gt; module.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=32961933&quot;&gt;Aging Programmer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/wilfred/difftastic&quot;&gt;difftastic: A Structural Diff That Understands Syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dosisod/refurb&quot;&gt;refurb: Refurbish and Modernize Python Codebases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.opalstack.com/&quot;&gt;Opalstack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/cookiecutter-python/&quot;&gt;cookiecutter-python · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/typeshed/tree/master/stubs&quot;&gt;typeshed/stubs at master · python/typeshed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.codinghorror.com/why-cant-programmers-program/&quot;&gt;Why Can&amp;rsquo;t Programmers.. Program?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/rest-apis-with-django-ninja/&quot;&gt;Sneaky REST APIs With Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/multiple-constructors-python/&quot;&gt;Using Multiple Constructors in Your Python Classes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-python-class-constructors/&quot;&gt;Using Python Class Constructors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E129_03_Cx2.c3023c4ea4c2.mp3" type="audio/mpeg" length="55483087"/>
        <guid isPermaLink="false">713b8503-f04a-4513-a123-7a5a47732f61</guid>
        <pubDate>Fri, 14 Oct 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3404</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_129_Podcast.28d932577124.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Using an Ellipsis in Python &amp; Goals for CPython 3.12”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>128</itunes:episode>
        <title>Using a Memory Profiler in Python &amp; What It Can Teach You</title>
        <itunes:title>Using a Memory Profiler in Python &amp; What It Can Teach You</itunes:title>
        <link>https://realpython.com/podcasts/rpp/128/</link>
        <description>Have you used a memory profiler to gauge the performance of your Python application? Maybe you&#x27;re using it to troubleshoot memory issues when loading a large data science project. What could running a profiler show you about a codebase you&#x27;re learning? This week on the show, Pablo Galindo Salgado returns to talk about Memray, a powerful tracing memory profiler.</description>
        <content:encoded>&lt;p&gt;Have you used a memory profiler to gauge the performance of your Python application? Maybe you&amp;rsquo;re using it to troubleshoot memory issues when loading a large data science project. What could running a profiler show you about a codebase you&amp;rsquo;re learning? This week on the show, Pablo Galindo Salgado returns to talk about Memray, a powerful tracing memory profiler.&lt;/p&gt;
&lt;p&gt;Pablo developed Memray while working at Bloomberg to track memory allocations beyond Python code into native extensions and the interpreter itself. It&amp;rsquo;s a compelling tool that provides fine-grain reports to help you understand where memory is used. &lt;/p&gt;
&lt;p&gt;Pablo shares the reporting that Memray provides, including live mode, flame graphs, and a &lt;code&gt;pytest&lt;/code&gt; plug-in. We also discuss how a tracing memory profiler can help you understand a new codebase. &lt;/p&gt;
&lt;p&gt;He walks through how he developed the first prototype internally and eventually moved the project into open source. This is the first part of my conversation with Pablo. In a couple of weeks, you&amp;rsquo;ll get the second part, where we talk about Python guilds inside large companies and his work as the release manager for Python 3.10 and 3.11.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python/&quot;&gt;SQLite and SQLAlchemy in Python: Moving Your Data Beyond Flat Files&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:48 &amp;ndash; When should you use a memory profiler?&lt;/li&gt;
&lt;li&gt;00:05:13 &amp;ndash; Fine-grain reporting &lt;/li&gt;
&lt;li&gt;00:13:17 &amp;ndash; Sampling profiler vs tracing profiler&lt;/li&gt;
&lt;li&gt;00:19:46 &amp;ndash; Sponsor: Deepgram&lt;/li&gt;
&lt;li&gt;00:20:31 &amp;ndash; What is a flame graph?&lt;/li&gt;
&lt;li&gt;00:30:36 &amp;ndash; Using Rich for terminal reporters&lt;/li&gt;
&lt;li&gt;00:40:08 &amp;ndash; Currently only Linux and macOS &lt;/li&gt;
&lt;li&gt;00:41:13 &amp;ndash; &lt;code&gt;pytest&lt;/code&gt; plug-in&lt;/li&gt;
&lt;li&gt;00:42:03 &amp;ndash; Showing native allocation details&lt;/li&gt;
&lt;li&gt;00:44:20 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:45:52 &amp;ndash; Using a profiler to learn a codebase&lt;/li&gt;
&lt;li&gt;00:54:39 &amp;ndash; Moving from internal project to open source&lt;/li&gt;
&lt;li&gt;01:02:17 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bloomberg/memray&quot;&gt;memray: Memray is a memory profiler for Python - GitHub bloomberg/memray&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/memray/&quot;&gt;memray - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bloomberg.com/company/stories/bloomberg-memray-open-source-profiler-python-code/&quot;&gt;Bloomberg publishes Memray, a new open source memory profiler for Python code - Bloomberg LP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.datadoghq.com/knowledge-center/distributed-tracing/flame-graph/&quot;&gt;What is a Flame Graph? How it Works &amp;amp; Use Cases - Datadog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Gantt_chart&quot;&gt;Gantt chart - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/py-spy/&quot;&gt;py-spy - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/scalene/&quot;&gt;scalene - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/fil/&quot;&gt;Reduce your Python program&amp;rsquo;s memory usage with Fil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pythonspeed/filprofiler&quot;&gt;fil: A Python memory profiler for data processing and scientific computing applications - GitHub pythonspeed/filprofiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/24/&quot;&gt;Episode #24: Options for Packaging Your Python Application: Wheels, Docker, and More - The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/rich/&quot;&gt;rich - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.textualize.io/&quot;&gt;Textualize&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.brendangregg.com/overview.html&quot;&gt;Brendan Gregg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.brendangregg.com/perf.html&quot;&gt;Linux perf Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://deepgram.com/realpython/&quot;&gt;Deepgram - Speech-to-Text for Developers &amp;amp; Enterprise&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sqlite-sqlalchemy-python/&quot;&gt;SQLite and SQLAlchemy in Python: Moving Your Data Beyond Flat Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E128_03_Pablo.d0a361706109.mp3" type="audio/mpeg" length="62181371"/>
        <guid isPermaLink="false">25b5a18d-9372-43a5-bea1-854b417d0336</guid>
        <pubDate>Fri, 07 Oct 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3823</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_128_Podcast.99007d68418b.jpg"/>
        <rp:twitter-handles>@pyblogsal</rp:twitter-handles>
        <rp:twitter-title>“Using a Memory Profiler in Python &amp; What It Can Teach You” with @pyblogsal</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>127</itunes:episode>
        <title>Explaining Access Control Using Python &amp; Cautiously Handling Pickles</title>
        <itunes:title>Explaining Access Control Using Python &amp; Cautiously Handling Pickles</itunes:title>
        <link>https://realpython.com/podcasts/rpp/127/</link>
        <description>Have you ever used code to help explain a topic? How can Python scripts be used to understand the intricacies of access control? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you ever used code to help explain a topic? How can Python scripts be used to understand the intricacies of access control? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher talks about an article that explores the evolution of access control by reimplementing the concepts with Python scripts. The experiment moves across the various access forms, starting with control lists, roles, and attributes, then ending with purpose-based access control (PBAC).&lt;/p&gt;
&lt;p&gt;We also cover a post about how to create dangerous pickles. We discuss where malicious code can hide within the serialization process and how decompiling code can be an education tool.&lt;/p&gt;
&lt;p&gt;We share several other articles and projects from the Python community, including command line interface (CLI) creation with &lt;code&gt;argparse&lt;/code&gt;, HTML and CSS for Python developers, a Python packaging user survey, a visual Python Tkinter GUI creator, a PyScript-based data visualization cookbook, and a project for writing functional test helpers in Django.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/pickle-serializing-objects/&quot;&gt;Serializing Objects With the Python pickle Module&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how you can use the Python &lt;code&gt;pickle&lt;/code&gt; module to convert your objects into a stream of bytes that can be saved to a disk or sent over a network. You&amp;rsquo;ll also learn the security implications of using this process on objects from an untrusted source.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:19 &amp;ndash; Python 3.11.0rc2 is now available&lt;/li&gt;
&lt;li&gt;00:03:45 &amp;ndash; HTML and CSS for Python Developers&lt;/li&gt;
&lt;li&gt;00:08:34 &amp;ndash; Evolution of Access Control Explained Through Python&lt;/li&gt;
&lt;li&gt;00:17:14 &amp;ndash; Sponsor: InfluxDB&lt;/li&gt;
&lt;li&gt;00:18:03 &amp;ndash; Dangerous Pickles&lt;/li&gt;
&lt;li&gt;00:28:08 &amp;ndash; Building Command Line Interfaces With argparse&lt;/li&gt;
&lt;li&gt;00:34:27 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:45 &amp;ndash; PyPI.org is running a survey&lt;/li&gt;
&lt;li&gt;00:49:01 &amp;ndash; Visual Python Tkinter GUI Creator&lt;/li&gt;
&lt;li&gt;00:50:33 &amp;ndash; Python Data Visualization Cookbook&lt;/li&gt;
&lt;li&gt;00:52:06 &amp;ndash; django-functest: Helpers for Functional Tests in Django&lt;/li&gt;
&lt;li&gt;00:57:55 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2022/09/python-3110rc2-is-now-available.html&quot;&gt;Python Insider: Python 3.11.0rc2 is now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/html-css-python/&quot;&gt;HTML and CSS for Python Developers&lt;/a&gt; &amp;ndash; There&amp;rsquo;s no way around HTML and CSS when you want to build web apps. Even if you&amp;rsquo;re not aiming to become a web developer, knowing the basics of HTML and CSS will help you understand the Web better. In this tutorial, you&amp;rsquo;ll get an introduction to HTML and CSS for Python programmers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.symops.com/2022/09/07/evolution-access-control-python/&quot;&gt;Evolution of Access Control Explained Through Python&lt;/a&gt; &amp;ndash; Sometimes, writing code can help you explore and understand concepts. This article shows a history of access controls in software, using Python scripts to reimplement the ideas.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://intoli.com/blog/dangerous-pickles/&quot;&gt;Dangerous Pickles&lt;/a&gt; &amp;ndash; A light introduction to the Python pickle protocol, the Pickle Machine, and the construction of malicious pickles. Learn why your code shouldn&amp;rsquo;t trust arbitrary serialized objects, and discover the dangers of pickle-bombs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-argparse-command-line-interfaces/&quot;&gt;Building Command Line Interfaces With argparse&lt;/a&gt; &amp;ndash; In this step-by-step Python video course, you&amp;rsquo;ll learn how to take your command line Python scripts to the next level by adding a convenient command line interface that you can write with &lt;code&gt;argparse&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.surveymonkey.co.uk/r/M5XKQCT&quot;&gt;Python Packaging User Survey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=32751603&quot;&gt;PyPI.org is running a survey on the state of Python packaging | Hacker News&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://visualtk.com/&quot;&gt;Visual Python Tkinter GUI Creator&lt;/a&gt; - Chinese&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dataviz.dylancastillo.co/&quot;&gt;Python Data Visualization Cookbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/django-functest/django-functest&quot;&gt;django-functest: Helpers for Functional Tests in Django&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://axesslab.com/alt-texts/&quot;&gt;Axess Lab | Alt-texts: The Ultimate Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pickle-module/&quot;&gt;The Python pickle Module: How to Persist Objects in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://i.hsfzxjy.site/2021-08-14-clarifying-pickle-in-python/&quot;&gt;Understanding pickle in Python | #hsfzxjy#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io/blog/guide-to-python-pickle/?utm_campaign=AOM-UA-2022&amp;amp;utm_medium=Paid-Email&amp;amp;utm_source=PyCoders&amp;amp;utm_content=guide-to-python-pickle&quot;&gt;The ultimate guide to Python pickle | Snyk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nedbatchelder.com/blog/202006/pickles_nine_flaws.html&quot;&gt;Pickle&amp;rsquo;s nine flaws | Ned Batchelder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/pickle.html?highlight=pickle&quot;&gt;pickle — Python object serialization — Python 3.10.7 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/pickletools.html?highlight=pickle&quot;&gt;pickletools — Tools for pickle developers — Python 3.10.7 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/argparse.html?highlight=argparse#module-argparse&quot;&gt;argparse — Parser for command-line option | Python 3.10.7 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/_dylancastillo/status/1567982310506786817&quot;&gt;Have been testing @pyscript_dev these past few days and finally made something cool. I built an interactive data viz cookbook | Dylan Castillo - Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-argparse-command-line-interfaces/&quot;&gt;Building Command Line Interfaces With argparse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pickle-serializing-objects/&quot;&gt;Serializing Objects With the Python pickle Module&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E127_C2_03.892261ce0bcd.mp3" type="audio/mpeg" length="57630095"/>
        <guid isPermaLink="false">c7117925-4b10-4e63-9adb-a6241b5ce420</guid>
        <pubDate>Fri, 30 Sep 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3537</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_127_Podcast_B.6a1d91c687e0.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Explaining Access Control Using Python &amp; Cautiously Handling Pickles”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>126</itunes:episode>
        <title>Python as an Efficiency Tool for Non-Developers</title>
        <itunes:title>Python as an Efficiency Tool for Non-Developers</itunes:title>
        <link>https://realpython.com/podcasts/rpp/126/</link>
        <description>Are you interested in using Python in an industry outside of software development? Would adding a few custom software tools increase efficiency and make your coworkers&#x27; jobs easier? This week on the show, Josh Burnett talks about using Python as a mechanical engineer.</description>
        <content:encoded>&lt;p&gt;Are you interested in using Python in an industry outside of software development? Would adding a few custom software tools increase efficiency and make your coworkers&amp;rsquo; jobs easier? This week on the show, Josh Burnett talks about using Python as a mechanical engineer.&lt;/p&gt;
&lt;p&gt;I met Josh at PyCon US 2022 in Salt Lake City, which he attended for the first time with several coworkers. He suggested we do an episode to shed some light on ways that Python is being used professionally by people who aren&amp;rsquo;t primarily programming for a living.&lt;/p&gt;
&lt;p&gt;Josh works as a mechanical engineer for an equipment manufacturer, where he needs to perform repetitive tasks and generate copious logs. He explains how he moved his team away from MATLAB and toward Python. &lt;/p&gt;
&lt;p&gt;We discuss his progression from writing scripts to developing packages and eventually hosting his work on PyPI. He also shares his explorations with CircuitPython for personal and professional projects. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to build professional documentation for a Python package using MkDocs and mkdocstrings. These tools allow you to generate nice-looking and modern documentation from Markdown files and, more importantly, from your code&amp;rsquo;s docstrings.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:10 &amp;ndash; Meeting at PyCon US 2022&lt;/li&gt;
&lt;li&gt;00:04:32 &amp;ndash; Bringing members of team to PyCon&lt;/li&gt;
&lt;li&gt;00:05:30 &amp;ndash; What are next generation instrumentation platforms?&lt;/li&gt;
&lt;li&gt;00:06:35 &amp;ndash; What is the lifespan of a platform?&lt;/li&gt;
&lt;li&gt;00:09:26 &amp;ndash; Has interconnectivity affected upgrades?&lt;/li&gt;
&lt;li&gt;00:10:57 &amp;ndash; Programming and Python background&lt;/li&gt;
&lt;li&gt;00:12:13 &amp;ndash; Introduction to MATLAB at university&lt;/li&gt;
&lt;li&gt;00:15:18 &amp;ndash; Moving away from MATLAB to Python&lt;/li&gt;
&lt;li&gt;00:19:39 &amp;ndash; How was your transition from Python 2 to 3?&lt;/li&gt;
&lt;li&gt;00:21:19 &amp;ndash; Debugging methods and logging&lt;/li&gt;
&lt;li&gt;00:22:27 &amp;ndash; Why did you choose Python?&lt;/li&gt;
&lt;li&gt;00:24:26 &amp;ndash; Sponsor: Deepgram&lt;/li&gt;
&lt;li&gt;00:25:12 &amp;ndash; Promoting more use of Python in the organization&lt;/li&gt;
&lt;li&gt;00:33:07 &amp;ndash; Selling the idea of Python training in the organization&lt;/li&gt;
&lt;li&gt;00:37:16 &amp;ndash; Moving from scripts to building packages&lt;/li&gt;
&lt;li&gt;00:43:48 &amp;ndash; From personal project to critical package on PyPI&lt;/li&gt;
&lt;li&gt;00:44:29 &amp;ndash; Using PyPI or in-house package repository&lt;/li&gt;
&lt;li&gt;00:46:27 &amp;ndash; Experience with modern packaging tools&lt;/li&gt;
&lt;li&gt;00:48:16 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:49:32 &amp;ndash; Using CircuitPython for personal and work projects&lt;/li&gt;
&lt;li&gt;00:56:09 &amp;ndash; Use of 3D printing and machining&lt;/li&gt;
&lt;li&gt;00:57:33 &amp;ndash; Josh&amp;rsquo;s projects on PyPI&lt;/li&gt;
&lt;li&gt;01:02:57 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:05:23 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:08:46 &amp;ndash; How can people follow your work?&lt;/li&gt;
&lt;li&gt;01:09:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/user/joshburnett/&quot;&gt;PyPI Profile of joshburnett&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2022/&quot;&gt;PyCon 2022 Welcome to PyCon US 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mathworks.com/products/matlab.html&quot;&gt;MATLAB - MathWorks - MATLAB &amp;amp; Simulink&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devpi.net/docs/devpi/devpi/stable/%2Bd/index.html&quot;&gt;devpi: PyPI server and packaging/testing/release tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jfrog.com/artifactory/&quot;&gt;Artifactory - Universal Artifact Repository Manager - JFrog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/loguru/&quot;&gt;loguru · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pypi-publish-python-package/&quot;&gt;How to Publish an Open-Source Python Package to PyPI – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-toml/&quot;&gt;Python and TOML: New Best Friends – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyqtgraph.org/&quot;&gt;PyQtGraph - Scientific Graphics and GUI Library for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/4800&quot;&gt;Adafruit MagTag - 2.9 Grayscale E-Ink WiFi Display&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/canaveral/&quot;&gt;canaveral · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/addcopyfighandler/&quot;&gt;addcopyfighandler · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyscript.net/&quot;&gt;PyScript | Run Python in your HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wasm.builders/shravi_inamdar/what-is-wasi--4l60&quot;&gt;What exactly is WASI? - Wasm Builders 🧱&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wasi.dev/&quot;&gt;WASI - WebAssembly System Interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kicad.org/&quot;&gt;KiCad EDA - Schematic Capture &amp;amp; PCB Design Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.thea.codes/lessons-learned-from-building-a-circuitpython-board/&quot;&gt;Lessons learned from building a custom CircuitPython board - Stargirl (Thea) Flowers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.thea.codes/raster-vectorization-with-python/&quot;&gt;Using Python to vectorize artwork for PCBs - Stargirl  (Thea) Flowers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/joshburnett&quot;&gt;Josh Burnett - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/josh-burnett-8346791/&quot;&gt;Josh Burnett - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-project-documentation-mkdocs/&quot;&gt;Building Python Project Documentation With MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E126_Josh.dc78bdb7f382.mp3" type="audio/mpeg" length="68409384"/>
        <guid isPermaLink="false">8b05a59b-ed85-4b96-bdbc-40e324b8e8b3</guid>
        <pubDate>Fri, 23 Sep 2022 12:00:00 +0000</pubDate>
        <itunes:duration>4210</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_126_Podcast.2977c13bd617.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python as an Efficiency Tool for Non-Developers”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>125</itunes:episode>
        <title>Improve Matplotlib With Style Sheets &amp; Python Async for the Web</title>
        <itunes:title>Improve Matplotlib With Style Sheets &amp; Python Async for the Web</itunes:title>
        <link>https://realpython.com/podcasts/rpp/125/</link>
        <description>Have you thought the standard output from Matplotlib is a bit generic looking? Would you like a quick way to add style and consistency to your data visualizations? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you thought the standard output from Matplotlib is a bit generic looking? Would you like a quick way to add style and consistency to your data visualizations? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We cover an article about the magic of creating style sheets for Matplotlib. You can quickly customize plots and graphs with a single line of code. We share additional resources for you to try out new styles and learn what parameters are customizable.&lt;/p&gt;
&lt;p&gt;Christopher covers an article about using async for web development in Python. The creation of Python generators inspired the development of async functionality. He discusses recent changes and async additions within Python web frameworks.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including how to install a pre-release version of Python, cache in Python with lru_cache, and get better at debugging, along with suggestions of libraries that deserve attention, a Python library for creating mathematical animations, and an extremely fast Python linter that&amp;rsquo;s written in Rust.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Python Debugging With pdb&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this hands-on course, you&amp;rsquo;ll learn the basics of using pdb, Python&amp;rsquo;s interactive source code debugger. pdb is a great tool for tracking down hard-to-find bugs, and it allows you to fix faulty code more quickly.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:21 &amp;ndash; Python releases 3.10.7, 3.9.14, 3.8.14, and 3.7.14 are now available&lt;/li&gt;
&lt;li&gt;00:03:51 &amp;ndash; How Can You Install a Pre-Release Version of Python?&lt;/li&gt;
&lt;li&gt;00:08:13 &amp;ndash; Understanding async Python for the Web&lt;/li&gt;
&lt;li&gt;00:17:11 &amp;ndash; The Magic of Matplotlib Style Sheets&lt;/li&gt;
&lt;li&gt;00:24:20 &amp;ndash; Sponsor: Platform.sh&lt;/li&gt;
&lt;li&gt;00:24:56 &amp;ndash; Caching in Python With lru_cache&lt;/li&gt;
&lt;li&gt;00:29:41 &amp;ndash; Some Ways to Get Better at Debugging&lt;/li&gt;
&lt;li&gt;00:38:14 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:26 &amp;ndash; Suggest a Lesser Known Library Deserving Attention&lt;/li&gt;
&lt;li&gt;00:44:52 &amp;ndash; ruff: An Extremely Fast Python Linter, Written in Rust&lt;/li&gt;
&lt;li&gt;00:48:19 &amp;ndash; Manim: Python Library for Creating Mathematical Animations&lt;/li&gt;
&lt;li&gt;00:51:50 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2022/09/python-releases-3107-3914-3814-and-3714.html&quot;&gt;Python releases 3.10.7, 3.9.14, 3.8.14, and 3.7.14 are now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pre-release/&quot;&gt;How Can You Install a Pre-Release Version of Python?&lt;/a&gt; &amp;ndash; If you want to have a peek at what&amp;rsquo;s coming in the next stable version of Python, then you can install a pre-release version. In this tutorial, you&amp;rsquo;ll learn how to access the latest Python versions and help test them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.b-list.org/weblog/2022/aug/16/async/&quot;&gt;Understanding async Python for the Web&lt;/a&gt; &amp;ndash; &amp;ldquo;Recently Django 4.1 was released, and the thing most people seem interested in is the expanded &lt;code&gt;async&lt;/code&gt; support. The Python web ecosystem has been seeing new frameworks pop up which are fully &lt;code&gt;async&lt;/code&gt;, or support going fully async, from the start.&amp;rdquo; Learn more about &lt;code&gt;async&lt;/code&gt; and its use in web frameworks.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.datafantic.com/the-magic-of-matplotlib-stylesheets/&quot;&gt;The Magic of Matplotlib Stylesheets&lt;/a&gt; &amp;ndash; With a single line of code, you can integrate a style sheet with your Matplotlib visualization. In this tutorial, you&amp;rsquo;ll learn how to make your very own custom reusable style sheet.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With lru_cache&lt;/a&gt; &amp;ndash; Caching is an essential optimization technique. In this video course, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s &lt;code&gt;@lru_cache&lt;/code&gt; decorator to cache the results of your functions using the LRU cache strategy. This is a powerful technique you can use to leverage the power of caching in your implementations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jvns.ca/blog/2022/08/30/a-way-to-categorize-debugging-skills/&quot;&gt;Some Ways to Get Better at Debugging&lt;/a&gt; &amp;ndash; This is a short summary of a couple of academic papers on how to improve your debugging skills. The suggestions are to learn the codebase, learn the system, learn your tools, learn strategies, and gain experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/willmcgugan/status/1565004594639421442&quot;&gt;Suggest a Lesser Known Library Deserving Attention&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/charliermarsh/ruff&quot;&gt;ruff: An Extremely Fast Python Linter, Written in Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manim.community/&quot;&gt;Manim: Python Library for Creating Mathematical Animations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/intro-to-pyenv/&quot;&gt;Managing Multiple Python Versions With pyenv – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-coding-setup-windows/&quot;&gt;Your Python Coding Environment on Windows: Setup Guide – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://matplotlib.org/stable/tutorials/introductory/customizing.html#the-default-matplotlibrc-file&quot;&gt;Customizing Matplotlib with style sheets and rcParams — Matplotlib 3.5.3 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dhaitz/matplotlib-stylesheets&quot;&gt;dhaitz/matplotlib-stylesheets: Stylesheets for Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kaggle.com/&quot;&gt;Kaggle: Your Home for Data Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wizardzines.com/&quot;&gt;wizard zines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rubberduckdebugging.com/&quot;&gt;Rubber Duck Debugging – Debugging software with a rubber ducky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pudb/&quot;&gt;pudb · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/Humre/&quot;&gt;Humre · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nox.thea.codes/en/stable/&quot;&gt;Welcome to Nox — Nox 2022.8.7 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/21/&quot;&gt;Episode #21: Exploring K-means Clustering and Building a Gradebook With Pandas – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw&quot;&gt;3Blue1Brown - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-code-bugs/&quot;&gt;Python Basics: Finding and Fixing Code Bugs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-plotting-matplotlib/&quot;&gt;Python Plotting With Matplotlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E125_C2x.cacc52635d4a.mp3" type="audio/mpeg" length="51862647"/>
        <guid isPermaLink="false">a23b1e51-78e3-47ad-9362-e768233ba6f8</guid>
        <pubDate>Fri, 16 Sep 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3180</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_125_Podcast.9093cf049f65.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Improve Matplotlib With Style Sheets &amp; Python Async for the Web”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>124</itunes:episode>
        <title>Exploring Recursion in Python With Al Sweigart</title>
        <itunes:title>Exploring Recursion in Python With Al Sweigart</itunes:title>
        <link>https://realpython.com/podcasts/rpp/124/</link>
        <description>Have you wanted to understand recursion and how to use it in Python? Are you familiar with the call stack and how it relates to tracebacks? This week on the show, Al Sweigart talks about his new book, &quot;The Recursive Book of Recursion.&quot;</description>
        <content:encoded>&lt;p&gt;Have you wanted to understand recursion and how to use it in Python? Are you familiar with the call stack and how it relates to tracebacks? This week on the show, Al Sweigart talks about his new book, &amp;ldquo;The Recursive Book of Recursion.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Recursion is one of those concepts held as a tenet of high-level computer science priesthood. Al explains the fundamentals of writing recursive functions and a critical missing piece in understanding how they operate, the call stack. After completing his research, he concluded that it&amp;rsquo;s a technique that you should understand but rarely use.&lt;/p&gt;
&lt;p&gt;He also shares the few cases where recursion is an appropriate solution. Along the way, we talk about directed acyclic graphs, solving mazes, exploring file trees, and creating fractal images.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With lru_cache&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Caching is an essential optimization technique. In this video course, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s @lru_cache decorator to cache the results of your functions using the LRU cache strategy. This is a powerful technique you can use to leverage the power of caching in your implementations.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:55 &amp;ndash; The Recursive Book of Recursion&lt;/li&gt;
&lt;li&gt;00:02:55 &amp;ndash; A Beginner&amp;rsquo;s Guide to Recursion - YouTube&lt;/li&gt;
&lt;li&gt;00:05:41 &amp;ndash; What is recursion?&lt;/li&gt;
&lt;li&gt;00:10:17 &amp;ndash; Understanding the call stack&lt;/li&gt;
&lt;li&gt;00:12:15 &amp;ndash; Languages moving from GOTO statements to functions and a stack&lt;/li&gt;
&lt;li&gt;00:21:11 &amp;ndash; A common recursion example of factorials&lt;/li&gt;
&lt;li&gt;00:26:00 &amp;ndash; Fibonacci sequence and memoization&lt;/li&gt;
&lt;li&gt;00:30:25 &amp;ndash; Cautionary advice on applying recursion&lt;/li&gt;
&lt;li&gt;00:32:55 &amp;ndash; What is recursion useful for?&lt;/li&gt;
&lt;li&gt;00:39:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:14 &amp;ndash; Recursion and directed acyclic graphs&lt;/li&gt;
&lt;li&gt;00:45:46 &amp;ndash; Book examples&lt;/li&gt;
&lt;li&gt;00:49:50 &amp;ndash; Thoughts on tail recursion&lt;/li&gt;
&lt;li&gt;00:54:34 &amp;ndash; How has the scope of the book evolved?&lt;/li&gt;
&lt;li&gt;01:00:34 &amp;ndash; Creating examples in two languages&lt;/li&gt;
&lt;li&gt;01:02:37 &amp;ndash; Upcoming projects&lt;/li&gt;
&lt;li&gt;01:05:19 &amp;ndash; Examples of the projects in the book&lt;/li&gt;
&lt;li&gt;01:10:30 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:14:50 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:19:06 &amp;ndash; How can people follow your work?&lt;/li&gt;
&lt;li&gt;01:19:48 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/recursive-book-recursion&quot;&gt;The Recursive Book of Recursion | No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=AfBqVVKg4GE&quot;&gt;Recursion for Beginners: A Beginner&amp;rsquo;s Guide to Recursion - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://inventwithpython.com/blog/&quot;&gt;The Invent with Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-recursion/&quot;&gt;Recursion in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.britannica.com/science/factorial&quot;&gt;factorial | Definition, Symbol, &amp;amp; Facts | Britannica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.britannica.com/science/Fibonacci-number&quot;&gt;Fibonacci sequence | Definition, Formula, Numbers, Ratio, &amp;amp; Facts | Britannica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fibonacci-sequence-python/&quot;&gt;A Python Guide to the Fibonacci Sequence – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Directed_acyclic_graph&quot;&gt;Directed acyclic graph - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Dynamic_programming&quot;&gt;Dynamic programming - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://archive.org/details/isbn_9780262560993&quot;&gt;The Little Schemer : Friedman, Daniel P : Internet Archive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/blog/2018/12/09/book-review-the-little-schemer/&quot;&gt;Book Review: The Little Schemer - The Invent with Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Droste_effect&quot;&gt;Droste effect - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/33/&quot;&gt;Episode #33: Going Beyond the Basic Stuff With Python and Al Sweigart – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.textualize.io/&quot;&gt;Textualize&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/80/&quot;&gt;Episode #80: Make Your Python App Interactive With a Text User Interface (TUI) – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/&quot;&gt;BeeWare — Write once. Deploy everywhere.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/22/&quot;&gt;Episode #22: Create Cross-Platform Python GUI Apps With BeeWare – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/JoNakashimaBR&quot;&gt;Origami with Jo Nakashima - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/&quot;&gt;Invent with Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With lru_cache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-fibonacci-sequence/&quot;&gt;Exploring the Fibonacci Sequence With Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E124_Al_Sweigart.ab462d7c0766.mp3" type="audio/mpeg" length="78687680"/>
        <guid isPermaLink="false">3753534f-07db-46de-9751-9fbb00c89c16</guid>
        <pubDate>Fri, 09 Sep 2022 12:00:00 +0000</pubDate>
        <itunes:duration>4853</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_124_Podcast.9ab5c0bee26b.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring Recursion in Python With Al Sweigart”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>123</itunes:episode>
        <title>Creating a Python Code Completer &amp; More Abstract Syntax Tree Projects</title>
        <itunes:title>Creating a Python Code Completer &amp; More Abstract Syntax Tree Projects</itunes:title>
        <link>https://realpython.com/podcasts/rpp/123/</link>
        <description>How does a code completion tool work? What is an Abstract Syntax Tree, and how is it created in Python? How does an AST help you write programs and projects that inspect and modify your Python code? This week on the show, Meredydd Luff, co-founder of Anvil, shares his PyCon talk, &quot;Building a Python Code Completer.&quot;</description>
        <content:encoded>&lt;p&gt;How does a code completion tool work? What is an Abstract Syntax Tree, and how is it created in Python? How does an AST help you write programs and projects that inspect and modify your Python code? This week on the show, Meredydd Luff, co-founder of Anvil, shares his PyCon talk, &amp;ldquo;Building a Python Code Completer.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Meredydd talks about his experience building a code completion engine for the Anvil platform. The conversation leads us to discuss how Python parses the code that you type. We examine tokenization, abstract syntax trees, and how parsing has changed in Python.&lt;/p&gt;
&lt;p&gt;We cover additional projects that you can explore once you have a tool that inspects the Python code you&amp;rsquo;re writing. Join us as we dive into multiple rabbit holes of research and exploration.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-assignment-expressions-walrus-operator/&quot;&gt;Python Assignment Expressions and Using the Walrus Operator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about assignment expressions and the walrus operator. The biggest change in Python 3.8 was the inclusion of the &lt;code&gt;:=&lt;/code&gt; operator, which you can use to assign variables in the middle of expressions. You&amp;rsquo;ll see several examples of how to take advantage of this feature.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:11 &amp;ndash; Building a Python Code Completer - Talk&lt;/li&gt;
&lt;li&gt;00:08:48 &amp;ndash; How is recursion being used?&lt;/li&gt;
&lt;li&gt;00:10:28 &amp;ndash; Abstract Syntax Trees, Parsers, and Tokens&lt;/li&gt;
&lt;li&gt;00:14:58 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:15:39 &amp;ndash; Is parsing into tokens a separate step?&lt;/li&gt;
&lt;li&gt;00:21:45 &amp;ndash; What makes the new PEG parser unique?&lt;/li&gt;
&lt;li&gt;00:25:32 &amp;ndash; Using the AST doesn&amp;rsquo;t have to be scary.&lt;/li&gt;
&lt;li&gt;00:27:33 &amp;ndash; More on the PEG parser &lt;/li&gt;
&lt;li&gt;00:29:54 &amp;ndash; Keeping scope and holding completions&lt;/li&gt;
&lt;li&gt;00:39:43 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:15 &amp;ndash; Was this your first expirement in creating a code completer?&lt;/li&gt;
&lt;li&gt;00:46:46 &amp;ndash; How can adding type hints assist a completer?&lt;/li&gt;
&lt;li&gt;00:50:53 &amp;ndash; Projects you can build using AST&lt;/li&gt;
&lt;li&gt;00:53:02 &amp;ndash; Linter project&lt;/li&gt;
&lt;li&gt;00:54:15 &amp;ndash; Automatic code formatter&lt;/li&gt;
&lt;li&gt;00:54:59 &amp;ndash; Code testing and the pytest project&lt;/li&gt;
&lt;li&gt;00:56:22 &amp;ndash; Security tools&lt;/li&gt;
&lt;li&gt;00:57:11 &amp;ndash; Friendlier tracebacks&lt;/li&gt;
&lt;li&gt;00:59:57 &amp;ndash; Code completion vs GitHub Copilot&lt;/li&gt;
&lt;li&gt;01:04:14 &amp;ndash; Code completion in a text editor vs IDE&lt;/li&gt;
&lt;li&gt;01:08:53 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:09:54 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:11:20 &amp;ndash; How can people follow your work?&lt;/li&gt;
&lt;li&gt;01:12:31 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=aRO7DkJrA_c&quot;&gt;Talk - Meredydd Luff: Building a Python Code Completer - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anvil.works/&quot;&gt;Anvil | Build Web Apps with Nothing but Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/63/&quot;&gt;Episode #63: Create Web Applications Using Only Python With Anvil – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=QppWTvh7_sI&quot;&gt;&amp;ldquo;Writing a PEG parser for fun and profit&amp;rdquo; - Guido van Rossum (North Bay Python 2019) - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@gvanrossum_83706/peg-parsing-series-de5d41b2ed60&quot;&gt;PEG Parsing Series Overview. My series of blog posts about PEG | by Guido van Rossum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Abstract_syntax_tree&quot;&gt;Abstract syntax tree - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Parse_tree&quot;&gt;Parse tree - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/ast.html?highlight=parse#&quot;&gt;ast — Abstract Syntax Trees — Python 3.10.6 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/reference/grammar.html&quot;&gt;Full Grammar specification — Python 3.10.6 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-ast-explorer.com/&quot;&gt;Python AST Explorer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://greentreesnakes.readthedocs.io/en/latest/examples.html&quot;&gt;Examples of working with ASTs — Green Tree Snakes 1.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hchasestevens/bellybutton&quot;&gt;bellybutton: Custom Python linting through AST expressions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/black/&quot;&gt;black · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/7.1.x/&quot;&gt;pytest: helps you write better programs — pytest documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/friendly-traceback/friendly-traceback&quot;&gt;friendly-traceback: Friendlier Python tracebacks.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raspberrypi.com/products/raspberry-pi-pico/?variant=raspberry-pi-pico-w&quot;&gt;Raspberry Pi Pico – Raspberry Pi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/5526&quot;&gt;Raspberry Pi Pico W : ID 5526 : $6.00 : Adafruit Industries, Unique &amp;amp; fun DIY electronics and kits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/State_management&quot;&gt;State management - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://recoiljs.org/&quot;&gt;Recoil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/meredydd&quot;&gt;Meredydd Luff (@meredydd) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-assignment-expressions-walrus-operator/&quot;&gt;Python Assignment Expressions and Using the Walrus Operator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E123_03_ads.5c8f3e12d209.mp3" type="audio/mpeg" length="71639944"/>
        <guid isPermaLink="false">52ca1c1a-31ce-4cec-9632-bc1da559b22f</guid>
        <pubDate>Fri, 02 Sep 2022 12:00:00 +0000</pubDate>
        <itunes:duration>4413</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_123_Podcast.62966971e3b3.jpg"/>
        <rp:twitter-handles>@meredydd</rp:twitter-handles>
        <rp:twitter-title>“Creating a Python Code Completer &amp; More Abstract Syntax Tree Projects” with @meredydd</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>122</itunes:episode>
        <title>Configuring a Coding Environment on Windows &amp; Using TOML With Python</title>
        <itunes:title>Configuring a Coding Environment on Windows &amp; Using TOML With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/122/</link>
        <description>Have you attempted to set up a Python development environment on Windows before? Would it be helpful to have an easy-to-follow guide to get you started? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you attempted to set up a Python development environment on Windows before? Would it be helpful to have an easy-to-follow guide to get you started? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about a Real Python tutorial that covers configuring a Windows coding environment. The guide contains valuable suggestions, best practices, and powerful coding tools. It also covers how to use a package manager, the new Windows Terminal, PowerShell Core, and a program to manage multiple versions of Python.&lt;/p&gt;
&lt;p&gt;Christopher covers another Real Python tutorial about using TOML in Python. TOML is a configuration format for building and distributing your own packages. We discuss how TOML parsing will be added to Python&amp;rsquo;s standard library in version 3.11.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, on topics including technical writing for developers, a news round-up, a farewell to obsolete Python libraries, uncommon uses of Python in commonly used libraries, a prettier &lt;code&gt;ls&lt;/code&gt;, and a project for advanced hot reloading in Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/python-basics-code-bugs/&quot;&gt;Python Basics: Finding and Fixing Code Bugs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this Python Basics video course, you&amp;rsquo;ll learn how to identify and fix logic errors, or bugs, in your Python code. You&amp;rsquo;ll use the built-in debugging tools in Python&amp;rsquo;s Integrated Development and Learning Environment to practice locating and resolving bugs in an example function.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction  &lt;/li&gt;
&lt;li&gt;00:02:13 &amp;ndash; Python 3.10.6 Released&lt;/li&gt;
&lt;li&gt;00:02:41 &amp;ndash; Python 3.11.0rc1 Released &lt;/li&gt;
&lt;li&gt;00:03:13 &amp;ndash; Django 4.1 Released&lt;/li&gt;
&lt;li&gt;00:04:07 &amp;ndash; 10 malicious Python packages exposed in latest repository attack&lt;/li&gt;
&lt;li&gt;00:05:12 &amp;ndash; Protestware: Why Developers Sabotage Their Own Code&lt;/li&gt;
&lt;li&gt;00:06:41 &amp;ndash; Python and TOML: New Best Friends&lt;/li&gt;
&lt;li&gt;00:16:19 &amp;ndash; Say Goodbye to These Obsolete Python Libraries&lt;/li&gt;
&lt;li&gt;00:25:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:26 &amp;ndash; Uncommon Uses of Python in Commonly Used Libraries&lt;/li&gt;
&lt;li&gt;00:37:56 &amp;ndash; Your Python Coding Environment on Windows: Setup Guide&lt;/li&gt;
&lt;li&gt;00:48:20 &amp;ndash; Technical Writing for Developers&lt;/li&gt;
&lt;li&gt;00:55:24 &amp;ndash; reloadium: Advanced Hot Reloading for Python&lt;/li&gt;
&lt;li&gt;00:58:07 &amp;ndash; pls: A Prettier &amp;lsquo;ls&amp;rsquo;&lt;/li&gt;
&lt;li&gt;01:00:56 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3106/&quot;&gt;Python 3.10.6 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3110rc1/&quot;&gt;Python 3.11.0rc1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2022/aug/03/django-41-released/&quot;&gt;Django 4.1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arstechnica.com/information-technology/2022/08/10-malicious-python-packages-exposed-in-latest-repository-attack/&quot;&gt;10 malicious Python packages exposed in latest repository attack | Ars Technica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2022/07/27/protestware-code-sabotage/&quot;&gt;Protestware: Why Developers Sabotage Their Own Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-toml/&quot;&gt;Python and TOML: New Best Friends&lt;/a&gt; &amp;ndash; TOML is a configuration file format that&amp;rsquo;s becoming increasingly popular in the Python community. In this tutorial, you&amp;rsquo;ll learn the syntax of TOML and explore how you can work with TOML files in your own projects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.plainenglish.io/its-time-to-say-goodbye-to-these-obsolete-python-libraries-7c02aa77d84a&quot;&gt;Say Goodbye to These Obsolete Python Libraries&lt;/a&gt; &amp;ndash; It&amp;rsquo;s time to say goodbye to &lt;code&gt;os.path&lt;/code&gt;, &lt;code&gt;random&lt;/code&gt;, &lt;code&gt;pytz&lt;/code&gt;, &lt;code&gt;namedtuple&lt;/code&gt; and many more obsolete Python libraries. Start using the latest and greatest ones instead.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://eugeneyan.com/writing/uncommon-python/&quot;&gt;Uncommon Uses of Python in Commonly Used Libraries&lt;/a&gt; &amp;ndash; To learn more about writing maintainable Python, Eugene has been reading code from some of the more popular Python libraries. This blog post talks about some of the coding patterns he has encountered along the way.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-coding-setup-windows/&quot;&gt;Your Python Coding Environment on Windows: Setup Guide&lt;/a&gt; &amp;ndash; With this opinionated guide to setting up a basic, fully featured, and flexible setup for Python coding and contributing to open-source projects when working from Windows, you&amp;rsquo;ll go from a fresh install to ready to contribute, and even check out a PowerShell script to automate much of the process.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/technical-writing-for-developers/&quot;&gt;Technical Writing for Developers&lt;/a&gt; &amp;ndash; &amp;ldquo;The way we write about and around code is arguably as important as the code itself.&amp;rdquo; This article outlines how programming and writing come together to take your developer skills to the next level.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/reloadware/reloadium&quot;&gt;reloadium: Advanced Hot Reloading for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dhruvkb/pls&quot;&gt;pls: A Prettier &amp;lsquo;ls&amp;rsquo;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python311-tomllib/&quot;&gt;Python 3.11 Preview: TOML and tomllib – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://treyhunner.com/2018/12/why-you-should-be-using-pathlib/&quot;&gt;Why you should be using pathlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://treyhunner.com/2019/01/no-really-pathlib-is-great/&quot;&gt;No really, pathlib is great&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/116/&quot;&gt;Episode #116: Exploring Functional Programming in Python With Bruce Eckel – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/101/&quot;&gt;Episode #101: Tools for Setting Up Python on a New Machine – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dhruvkb.github.io/pls/&quot;&gt;pls: Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-code-bugs/&quot;&gt;Python Basics: Finding and Fixing Code Bugs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/practical-recipes-files/&quot;&gt;Practical Recipes for Working With Files in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E122_Cx2.c2aa7d5c8ae3.mp3" type="audio/mpeg" length="60273597"/>
        <guid isPermaLink="false">ae9371ad-eafc-4b79-96b1-1812151c60e9</guid>
        <pubDate>Fri, 19 Aug 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3704</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_122_Podcast_V3.75d34ba64bc1.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Configuring a Coding Environment on Windows &amp; Using TOML With Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>121</itunes:episode>
        <title>Moving NLP Forward With Transformer Models and Attention</title>
        <itunes:title>Moving NLP Forward With Transformer Models and Attention</itunes:title>
        <link>https://realpython.com/podcasts/rpp/121/</link>
        <description>What&#x27;s the big breakthrough for Natural Language Processing (NLP) that has dramatically advanced machine learning into deep learning? What makes these transformer models unique, and what defines &quot;attention?&quot; This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, continues our talk about how machine learning (ML) models understand and generate text.</description>
        <content:encoded>&lt;p&gt;What&amp;rsquo;s the big breakthrough for Natural Language Processing (NLP) that has dramatically advanced machine learning into deep learning? What makes these transformer models unique, and what defines &amp;ldquo;attention?&amp;rdquo; This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, continues our talk about how machine learning (ML) models understand and generate text.&lt;/p&gt;
&lt;p&gt;This episode is a continuation of the conversation in episode #119. Jodie builds on the concepts of bag-of-words, word2vec, and simple embedding models. We talk about the breakthrough mechanism called &amp;ldquo;attention,&amp;rdquo; which allows for parallelization in building models. &lt;/p&gt;
&lt;p&gt;We also discuss the two major transformer models, BERT and GPT3. Jodie continues to share multiple resources to help you continue exploring modeling and NLP with Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/build-neural-network-python-ai/&quot;&gt;Building a Neural Network &amp;amp; Making Predictions With Python AI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll build a neural network from scratch as an introduction to the world of artificial intelligence (AI) in Python. You&amp;rsquo;ll learn how to train your neural network and make predictions based on a given dataset.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:20 &amp;ndash; Where we left off with word2vec&amp;hellip;&lt;/li&gt;
&lt;li&gt;00:03:35 &amp;ndash; Example of losing context&lt;/li&gt;
&lt;li&gt;00:06:50 &amp;ndash; Working at scale and adding attention&lt;/li&gt;
&lt;li&gt;00:12:34 &amp;ndash; Multiple levels of training for the model &lt;/li&gt;
&lt;li&gt;00:14:10 &amp;ndash; Attention is the basis for transformer models&lt;/li&gt;
&lt;li&gt;00:15:07 &amp;ndash; BERT (Bidirectional Encoder Representations from Transformers)&lt;/li&gt;
&lt;li&gt;00:16:29 &amp;ndash; GPT (Generative Pre-trained Transformer)&lt;/li&gt;
&lt;li&gt;00:19:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:20:08 &amp;ndash; How far have we moved forward?&lt;/li&gt;
&lt;li&gt;00:20:41 &amp;ndash; Access to GPT-2 via Hugging Face&lt;/li&gt;
&lt;li&gt;00:23:56 &amp;ndash; How to access and use these models?&lt;/li&gt;
&lt;li&gt;00:30:42 &amp;ndash; Cost of training GPT-3&lt;/li&gt;
&lt;li&gt;00:35:01 &amp;ndash; Resources to practice and learn with BERT&lt;/li&gt;
&lt;li&gt;00:38:19 &amp;ndash; GPT-3 and GitHub Copilot&lt;/li&gt;
&lt;li&gt;00:44:35 &amp;ndash; DALL-E is a transformer&lt;/li&gt;
&lt;li&gt;00:46:13 &amp;ndash; Help yourself to the show notes!&lt;/li&gt;
&lt;li&gt;00:49:19 &amp;ndash; How can people follow your work?&lt;/li&gt;
&lt;li&gt;00:50:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Recurrent_neural_network&quot;&gt;Recurrent neural network - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Long_short-term_memory&quot;&gt;Long short-term memory - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Vanishing_gradient_problem&quot;&gt;Vanishing gradient problem - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mygreatlearning.com/blog/the-vanishing-gradient-problem/&quot;&gt;Vanishing Gradient Problem | What is Vanishing Gradient Problem?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/1706.03762&quot;&gt;Attention Is All You Need | Cornell University&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/&quot;&gt;Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention) – Jay Alammar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arxiv.org/abs/2204.10019&quot;&gt;Standing on the Shoulders of Giant Frozen Language Models | Cornell University&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=NKAK8ttzd6Q&quot;&gt;#datalift22 Embeddings paradigm shift: Model training to vector similarity search by Nava Levy - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=TQQlZhbC5ps&amp;amp;list=LL&amp;amp;index=4&quot;&gt;Transformer Neural Networks - EXPLAINED! (Attention is all you need) - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/blog/bert-101&quot;&gt;BERT 101 - State Of The Art NLP Model Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=MQnJZuBGmSQ&quot;&gt;How GPT3 Works - Easily Explained with Animations - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://transformer.huggingface.co/doc/gpt2-large&quot;&gt;Write With Transformer (GPT2 Live Playground Tool) - Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opt.alpa.ai/&quot;&gt;Language Model with Alpa (GPT3 Live Playground Tool) OPT-175B&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bigdata.fm/&quot;&gt;Big Data | Music&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beta.openai.com/playground&quot;&gt;OpenAI API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/docs/transformers/notebooks&quot;&gt;🤗 (Hugging Face)Transformers Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/github-copilot-python/&quot;&gt;GitHub Copilot: Fly With Python at the Speed of Thought&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/sotak/status/1546452033816985601&quot;&gt;GitHub Copilot learned about the daily struggle of JavaScript developers after being trained on billions of lines of code. | Marek Sotak on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t-redactyl.io/&quot;&gt;Jodie Burchell&amp;rsquo;s Blog - Standard error&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/build-neural-network-python-ai/&quot;&gt;Building a Neural Network &amp;amp; Making Predictions With Python AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E121_Jodie.c8f1a95de5d0.mp3" type="audio/mpeg" length="49787574"/>
        <guid isPermaLink="false">2d26f809-e2fe-4adc-a9de-dbbf39e6d872</guid>
        <pubDate>Fri, 12 Aug 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3047</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_121_Podcast.557907bc89f4.jpg"/>
        <rp:twitter-handles>@t_redactyl</rp:twitter-handles>
        <rp:twitter-title>“Moving NLP Forward With Transformer Models and Attention” with @t_redactyl</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>120</itunes:episode>
        <title>Inspiring Young People to Learn Python With Mission Encodeable</title>
        <itunes:title>Inspiring Young People to Learn Python With Mission Encodeable</itunes:title>
        <link>https://realpython.com/podcasts/rpp/120/</link>
        <description>Is there someone in your life you&#x27;d like to inspire to learn Python? Mission Encodeable is a website designed to teach people to code, built by two high-school students. This week on the show, Anna and Harry Wake talk about creating their site and motivating people to start coding.</description>
        <content:encoded>&lt;p&gt;Is there someone in your life you&amp;rsquo;d like to inspire to learn Python? Mission Encodeable is a website designed to teach people to code, built by two high-school students. This week on the show, Anna and Harry Wake talk about creating their site and motivating people to start coding.&lt;/p&gt;
&lt;p&gt;We discuss why they decided to build the site. Anna and Harry initially felt that the site would be for other students but soon realized it could be helpful for anyone interested in starting to code in Python. We cover the project-based approach and how they implemented the interactive browser-based tool replit.com.&lt;/p&gt;
&lt;p&gt;We talk about learning Python in the classroom and how they found additional books and tutorials to supplement their coding education. Anna and Harry also created a resource hub to help teachers take advantage of the site.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-rock-paper-scissors-game/&quot;&gt;Rock, Paper, Scissors With Python: A Command Line Game&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn to program rock paper scissors in Python from scratch. You&amp;rsquo;ll learn how to take in user input, make the computer choose a random action, determine a winner, and split your code into functions. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:17 &amp;ndash; Personal backgrounds&lt;/li&gt;
&lt;li&gt;00:02:51 &amp;ndash; What&amp;rsquo;s the goal for the site?&lt;/li&gt;
&lt;li&gt;00:03:54 &amp;ndash; How did you come up with the idea?&lt;/li&gt;
&lt;li&gt;00:05:08 &amp;ndash; Where have you shared it?&lt;/li&gt;
&lt;li&gt;00:06:39 &amp;ndash; Projects for each level&lt;/li&gt;
&lt;li&gt;00:09:28 &amp;ndash; How has the response been?&lt;/li&gt;
&lt;li&gt;00:10:10 &amp;ndash; Using replit&lt;/li&gt;
&lt;li&gt;00:12:56 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:13:37 &amp;ndash; Design of the site and other tools to create it&lt;/li&gt;
&lt;li&gt;00:15:49 &amp;ndash; Learning Python and classes at school&lt;/li&gt;
&lt;li&gt;00:17:41 &amp;ndash; Did remote school inspire more online exploration? &lt;/li&gt;
&lt;li&gt;00:19:16 &amp;ndash; Myths of how kids learn programming&lt;/li&gt;
&lt;li&gt;00:23:32 &amp;ndash; More about projects&lt;/li&gt;
&lt;li&gt;00:27:57 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:27 &amp;ndash; What other areas of Python do you want to explore?&lt;/li&gt;
&lt;li&gt;00:33:08 &amp;ndash; Teachers using the site&lt;/li&gt;
&lt;li&gt;00:37:11 &amp;ndash; What other resources have you used to learn Python?&lt;/li&gt;
&lt;li&gt;00:38:52 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:40:01 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:42:06 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://missionencodeable.com/&quot;&gt;Mission Encodeable | Free coding tutorials for young people&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://replit.com/&quot;&gt;Replit - The collaborative browser based IDE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-rock-paper-scissors/&quot;&gt;Make Your First Python Game: Rock, Paper, Scissors! – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.figma.com/&quot;&gt;Figma: the collaborative interface design tool.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://reactjs.org/&quot;&gt;React – A JavaScript library for building user interfaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://turtleappstore.com/book/&quot;&gt;Coding with Minecraft - Al Sweigart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/recursive-book-recursion&quot;&gt;The Recursive Book of Recursion - Al Sweigart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.codewars.com/&quot;&gt;Codewars - Achieve mastery through coding practice and developer mentorship&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adventofcode.com/&quot;&gt;Advent of Code 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python3-object-oriented-programming/&quot;&gt;Object-Oriented Programming (OOP) in Python 3 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://api.arcade.academy/en/latest/&quot;&gt;Python Arcade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=uXj-6WQ8s2U&quot;&gt;Craig&amp;rsquo;n&amp;rsquo;Dave &amp;ldquo;Unscripted&amp;rdquo; - Mission Encodeable - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://helloworld.raspberrypi.org/issues/19&quot;&gt;Hello World issue 19 — Hello World&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learningdust.libsyn.com/learningdust-315-anna-harry-wake?tdest_id=1928864&quot;&gt;LearningDust: LearningDust 3.15 - Anna &amp;amp; Harry Wake&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm/93&quot;&gt;Teaching Python Episode 93: Mission Encodeable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/missionencode&quot;&gt;Mission Encodeable (@missionencode) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rock-paper-scissors-game/&quot;&gt;Rock, Paper, Scissors With Python: A Command Line Game&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E120_Anna_and_Harry.c807fe4a44d0.mp3" type="audio/mpeg" length="42374419"/>
        <guid isPermaLink="false">9a7ca0ae-ad3d-434d-b156-f4bdeedbb660</guid>
        <pubDate>Fri, 05 Aug 2022 12:00:00 +0000</pubDate>
        <itunes:duration>2590</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_120_Podcast.ac6458cb08bf.jpg"/>
        <rp:twitter-handles>@missionencode, @missionencode</rp:twitter-handles>
        <rp:twitter-title>“Inspiring Young People to Learn Python With Mission Encodeable” with @missionencode, @missionencode</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>119</itunes:episode>
        <title>Natural Language Processing and How ML Models Understand Text</title>
        <itunes:title>Natural Language Processing and How ML Models Understand Text</itunes:title>
        <link>https://realpython.com/podcasts/rpp/119/</link>
        <description>How do you process and classify text documents in Python? What are the fundamental techniques and building blocks for Natural Language Processing (NLP)? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, talks about how machine learning (ML) models understand text.</description>
        <content:encoded>&lt;p&gt;How do you process and classify text documents in Python? What are the fundamental techniques and building blocks for Natural Language Processing (NLP)? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, talks about how machine learning (ML) models understand text.&lt;/p&gt;
&lt;p&gt;Jodie explains how ML models require data in a structured format, which involves transforming text documents into columns and rows. She covers the most straightforward approach, called binary vectorization. We discuss the bag-of-words method and the tools of stemming, lemmatization, and count vectorization.&lt;/p&gt;
&lt;p&gt;We jump into word embedding models next. Jodie talks about WordNet, Natural Language Toolkit (NLTK), word2vec, and Gensim. Our conversation lays a foundation for starting with text classification, implementing sentiment analysis, and building projects using these tools. Jodie also shares multiple resources to help you continue exploring NLP and modeling.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;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&amp;rsquo;ll see how you can use pretrained word embeddings, and you&amp;rsquo;ll squeeze more performance out of your model through hyperparameter optimization.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:47 &amp;ndash; Exploring the topic&lt;/li&gt;
&lt;li&gt;00:06:00 &amp;ndash; Perceived sentience of LaMDA &lt;/li&gt;
&lt;li&gt;00:10:24 &amp;ndash; How do we get started?&lt;/li&gt;
&lt;li&gt;00:11:16 &amp;ndash; What are classification and sentiment analysis?&lt;/li&gt;
&lt;li&gt;00:13:03 &amp;ndash; Transforming text in rows and columns&lt;/li&gt;
&lt;li&gt;00:14:47 &amp;ndash; Sponsor: Snyk&lt;/li&gt;
&lt;li&gt;00:15:27 &amp;ndash; Bag-of-words approach&lt;/li&gt;
&lt;li&gt;00:19:12 &amp;ndash; Stemming and lemmatization&lt;/li&gt;
&lt;li&gt;00:22:05 &amp;ndash; Capturing N-grams&lt;/li&gt;
&lt;li&gt;00:25:34 &amp;ndash; Count vectorization&lt;/li&gt;
&lt;li&gt;00:27:14 &amp;ndash; Stop words&lt;/li&gt;
&lt;li&gt;00:28:46 &amp;ndash; Text Frequency / Inverse Document Frequency (TFIDF) vectorization&lt;/li&gt;
&lt;li&gt;00:32:28 &amp;ndash; Potential projects for bag-of-words techniques&lt;/li&gt;
&lt;li&gt;00:34:07 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:20 &amp;ndash; WordNet and NLTK package&lt;/li&gt;
&lt;li&gt;00:37:27 &amp;ndash; Word embeddings and word2vec&lt;/li&gt;
&lt;li&gt;00:45:30 &amp;ndash; Previous training and too many dimensions&lt;/li&gt;
&lt;li&gt;00:50:07 &amp;ndash; How to use word2vec and Gensim?&lt;/li&gt;
&lt;li&gt;00:51:26 &amp;ndash; What types of projects for word2vec and Gensim?&lt;/li&gt;
&lt;li&gt;00:54:41 &amp;ndash; Getting into GPT and BERT in another episode&lt;/li&gt;
&lt;li&gt;00:56:11 &amp;ndash; How to follow Jodie&amp;rsquo;s work?&lt;/li&gt;
&lt;li&gt;00:57:36 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://slate.com/technology/2022/06/google-ai-sentience-lamda.html&quot;&gt;Why Google&amp;rsquo;s &amp;ldquo;sentient&amp;rdquo; AI LaMDA is nothing like a person.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@emilymenonbender/on-nyt-magazine-on-ai-resist-the-urge-to-be-impressed-3d92fd9a0edd&quot;&gt;On NYT Magazine on AI: Resist the Urge to be Impressed | Emily M. Bender | Medium&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/ELIZA&quot;&gt;ELIZA - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dhconnelly.com/paip-python/docs/paip/eliza.html&quot;&gt;eliza.py - Python 2 version by Daniel Connelly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dabraude/Pyliza&quot;&gt;dabraude/Pyliza: Python3 Implementation of Eliza&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://magneticpoetry.com/&quot;&gt;magneticpoetry.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/nltk-nlp-python/&quot;&gt;Natural Language Processing With Python&amp;rsquo;s NLTK Package – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-keras-text-classification/&quot;&gt;Practical Text Classification With Python and Keras – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-nltk-sentiment-analysis/&quot;&gt;Sentiment Analysis: First Steps With Python&amp;rsquo;s NLTK Library – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nltk.org/&quot;&gt;NLTK: Natural Language Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spacy.io/&quot;&gt;spaCy · Industrial-strength Natural Language Processing in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/natural-language-processing-spacy-python/&quot;&gt;Natural Language Processing With spaCy in Python - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Stemming&quot;&gt;Stemming - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Lemmatisation&quot;&gt;Lemmatization - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html&quot;&gt;Binary/Count Vectorization:  sklearn.feature_extraction.text.CountVectorizer— scikit-learn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html&quot;&gt;TFIDF: sklearn.feature_extraction.text.TfidfVectorizer — scikit-learn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nltk.org/api/nltk.stem.porter.html&quot;&gt;Porter Stemmer: nltk.stem.porter module — NLTK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nltk.org/api/nltk.stem.snowball.html&quot;&gt;Snowball Stemmer: nltk.stem.snowball module — NLTK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nltk.org/api/nltk.stem.wordnet.html&quot;&gt;WordNet Lemmatizer: nltk.stem.wordnet module — NLTK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spacy.io/api/lemmatizer&quot;&gt;Lemmatizer · spaCy API Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elvinouyang.github.io/project/reuters-w2v-bow-get-started/&quot;&gt;Applying Bag of Words and Word2Vec models on Reuters-21578 Dataset Elvin Ouyang&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://archive.ics.uci.edu/ml/datasets/Reuters-21578+Text+Categorization+Collection&quot;&gt;UCI Machine Learning Repository: Reuters-21578 Text Categorization Collection Data Set&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jalammar.github.io/illustrated-word2vec/&quot;&gt;The Illustrated Word2vec – Jay Alammar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://analyticsindiamag.com/a-complete-guide-to-using-wordnet-in-nlp-applications/&quot;&gt;A Complete Guide to Using WordNET in NLP Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://radimrehurek.com/gensim/&quot;&gt;Gensim: Topic modeling for humans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://radimrehurek.com/gensim/auto_examples/index.html#tutorials-learning-oriented-lessons&quot;&gt;Core Tutorials — gensim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kaggle.com/datasets&quot;&gt;Find Open Datasets and Machine Learning Projects | Kaggle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Xvg61XFkwoU&quot;&gt;Engineering All Hands: Vectorise all the things! - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2022.pycon.pt/&quot;&gt;PyCon Portugal 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ndcoslo.com/&quot;&gt;NDC Oslo 2022 | Conference for Software Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t-redactyl.io/&quot;&gt;Jodie Burchell&amp;rsquo;s Blog - Standard error&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/t_redactyl&quot;&gt;Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/&quot;&gt;JetBrains: Essential tools for software developers and teams&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-writing-files-pandas/&quot;&gt;Reading and Writing Files With pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E119_Jodie2.96d06505cd3a.mp3" type="audio/mpeg" length="57494703"/>
        <guid isPermaLink="false">5df57bb3-a8f2-4b47-955a-568c672c5557</guid>
        <pubDate>Fri, 29 Jul 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3529</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_119_Podcast.b11f1dab9390.jpg"/>
        <rp:twitter-handles>@t_redactyl</rp:twitter-handles>
        <rp:twitter-title>“Natural Language Processing and How ML Models Understand Text” with @t_redactyl</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>118</itunes:episode>
        <title>Creating Documentation With MkDocs &amp; When to Use a Python dict</title>
        <itunes:title>Creating Documentation With MkDocs &amp; When to Use a Python dict</itunes:title>
        <link>https://realpython.com/podcasts/rpp/118/</link>
        <description>How do you start building your project documentation? What if you had a tool that could do the heavy lifting and automatically write large portions directly from your code? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you start building your project documentation? What if you had a tool that could do the heavy lifting and automatically write large portions directly from your code? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about a Real Python step-by-step project from Martin Breuss about MkDocs. The project walks you through generating nice-looking and modern documentation from Markdown files and your existing code&amp;rsquo;s docstrings. The final step is to deploy your freshly generated documentation to a GitHub repository.&lt;/p&gt;
&lt;p&gt;Christopher talks about a pair of articles arguing for and against using Python dictionaries. The first article, &amp;ldquo;Just Use Dictionaries,&amp;rdquo; pushes to keep things simple, while the second article, &amp;ldquo;Don&amp;rsquo;t Let Dicts Spoil Your Code,&amp;rdquo; contends that complex projects require something more specific.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including discussing the recent beta release of Python 3.11, 2FA for PyPI, procedural music composition with arvo, building a tic-tac-toe game with Python and Tkinter, common issues encountered while coding in Python, a type-safe library to generate SVG files, and a lightweight static analysis tool for your projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/dicts-arrays-ideal-data-structure/&quot;&gt;Dictionaries and Arrays: Selecting the Ideal Data Structure&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about two of Python&amp;rsquo;s data structures: dictionaries and arrays. You&amp;rsquo;ll look at multiple types and classes for both of these and learn which implementations are best for your specific use cases.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:39 &amp;ndash; Python 3.11 Release May Be Delayed&lt;/li&gt;
&lt;li&gt;00:03:39 &amp;ndash; The cursed release of Python 3.11.0b4 is now available&lt;/li&gt;
&lt;li&gt;00:05:01 &amp;ndash; PyPI 2FA Security Key Giveaway&lt;/li&gt;
&lt;li&gt;00:08:01 &amp;ndash; Build Your Python Project Documentation With MkDocs&lt;/li&gt;
&lt;li&gt;00:14:12 &amp;ndash; Don&amp;rsquo;t Let Dicts Spoil Your Code&lt;/li&gt;
&lt;li&gt;00:16:22 &amp;ndash; Just Use Dictionaries&lt;/li&gt;
&lt;li&gt;00:20:12 &amp;ndash; Sponsor: Snyk.io &lt;/li&gt;
&lt;li&gt;00:20:51 &amp;ndash; Procedural Music Composition With arvo&lt;/li&gt;
&lt;li&gt;00:29:10 &amp;ndash; Build a Tic-Tac-Toe Game With Python and Tkinter&lt;/li&gt;
&lt;li&gt;00:33:59 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:35 &amp;ndash; Most Common Issue You Have Coding With Python?&lt;/li&gt;
&lt;li&gt;00:45:00 &amp;ndash; svg.py: Type-Safe Library to Generate SVG Files&lt;/li&gt;
&lt;li&gt;00:48:27 &amp;ndash; semgrep: Lightweight Static Analysis for Many Languages&lt;/li&gt;
&lt;li&gt;00:53:46 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mail.python.org/archives/list/python-dev@python.org/thread/3JWVCSBPBFWY5ZWSJ7RYB6FS5NIMCEOY/&quot;&gt;Python 3.11 Release May Be Delayed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/the-cursed-release-of-python-3-11-0b4-is-now-available/17274&quot;&gt;The cursed release of Python 3.11.0b4 is now available - Python.org&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pypi/status/1545455297388584960&quot;&gt;&amp;ldquo;We&amp;rsquo;ve begun rolling out a 2FA requirement&amp;rdquo;: PyPI on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/security-key-giveaway/&quot;&gt;PyPI 2FA Security Key Giveaway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-project-documentation-with-mkdocs/&quot;&gt;Build Your Python Project Documentation With MkDocs&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to build professional documentation for a Python package using MkDocs and mkdocstrings. These tools allow you to generate nice-looking and modern documentation from Markdown files and, more importantly, from your code&amp;rsquo;s docstrings.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://roman.pt/posts/dont-let-dicts-spoil-your-code/&quot;&gt;Don&amp;rsquo;t Let Dicts Spoil Your Code&lt;/a&gt; &amp;ndash; The &lt;code&gt;dict&lt;/code&gt; is the go-to data structure for Python programmers, but its loose relationship to the data can be problematic in large data streams. Learn more about why and when you might choose a different data structure.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://davidvujic.blogspot.com/2022/07/just-use-dictionaries.html&quot;&gt;Just Use Dictionaries&lt;/a&gt; &amp;ndash; Using simple data structures is an important part of keeping it simple, and Python is all about simplicity. Less code means fewer problems. Just use dictionaries. You probably don&amp;rsquo;t need classes.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://deepnote.com/@essia/Procedural-music-composition-with-arvo-9b35ebd7-63e0-47bc-a3d5-c503954a083d&quot;&gt;Procedural Music Composition With arvo&lt;/a&gt; &amp;ndash; By using the &lt;code&gt;music21&lt;/code&gt; and &lt;code&gt;avro&lt;/code&gt; libraries, you can create musical scores programmatically. This article runs you through which libraries you need and how you can compose your own music.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/tic-tac-toe-python/&quot;&gt;Build a Tic-Tac-Toe Game With Python and Tkinter&lt;/a&gt; &amp;ndash; In this step-by-step project, you&amp;rsquo;ll learn how to create a tic-tac-toe game using Python and the Tkinter GUI framework. Tkinter is cross-platform and is available in the Python standard library. Creating a game in Python is a great and fun way to learn something new and exciting!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/__mharrison__/status/1537164071912497160&quot;&gt;Most Common Issue You Have Coding With Python?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/orsinium-labs/svg.py&quot;&gt;svg.py: Type-Safe Library to Generate SVG Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/returntocorp/semgrep&quot;&gt;semgrep: Lightweight Static Analysis for Many Languages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.trailofbits.com/2019/06/20/getting-2fa-right-in-2019/&quot;&gt;Getting 2FA Right in 2019 | Trail of Bits Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring&quot;&gt;autoDocstring - Python Docstring Generator - Visual Studio Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings&quot;&gt;styleguide | Style guides for Google-originated open-source projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html#the-sphinx-docstring-format&quot;&gt;Writing docstrings — Sphinx-RTD-Tutorial documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://django-ninja.rest-framework.com/&quot;&gt;Django Ninja&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/georgesdimitrov/arvo&quot;&gt;arvo: Python library for procedural music composition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=qxB7r4hnEL8&quot;&gt;Getting Started with arvo: a Procedural Music Composition Library - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.mit.edu/music21/&quot;&gt;music21: a Toolkit for Computer-Aided Musicology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cuthbertLab/music21&quot;&gt;music21: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://musescore.org/en&quot;&gt;Free music composition and notation software | MuseScore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.w3.org/2021/06/musicxml40/tutorial/code-generation/&quot;&gt;Code Generation | MusicXML 4.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-tkinter/&quot;&gt;Python GUI Programming With Tkinter – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tcl.tk/&quot;&gt;Tcl Developer Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/tkinter.html&quot;&gt;tkinter — Python interface to Tcl/Tk — Python 3.10.5 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dumistoklus/svg-xsd-schema&quot;&gt;svg-xsd-schema: XSD schema for SVG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/SVG&quot;&gt;SVG: Scalable Vector Graphics | MDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/records-sets-ideal-data-structure/&quot;&gt;Records and Sets: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/dicts-arrays-ideal-data-structure/&quot;&gt;Dictionaries and Arrays: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E118_Cx2.1cb938dbabb4.mp3" type="audio/mpeg" length="53609004"/>
        <guid isPermaLink="false">45eaf04b-d025-4795-b69d-51c72350187d</guid>
        <pubDate>Fri, 22 Jul 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3285</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_118_Podcast.d32fe55f46fa.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Creating Documentation With MkDocs &amp; When to Use a Python dict”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>117</itunes:episode>
        <title>Measuring Python Code Quality, Simplicity, and Maintainability</title>
        <itunes:title>Measuring Python Code Quality, Simplicity, and Maintainability</itunes:title>
        <link>https://realpython.com/podcasts/rpp/117/</link>
        <description>How maintainable is your Python code? Is it possible to hold the code for your functions in your head? When is it appropriate to use measurements in a code review? This week on the show, Reka Horvath and Ben Martineau from Sourcery are here to discuss their recent PyCon talk, &quot;Actionable insights vs ranking: How to use and how NOT to use code quality metrics.&quot;</description>
        <content:encoded>&lt;p&gt;How maintainable is your Python code? Is it possible to hold the code for your functions in your head? When is it appropriate to use measurements in a code review? This week on the show, Reka Horvath and Ben Martineau from Sourcery are here to discuss their recent PyCon talk, &amp;ldquo;Actionable insights vs ranking: How to use and how NOT to use code quality metrics.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Reka and Ben share their thoughts on how metrics can provide insights into your Python code. We discuss four measurements of code complexity and what factors into each.&lt;/p&gt;
&lt;p&gt;We also talk about deciding whether to refactor or rewrite code. Ben and Reka share their experience in code review situations and the importance of shifting the conversation from subjective opinions toward objective measurements.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/writing-idiomatic-python/&quot;&gt;Writing Idiomatic Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What are the programming idioms unique to Python? This course is a short overview for people coming from other languages and an introduction for beginners to the idiomatic practices within Python. You&amp;rsquo;ll cover truth values, looping, DRY principles, and the Zen of Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:54 &amp;ndash; Reka&amp;rsquo;s tutorials on Real Python&lt;/li&gt;
&lt;li&gt;00:02:45 &amp;ndash; PyCon US 2022 Talk &lt;/li&gt;
&lt;li&gt;00:06:01 &amp;ndash; Code reviews and metrics&lt;/li&gt;
&lt;li&gt;00:09:42 &amp;ndash; Trying to make things more objective&lt;/li&gt;
&lt;li&gt;00:13:24 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:14:07 &amp;ndash; Measuring WTFs/min and magical code&lt;/li&gt;
&lt;li&gt;00:16:39 &amp;ndash; Pythonic, idiomatic, and clean code&lt;/li&gt;
&lt;li&gt;00:21:17 &amp;ndash; Sourcery.ai and refactoring&lt;/li&gt;
&lt;li&gt;00:24:04 &amp;ndash; Four metrics to measure&lt;/li&gt;
&lt;li&gt;00:24:56 &amp;ndash; Function length&lt;/li&gt;
&lt;li&gt;00:30:05 &amp;ndash; Cyclomatic complexity&lt;/li&gt;
&lt;li&gt;00:36:49 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:38:21 &amp;ndash; Cognitive complexity&lt;/li&gt;
&lt;li&gt;00:44:38 &amp;ndash; Working memory&lt;/li&gt;
&lt;li&gt;00:51:49 &amp;ndash; Suggestions on how to use the metrics&lt;/li&gt;
&lt;li&gt;00:58:34 &amp;ndash; Generating measurements&lt;/li&gt;
&lt;li&gt;01:01:36 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:03:30 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:05:31 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sourcery.ai/&quot;&gt;Sourcery | Automatically Improve Python Code Quality&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sourcery.ai/blog/working-memory/&quot;&gt;Can you fit all of this code in your head?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=N_hgD1eA7ks&quot;&gt;Talk - Reka/Ben: Actionable insights vs ranking How to use and how NOT to use code quality metrics - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pandas-python-explore-dataset/&quot;&gt;Using Pandas and Python to Explore Your Dataset – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://refactoring.com/&quot;&gt;Refactoring - Martin Fowler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osnews.com/story/19266/wtfsm/&quot;&gt;WTFs/m – OSnews&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.codinghorror.com/whos-your-coding-buddy/&quot;&gt;Who&amp;rsquo;s Your Coding Buddy?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Principle_of_least_astonishment&quot;&gt;Principle of least astonishment - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=dqdsNoApJ80&quot;&gt;Anthony Shaw - Wily Python: Writing simpler and more maintainable Python - PyCon 2019 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-refactoring/&quot;&gt;Refactoring Python Applications for Simplicity – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Cyclomatic_complexity&quot;&gt;Cyclomatic complexity - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sonarsource.com/docs/CognitiveComplexity.pdf&quot;&gt;Cognitive Complexity: A new way of measuring understandability - SonarSource&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two&quot;&gt;The Magical Number Seven, Plus or Minus Two - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/wily/&quot;&gt;wily · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sourcery-ai/sourcery-analytics&quot;&gt;sourcery-analytics: A command line tool and library for statically analyzing Python code quality.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882&quot;&gt;Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/tutorial/errors.html&quot;&gt;Errors and Exceptions — Python 3.10.5 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://benhmartineau.medium.com/&quot;&gt;Ben Martineau – Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sourcery.ai/blog/&quot;&gt;Sourcery | Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=rmHDhAohJlQ&quot;&gt;The Prodigy - &amp;lsquo;Breathe&amp;rsquo; - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-vs-javascript-for-python-devs/&quot;&gt;Python vs JavaScript for Python Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-idiomatic-python/&quot;&gt;Writing Idiomatic Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E117_Reka_Ben_V2.9d5e337e37bb.mp3" type="audio/mpeg" length="64828724"/>
        <guid isPermaLink="false">b8b3402e-e258-4872-b3ae-08996f648fa9</guid>
        <pubDate>Fri, 15 Jul 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3992</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_117_Podcast.b946e4ba75fb.jpg"/>
        <rp:twitter-handles>@SourceryAI</rp:twitter-handles>
        <rp:twitter-title>“Measuring Python Code Quality, Simplicity, and Maintainability” with @SourceryAI</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>116</itunes:episode>
        <title>Exploring Functional Programming in Python With Bruce Eckel</title>
        <itunes:title>Exploring Functional Programming in Python With Bruce Eckel</itunes:title>
        <link>https://realpython.com/podcasts/rpp/116/</link>
        <description>Would you like to explore the functional programming side of Python? What are the advantages of this approach, and what tools are built into the language? This week on the show, author Bruce Eckel talks about functional programming in Python.</description>
        <content:encoded>&lt;p&gt;Would you like to explore the functional programming side of Python? What are the advantages of this approach, and what tools are built into the language? This week on the show, author Bruce Eckel talks about functional programming in Python.&lt;/p&gt;
&lt;p&gt;Bruce is the author of several programming books, including &lt;em&gt;Thinking in Java&lt;/em&gt;, &lt;em&gt;Thinking in C++&lt;/em&gt;, &lt;em&gt;Thinking in Python&lt;/em&gt;, &lt;em&gt;Atomic Scala&lt;/em&gt;, and most recently, &lt;em&gt;Atomic Kotlin&lt;/em&gt;. He&amp;rsquo;s been an explorer of programming languages over his career. Functional programming&amp;mdash;with its lack of side effects, its transparency, and its potential for parallelization&amp;mdash;has recently caught Bruce&amp;rsquo;s attention. &lt;/p&gt;
&lt;p&gt;Bruce&amp;rsquo;s talk &amp;ldquo;Making Data Classes Work for You&amp;rdquo; at PyCon US 2022 explored the idea of the invariance of objects. &lt;/p&gt;
&lt;p&gt;We also discuss his next book project, the Python community, and his affection for &amp;ldquo;un-conferences&amp;rdquo;. Bruce is hosting the upcoming Summer Tech Forum in Crested Butte, Colorado, this August.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-data-classes/&quot;&gt;Using Data Classes in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Data classes were introduced in Python 3.7. When using data classes, you don&amp;rsquo;t have to write boilerplate code to get proper initialization, representation, and comparisons for your objects.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:15 &amp;ndash; Musicians as programmers&lt;/li&gt;
&lt;li&gt;00:03:40 &amp;ndash; Happy Path Programming Podcast&lt;/li&gt;
&lt;li&gt;00:04:19 &amp;ndash; The essence of functional programming&lt;/li&gt;
&lt;li&gt;00:10:55 &amp;ndash; Making Data Classes Work for You - PyCon US 2022 talk&lt;/li&gt;
&lt;li&gt;00:15:14 &amp;ndash; What are things that have drawn you to Python?&lt;/li&gt;
&lt;li&gt;00:17:39 &amp;ndash; More than just a scripting language&lt;/li&gt;
&lt;li&gt;00:21:35 &amp;ndash; Consulting with companies&lt;/li&gt;
&lt;li&gt;00:23:40 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:25:04 &amp;ndash; The frozen flag in a data class and &lt;code&gt;__post_init__&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:29:02 &amp;ndash; Invariance and functional programming&lt;/li&gt;
&lt;li&gt;00:31:02 &amp;ndash; How do you see it changing your programming?&lt;/li&gt;
&lt;li&gt;00:34:49 &amp;ndash; Not forcing an &amp;ldquo;approach&amp;rdquo; to Python&lt;/li&gt;
&lt;li&gt;00:38:46 &amp;ndash; Writing style in programming and books&lt;/li&gt;
&lt;li&gt;00:42:31 &amp;ndash; Who has been the intended audience for your books?&lt;/li&gt;
&lt;li&gt;00:45:26 &amp;ndash; Educational debt&lt;/li&gt;
&lt;li&gt;00:46:50 &amp;ndash; Python&amp;rsquo;s community&lt;/li&gt;
&lt;li&gt;00:51:03 &amp;ndash; New book about concurrency&lt;/li&gt;
&lt;li&gt;01:00:51 &amp;ndash; Winter and Summer Tech Forums&lt;/li&gt;
&lt;li&gt;01:07:23 &amp;ndash; Conference precautions and safety&lt;/li&gt;
&lt;li&gt;01:08:51 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:11:40 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:12:23 &amp;ndash; How can people follow the things you do?&lt;/li&gt;
&lt;li&gt;01:13:13 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bruceeckel.com/&quot;&gt;Computing Thoughts - Bruce Eckel&amp;rsquo;s Programming Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mindviewllc.com/&quot;&gt;MindView Exceptional Learning Experiences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anchor.fm/happypathprogramming&quot;&gt;Happy Path Programming • A podcast on Anchor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=w77Kjs5dEko&quot;&gt;Bruce Eckel: Making Data Classes Work for You - PyCon US 2022 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-classes/#immutable-data-classes&quot;&gt;Data Classes in Python 3.7+ (Guide) – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-functional-programming/&quot;&gt;Functional Programming in Python: When and How to Use It – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Function_composition_(computer_science)&quot;&gt;Function composition (computer science) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Monad_(functional_programming)&quot;&gt;Monad (functional programming) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Smalltalk&quot;&gt;Smalltalk - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/C%2B%2B#Criticism&quot;&gt;C++ - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Java_(programming_language)&quot;&gt;Java (programming language) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Object-oriented_programming&quot;&gt;Object-oriented programming - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.atomickotlin.com/&quot;&gt;Learning Resources for the Kotlin Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/88/&quot;&gt;Episode #88: Discussing Type Hints, Protocols, and Ducks in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/fluent-python-2nd/9781492056348/&quot;&gt;Fluent Python, 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.summertechforum.com/&quot;&gt;Summer Tech Forum Unconference: Self-Organizing Open Spaces in Crested Butte, Colorado August 15-19, 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/BruceEckel&quot;&gt;Bruce Eckel (@BruceEckel) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-data-classes/&quot;&gt;Using Data Classes in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-lambda-functions/&quot;&gt;Using Python Lambda Functions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E116_Bruce.5582f3d8cc34.mp3" type="audio/mpeg" length="72226307"/>
        <guid isPermaLink="false">83be1283-2873-4367-8d3b-491c1b8ee8d1</guid>
        <pubDate>Fri, 01 Jul 2022 12:00:00 +0000</pubDate>
        <itunes:duration>4450</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_116_Podcast.cda9f60e5567.jpg"/>
        <rp:twitter-handles>@BruceEckel</rp:twitter-handles>
        <rp:twitter-title>“Exploring Functional Programming in Python With Bruce Eckel” with @BruceEckel</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>115</itunes:episode>
        <title>Digging Into PyScript &amp; Preventing or Handling Python Errors</title>
        <itunes:title>Digging Into PyScript &amp; Preventing or Handling Python Errors</itunes:title>
        <link>https://realpython.com/podcasts/rpp/115/</link>
        <description>Have you heard about PyScript? The brand-new framework has the community excited about building interactive Python applications that run entirely within the user&#x27;s browser. Would you like to dig into the details beyond the &quot;Hello World&quot; examples? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you heard about PyScript? The brand-new framework has the community excited about building interactive Python applications that run entirely within the user&amp;rsquo;s browser. Would you like to dig into the details beyond the &amp;ldquo;Hello World&amp;rdquo; examples? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about a Real Python tutorial from Bartosz Zaczyński about PyScript. The article provides an initial look at the framework and then takes you deep into the intricacies. We also share additional resources to help familiarize you with the project.&lt;/p&gt;
&lt;p&gt;Christopher talks about another Real Python article, this one on how to approach managing errors in Python. The tutorial &amp;ldquo;LBYL vs EAFP: Preventing or Handling Errors in Python&amp;rdquo; is from frequent contributor Leodanis Pozo Ramos.  &lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including discussing the PSF&amp;rsquo;s Python Developers Survey 2021 Results, Django static files and templates, how to profile Python code, a launcher for penetration testing, and a project for confirming Python versions through syntax errors.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/building-a-django-user-management-system/&quot;&gt;Building a Django User Management System&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to extend your Django application with a user management system, complete with email sending and third-party authentication.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:02:32 &amp;ndash; LBYL vs EAFP: Preventing or Handling Errors in Python&lt;/li&gt;
&lt;li&gt;00:08:38 &amp;ndash; How To Profile Python Code&lt;/li&gt;
&lt;li&gt;00:18:52 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:19:35 &amp;ndash; Django Static Files and Templates&lt;/li&gt;
&lt;li&gt;00:26:35 &amp;ndash; A First Look at PyScript: Python in the Web Browser&lt;/li&gt;
&lt;li&gt;00:38:20 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:39 &amp;ndash; Python Developers Survey 2021 Results&lt;/li&gt;
&lt;li&gt;00:48:19 &amp;ndash; python-syntax-errors: Version-Specific No-Ops&lt;/li&gt;
&lt;li&gt;00:50:03 &amp;ndash; arsenal: Inventory Launcher for Penetration Testing&lt;/li&gt;
&lt;li&gt;00:55:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-lbyl-vs-eafp/&quot;&gt;LBYL vs EAFP: Preventing or Handling Errors in Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about two popular coding styles in Python: look before you leap (LBYL) and easier to ask forgiveness than permission (EAFP). You can use these styles to deal with errors and exceptional situations in your code. You&amp;rsquo;ll dive into the LBYL vs EAFP discussion in Python.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codesolid.com/how-do-i-profile-python-code/&quot;&gt;How To Profile Python Code&lt;/a&gt; &amp;ndash; No matter how good you are, sometimes your code just runs slowly. Learning how to properly profile your software to identify and fix bottlenecks is a useful skill. This article talks about what you need to know to measure your code&amp;rsquo;s performance and how to use the cProfile, &lt;code&gt;profile&lt;/code&gt;, and &lt;code&gt;timeit&lt;/code&gt; libraries, along with others.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learndjango.com/tutorials/django-static-files&quot;&gt;Django Static Files and Templates&lt;/a&gt; &amp;ndash; &amp;ldquo;Static files like CSS, JavaScript, and fonts are a core piece of any modern web application. They are also typically confusing for Django newcomers since Django provides tremendous flexibility around &lt;em&gt;how&lt;/em&gt; these files are used. This tutorial will demonstrate current best practices for configuring static files in both local development and production.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pyscript-python-in-browser/&quot;&gt;A First Look at PyScript: Python in the Web Browser&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about PyScript, a new framework that allows for running Python in the web browser with few or no code modifications and excellent performance. You&amp;rsquo;ll leverage browser APIs and JavaScript libraries to build rich, highly interactive web applications with Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2022/06/python-developers-survey-2021-python-is.html&quot;&gt;Python Developers Survey 2021 Results | PSF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lp.jetbrains.com/python-developers-survey-2021/#PythonPackaging&quot;&gt;Python Developers Survey 2021 Results | JetBrains&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://drive.google.com/file/d/1BaImG13GefSTe3ZGa4DEYwomP-gQ0DzE/view&quot;&gt;Raw Data SurveyExport.csv | Google Drive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jwilk/python-syntax-errors&quot;&gt;python-syntax-errors: Version-Specific No-Ops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Orange-Cyberdefense/arsenal&quot;&gt;arsenal: Inventory Launcher for Penetration Testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/denisidoro/navi&quot;&gt;navi: An interactive cheatsheet tool for the command-line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/srsudar/eg&quot;&gt;eg: Useful examples at the command line.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/cpython/issues/84403&quot;&gt;&amp;ldquo;Zero cost&amp;rdquo; exception handling · Issue #84403&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python311-exception-groups/&quot;&gt;Python 3.11 Preview: Task and Exception Groups | Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?app=desktop&amp;amp;v=qKfkCY7cmBQ&quot;&gt;PyCon US 2022 Keynote - Peter Wang - PyScript | YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyscript.net/&quot;&gt;PyScript | Run Python in your HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pyscript/pyscript/blob/main/docs/tutorials/getting-started.md&quot;&gt;pyscript: Getting started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pyscript/pyscript/tree/main/examples&quot;&gt;pyscript: Pyscript examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-timer/&quot;&gt;Python Timer Functions: Three Ways to Monitor Your Code | Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Amdahl&#x27;s_law&quot;&gt;Amdahl&amp;rsquo;s law | Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wsvincent.com/books/&quot;&gt;Django Books | William Vincent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangochat.com/&quot;&gt;Django Chat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/114/&quot;&gt;Episode #114: Getting Started in Python Cybersecurity and Forensics | The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-a-django-user-management-system/&quot;&gt;Building a Django User Management System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/raising-handling-exceptions/&quot;&gt;Raising and Handling Python Exceptions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E115_Cx2.37137915c398.mp3" type="audio/mpeg" length="54844438"/>
        <guid isPermaLink="false">1c9f7f01-bd5a-47a1-b580-9bee59882353</guid>
        <pubDate>Fri, 24 Jun 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3364</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_115_Podcast.9c5f479d1903.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Digging Into PyScript &amp; Preventing or Handling Python Errors”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>114</itunes:episode>
        <title>Getting Started in Python Cybersecurity and Forensics</title>
        <itunes:title>Getting Started in Python Cybersecurity and Forensics</itunes:title>
        <link>https://realpython.com/podcasts/rpp/114/</link>
        <description>Are you interested in a career in security using Python? Would you like to stay ahead of potential vulnerabilities in your Python applications? This week on the show, James Pleger talks about Python information security, incident response, and forensics.</description>
        <content:encoded>&lt;p&gt;Are you interested in a career in security using Python? Would you like to stay ahead of potential vulnerabilities in your Python applications? This week on the show, James Pleger talks about Python information security, incident response, and forensics.&lt;/p&gt;
&lt;p&gt;James has been doing information security for over fifteen years, working at some of the biggest companies, government agencies, and startups. He shares numerous Python resources to dive into detecting threats and improving your projects. &lt;/p&gt;
&lt;p&gt;We discuss how to learn about security topics and get involved in the community. Make sure you check out the massive collection of links in the show notes this week.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/exploring-https-cryptography/&quot;&gt;Exploring HTTPS and Cryptography in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll gain a working knowledge of the various factors that combine to keep communications over the Internet safe. You&amp;rsquo;ll see concrete examples of how to keep information secure and use cryptography to build your own Python HTTPS application.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:28 &amp;ndash; How did you find the show?&lt;/li&gt;
&lt;li&gt;00:02:00 &amp;ndash; Evolution of roles in security&lt;/li&gt;
&lt;li&gt;00:04:09 &amp;ndash; Why is Python leveraged in security?&lt;/li&gt;
&lt;li&gt;00:07:51 &amp;ndash; Red team vs blue team&lt;/li&gt;
&lt;li&gt;00:10:16 &amp;ndash; Application security and bug bounties&lt;/li&gt;
&lt;li&gt;00:13:31 &amp;ndash; What&amp;rsquo;s your background?&lt;/li&gt;
&lt;li&gt;00:14:07 &amp;ndash; Company focus between regulations vs engineering&lt;/li&gt;
&lt;li&gt;00:18:09 &amp;ndash; Ways to get involved and keep learning&lt;/li&gt;
&lt;li&gt;00:21:56 &amp;ndash; Different perspective from computer science &lt;/li&gt;
&lt;li&gt;00:23:35 &amp;ndash; Red vs blue reprise&lt;/li&gt;
&lt;li&gt;00:25:07 &amp;ndash; Shifting landscape of vulnerabilities&lt;/li&gt;
&lt;li&gt;00:30:06 &amp;ndash; How do you approach tests?&lt;/li&gt;
&lt;li&gt;00:32:30 &amp;ndash; Incident response&lt;/li&gt;
&lt;li&gt;00:35:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:19 &amp;ndash; Where does Python come in during an incident?&lt;/li&gt;
&lt;li&gt;00:43:08 &amp;ndash; Crossing into forensic research&lt;/li&gt;
&lt;li&gt;00:48:43 &amp;ndash; Where to practice security research and learn more?&lt;/li&gt;
&lt;li&gt;00:51:41 &amp;ndash; What&amp;rsquo;s the security community like?&lt;/li&gt;
&lt;li&gt;00:56:05 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:57:53 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:17 &amp;ndash; Where can people learn more about what you do?&lt;/li&gt;
&lt;li&gt;01:00:39 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Security Specific Tools Written in Python:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ReFirmLabs/binwalk&quot;&gt;binwalk: Firmware Analysis Tool | ReFirmLabs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/airbnb/binaryalert&quot;&gt;binaryalert: BinaryAlert: Serverless, Real-time &amp;amp; Retroactive Malware Detection | airbnb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cuckoosandbox.org/&quot;&gt;Cuckoo Sandbox - Automated Malware Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://virustotal.github.io/yara/&quot;&gt;YARA - The pattern matching Swiss knife for malware researchers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/secdev/scapy/&quot;&gt;Scapy: Python-based interactive packet manipulation program &amp;amp; library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/radareorg/radare2-bindings&quot;&gt;radare2-bindings: Bindings of the r2 api for Valabind and friends&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/InQuest/python-iocextract&quot;&gt;python-iocextract: Defanged Indicator of Compromise (IOC) Extractor | InQuest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/yeti-platform/yeti&quot;&gt;yeti: Your Everyday Threat Intelligence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mandiant/capa&quot;&gt;capa: The FLARE team&amp;rsquo;s open-source tool to identify capabilities in executable files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.didierstevens.com/programs/pdf-tools/&quot;&gt;PDF Tools | Didier Stevens&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Incident Response and Memory Forensics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/volatilityfoundation/volatility&quot;&gt;volatility: An advanced memory forensics framework | Volatility Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/certsocietegenerale/FIR&quot;&gt;FIR: Fast Incident Response | CERT Societe Generale (Computer Emergency Response Team)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/google/grr&quot;&gt;GRR Rapid Response: Remote live forensics for incident response | Google&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Honeypot Resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.crowdstrike.com/cybersecurity-101/honeypots-in-cybersecurity-explained/&quot;&gt;What is a Honeypot? How It Can Trap Cyberattackers | CrowdStrike&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/paralax/awesome-honeypots&quot;&gt;awesome-honeypots: An awesome list of honeypot resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bug Bounty Programs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bugcrowd.com/bug-bounty-list/&quot;&gt;Bug Bounty Program List - All Active Programs in 2022 | Bugcrowd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hackerone.com/bug-bounty-programs&quot;&gt;Bug Bounty Program - Complete List | HackerOne&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.guru99.com/bug-bounty-programs.html&quot;&gt;TOP Bug Bounty Programs &amp;amp; Websites (Jun 2022 Updated List)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Security and Hacking Conferences: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blackhat.com/us-22/&quot;&gt;Black Hat USA 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://defcon.org/&quot;&gt;DEF CON® Hacking Conference Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Chaos_Communication_Congress&quot;&gt;Chaos Communication Congress - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cactuscon.com/what-we-do&quot;&gt;CactusCon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Blue_team_(computer_security)&quot;&gt;Blue team (computer security) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://owasp.org/projects/&quot;&gt;Open Source Projects for Software Security | OWASP Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hackerone.com/&quot;&gt;HackerOne | #1 Trusted Security Platform and Hacker Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bugcrowd.com/products/platform/&quot;&gt;Bugcrowd | Platform Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyinstaller/&quot;&gt;pyinstaller · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wireshark.org/&quot;&gt;Wireshark · Go Deep.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io/blog/python-security-best-practices-cheat-sheet/&quot;&gt;Python security best practices cheat sheet | Snyk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/marketplace/actions/pycharm-python-security-scanner&quot;&gt;PyCharm Python Security Scanner · Actions · GitHub Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/docker-python-security-scan/&quot;&gt;Security scanners for Python and Docker: from code to dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bandit.readthedocs.io/en/latest/&quot;&gt;Bandit — Designed to find common security issues in Python code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/black/&quot;&gt;black · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/site-connectivity-checker-python/&quot;&gt;Build a Site Connectivity Checker in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kali.org/&quot;&gt;Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-https-cryptography/&quot;&gt;Exploring HTTPS and Cryptography in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-view-authorization/&quot;&gt;Django View Authorization: Restricting Access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E114_James.c155e30269e7.mp3" type="audio/mpeg" length="60024960"/>
        <guid isPermaLink="false">66c9cb31-8fa8-4834-92f4-6b3c178b1702</guid>
        <pubDate>Fri, 17 Jun 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3693</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_114_Podcast.7f51720d86ae.jpg"/>
        <rp:twitter-handles>@jpleger</rp:twitter-handles>
        <rp:twitter-title>“Getting Started in Python Cybersecurity and Forensics” with @jpleger</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>113</itunes:episode>
        <title>Build Streamlit Data Science Dashboards &amp; Verbose Regex f-Strings</title>
        <itunes:title>Build Streamlit Data Science Dashboards &amp; Verbose Regex f-Strings</itunes:title>
        <link>https://realpython.com/podcasts/rpp/113/</link>
        <description>Would you like a fast way to share your data science project results as an interactive dashboard instead of a Jupyter notebook? Streamlit is a library for creating simple web apps and dashboards using just Python. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like a fast way to share your data science project results as an interactive dashboard instead of a Jupyter notebook? Streamlit is a library for creating simple web apps and dashboards using just Python. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about the article &amp;ldquo;Forget About Jupyter Notebooks - Showcase Your Research Using Dashboards.&amp;rdquo; It covers the basics of turning a data science script into an interactive dashboard using Streamlit. We also share some additional resources to get you started with the library. &lt;/p&gt;
&lt;p&gt;Christopher discusses an article covering ways to make life easier when working with Python regular expressions. He talks about composing verbose regexes using f-strings and potentially reusing these patterns.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news roundup, a step-by-step project to build a URL shortener with FastAPI, the fact that Python&amp;rsquo;s functions are sometimes classes, an automatic water pistol pigeon deterrent project, a discussion about music playlists for coding, a project for Python metadata extraction without execution, and a powerful audio-to-MIDI converter library.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/using-python-class-constructors/&quot;&gt;Using Python Class Constructors&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how class constructors work in Python. You&amp;rsquo;ll also explore Python&amp;rsquo;s instantiation process, which has two main steps: instance creation and instance initialization.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:22 &amp;ndash; ctx Library Hijacked to Steal AWS Keys&lt;/li&gt;
&lt;li&gt;00:04:33 &amp;ndash; Typosquatting Attack on &amp;lsquo;requests&amp;rsquo;&lt;/li&gt;
&lt;li&gt;00:06:55 &amp;ndash; Build a URL Shortener With FastAPI and Python&lt;/li&gt;
&lt;li&gt;00:10:51 &amp;ndash; Sponsor: Rookout&lt;/li&gt;
&lt;li&gt;00:11:31 &amp;ndash; Python&amp;rsquo;s Functions Are Sometimes Classes&lt;/li&gt;
&lt;li&gt;00:14:05 &amp;ndash; Forget Jupyter, Showcase Your Data with Dashboards&lt;/li&gt;
&lt;li&gt;00:22:08 &amp;ndash; The Unreasonable Effectiveness of f-strings and re.VERBOSE&lt;/li&gt;
&lt;li&gt;00:25:43 &amp;ndash; Robotic Water Pistol as Pigeon Deterrent&lt;/li&gt;
&lt;li&gt;00:28:13 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:34 &amp;ndash; Do You Have a Favorite Playlist for Coding?&lt;/li&gt;
&lt;li&gt;00:40:05 &amp;ndash; dowsing: Metadata Extraction Without Execution&lt;/li&gt;
&lt;li&gt;00:42:01 &amp;ndash; spotify/basic-pitch: A lightweight yet powerful audio-to-MIDI converter &lt;/li&gt;
&lt;li&gt;00:49:12 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bleepingcomputer.com/news/security/popular-python-and-php-libraries-hijacked-to-steal-aws-keys/&quot;&gt;ctx Library Hijacked to Steal AWS Keys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/checkmarx-security/typosquatting-attack-on-requests-one-of-the-most-popular-python-packages-3b0a329a892d&quot;&gt;Typosquatting Attack on &amp;lsquo;requests&amp;rsquo; - One of the Most Popular Python packages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-a-python-url-shortener-with-fastapi/&quot;&gt;Build a URL Shortener With FastAPI and Python&lt;/a&gt; &amp;ndash; In this step-by-step project, you&amp;rsquo;ll build an app to create and manage shortened URLs. Your Python URL shortener can receive a full target URL and return a shortened URL. You&amp;rsquo;ll also use the automatically created documentation of FastAPI to try out your API endpoints.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/class-function-and-callable/&quot;&gt;Python&amp;rsquo;s Functions Are Sometimes Classes&lt;/a&gt; &amp;ndash; Ever use &lt;code&gt;list()&lt;/code&gt; or &lt;code&gt;enumerate()&lt;/code&gt;? Think of them as functions? They&amp;rsquo;re not&amp;mdash;they&amp;rsquo;re classes. Sometimes we call classes functions in Python. Why? And what&amp;rsquo;s a &amp;ldquo;callable&amp;rdquo;?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.esciencecenter.nl/forget-about-jupyter-notebooks-showcase-your-research-using-dashboards-5d13451ba374&quot;&gt;Forget Jupyter, Showcase Your Data with Dashboards&lt;/a&gt; &amp;ndash;  Streamlit can be used as an alternative to Jupyter notebooks for sharing research data. Streamlit is a relatively new library for creating simple web apps and dashboards using just Python. Learn why it might be the right choice for your next data project.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://death.andgravity.com/f-re&quot;&gt;The Unreasonable Effectiveness of f-strings and re.VERBOSE&lt;/a&gt; &amp;ndash; A look at one or two ways to make life easier when working with Python regular expressions.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://maxnagy.com/posts/pigeons/&quot;&gt;Robotic Water Pistol as Pigeon Deterrent&lt;/a&gt; &amp;ndash; Max built a wifi-equipped water gun to shoot the pigeons on his balcony. It is controlled over the Internet by a Python script running &lt;code&gt;openCV&lt;/code&gt; reading the camera image from an old iPhone. See all the details.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/python_engineer/status/1525795191965220865&quot;&gt;Do You Have a Favorite Playlist for Coding?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python-packaging/dowsing&quot;&gt;dowsing: Metadata Extraction Without Execution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/spotify/basic-pitch&quot;&gt;spotify/basic-pitch: A lightweight yet powerful audio-to-MIDI converter with pitch bend detection&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://12factor.net/&quot;&gt;The Twelve-Factor App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.datadriveninvestor.com/streamlit-vs-dash-vs-voil%C3%A0-vs-panel-battle-of-the-python-dashboarding-giants-177c40b9ea57#8026&quot;&gt;Streamlit vs Dash vs Voilà vs Panel — Battle of The Python Dashboarding Giants&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vickiboykis.com/2020/06/09/getting-machine-learning-to-production/&quot;&gt;Getting machine learning to production | Vicki Boykis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/detecting-deforestation-from-satellite-images-7aa6dfbd9f61&quot;&gt;Detecting deforestation from satellite images | André Ferreira&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.streamlit.io/library/get-started/create-an-app&quot;&gt;Create an app - Streamlit Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/spotify/pedalboard&quot;&gt;spotify/pedalboard: 🎛 🔊 A Python library for manipulating audio.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/96/&quot;&gt;Episode #96: Manipulating and Analyzing Audio in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/15/&quot;&gt;Episode #15: Python Regular Expressions, Views vs Copies in Pandas, and More – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/64/&quot;&gt;Episode #64: Detecting Deforestation With Python &amp;amp; Using GraphQL With Django and Vue – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-viz-with-dash/&quot;&gt;Data Visualization Interfaces in Python With Dash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-regexes-python/&quot;&gt;Regular Expressions and Building Regexes in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-python-class-constructors/&quot;&gt;Using Python Class Constructors&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E113_Cx2.51a8cb386478.mp3" type="audio/mpeg" length="49205049"/>
        <guid isPermaLink="false">4d29a7e6-8f8f-4c9d-b2ee-36d653f10b90</guid>
        <pubDate>Fri, 10 Jun 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3013</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_113_Podcast.54fb01e79d3f.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Build Streamlit Data Science Dashboards &amp; Verbose Regex f-Strings”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>112</itunes:episode>
        <title>Managing Large Python Data Science Projects With Dask</title>
        <itunes:title>Managing Large Python Data Science Projects With Dask</itunes:title>
        <link>https://realpython.com/podcasts/rpp/112/</link>
        <description>What do you do when your data science project doesn&#x27;t fit within your computer&#x27;s memory? One solution is to distribute it across multiple worker machines. This week on the show, Guido Imperiale from Coiled talks about Dask and managing large data science projects through distributed computing.</description>
        <content:encoded>&lt;p&gt;What do you do when your data science project doesn&amp;rsquo;t fit within your computer&amp;rsquo;s memory? One solution is to distribute it across multiple worker machines. This week on the show, Guido Imperiale from Coiled talks about Dask and managing large data science projects through distributed computing.&lt;/p&gt;
&lt;p&gt;We talk about projects where an orchestration system like Dask will help. Dask is designed to take advantage of parallel computing, spreading the work and data across multiple machines. Many familiar techniques for working with pandas and NumPy data are supported with Dask equivalents. &lt;/p&gt;
&lt;p&gt;We also discuss the differences between managed and unmanaged memory. Guido shares advice on how to tackle memory issues while working with Dask.&lt;/p&gt;
&lt;p&gt;This week we also talk briefly with Jodie Burchell, who will be a guest host on upcoming episodes. As a data scientist, Jodie will be bringing new topics, projects, and discussions to the show.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this Code Conversation video course, you&amp;rsquo;ll take a deep dive into how scopes and closures work in Python. To do this, you&amp;rsquo;ll use a debugger to walk through some sample code, and then you&amp;rsquo;ll take a peek under the hood to see how Python holds variables internally.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:56 &amp;ndash; Guido at PyCon DE 2022&lt;/li&gt;
&lt;li&gt;00:02:14 &amp;ndash; Working on Dask for Coiled&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; Dask project history&lt;/li&gt;
&lt;li&gt;00:04:00 &amp;ndash; How would someone start to use Dask? &lt;/li&gt;
&lt;li&gt;00:10:28 &amp;ndash; Managing distributed data&lt;/li&gt;
&lt;li&gt;00:11:18 &amp;ndash; Data files CSV vs Parquet&lt;/li&gt;
&lt;li&gt;00:15:02 &amp;ndash; Managed vs unmanaged memory&lt;/li&gt;
&lt;li&gt;00:22:42 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:01 &amp;ndash; Dask active memory manager&lt;/li&gt;
&lt;li&gt;00:28:36 &amp;ndash; Learning best practices and Dask tutorials&lt;/li&gt;
&lt;li&gt;00:33:06 &amp;ndash; Where is Dask being used?&lt;/li&gt;
&lt;li&gt;00:35:45 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:37:55 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:40:31 &amp;ndash; Thanks, Guido&lt;/li&gt;
&lt;li&gt;00:40:40 &amp;ndash; Introduction to Jodie Burchell&lt;/li&gt;
&lt;li&gt;00:45:28 &amp;ndash; Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://coiled.io/&quot;&gt;Coiled | Python for Data Science on the Cloud with Dask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=pYtjhhVLqFQ&quot;&gt;Guido Imperiale: Introducing the Dask Active Memory Manager - PyCon DE 2022 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=B0ncePK1uuc&quot;&gt;Active Memory Management on Dask.Distributed - Guido Imperiale | Dask Summit 2021 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coiled.io/blog/tackling-unmanaged-memory-with-dask/&quot;&gt;Tackling unmanaged memory with Dask | Coiled&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/the-beginners-guide-to-distributed-computing-6d6833796318&quot;&gt;The Beginner’s Guide to Distributed Computing | Richard Pelgrim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coiled.io/blog/common-dask-mistakes/&quot;&gt;Common Mistakes to Avoid when Using Dask | Coiled&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://parquet.apache.org/docs/file-format/&quot;&gt;File Format | Apache Parquet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dask.org/&quot;&gt;Dask: Scalable analytics in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0554/&quot;&gt;PEP 554 – Multiple Interpreters in the Stdlib | peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.nvidia.com/cuda-python&quot;&gt;CUDA Python | NVIDIA Developer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coiled.io/product/&quot;&gt;Product : Coiled&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/CoiledHQ&quot;&gt;Coiled (@CoiledHQ) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/t_redactyl&quot;&gt;Jodie Burchell (@t_redactyl) | Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/Learn-Python-through-Nursery-Rhymes/dp/1735907987&quot;&gt;Learn Python through Nursery Rhymes and Fairy Tales: Shari Eskenas - Amazon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-cleaning-with-pandas-and-numpy/&quot;&gt;Data Cleaning With pandas and NumPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-scopes-and-closures-in-python/&quot;&gt;Exploring Scopes and Closures in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E112_Guido.77f12f6306fa.mp3" type="audio/mpeg" length="45558785"/>
        <guid isPermaLink="false">fec1ffd4-f1e7-4015-b153-e6c8fb114b7b</guid>
        <pubDate>Fri, 03 Jun 2022 12:00:00 +0000</pubDate>
        <itunes:duration>2788</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_112_Podcast.80c91303d1dd.jpg"/>
        <rp:twitter-handles>@CoiledHQ</rp:twitter-handles>
        <rp:twitter-title>“Managing Large Python Data Science Projects With Dask” with @CoiledHQ</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>111</itunes:episode>
        <title>Questions for New Dependencies &amp; Comparing Python Game Libraries</title>
        <itunes:title>Questions for New Dependencies &amp; Comparing Python Game Libraries</itunes:title>
        <link>https://realpython.com/podcasts/rpp/111/</link>
        <description>What are the differences between the various Python game frameworks? Would it help to see a couple of game examples across several libraries to understand the distinctions? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;What are the differences between the various Python game frameworks? Would it help to see a couple of game examples across several libraries to understand the distinctions? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a Real Python article by previous guest Jon Fincher titled &amp;ldquo;Top Python Game Engines&amp;rdquo;. Jon compares five different game frameworks and provides example projects and thorough commentary for each.&lt;/p&gt;
&lt;p&gt;We talk about a blog post by recent guest Adam Johnson about determining if a project is well maintained. He suggests twelve questions to decide whether to add a new dependency to your project.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news roundup, Python decorator patterns, finding the smallest and largest values with &lt;code&gt;min()&lt;/code&gt; and &lt;code&gt;max()&lt;/code&gt;, a discussion about the most-used Python packages, the pony object-relational mapper, and a project to read PEPs in your console.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll build a clone of the Asteroids game in Python using Pygame. Step by step, you&amp;rsquo;ll add images, input handling, game logic, sounds, and text to your program.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:04 &amp;ndash; News: Python Release Python 3.11.0b1&lt;/li&gt;
&lt;li&gt;00:02:56 &amp;ndash; Faster CPython project&lt;/li&gt;
&lt;li&gt;00:04:16 &amp;ndash; nogil conversation at the 2022 summit&lt;/li&gt;
&lt;li&gt;00:06:08 &amp;ndash; PEP 690: Lazy Imports&lt;/li&gt;
&lt;li&gt;00:08:14 &amp;ndash; DjangoCon US &amp;amp; Europe 2022 Call for Proposals&lt;/li&gt;
&lt;li&gt;00:09:25 &amp;ndash; Top Python Game Engines&lt;/li&gt;
&lt;li&gt;00:20:38 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:21:20 &amp;ndash; Python Decorator Patterns&lt;/li&gt;
&lt;li&gt;00:24:00 &amp;ndash; The Well-Maintained Test: 12 Questions for New Dependencies&lt;/li&gt;
&lt;li&gt;00:29:27 &amp;ndash; Python&amp;rsquo;s min() and max(): Find Smallest and Largest Values&lt;/li&gt;
&lt;li&gt;00:33:33 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:34:44 &amp;ndash; Which Python Packages Do You Use the Most?&lt;/li&gt;
&lt;li&gt;00:41:42 &amp;ndash; pony: Pony Object Relational Mapper&lt;/li&gt;
&lt;li&gt;00:47:41 &amp;ndash; pepdocs: Read PEPs in Your Console&lt;/li&gt;
&lt;li&gt;00:50:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3110b1/&quot;&gt;Python Release Python 3.11.0b1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/faster-cpython/ideas/blob/657830f1ab35466053634bb165f6582f6d788614/main-vs-310.rst&quot;&gt;Faster CPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/faster-cpython/cpython&quot;&gt;faster-cpython/cpython: The Python programming language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2022/05/the-2022-python-language-summit-python_11.html&quot;&gt;nogil conversation at the 2022 summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0690/&quot;&gt;PEP 690: Lazy Imports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2022.djangocon.eu/talks/cfp/&quot;&gt;DjangoCon Europe 2022 Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.com/djangocon-2022/cfp&quot;&gt;DjangoCon US 2022 Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/top-python-game-engines/&quot;&gt;Top Python Game Engines&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll explore several Python game engines available to you. For each, you&amp;rsquo;ll code simple examples and a more advanced game to learn the game engine&amp;rsquo;s strengths and weaknesses.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bytepawn.com/python-decorator-patterns.html&quot;&gt;Python Decorator Patterns&lt;/a&gt; &amp;ndash; Decorators are a way of wrapping functions around functions, they&amp;rsquo;re a common technique for providing pre- and post-conditions on your code. Learn about the different ways decorators get invoked and how to write each pattern.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2021/11/04/the-well-maintained-test/&quot;&gt;The Well-Maintained Test: 12 Questions for New Dependencies&lt;/a&gt; &amp;ndash; There is lots of openly available code out there, but how do you know if you should build a dependency on some random coder&amp;rsquo;s package? 12 Questions you should ask yourself before using a library.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-min-and-max/&quot;&gt;Python&amp;rsquo;s min() and max(): Find Smallest and Largest Values&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s built-in min() and max() functions to find the smallest and largest values. You&amp;rsquo;ll also learn how to modify their standard behavior by providing a suitable key function. Finally, you&amp;rsquo;ll code a few practical examples of using &lt;code&gt;min()&lt;/code&gt; and &lt;code&gt;max()&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/driscollis/status/1524749533208489986&quot;&gt;Which Python Packages Do You Use the Most?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ponyorm/pony/&quot;&gt;pony: Pony Object Relational Mapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/gahjelle/pepdocs&quot;&gt;pepdocs: Read PEPs in Your Console&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/ericsnowcrntly/status/1520558350328496128&quot;&gt;Eric Snow on Twitter:&amp;rdquo;We need your help making CPython faster. Publish benchmarks for your app or library.&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/59/&quot;&gt;Episode #59: Organizing and Restructuring DjangoCon Europe 2021 – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pygame-a-primer/&quot;&gt;PyGame: A Primer on Game Programming in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With PyGame – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/primer-on-python-decorators/&quot;&gt;Primer on Python Decorators – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/&quot;&gt;The Joel Test: 12 Steps to Better Code – Joel on Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/97/&quot;&gt;Episode #97: Improving Your Django and Python Developer Experience – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyflakes/&quot;&gt;pyflakes · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/coverage/&quot;&gt;coverage · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pudb/&quot;&gt;pudb · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django | The web framework for perfectionists with deadlines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/django-awl/&quot;&gt;django-awl · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/waelstow/&quot;&gt;waelstow · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/six/&quot;&gt;six · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pygments.org/&quot;&gt;Pygments — Welcome!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/chardet/&quot;&gt;chardet · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/certifi/&quot;&gt;certifi · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/&quot;&gt;pandas - Python Data Analysis Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jupyter.org/&quot;&gt;Project Jupyter | Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bokeh.org/&quot;&gt;Bokeh&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/map-function-transform-iterables/&quot;&gt;Python&amp;#x27;s map() Function: Transforming Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E111_Cx2.0f7e0df262b3.mp3" type="audio/mpeg" length="50514917"/>
        <guid isPermaLink="false">d04c190a-428e-408b-8eed-d67e7f5b47b2</guid>
        <pubDate>Fri, 27 May 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3097</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_111_Podcast.f34fdd8d1691.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Questions for New Dependencies &amp; Comparing Python Game Libraries”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>110</itunes:episode>
        <title>Advantages of Protobuf for Serialization in Python</title>
        <itunes:title>Advantages of Protobuf for Serialization in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/110/</link>
        <description>Would you like a way to send structured serialized data between different platforms and languages? What if the data was self-documenting, could automatically generate Python code, and would validate itself? This week on the show, Liran Haimovitch talks about protocol buffers and communicating with microservices through Remote Procedure Calls (RPC).</description>
        <content:encoded>&lt;p&gt;Would you like a way to send structured serialized data between different platforms and languages? What if the data was self-documenting, could automatically generate Python code, and would validate itself? This week on the show, Liran Haimovitch talks about protocol buffers and communicating with microservices through Remote Procedure Calls (RPC).&lt;/p&gt;
&lt;p&gt;Protocol buffers, aka protobuf, are a language-neutral, platform-neutral system for serializing structured data. Liran talks about how they go beyond text-based protocols like JSON, providing the benefits above, along with faster transmissions and a smaller footprint.&lt;/p&gt;
&lt;p&gt;Liran shares how his company uses protobuf to communicate between their tools. We also discuss using gRPC to communicate between microservices and scaling infrastructure in either direction.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to take your testing to the next level with pytest. You&amp;rsquo;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.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:59 &amp;ndash; PyCon US 2022 Talk on protobuf&lt;/li&gt;
&lt;li&gt;00:04:46 &amp;ndash; PyCon 2019 Talk on Understanding Python&amp;rsquo;s Debugging Internals&lt;/li&gt;
&lt;li&gt;00:05:34 &amp;ndash; The Production-First Mindset Podcast&lt;/li&gt;
&lt;li&gt;00:07:03 &amp;ndash; Protobuf and serialization&lt;/li&gt;
&lt;li&gt;00:11:17 &amp;ndash; Static vs dynamic serializers&lt;/li&gt;
&lt;li&gt;00:13:58 &amp;ndash; Text vs binary serializers and metadata&lt;/li&gt;
&lt;li&gt;00:21:08 &amp;ndash; How long have you been using protobuf?&lt;/li&gt;
&lt;li&gt;00:21:40 &amp;ndash; What does it look like to set up?&lt;/li&gt;
&lt;li&gt;00:24:45 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:11 &amp;ndash; Performance challenges and trade-offs&lt;/li&gt;
&lt;li&gt;00:34:29 &amp;ndash; Remote procedure calls&lt;/li&gt;
&lt;li&gt;00:41:13 &amp;ndash; Using RPC for microservices&lt;/li&gt;
&lt;li&gt;00:47:21 &amp;ndash; Scaling your infrastructure up or down&lt;/li&gt;
&lt;li&gt;00:50:35 &amp;ndash; Working across different languages&lt;/li&gt;
&lt;li&gt;00:54:02 &amp;ndash; What is Rookout?&lt;/li&gt;
&lt;li&gt;00:55:11 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:59 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:56:57 &amp;ndash; How can people learn more about what you do?&lt;/li&gt;
&lt;li&gt;00:57:31   &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rookout.com/&quot;&gt;Rookout | Painless Cloud-Native Debugging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=QU158nGABxI&quot;&gt;Liran Haimovitch - Understanding Python’s Debugging Internals - PyCon 2019 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.productionfirstmindset.com/&quot;&gt;The Production-First Mindset Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Eb6y1WbF2is&amp;amp;list=PL2Uw4_HvXqvYeXy8ab7iRHjA-9HiYhRQl&amp;amp;index=31&quot;&gt;Liran Haimovitch: Effective Protobuf: Everything You Wanted To Know, But Never Dared To Ask - PyCon 2022 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/protocol-buffers&quot;&gt;Protocol Buffers  |  Google Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.google.com/protocol-buffers/docs/faq&quot;&gt;Frequently Asked Questions - Protocol Buffers  |  Google Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thrift-tutorial.readthedocs.io/en/latest/thrift-stack.html&quot;&gt;Thrift protocol stack — Thrift Tutorial 1.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-microservices-grpc/&quot;&gt;Python Microservices With gRPC – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://grpc.io/&quot;&gt;gRPC - Modern Open Source High Performance Remote Procedure Call Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/blog/products/api-management/understanding-grpc-openapi-and-rest-and-when-to-use-them&quot;&gt;gRPC vs REST: Understanding gRPC, OpenAPI and REST and when to use them in API design | Google Cloud Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2022/&quot;&gt;Welcome to PyCon US 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-json-data-python/&quot;&gt;Working With JSON in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/deploy-python-script-web-flask/&quot;&gt;Deploy Your Python Script on the Web With Flask&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E110_02.6eba104254ba.mp3" type="audio/mpeg" length="56921218"/>
        <guid isPermaLink="false">39af56a8-f869-41cb-b725-02b1cda2db87</guid>
        <pubDate>Fri, 20 May 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3496</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_110_Podcast.91f83da006d7.jpg"/>
        <rp:twitter-handles>@Liran_Last</rp:twitter-handles>
        <rp:twitter-title>“Advantages of Protobuf for Serialization in Python” with @Liran_Last</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>109</itunes:episode>
        <title>Start Testing Your Python with doctest &amp; Pagination in Django</title>
        <itunes:title>Start Testing Your Python with doctest &amp; Pagination in Django</itunes:title>
        <link>https://realpython.com/podcasts/rpp/109/</link>
        <description>Did you know you can add testing to your Python code while simultaneously documenting it? Using docstrings, you can create examples of how your functions should interact in a Python REPL and test them with the built-in doctest module. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Did you know you can add testing to your Python code while simultaneously documenting it? Using docstrings, you can create examples of how your functions should interact in a Python REPL and test them with the built-in doctest module. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares an article by previous guest Mike Driscoll about testing with doctest. This is a great way to get started with testing your own code, and it offers the added benefit of documenting functionality.&lt;/p&gt;
&lt;p&gt;We talk about the recent Real Python article &amp;ldquo;Pagination for a User-Friendly Django App.&amp;rdquo; Spreading your content across multiple pages can significantly improve the user experience of your web application. This article takes you through configuring Django&amp;rsquo;s built-in pagination tool and how to combine it with other web tools.&lt;/p&gt;
&lt;p&gt;We discuss a recent article about Python type hints and the author&amp;rsquo;s disappointment. We also include reactions from a couple of online communities.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including why it&amp;rsquo;s important to close files in Python, how dunder methods are awesome, a bidirectional Python dictionary, prettier git diffs, and a command-line game to learn git.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to take your Python coding interview skills to the next level and use Python&amp;rsquo;s built-in functions and modules to solve problems faster and more easily.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:15 &amp;ndash; PyCon US 2022 Follow-up&lt;/li&gt;
&lt;li&gt;00:07:57 &amp;ndash; Why Is It Important to Close Files in Python?&lt;/li&gt;
&lt;li&gt;00:15:17 &amp;ndash; Dunder Methods in Python: The Ugliest Awesome Sauce&lt;/li&gt;
&lt;li&gt;00:24:26 &amp;ndash; Sponsor: Mailtrap&lt;/li&gt;
&lt;li&gt;00:25:08 &amp;ndash; Python Testing With doctest&lt;/li&gt;
&lt;li&gt;00:28:20 &amp;ndash; Python Bidirectional Dictionary&lt;/li&gt;
&lt;li&gt;00:30:27 &amp;ndash; Pagination for a User-Friendly Django App&lt;/li&gt;
&lt;li&gt;00:36:07 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:27 &amp;ndash; Python&amp;rsquo;s &amp;ldquo;Type Hints&amp;rdquo; are a bit of a disappointment to me &lt;/li&gt;
&lt;li&gt;00:52:25 &amp;ndash; dunk: Prettier Git Diffs&lt;/li&gt;
&lt;li&gt;00:53:43 &amp;ndash; git-gud: Command-Line Game to Learn git&lt;/li&gt;
&lt;li&gt;00:55:40 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/why-close-file-python/&quot;&gt;Why Is It Important to Close Files in Python?&lt;/a&gt; &amp;ndash; Model citizens use context managers to open and close file resources in Python, but have you ever wondered why it&amp;rsquo;s important to close files? In this tutorial, you&amp;rsquo;ll take a deep dive into the reasons why it&amp;rsquo;s important to close files and what can happen if you dont.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codesolid.com/dunder-methods-in-python-the-ugliest-awesome-sauce/&quot;&gt;Dunder Methods in Python: The Ugliest Awesome Sauce&lt;/a&gt; &amp;ndash; Double-underscore methods, also known as &amp;ldquo;dunder methods&amp;rdquo; or &amp;ldquo;magic methods&amp;rdquo; are an ugly way of bringing beauty to your code. Learn about constructors, &lt;code&gt;__repr__&lt;/code&gt;, &lt;code&gt;__str__&lt;/code&gt;, operator overloading, and getting your classes working with Python functions like &lt;code&gt;len()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/2014/03/17/python-testing-with-doctest/&quot;&gt;Python Testing With doctest&lt;/a&gt; &amp;ndash; Python&amp;rsquo;s &lt;code&gt;doctest&lt;/code&gt; module allows you to write unit tests through REPL-like sessions in your docstrings. Learn how to write and execute &lt;code&gt;doctest&lt;/code&gt; code. Also available in &lt;a href=&quot;https://www.blog.pythonlibrary.org/2022/04/05/intro-to-testing-python-with-doctest-video/&quot;&gt;video&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/python-bi-dictionary-key-can-be-value-and-value-can-be-key-50715a2046af&quot;&gt;Python Bidirectional Dictionary&lt;/a&gt; &amp;ndash; Learn about the Bidict library, a bidirectional dictionary where your keys and your values can both be used to look up an item. This can be a useful tool when dealing with mapped data, like country code to country name, where you want to look up either side of the relationship.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-pagination/&quot;&gt;Pagination for a User-Friendly Django App&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to serve paginated content in your Django apps. Using Django pagination can significantly improve your website&amp;rsquo;s performance and give your visitors a better user experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.uninformativ.de/blog/postings/2022-04-21/0/POSTING-en.html&quot;&gt;Python&amp;rsquo;s &amp;ldquo;Type Hints&amp;rdquo; are a bit of a disappointment to me | Original Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lobste.rs/s/uxnepo/python_s_type_hints_are_bit&quot;&gt;Python&amp;rsquo;s &amp;ldquo;Type Hints&amp;rdquo; | Lobsters Thread&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=31114554&quot;&gt;Python&amp;rsquo;s &amp;ldquo;Type Hints&amp;rdquo; | Hacker News Thread&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/darrenburns/dunk&quot;&gt;dunk: Prettier Git Diffs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/benthayer/git-gud&quot;&gt;git-gud: Command-Line Game to Learn git&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode #47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/88/&quot;&gt;Episode #88: Discussing Type Hints, Protocols, and Ducks in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://training.talkpython.fm/courses/up-and-running-with-git-a-pragmatic-ui-based-introduction&quot;&gt;Up and Running with Git Online Course - Talk Python Training&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-doctest/&quot;&gt;Python&amp;rsquo;s doctest: Document and Test Your Code at Once - Real Python tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/testing-your-code-with-pytest/&quot;&gt;Testing Your Code With pytest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E109_Cx2.b13295e44083.mp3" type="audio/mpeg" length="55395235"/>
        <guid isPermaLink="false">fe40c3f4-644a-4c8f-9389-73870a739a33</guid>
        <pubDate>Fri, 13 May 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3399</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_109_Podcast.84f3eb87d10d.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Start Testing Your Python with doctest &amp; Pagination in Django”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>108</itunes:episode>
        <title>Run Python in a Browser With Pyodide &amp; The Power of f-Strings</title>
        <itunes:title>Run Python in a Browser With Pyodide &amp; The Power of f-Strings</itunes:title>
        <link>https://realpython.com/podcasts/rpp/108/</link>
        <description>Have you heard about the projects working toward getting Python to run in the browser? Maybe you would like to try it out for yourself, by building an interactive Python REPL with Pyodide and WebAssembly (WASM). This week on the show, Christopher Trudeau is here, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you heard about the projects working toward getting Python to run in the browser? Maybe you would like to try it out for yourself, by building an interactive Python REPL with Pyodide and WebAssembly (WASM). This week on the show, Christopher Trudeau is here, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about a step-by-step project that shows you how to build a Python code editor in the browser using WebAssembly through Pyodide and CodeMirror. You&amp;rsquo;re going to be hearing a lot about Pyodide in the coming months, and here&amp;rsquo;s a chance for you to play around while building a small project.&lt;/p&gt;
&lt;p&gt;Christopher shares an article about the power of Python f-strings. It covers some lesser-known features like variable debugging, nesting, and detailed formatting.&lt;/p&gt;
&lt;p&gt;We also have a couple of topics up for discussion this week. They&amp;rsquo;re both related to finding work as a Python developer.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including the 2038 date problem, a primer about Python virtual environments, how to build a site connectivity checker in Python, a free book on digital signal processing in Python, and a project to build a voice-activated, password-protected wooden box.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-datetime-module/&quot;&gt;Using Python&amp;rsquo;s datetime Module&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have you ever wondered about working with dates and times in Python? In this video course, you&amp;rsquo;ll learn all about the built-in Python datetime library. You&amp;rsquo;ll also learn about how to manage time zones and daylight saving time, and how to do accurate arithmetic on dates and times.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:38 &amp;ndash; 2038 Date Problem&lt;/li&gt;
&lt;li&gt;00:07:46 &amp;ndash; Python Virtual Environments: A Primer&lt;/li&gt;
&lt;li&gt;00:16:06 &amp;ndash; Python f-Strings Are More Powerful Than You Might Think&lt;/li&gt;
&lt;li&gt;00:20:19 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:21:01 &amp;ndash; Build an Editor in Python and WebAssembly&lt;/li&gt;
&lt;li&gt;00:28:19 &amp;ndash; Build a Site Connectivity Checker in Python&lt;/li&gt;
&lt;li&gt;00:30:21 &amp;ndash; What Jobs Can I Have Knowing Python?&lt;/li&gt;
&lt;li&gt;00:39:53 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:12 &amp;ndash; Projects for a Self-Taught Dev to Help Get a Job?&lt;/li&gt;
&lt;li&gt;00:50:46 &amp;ndash; ThinkDSP: Free Book on Digital Signal Processing in Python&lt;/li&gt;
&lt;li&gt;00:53:14 &amp;ndash; Durin&amp;rsquo;s Box: Voice-Activated, Password-Protected Wooden Box&lt;/li&gt;
&lt;li&gt;00:55:05 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/xssfox/status/1514493425248522245&quot;&gt;2038 Date Problem (Funny, but True)&lt;/a&gt; &amp;ndash; Coders old enough to remember Y2K are already dreading &lt;a href=&quot;https://en.wikipedia.org/wiki/Year_2038_problem&quot;&gt;2038&lt;/a&gt;. Join the conversation.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-virtual-environments-a-primer/&quot;&gt;Python Virtual Environments: A Primer&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use a Python virtual environment to manage your Python projects. You&amp;rsquo;ll also dive deep into the structure of virtual environments built using the &lt;code&gt;venv&lt;/code&gt; module, as well as the reasoning behind using virtual environments.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/python-f-strings-are-more-powerful-than-you-might-think-8271d3efbd7d&quot;&gt;Python f-Strings Are More Powerful Than You Might Think&lt;/a&gt; &amp;ndash; Learn about the lesser-known features of Python&amp;rsquo;s f-strings, including date formatting, variable debugging, nested f-strings, and conditional formatting.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://testdriven.io/blog/python-webassembly/&quot;&gt;Build an Editor in Python and WebAssembly&lt;/a&gt; &amp;ndash; Step-by-step instructions on how to build a code editor in the browser using Python and WebAssembly (WASM), via Pyodide and CodeMirror.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/site-connectivity-checker-python/&quot;&gt;Build a Site Connectivity Checker in Python&lt;/a&gt; &amp;ndash; In this step-by-step project, you&amp;rsquo;ll build a Python site connectivity checker for the command line. While building this app, you&amp;rsquo;ll integrate knowledge related to making HTTP requests with standard-library tools, creating command-line interfaces, and managing concurrency with asyncio and aiohttp.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=30985277&quot;&gt;What Jobs Can I Have Knowing Python?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://old.reddit.com/r/learnpython/comments/txx8gg/projects_for_resume_to_land_an_entry_job_as_self/&quot;&gt;Projects for a Self-Taught Dev to Help Get a Job?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/AllenDowney/ThinkDSP&quot;&gt;ThinkDSP: Free Book on Digital Signal Processing in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hackaday.io/project/183616-durins-box/&quot;&gt;Durin&amp;rsquo;s Box: Voice Activated, Password Protected, Wooden Box&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mobile.twitter.com/sadhlife/status/1503069514656755726#.&quot;&gt;Tushar Sadhwani on Twitter: Add this to bash profile - export PIP_REQUIRE_VIRTUALENV=true &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-f-strings-improved-string-formatting-syntax/&quot;&gt;Python 3&amp;rsquo;s f-Strings: An Improved String Formatting Syntax – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-formatted-output/&quot;&gt;A Guide to the Newer Python String Format Techniques – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python38-new-features/#simpler-debugging-with-f-strings&quot;&gt;Cool New Features in Python 3.8 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gwern.net/docs/cs/2005-09-30-smith-whyihateframeworks.html&quot;&gt;&amp;ldquo;Why I Hate Frameworks&amp;rdquo;, Benji Smith (The Joel on Software Discussion Group)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.weforum.org/agenda/2020/10/top-10-work-skills-of-tomorrow-how-long-it-takes-to-learn-them/&quot;&gt;What are the top 10 job skills for the future? | World Economic Forum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/&quot;&gt;PyCoder’s Weekly | A Weekly Python E-Mail Newsletter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-datetime-module/&quot;&gt;Using Python&amp;#x27;s datetime Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-f-strings-improved-string-formatting-syntax/&quot;&gt;Python 3&amp;#x27;s F-Strings: An Improved String Formatting Syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/formatting-python-strings/&quot;&gt;Formatting Python Strings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E108_Cx2.ecfe97829d47.mp3" type="audio/mpeg" length="54790329"/>
        <guid isPermaLink="false">d1435010-eb4a-464e-b648-e02b4de7becc</guid>
        <pubDate>Fri, 06 May 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3363</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_108_Podcast.f085d4b645ab.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Run Python in a Browser With Pyodide &amp; The Power of f-Strings”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>107</itunes:episode>
        <title>Type-Safe ORM With Prisma Client &amp; Real Python at PyCon US 2022</title>
        <itunes:title>Type-Safe ORM With Prisma Client &amp; Real Python at PyCon US 2022</itunes:title>
        <link>https://realpython.com/podcasts/rpp/107/</link>
        <description>Are you using an Object-Relational Mapper (ORM) for your Python projects? What if it could work with SQL or No-SQL databases and be fully type-safe? This week on the show, Robert Craigie talks about Prisma Client Python.</description>
        <content:encoded>&lt;p&gt;Are you using an Object-Relational Mapper (ORM) for your Python projects? What if it could work with SQL or No-SQL databases and be fully type-safe? This week on the show, Robert Craigie talks about Prisma Client Python.&lt;/p&gt;
&lt;p&gt;Prisma Client Python is built on top of Prisma, which was created for TypeScript and Node.js. It uses a schema file to declare your application&amp;rsquo;s data models and relationships in a human-readable form. The schema file allows you to easily switch the database type. &lt;/p&gt;
&lt;p&gt;Prisma Client is different from other Python ORMs. It is fully type-safe and can be used with or without async.&lt;/p&gt;
&lt;p&gt;We talk about how Robert started the project and what types of challenges he&amp;rsquo;s faced. He also shares areas of improvement and how to contribute to the project.&lt;/p&gt;
&lt;p&gt;We also have a conversation with several Real Python core team members about PyCon US 2022. We will have a booth at the conference where we hope you&amp;rsquo;ll come and connect with us. The team also shares what to expect from PyCon and what they&amp;rsquo;re excited about this year.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-rest-apis-with-fastapi/&quot;&gt;Python REST APIs With FastAPI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the main concepts of FastAPI and how to use it to quickly create web APIs that implement best practices by default. By the end of it, you will be able to start creating production-ready web APIs.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:15 &amp;ndash; Have you worked on other open-source projects?&lt;/li&gt;
&lt;li&gt;00:02:59 &amp;ndash; What is Prisma?&lt;/li&gt;
&lt;li&gt;00:05:00 &amp;ndash; What are advantages of using an ORM?&lt;/li&gt;
&lt;li&gt;00:06:52 &amp;ndash; What problem is Prisma Client solving?&lt;/li&gt;
&lt;li&gt;00:08:43 &amp;ndash; What was involved in porting the project over?&lt;/li&gt;
&lt;li&gt;00:09:55 &amp;ndash; Creating a Prisma schema&lt;/li&gt;
&lt;li&gt;00:12:09 &amp;ndash; Other challenges along the way&lt;/li&gt;
&lt;li&gt;00:14:57 &amp;ndash; Dangers of not having type safety&lt;/li&gt;
&lt;li&gt;00:16:27 &amp;ndash; Sponsor: Linear B&lt;/li&gt;
&lt;li&gt;00:17:06 &amp;ndash; How long have you been working on the project?&lt;/li&gt;
&lt;li&gt;00:18:57 &amp;ndash; How could someone contribute to the project?&lt;/li&gt;
&lt;li&gt;00:21:03 &amp;ndash; In what situations does Prisma Client excel?&lt;/li&gt;
&lt;li&gt;00:24:21 &amp;ndash; What other projects do you currently work on?&lt;/li&gt;
&lt;li&gt;00:24:57 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:28:01 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:29:52 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;li&gt;00:30:14 &amp;ndash; Introduction of RP team&lt;/li&gt;
&lt;li&gt;00:31:09 &amp;ndash; What are we doing at PyCon 2022?&lt;/li&gt;
&lt;li&gt;00:35:55 &amp;ndash; How to Get the Most Out of PyCon US&lt;/li&gt;
&lt;li&gt;00:37:42 &amp;ndash; Tutorials at PyCon US 2022&lt;/li&gt;
&lt;li&gt;00:40:24 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:49 &amp;ndash; Talks at PyCon US 2022&lt;/li&gt;
&lt;li&gt;00:50:16 &amp;ndash; Sprints at PyCon US 2022&lt;/li&gt;
&lt;li&gt;00:54:38 &amp;ndash; Final thoughts&lt;/li&gt;
&lt;li&gt;00:57:30 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://prisma-client-py.readthedocs.io/en/stable/&quot;&gt;Prisma Client Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.prisma.io/docs/concepts/components/prisma-schema&quot;&gt;Prisma schema (Reference) | Prisma Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.typescriptlang.org/&quot;&gt;TypeScript: JavaScript With Syntax For Types.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Microsoft/pyright&quot;&gt;pyright: Static type checker for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/RobertCraigie/pyright-python&quot;&gt;pyright-python: Python command line wrapper for pyright, a static type checker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance&quot;&gt;Pylance - Visual Studio Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mkdocs.org/&quot;&gt;MkDocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/RobertCraigie/prisma-client-py&quot;&gt;prisma-client-py: An auto-generated and fully type-safe database client built for autocomplete&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discord.gg/HpFaJbepBH&quot;&gt;Prisma Python Discord server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2022/&quot;&gt;PyCon 2022 Welcome to PyCon US 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pycon-guide/&quot;&gt;How to Get the Most Out of PyCon US – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.nz/KiwiPyCon&quot;&gt;KiwiPyCon - New Zealand Python User Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.euroscipy.org/&quot;&gt;EuroSciPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycolorado.org/&quot;&gt;PyColorado 2019&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rest-apis-with-fastapi/&quot;&gt;Python REST APIs With FastAPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-a-django-user-management-system/&quot;&gt;Building a Django User Management System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-data-types/&quot;&gt;Exploring Basic Data Types in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E107_Robert_and_RP_v2.706eff0490bc.mp3" type="audio/mpeg" length="57488102"/>
        <guid isPermaLink="false">08c7ec5e-6162-429e-b8e3-3579aa78cd47</guid>
        <pubDate>Fri, 22 Apr 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3528</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_107_Podcast.fb7d24835922.jpg"/>
        <rp:twitter-handles>@martinbreuss, @dbader_org, @gahjelle, @probablyrobert</rp:twitter-handles>
        <rp:twitter-title>“Type-Safe ORM With Prisma Client &amp; Real Python at PyCon US 2022” with @martinbreuss, @dbader_org, @gahjelle, @probablyrobert</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>106</itunes:episode>
        <title>Class Constructors &amp; Pythonic Image Processing</title>
        <itunes:title>Class Constructors &amp; Pythonic Image Processing</itunes:title>
        <link>https://realpython.com/podcasts/rpp/106/</link>
        <description>Do you know the difference between creating a class instance and initializing it? Would you like an interactive tour of the Python Pillow library? This week on the show, Christopher Trudeau is here, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you know the difference between creating a class instance and initializing it? Would you like an interactive tour of the Python Pillow library? This week on the show, Christopher Trudeau is here, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about the recent Real Python tutorial &amp;ldquo;Image Processing With the Python Pillow Library.&amp;rdquo; It walks you through manipulating, filtering, and creating images from scratch. &lt;/p&gt;
&lt;p&gt;Christopher shares an article about Python class constructors, exploring the two-step instance creation and initialization process.&lt;/p&gt;
&lt;p&gt;We also have a couple of discussions this week. The first is about contributing to open source projects. The second topic is about searching large codebases before adding features. &lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including the counter-intuitive rise of Python in scientific computing, preparation for interview questions, a project for adding pointer hell to Python, and a fast and powerful graphical user interface tool kit for Python with minimal dependencies.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-vs-javascript-for-python-devs/&quot;&gt;Python vs JavaScript for Python Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python and JavaScript are two of the most popular programming languages in the world. In this course, you&amp;rsquo;ll take a deep dive into the JavaScript ecosystem by comparing Python vs JavaScript. You&amp;rsquo;ll learn the jargon, language history, and best practices from a Python developer&amp;rsquo;s perspective.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; Image Processing With the Python Pillow Library&lt;/li&gt;
&lt;li&gt;00:11:10 &amp;ndash; The Counter-Intuitive Rise of Python in Scientific computing&lt;/li&gt;
&lt;li&gt;00:17:15 &amp;ndash; 20 Python Interview Questions&lt;/li&gt;
&lt;li&gt;00:25:48 &amp;ndash; Sponsor: FusionAuth&lt;/li&gt;
&lt;li&gt;00:26:25 &amp;ndash; Python Class Constructors: Control Your Object Instantiation&lt;/li&gt;
&lt;li&gt;00:31:17 &amp;ndash; Do You Contribute to Open Source Projects?&lt;/li&gt;
&lt;li&gt;00:42:43 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:08 &amp;ndash; How To Search Large Codebases Before Adding a Feature?&lt;/li&gt;
&lt;li&gt;00:49:34 &amp;ndash; pointers.py: Bringing the Hell of Pointers to Python&lt;/li&gt;
&lt;li&gt;00:52:16 &amp;ndash; DearPyGui: A fast and powerful Graphical User Interface Toolkit for Python&lt;/li&gt;
&lt;li&gt;00:57:11 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/image-processing-with-the-python-pillow-library/&quot;&gt;Image Processing With the Python Pillow Library&lt;/a&gt; &amp;ndash; Learn how to use the Python Pillow library to deal with images. Combine this with some NumPy to process images and create animations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cerfacs.fr/coop/fortran-vs-python&quot;&gt;The Counter-Intuitive Rise of Python in Scientific computing&lt;/a&gt; &amp;ndash; Explore why Python&amp;rsquo;s ability to write code quickly and access more libraries can outperform heavily optimized compiled code.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/20-python-interview-questions-to-challenge-your-knowledge-cddc842297c5&quot;&gt;20 Python Interview Questions&lt;/a&gt; &amp;ndash; Practice up for that next interview. Questions about data structures, language concepts, and some common standard library functions.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-class-constructor/&quot;&gt;Python Class Constructors: Control Your Object Instantiation&lt;/a&gt; &amp;ndash; Learn how class constructors work in Python and explore the two steps of Python&amp;rsquo;s instantiation process: instance creation and instance initialization.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discussion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=30765596&quot;&gt;Do You Contribute to Open Source Projects?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=30819579&quot;&gt;How To Search Large Codebases Before Adding a Feature?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ZeroIntensity/pointers.py&quot;&gt;pointers.py: Bringing the Hell of Pointers to Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hoffstadt/DearPyGui&quot;&gt;hoffstadt/DearPyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pearson.com/us/higher-education/program/Gonzalez-Digital-Image-Processing-4th-Edition/PGM241219.html&quot;&gt;Gonzalez &amp;amp; Woods, Digital Image Processing, 4th Edition | Pearson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://driscollis.gumroad.com/l/pypillow&quot;&gt;Pillow: Image Processing with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-pillow.org/&quot;&gt;Python Pillow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/danielgatis/rembg&quot;&gt;danielgatis/rembg: Rembg is a tool to remove images background.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.analytixlabs.co.in/blog/python-interview-questions-for-data-science/&quot;&gt;Top 50 Python Interview Questions for Data Science | AnalytixLabs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/faq/programming.html#how-do-i-write-a-function-with-output-parameters-call-by-reference&quot;&gt;Programming FAQ — Python 3.10.4 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/49/&quot;&gt;Episode #49: The Challenges of Developing Into a Python Professional – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com/submissions&quot;&gt;PyCoder’s Weekly | Submit a Link&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vinta/awesome-python&quot;&gt;awesome-python: Awesome Python Libraries and Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dearpygui.readthedocs.io/en/latest/&quot;&gt;Dear PyGui’s Documentation — Dear PyGui documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ocornut/imgui&quot;&gt;ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dearpygui.readthedocs.io/en/latest/extra/video-tutorials.html&quot;&gt;Video Tutorials — Dear PyGui documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-vs-javascript-for-python-devs/&quot;&gt;Python vs JavaScript for Python Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simplify-gui-dev-pysimplegui/&quot;&gt;Simplify Python GUI Development With PySimpleGUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-projects-sphinx-read-the-docs/&quot;&gt;Documenting Python Projects With Sphinx and Read The Docs - Archived&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E106_Cx2.3d1144b9390a.mp3" type="audio/mpeg" length="57064350"/>
        <guid isPermaLink="false">72dd4b7f-8094-443f-bcf9-25cfea803d47</guid>
        <pubDate>Fri, 15 Apr 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3502</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_106_Podcast.5fd4c092f0a1.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Class Constructors &amp; Pythonic Image Processing”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>105</itunes:episode>
        <title>Creating Better Error Messages for Python 3.10 &amp; 3.11</title>
        <itunes:title>Creating Better Error Messages for Python 3.10 &amp; 3.11</itunes:title>
        <link>https://realpython.com/podcasts/rpp/105/</link>
        <description>What goes into creating those enhanced error messages in the latest versions of Python? How does the new PEG parser help to pinpoint where errors have occurred? This week on the show, Pablo Galindo Salgado talks about the work that goes into creating these improvements.</description>
        <content:encoded>&lt;p&gt;What goes into creating those enhanced error messages in the latest versions of Python? How does the new PEG parser help to pinpoint where errors have occurred? This week on the show, Pablo Galindo Salgado talks about the work that goes into creating these improvements.&lt;/p&gt;
&lt;p&gt;Pablo is a core CPython developer and is the release manager for Python versions 3.10 and 3.11. He is also serving his second term on the Python Steering Council. &lt;/p&gt;
&lt;p&gt;Pablo is pleasantly surprised by the positive feedback for the new error messages in Python 3.10. He shares some of the upcoming enhancements for 3.11. We talk about how the new PEG parser allows for greater context when defining errors and pinpointing where they occur.&lt;/p&gt;
&lt;p&gt;We talk about how he started contributing to CPython. He also shares some of the programming experiences he had while studying physics at university.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-linear-regression/&quot;&gt;Starting With Linear Regression in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll get started with linear regression in Python. Linear regression is one of the fundamental statistical and machine learning techniques, and Python is a popular choice for machine learning.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:56 &amp;ndash; Member of the Python Steering Council&lt;/li&gt;
&lt;li&gt;00:02:40 &amp;ndash; Physics background and research use of Python&lt;/li&gt;
&lt;li&gt;00:08:43 &amp;ndash; How did you get involved in core development?&lt;/li&gt;
&lt;li&gt;00:10:27 &amp;ndash; Why did you take on the role of release manager?&lt;/li&gt;
&lt;li&gt;00:13:38 &amp;ndash; What challenges have you found along the way?&lt;/li&gt;
&lt;li&gt;00:19:08 &amp;ndash; Sponsor: LinearB&lt;/li&gt;
&lt;li&gt;00:19:48 &amp;ndash; What motivated you to add enhanced error messages?&lt;/li&gt;
&lt;li&gt;00:29:33 &amp;ndash; How does the PEG parser help in these situations?&lt;/li&gt;
&lt;li&gt;00:37:04 &amp;ndash; PEG parser and infinite lookahead&lt;/li&gt;
&lt;li&gt;00:40:58 &amp;ndash; Identifying where the syntax is wrong&lt;/li&gt;
&lt;li&gt;00:43:28 &amp;ndash; Finding where a comma is missing&lt;/li&gt;
&lt;li&gt;00:48:49 &amp;ndash; Is this a dictionary missing a colon, or is it a set?&lt;/li&gt;
&lt;li&gt;00:50:19 &amp;ndash; Identifying missing portions of a &lt;code&gt;try&lt;/code&gt; &amp;hellip; &lt;code&gt;except&lt;/code&gt; block&lt;/li&gt;
&lt;li&gt;00:51:44 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:53:00 &amp;ndash; Informing library maintainers and not slowing performance&lt;/li&gt;
&lt;li&gt;00:56:18 &amp;ndash; Enhanced error messages coming in 3.11&lt;/li&gt;
&lt;li&gt;01:06:38 &amp;ndash; Real Python preview of Python 3.11&lt;/li&gt;
&lt;li&gt;01:07:28 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:13:00 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:15:43 &amp;ndash; How to contribute to the project?&lt;/li&gt;
&lt;li&gt;01:20:24 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-8016/&quot;&gt;PEP 8016 – The Steering Council Model | peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fortran-lang.org/&quot;&gt;Fortran Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wolfram.com/mathematica/&quot;&gt;Wolfram Mathematica: Modern Technical Computing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/C_(programming_language)#External_links&quot;&gt;C (programming language) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/2007/08/mare-nostrum-th/&quot;&gt;Mare Nostrum, The Temple Of The Bit | WIRED&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2022/03/python-3104-and-3912-are-now-available.html&quot;&gt;Python Insider: Python 3.10.4 and 3.9.12 are now available out of schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0657/&quot;&gt;PEP 657 – Include Fine Grained Error Locations in Tracebacks | peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python311-error-messages/&quot;&gt;Python 3.11 Preview: Even Better Error Messages – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/friendly-traceback/friendly-traceback&quot;&gt;friendly-traceback: Friendlier Python tracebacks.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ipython.org/&quot;&gt;IPython - Interactive Computing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://coverage.readthedocs.io/en/6.3.2/&quot;&gt;Coverage.py - Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/faster-cpython/ideas/blob/main/FasterCPythonDark.pdf&quot;&gt;faster-cpython/ideas - presentation pdf · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0659/&quot;&gt;PEP 659 – Specializing Adaptive Interpreter | peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wikihow.com/Sweep-Pick&quot;&gt;How to Sweep Pick: 14 Steps (with Pictures) - wikiHow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://line6.com/variax-modeling-guitars/shuriken/&quot;&gt;Line 6 - Shuriken Variax Guitar&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2022/schedule/presentation/69/&quot;&gt;Talks: Making Python Better One Error Message at a Time PyCon 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devguide.python.org/&quot;&gt;Python Developer&amp;rsquo;s Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devguide.python.org/parser/&quot;&gt;Guide to CPython&amp;rsquo;s Parser - Python Developer&amp;rsquo;s Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pablogsal&quot;&gt;pablogsal (Pablo Galindo Salgado) · GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pyblogsal&quot;&gt;Pablo Galindo Salgado (@pyblogsal) / Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-linear-regression/&quot;&gt;Starting With Linear Regression in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/raising-handling-exceptions/&quot;&gt;Raising and Handling Python Exceptions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E105_Pablo.3e955ed61098.mp3" type="audio/mpeg" length="79316184"/>
        <guid isPermaLink="false">ad4fd6e8-36e1-4fe4-b067-4dbf43bf153d</guid>
        <pubDate>Fri, 08 Apr 2022 12:00:00 +0000</pubDate>
        <itunes:duration>4892</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_105_Podcast.064db1292e81.jpg"/>
        <rp:twitter-handles>@pyblogsal</rp:twitter-handles>
        <rp:twitter-title>“Creating Better Error Messages for Python 3.10 &amp; 3.11” with @pyblogsal</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>104</itunes:episode>
        <title>Building a Hash Table in Python and Thoughtful REST API Design</title>
        <itunes:title>Building a Hash Table in Python and Thoughtful REST API Design</itunes:title>
        <link>https://realpython.com/podcasts/rpp/104/</link>
        <description>Do you understand how a hash table works? What if you could learn about building one while practicing test-driven development? What are best practices when designing a REST API? This week on the show, Christopher Trudeau is here, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you understand how a hash table works? What if you could learn about building one while practicing test-driven development? What are best practices when designing a REST API? This week on the show, Christopher Trudeau is here, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about the recent Real Python article &amp;ldquo;Build a Hash Table in Python With TDD.&amp;rdquo; The tutorial shows how to implement a hash table prototype from scratch in Python. It also provides a hands-on crash course in test-driven development.&lt;/p&gt;
&lt;p&gt;Christopher shares an article on designing REST APIs and provides some of his own best practices. We cover authentication implementation, good naming conventions, versioned APIs, and ways to specify dates.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news roundup, a PEP on removing dead batteries from the standard library, a comparison of the Python list vs tuple, a guide to writing user-friendly CLIs in Python, just enough Cython to be useful, a cross-platform TUI and ASCII animation package, and code for running &lt;code&gt;black&lt;/code&gt; on Python code blocks in documentation files.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Command-line arguments are the key to converting your programs into useful and enticing tools that are ready to be used in the terminal of your operating system. In this course, you&amp;rsquo;ll learn their origins, standards, and basics, and how to implement them in your program. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:23 &amp;ndash; PEP 594: Removing Dead Batteries From the Standard Library&lt;/li&gt;
&lt;li&gt;00:05:33 &amp;ndash; Python 3.10.3, 3.9.11, 3.8.13, and 3.7.13 Now Available &lt;/li&gt;
&lt;li&gt;00:08:37 &amp;ndash; EuroPython 2022: Ticket Sales Open&lt;/li&gt;
&lt;li&gt;00:09:34 &amp;ndash; Python list vs tuple Comparison&lt;/li&gt;
&lt;li&gt;00:12:19 &amp;ndash; How to Write User-Friendly CLIs in Python&lt;/li&gt;
&lt;li&gt;00:20:14 &amp;ndash; Sponsor: Anvil&lt;/li&gt;
&lt;li&gt;00:20:55 &amp;ndash; Build a Hash Table in Python With TDD&lt;/li&gt;
&lt;li&gt;00:26:11 &amp;ndash; Just Enough Cython to Be Useful&lt;/li&gt;
&lt;li&gt;00:36:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:45 &amp;ndash; How to Design Better REST APIs&lt;/li&gt;
&lt;li&gt;00:47:10 &amp;ndash; blacken-docs: Run black on Python Code Blocks within Documentation Files&lt;/li&gt;
&lt;li&gt;00:49:09 &amp;ndash; asciimatics: Cross Platform TUI and ASCII Animation Package&lt;/li&gt;
&lt;li&gt;00:52:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/pep-0594/&quot;&gt;PEP 594: Removing Dead Batteries From the Standard Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2022/03/python-3103-3911-3813-and-3713-are-now.html&quot;&gt;Python 3.10.3, 3.9.11, 3.8.13, and 3.7.13 Now Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.europython.eu/europython-2022-ticket-sales-open-on-17-march/&quot;&gt;EuroPython 2022: Ticket Sales Open&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pub.towardsai.net/python-list-vs-tuple-an-in-depth-comparison-42c59348d8a8&quot;&gt;Python list vs tuple Comparison&lt;/a&gt; &amp;ndash; Learn how &lt;code&gt;list&lt;/code&gt; and &lt;code&gt;tuple&lt;/code&gt; are similar and how they&amp;rsquo;re different, including storage and speed differences and how to choose between them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/how-to-write-user-friendly-command-line-interfaces-in-python-cc3a6444af8e&quot;&gt;How to Write User-Friendly CLIs in Python&lt;/a&gt; &amp;ndash; Learn how to write user-friendly command-line interface applications and an overview of several of the popular CLI libraries: &lt;code&gt;argparse&lt;/code&gt;, &lt;code&gt;Click&lt;/code&gt;, &lt;code&gt;Typer&lt;/code&gt;, &lt;code&gt;Docopt&lt;/code&gt;, and &lt;code&gt;Fire&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-hash-table/&quot;&gt;Build a Hash Table in Python With TDD&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll implement the classic hash table data structure using Python. Along the way, you&amp;rsquo;ll learn how to cope with various challenges such as hash code collisions while practicing test-driven development (TDD).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.peterbaumgartner.com/blog/intro-to-just-enough-cython-to-be-useful/&quot;&gt;Just Enough Cython to Be Useful&lt;/a&gt; &amp;ndash; Cython is a superset of Python designed to give C-like performance. Ever wanted to learn the basics? This article shows you how to get started.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://r.bluethl.net/how-to-design-better-apis&quot;&gt;How to Design Better REST APIs&lt;/a&gt; &amp;ndash; Fifteen language-agnostic tips on REST API design, including good naming conventions, ways to specify dates, versioned APIs, authentication keys, pagination, and when to use which HTTP methods.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/asottile/blacken-docs&quot;&gt;blacken-docs: Run black on Python Code Blocks in Documentation Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/peterbrittain/asciimatics&quot;&gt;asciimatics: Cross Platform TUI and ASCII Animation Package&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://clig.dev/&quot;&gt;Command Line Interface Guidelines - An Open-Source Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/command-line-interfaces-python-argparse/&quot;&gt;How to Build Command Line Interfaces in Python With argparse – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python – Real Python&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cython.readthedocs.io/en/latest/src/userguide/language_basics.html#types&quot;&gt;Language Basics — Cython 3.0.0a10 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-timer/#finding-bottlenecks-in-your-code-with-profilers&quot;&gt;Python Timer Functions: Three Ways to Monitor Your Code – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rock-paper-scissors-game/&quot;&gt;Rock, Paper, Scissors With Python: A Command Line Game&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E104_Christophers.6da119274bc3.mp3" type="audio/mpeg" length="51893180"/>
        <guid isPermaLink="false">9bc5599a-9153-4837-9fa1-0b6e91cdd9b2</guid>
        <pubDate>Fri, 01 Apr 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3183</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_104_Podcast.22575cb150e8.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building a Hash Table in Python and Thoughtful REST API Design”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>103</itunes:episode>
        <title>Becoming More Effective at Manipulating Data With Pandas</title>
        <itunes:title>Becoming More Effective at Manipulating Data With Pandas</itunes:title>
        <link>https://realpython.com/podcasts/rpp/103/</link>
        <description>Do you wonder if you&#x27;re taking the right approach when shaping data in pandas? Is your Jupyter workflow getting out of hand? This week on the show, Matt Harrison talks about his new book, &quot;Effective Pandas: Patterns for Data Manipulation.&quot;</description>
        <content:encoded>&lt;p&gt;Do you wonder if you&amp;rsquo;re taking the right approach when shaping data in pandas? Is your Jupyter workflow getting out of hand? This week on the show, Matt Harrison talks about his new book, &amp;ldquo;Effective Pandas: Patterns for Data Manipulation.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Matt discusses working as a corporate consultant and migrating Excel users toward Python. We explore several &amp;ldquo;NumPy-isms&amp;rdquo; that beginners get stuck on. Matt shares advice about chaining operations in pandas, which some developers find controversial.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/sorting-data-python-pandas/&quot;&gt;Sorting Data in Python With Pandas&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn how to sort data in a pandas DataFrame using the pandas sort functions &lt;code&gt;sort_values()&lt;/code&gt; and &lt;code&gt;sort_index()&lt;/code&gt;. You&amp;rsquo;ll learn how to sort by one or more columns and by index in ascending or descending order.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:32 &amp;ndash; Working as a consultant&lt;/li&gt;
&lt;li&gt;00:03:39 &amp;ndash; Moving from Excel to Python&lt;/li&gt;
&lt;li&gt;00:06:50 &amp;ndash; Who is the book for?&lt;/li&gt;
&lt;li&gt;00:10:15 &amp;ndash; Using real data for examples&lt;/li&gt;
&lt;li&gt;00:16:16 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:16:58 &amp;ndash; What are patterns for data manipulation?&lt;/li&gt;
&lt;li&gt;00:18:38 &amp;ndash; Cleaning and preparing data&lt;/li&gt;
&lt;li&gt;00:21:33 &amp;ndash; What concepts were you most eager to share?&lt;/li&gt;
&lt;li&gt;00:26:57 &amp;ndash; An example of chaining operations in pandas&lt;/li&gt;
&lt;li&gt;00:33:20 &amp;ndash; NumPy-isms and other challenges in learning pandas&lt;/li&gt;
&lt;li&gt;00:40:20 &amp;ndash; The use of exercises throughout the book&lt;/li&gt;
&lt;li&gt;00:43:50 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:45:01 &amp;ndash; Challenges of using color throughout the book&lt;/li&gt;
&lt;li&gt;00:51:40 &amp;ndash; Avoiding the slow path in pandas&lt;/li&gt;
&lt;li&gt;00:56:03 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:56:58 &amp;ndash; What would you like to learn next?&lt;/li&gt;
&lt;li&gt;00:58:16 &amp;ndash; &lt;em&gt;Effective Pandas&lt;/em&gt; book&lt;/li&gt;
&lt;li&gt;00:58:38 &amp;ndash; Social connections&lt;/li&gt;
&lt;li&gt;00:58:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://store.metasnake.com/effective-pandas-book?coupon=REALPY&quot;&gt;&lt;em&gt;Effective Pandas&lt;/em&gt; Digital Book Discount Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://store.metasnake.com/&quot;&gt;Matt Harrison&amp;rsquo;s Site - MetaSnake&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/&quot;&gt;pandas - Python Data Analysis Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Law_of_Demeter&quot;&gt;Law of Demeter - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2022/&quot;&gt;PyCon 2022 - Welcome to PyCon US&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/docker/&quot;&gt;Production-ready Docker packaging for Python developers | Python=&amp;gt;Speed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/sorting-data-python-pandas/&quot;&gt;Sorting Data in Python With pandas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E103_Matt_Harrison.afd1e48252ca.mp3" type="audio/mpeg" length="58499938"/>
        <guid isPermaLink="false">c3762e7a-0f75-48e3-9d61-5418221c5498</guid>
        <pubDate>Fri, 25 Mar 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3597</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_103_Podcast.d8119d14b852.jpg"/>
        <rp:twitter-handles>@__mharrison__</rp:twitter-handles>
        <rp:twitter-title>“Becoming More Effective at Manipulating Data With Pandas” with @__mharrison__</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>102</itunes:episode>
        <title>Making Your Notebook Interactive and Using Python&#x27;s Assert</title>
        <itunes:title>Making Your Notebook Interactive and Using Python&#x27;s Assert</itunes:title>
        <link>https://realpython.com/podcasts/rpp/102/</link>
        <description>Would you like to build visualizations that allow your audience to play with data? How do you effectively use Python&#x27;s assert statement during development? This week on the show, Christopher Trudeau is here, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like to build visualizations that allow your audience to play with data? How do you effectively use Python&amp;rsquo;s assert statement during development? This week on the show, Christopher Trudeau is here, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about an article that shows how to build interactive visualizations with pandas, seaborn, and ipywidgets. These widgets allow you to add sliders, buttons, and dropdown menus to your Jupyter Notebooks.&lt;/p&gt;
&lt;p&gt;Christopher shares the Real Python article &amp;ldquo;Python&amp;rsquo;s assert: Debug and Test Your Code Like a Pro&amp;rdquo;. It covers how to use &lt;code&gt;assert&lt;/code&gt; statements to document, debug, and test code while in development.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news roundup, code review guidelines for data science teams, a project to manage your to-do lists using Python and Django, a Python 4 dream list, a static site generator based on Django, and a book of practical Python projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/build-neural-network-python-ai/&quot;&gt;Building a Neural Network &amp;amp; Making Predictions With Python AI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll build a neural network from scratch as an introduction to the world of artificial intelligence (AI) in Python. You&amp;rsquo;ll learn how to train your neural network and make predictions based on a given dataset.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:12 &amp;ndash; Tomli TOML Parser Will Be in Python 3.11 Standard Library&lt;/li&gt;
&lt;li&gt;00:03:53 &amp;ndash; Python Core Moving Bug Tracking to Github&lt;/li&gt;
&lt;li&gt;00:05:54 &amp;ndash; Python Release: Python 3.11.0a6&lt;/li&gt;
&lt;li&gt;00:06:09 &amp;ndash; PEPs have a new home with a shiny, new theme! &lt;/li&gt;
&lt;li&gt;00:07:03 &amp;ndash; Python&amp;rsquo;s assert: Debug and Test Your Code Like a Pro&lt;/li&gt;
&lt;li&gt;00:10:35 &amp;ndash; Sponsor: FusionAuth&lt;/li&gt;
&lt;li&gt;00:11:12 &amp;ndash; Interactive Visualizations with Pandas, Seaborn and Ipywidgets&lt;/li&gt;
&lt;li&gt;00:16:06 &amp;ndash; Code Review Guidelines for Data Science Teams&lt;/li&gt;
&lt;li&gt;00:19:22 &amp;ndash; Manage Your To-Do Lists Using Python and Django&lt;/li&gt;
&lt;li&gt;00:23:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:56 &amp;ndash; Your Python 4 Dream List&lt;/li&gt;
&lt;li&gt;00:34:37 &amp;ndash; django-distill | Static Site Generator Based on Django&lt;/li&gt;
&lt;li&gt;00:38:40 &amp;ndash; Practical Python Projects Book&lt;/li&gt;
&lt;li&gt;00:46:02 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hukkin/tomli/issues/141&quot;&gt;Tomli TOML Parser Will Be in Python 3.11 Standard Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/github-issues-migration-is-coming-soon/13791&quot;&gt;Python Core Moving Bug Tracking to Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3110a6/&quot;&gt;Python Release: Python 3.11.0a6 | Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/brettsky/status/1501671557503983617&quot;&gt;&amp;ldquo;PEPs have a new home with a shiny, new theme!&amp;rdquo; | Brett Cannon on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-assert-statement/&quot;&gt;Python&amp;rsquo;s assert: Debug and Test Your Code Like a Pro&lt;/a&gt; &amp;ndash; Learn how to use Python&amp;rsquo;s &lt;code&gt;assert&lt;/code&gt; statement to document, debug, and test code in development.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.plainenglish.io/interactive-visualizations-with-pandas-seaborn-and-ipywidgets-173e5d7d6a5e&quot;&gt;Interactive Visualizations with Pandas, Seaborn and Ipywidgets&lt;/a&gt; &amp;ndash; Create interactive visual output using ipywidgets.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tdhopper.com/blog/code-review-guidelines&quot;&gt;Code Review Guidelines for Data Science Teams&lt;/a&gt; &amp;ndash; Although written for data science teams, a good article on why any team of coders should do code reviews. How to do them, what to look for, and how to improve your code.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-todo-lists/&quot;&gt;Manage Your To-Do Lists Using Python and Django&lt;/a&gt; &amp;ndash; Use Django to build a to-do list manager app. This step-by-step tutorial will teach you how to use Django&amp;rsquo;s class-based views to build a powerful app while dramatically reducing your development time.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://old.reddit.com/r/Python/comments/sy369l/your_python_4_dream_list/&quot;&gt;Your Python 4 Dream List&lt;/a&gt; &amp;ndash; &amp;ldquo;If there was to ever be Python 4 (not a minor version increment, but full fledged new Python), what would you like to see in it?&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/meeb/django-distill&quot;&gt;django-distill | Static Site Generator Based on Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://practicalpython.yasoob.me/toc.html&quot;&gt;Practical Python Projects Book&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/what-the-heck-is-pyproject-toml/&quot;&gt;What the heck is pyproject.toml?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/82/&quot;&gt;Episode #82: Welcoming the CPython Developer in Residence | The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://peps.python.org/&quot;&gt;PEP 0 – Index of Python Enhancement Proposals (PEPs) | peps.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://seaborn.pydata.org/&quot;&gt;seaborn: statistical data visualization | seaborn 0.11.2 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ciechanow.ski/cameras-and-lenses/&quot;&gt;Cameras and Lenses | Bartosz Ciechanowski&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/weasyprint/&quot;&gt;weasyprint | PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/build-neural-network-python-ai/&quot;&gt;Building a Neural Network &amp;amp; Making Predictions With Python AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/plot-pandas-data-visualization/&quot;&gt;Plot With pandas: Python Data Visualization Basics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E102_Christophers.c144c981d934.mp3" type="audio/mpeg" length="46259781"/>
        <guid isPermaLink="false">35378c08-a778-4499-ab62-9d87bb6f5734</guid>
        <pubDate>Fri, 18 Mar 2022 12:00:00 +0000</pubDate>
        <itunes:duration>2829</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_102_Podcast.a0004eaa32a6.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Making Your Notebook Interactive and Using Python&#x27;s Assert”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>101</itunes:episode>
        <title>Tools for Setting Up Python on a New Machine</title>
        <itunes:title>Tools for Setting Up Python on a New Machine</itunes:title>
        <link>https://realpython.com/podcasts/rpp/101/</link>
        <description>There are many ways to get Python installed on your computer. If you were going to start fresh, what tools would you use? What if you need to manage multiple versions of Python and virtual environments? What about all the additional tools that make your coding workflow complete? This week on the show, Calvin Hendryx-Parker is here to talk about bootstrapping your Python environment.</description>
        <content:encoded>&lt;p&gt;There are many ways to get Python installed on your computer. If you were going to start fresh, what tools would you use? What if you need to manage multiple versions of Python and virtual environments? What about all the additional tools that make your coding workflow complete? This week on the show, Calvin Hendryx-Parker is here to talk about bootstrapping your Python environment.&lt;/p&gt;
&lt;p&gt;Calvin is the co-founder and CTO of Six Feet Up and a Python Web Conference co-organizer. As a consultant, Calvin has set up countless machines to run Python. He configures environments that can scale from in-office projects to distributed cloud-based applications.&lt;/p&gt;
&lt;p&gt;We cover tools for installing Python, managing multiple language versions, and configuring virtual environments. Calvin talks about setting up command-line applications in isolated environments. We also discuss traveling with Python on an iPad.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/start-with-pyenv/&quot;&gt;Start Managing Multiple Python Versions With pyenv&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to install multiple Python versions and switch between them, including project-specific virtual environments, with ease with pyenv.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:42 &amp;ndash; Giving talks at IndyPy&lt;/li&gt;
&lt;li&gt;00:03:12 &amp;ndash; Calvin&amp;rsquo;s talk &amp;ldquo;Half a Dozen Ways to Fail at Python&amp;rdquo;&lt;/li&gt;
&lt;li&gt;00:07:41 &amp;ndash; Advice on installing Python using Homebrew and pyenv&lt;/li&gt;
&lt;li&gt;00:11:48 &amp;ndash; The consistency of using a Docker container&lt;/li&gt;
&lt;li&gt;00:18:49 &amp;ndash; Creating virtual environments and installing packages&lt;/li&gt;
&lt;li&gt;00:21:51 &amp;ndash; Sponsor: ScoutAPM&lt;/li&gt;
&lt;li&gt;00:22:38 &amp;ndash; Creating &lt;code&gt;requirements.txt&lt;/code&gt; files and moving from pipenv to piptools&lt;/li&gt;
&lt;li&gt;00:30:54 &amp;ndash; Paying attention to security issues and your software supply chain&lt;/li&gt;
&lt;li&gt;00:34:19 &amp;ndash; The goal of making a repeatable developer build experience&lt;/li&gt;
&lt;li&gt;00:39:30 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:47 &amp;ndash; Using pipx to set up CLI code tools&lt;/li&gt;
&lt;li&gt;00:44:52 &amp;ndash; Using bpytop to monitor performance&lt;/li&gt;
&lt;li&gt;00:46:41 &amp;ndash; Tools for using Python on the iPad&lt;/li&gt;
&lt;li&gt;00:53:06 &amp;ndash; Python Web Conference&lt;/li&gt;
&lt;li&gt;00:56:08 &amp;ndash; Moving your dotfiles across multiple machines with chezmoi&lt;/li&gt;
&lt;li&gt;01:02:22 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=C-QzMorLcGI&amp;amp;t=8s&quot;&gt;Half a Dozen Ways to Fail at Python – YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/calvinhp/2019_IndyPyBytes_WaysToFailAtPython&quot;&gt;calvinhp/2019 WaysToFailAtPython – GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=InVUiKtKNGw&quot;&gt;Calvin Hendryx Parker - Bootstrapping your Local Python Environment – YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/calvinhp/2021_DjangoCon_BootstrappingyourLocalPythonEnvironment&quot;&gt;calvinhp/2021 BootstrappingYourLocalPythonEnvironment – GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/&quot;&gt;Six Feet Up: Python web application development and cloud management services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://brew.sh/&quot;&gt;Homebrew: The Missing Package Manager for macOS (or Linux)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chocolatey.org/&quot;&gt;Chocolatey - The package manager for Windows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/installing-python/#how-to-install-python-on-windows&quot;&gt;Python 3 Installation &amp;amp; Setup Guide – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-coding-setup-windows/&quot;&gt;Your Python Coding Environment on Windows: Setup Guide - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/intro-to-pyenv/&quot;&gt;Managing Multiple Python Versions With pyenv – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/a-quick-and-dirty-guide-on-how-to-install-packages-for-python/&quot;&gt;A quick-and-dirty guide on how to install packages for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/why-you-should-use-python-m-pip/&quot;&gt;Why you should use &amp;ldquo;python -m pip&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pypa/pipenv&quot;&gt;pypa/pipenv: Python Development Workflow for Humans.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pip-tools/&quot;&gt;pip-tools · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/safety/&quot;&gt;safety · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/docker/&quot;&gt;Production-ready Docker packaging for Python developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypa.github.io/pipx/&quot;&gt;pipx: Install and Run Python Applications in Isolated Environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/bpytop/&quot;&gt;bpytop: Resource monitor that shows usage and stats - PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonbytes.fm/episodes/show/272/the-tools-episode&quot;&gt;Episode #272 The tools episode - Python Bytes Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Vrlex9xyr8A&amp;amp;t=139s&quot;&gt;Road Warrior Developer – YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://davidamos.dev/5-ways-to-use-python-on-an-ipad/&quot;&gt;5 Ways To Use Python On An iPad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/advanced-visual-studio-code-python/&quot;&gt;Advanced Visual Studio Code for Python Developers – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.chezmoi.io/&quot;&gt;chezmoi: Manage your dotfiles across multiple diverse machines, securely&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2022.pythonwebconf.com/&quot;&gt;Python Web Conference 2022 — Python Web Conf 2022&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;#x27;s Guide to pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/installing-python-windows-macos-linux/&quot;&gt;Installing Python on Windows, macOS, and Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/start-with-pyenv/&quot;&gt;Start Managing Multiple Python Versions With pyenv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E101_Calvin.7a6da9f82d06.mp3" type="audio/mpeg" length="61761817"/>
        <guid isPermaLink="false">3a40f37a-bce2-41f4-8dc5-97b4a551d0ff</guid>
        <pubDate>Fri, 11 Mar 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3800</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_101_Podcast.9dbeb379a7fa.jpg"/>
        <rp:twitter-handles>@calvinhp</rp:twitter-handles>
        <rp:twitter-title>“Tools for Setting Up Python on a New Machine” with @calvinhp</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>100</itunes:episode>
        <title>Defining Optional Arguments and Moving Beyond &quot;Beginner&quot; Python</title>
        <itunes:title>Defining Optional Arguments and Moving Beyond &quot;Beginner&quot; Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/100/</link>
        <description>How do you define Python functions that accept optional arguments or default values? Are you wondering how to go beyond being a beginner with Python? This week on the show, Christopher Trudeau is here, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How do you define Python functions that accept optional arguments or default values? Are you wondering how to go beyond being a beginner with Python? This week on the show, Christopher Trudeau is here, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Christopher shares a Real Python article, &amp;ldquo;Defining Python Functions With Optional Arguments.&amp;rdquo; We talk about function flexibility, specifying default values, and using &lt;code&gt;args&lt;/code&gt; &amp;amp; &lt;code&gt;kwargs&lt;/code&gt;. &lt;/p&gt;
&lt;p&gt;We discuss resources for a Python beginner to move beyond the basics and become more competent. Both of us share our experiences moving past these hurdles.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news roundup, ten tools you may have wished you knew when you started working with Python, Python&amp;rsquo;s &lt;code&gt;zipfile&lt;/code&gt; for manipulating your zip files efficiently, how one company optimized Python API server code by 100x, a dependency-free Python library for downloading YouTube videos, and how to use Python on the command line with other shell commands. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/defining-python-functions-with-optional-arguments/&quot;&gt;Defining Python Functions With Optional Arguments&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this video course, you&amp;rsquo;ll learn about Python optional arguments and how to define functions with default values. You&amp;rsquo;ll also learn how to create functions that accept any number of arguments using args and kwargs.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:03:08 &amp;ndash; Django Project Reformats Entire Codebase With Black&lt;/li&gt;
&lt;li&gt;00:03:53 &amp;ndash; PEP 673: Self Type Was Accepted&lt;/li&gt;
&lt;li&gt;00:05:16 &amp;ndash; PEP 654 Accepted: Exception Groups&lt;/li&gt;
&lt;li&gt;00:07:45 &amp;ndash; Upcoming Python Feature PEPs&lt;/li&gt;
&lt;li&gt;00:10:01 &amp;ndash; Defining Python Functions With Optional Arguments&lt;/li&gt;
&lt;li&gt;00:15:12 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:15:53 &amp;ndash; 10 Tools I Wish I Knew When I Started Working With Python&lt;/li&gt;
&lt;li&gt;00:23:22 &amp;ndash; How We Optimized Python API Server Code 100x&lt;/li&gt;
&lt;li&gt;00:29:47 &amp;ndash; Python&amp;rsquo;s zipfile: Manipulate Your ZIP Files Efficiently&lt;/li&gt;
&lt;li&gt;00:32:47 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:33:59 &amp;ndash; How Do I Go From Being a Beginner to Competent in Python?&lt;/li&gt;
&lt;li&gt;00:47:02 &amp;ndash; pytube: Dependency-Free Python Library for Downloading &amp;ndash; YouTube Videos&lt;/li&gt;
&lt;li&gt;00:49:30 &amp;ndash; pz: Use Python on the Command Line With Other Shell Commands&lt;/li&gt;
&lt;li&gt;00:52:23 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/django/django/pull/15387&quot;&gt;Django Project Reformats Entire Codebase With Black&lt;/a&gt; &amp;ndash; Related discussion on &lt;a href=&quot;https://news.ycombinator.com/item?id=30258530&quot;&gt;Hacker News&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0673/&quot;&gt;PEP 673: Self Type Was Accepted&lt;/a&gt; &amp;ndash; This PEP introduces a simple and intuitive way to annotate methods that return an instance of their class. This behaves the same as the &lt;code&gt;TypeVar&lt;/code&gt;-based approach specified in PEP 484 but is more concise and easier to follow. &lt;a href=&quot;https://twitter.com/raymondh/status/1491187805636407298&quot;&gt;Related Twitter thread by core dev Raymond Hettinger.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0654/&quot;&gt;PEP 654 Accepted: Exception Groups&lt;/a&gt; &amp;ndash; New standard for grouping exceptions together&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://martinheinz.dev/blog/67&quot;&gt;Upcoming Python Feature PEPs&lt;/a&gt; &amp;ndash; &amp;ldquo;These PEPs are a great way of getting the freshest info about what might be included in the upcoming Python releases. So, in this article we will go over all the proposals that are going to bring some exciting new Python features in a near future!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-python-functions-with-optional-arguments/&quot;&gt;Defining Python Functions With Optional Arguments&lt;/a&gt; &amp;ndash; Learn about Python optional arguments and how to define functions with default values. You&amp;rsquo;ll also see how to create functions that accept any number of arguments using &lt;code&gt;*args&lt;/code&gt; and &lt;code&gt;**kwargs&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.plainenglish.io/10-tools-to-help-claw-your-way-back-to-sanity-while-coding-python-df0af160c33e&quot;&gt;10 Tools I Wish I Knew When I Started Working With Python&lt;/a&gt; &amp;ndash; Learn about how venvs, flake8, black, isort, pytest, commitizen, semantic-release, pre-commit hooks, and Github Actions work together! &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/how-we-optimized-python-api-server-code-100x-9da94aa883c5&quot;&gt;How We Optimized Python API Server Code 100x&lt;/a&gt; &amp;ndash; Tricks we used to speed up calls to our analytical API written in Python: asyncio, SQLAlchemy,  asyncpg, Cython plugins, improved data structures, and replaced some Pandas with NumPy.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-zipfile/&quot;&gt;Python&amp;rsquo;s zipfile: Manipulate Your ZIP Files Efficiently&lt;/a&gt; &amp;ndash; In this guided tutorial, you&amp;rsquo;ll learn how to manipulate ZIP files using Python&amp;rsquo;s zipfile module from the standard library. Through hands-on examples, you&amp;rsquo;ll learn how to read, write, compress, and extract files from your ZIP files quickly.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=30357094&quot;&gt;How Do I Go From Being a Beginner to Competent in Python?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pytube/&quot;&gt;pytube: Dependency-Free Python Library for Downloading YouTube Videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/CZ-NIC/pz&quot;&gt;pz: Use Python on the Command Line With Other Shell Commands&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/fluent-python-2nd/9781492056348/&quot;&gt;Fluent Python, 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.dabeaz.com/python-distilled/&quot;&gt;Python Distilled&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learnbyexample.github.io/py_resources/intermediate.html&quot;&gt;Intermediate to Advanced resources - Python resources for everybody&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world&quot;&gt;The Flask Mega-Tutorial Part I: Hello, World!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-python-functions-with-optional-arguments/&quot;&gt;Defining Python Functions With Optional Arguments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-and-calling-functions/&quot;&gt;Defining and Calling Python Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E100_Christophers.56212fdb2980.mp3" type="audio/mpeg" length="52315629"/>
        <guid isPermaLink="false">77844635-1a68-4928-ac0d-aacac8b016dd</guid>
        <pubDate>Fri, 04 Mar 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3204</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_100_Podcast.9ffde4b329f7.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Defining Optional Arguments and Moving Beyond &quot;Beginner&quot; Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>99</itunes:episode>
        <title>OAuth 2 and Authentication Choices for Your Python Project</title>
        <itunes:title>OAuth 2 and Authentication Choices for Your Python Project</itunes:title>
        <link>https://realpython.com/podcasts/rpp/99/</link>
        <description>Have you thought about what authentication system you want to use for your Python project? Should you use an existing Python library or a third-party service? This week on the show, Dan Moore is here to talk about authentication systems and OAuth 2.</description>
        <content:encoded>&lt;p&gt;Have you thought about what authentication system you want to use for your Python project? Should you use an existing Python library or a third-party service? This week on the show, Dan Moore is here to talk about authentication systems and OAuth 2.&lt;/p&gt;
&lt;p&gt;Dan is the head of developer relations at FusionAuth. He shares advice about setting up an authentication system, setting up device grants, using social login, and addressing privacy issues. Dan also provides multiple resources to learn much more about the topic.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/using-google-login-flask/&quot;&gt;Using Google Login With Flask&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll create a Flask application that lets users sign in using their Google login. You&amp;rsquo;ll learn about OAuth 2 and OpenID Connect and also find out how to implement some code to handle user session management.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:58 &amp;ndash; What is FusionAuth?&lt;/li&gt;
&lt;li&gt;00:03:13 &amp;ndash; What is the single-responsibility principle?&lt;/li&gt;
&lt;li&gt;00:04:14 &amp;ndash; Thinking about setting up an authentication system&lt;/li&gt;
&lt;li&gt;00:08:42 &amp;ndash; Background on OAuth&lt;/li&gt;
&lt;li&gt;00:13:26 &amp;ndash; Device grants&lt;/li&gt;
&lt;li&gt;00:19:23 &amp;ndash; Using another provider&amp;rsquo;s login and addressing privacy issues&lt;/li&gt;
&lt;li&gt;00:28:39 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:53 &amp;ndash; Resources to learn more about privacy and identity&lt;/li&gt;
&lt;li&gt;00:32:39 &amp;ndash; Setting up an OAuth system&lt;/li&gt;
&lt;li&gt;00:35:59 &amp;ndash; DIY authentication pitfalls and hashing passwords&lt;/li&gt;
&lt;li&gt;00:42:57 &amp;ndash; Staying on top of updates and social engineering&lt;/li&gt;
&lt;li&gt;00:51:29 &amp;ndash; Resources for learning more about OAuth&lt;/li&gt;
&lt;li&gt;00:54:30 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:42 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:56:49 &amp;ndash; Final words and social connections&lt;/li&gt;
&lt;li&gt;00:57:47 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://fusionauth.io/&quot;&gt;FusionAuth - Auth. Built for Devs, By Devs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc6749&quot;&gt;RFC 6749 - The OAuth 2.0 Authorization Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc6750&quot;&gt;RFC 6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Single-responsibility_principle&quot;&gt;Single-responsibility principle - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/oauthlib/&quot;&gt;oauthlib · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://openid.net/specs/openid-connect-core-1_0.html&quot;&gt;Final: OpenID Connect Core 1.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://iapp.org/&quot;&gt;International Association of Privacy Professionals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://idpro.org/&quot;&gt;IDPro: Identity Professionals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://haveibeenpwned.com/&quot;&gt;Have I Been Pwned: Check if your email has been compromised in a data breach&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://csrc.nist.gov/projects/Hash-Functions&quot;&gt;Hash Functions | National Institute of Standards and Technology (NIST)  - Computer Security Resource Center (CSRC)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fusionauth.io/docs/v1/tech/guides/&quot;&gt;Guides Overview - FusionAuth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fusionauth.io/learn/expert-advice/oauth/modern-guide-to-oauth&quot;&gt;The Modern Guide to OAuth - FusionAuth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://link.springer.com/book/10.1007/978-1-4842-5095-2&quot;&gt;Solving Identity Management in Modern Applications | SpringerLink&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/oauth-2-in-action&quot;&gt;OAuth 2 in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://django-oauth-toolkit.readthedocs.io/en/latest/getting_started.html#oauth2-authorization-grants&quot;&gt;Getting started — Django OAuth Toolkit 1.7.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flask-login.readthedocs.io/en/latest/&quot;&gt;Flask-Login — Flask-Login 0.4.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fusionauth.io/blog/2020/07/14/django-and-oauth&quot;&gt;Adding social sign in to your Django web application using OAuth - FusionAuth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-google-login/&quot;&gt;Create a Flask Application With Google Login – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-04&quot;&gt;Draft IETF - OAuth V2.1.04&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-view-authorization/&quot;&gt;Django View Authorization: Restricting Access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-google-login-flask/&quot;&gt;Using Google Login With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/deploy-python-script-web-flask/&quot;&gt;Deploy Your Python Script on the Web With Flask&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E099_Dan_Moore.b6c142910fc5.mp3" type="audio/mpeg" length="57169538"/>
        <guid isPermaLink="false">0b494fdd-a641-4b4c-bf09-a3389e34ab27</guid>
        <pubDate>Fri, 25 Feb 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3514</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_099_Podcast.9a903d94ff35.jpg"/>
        <rp:twitter-handles>@mooreds</rp:twitter-handles>
        <rp:twitter-title>“OAuth 2 and Authentication Choices for Your Python Project” with @mooreds</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>98</itunes:episode>
        <title>Drawing Fractals With Python and Working With a Weather API</title>
        <itunes:title>Drawing Fractals With Python and Working With a Weather API</itunes:title>
        <link>https://realpython.com/podcasts/rpp/98/</link>
        <description>Have you been wanting to explore fractals and complex numbers in Python? Would you like to practice working with APIs in Python through a new project? This week on the show, Christopher Trudeau is here, and he&#x27;s taking on the task of curating new issues of PyCoder&#x27;s Weekly going forward. He&#x27;ll be joining me as a cohost every other week and bringing a fresh batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you been wanting to explore fractals and complex numbers in Python? Would you like to practice working with APIs in Python through a new project? This week on the show, Christopher Trudeau is here, and he&amp;rsquo;s taking on the task of curating new issues of PyCoder&amp;rsquo;s Weekly going forward. He&amp;rsquo;ll be joining me as a cohost every other week and bringing a fresh batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a Real Python article about drawing the Mandelbrot set in Python. The tutorial guides you through creating fractal art using Matplotlib and Pillow. We also share a new step-by-step project building a weather-reporting command-line interface (CLI) app. &lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community, including a news roundup, a better Pygame main loop, ways to work with static and media files in Django, and a library for pleasing console output.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With Pygame&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to use Pygame. This library allows you to create games and rich multimedia programs in Python. You&amp;rsquo;ll learn how to draw items on your screen, implement collision detection, handle user input, and much more!&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:15 &amp;ndash; Black, the Python Code Formatter, Is Stable&lt;/li&gt;
&lt;li&gt;00:04:07 &amp;ndash; Apple Removes Python 2.7 in macOS Monterey 12.3&lt;/li&gt;
&lt;li&gt;00:06:36 &amp;ndash; GitHub Survey on Languages and More Developer Things&lt;/li&gt;
&lt;li&gt;00:10:14 &amp;ndash; CPython 3.11.0a5 Is Available&lt;/li&gt;
&lt;li&gt;00:11:48 &amp;ndash; Django Security Releases Issued: 4.0.2, 3.2.12, and 2.2.27&lt;/li&gt;
&lt;li&gt;00:12:43 &amp;ndash; A Better Pygame Main Loop&lt;/li&gt;
&lt;li&gt;00:21:22 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:22:04 &amp;ndash; Draw the Mandelbrot Set in Python&lt;/li&gt;
&lt;li&gt;00:29:12 &amp;ndash; The Fastest Way to Read a CSV in Pandas&lt;/li&gt;
&lt;li&gt;00:35:16 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:26 &amp;ndash; Working With Static and Media Files in Django&lt;/li&gt;
&lt;li&gt;00:41:42 &amp;ndash; Raining Outside? Build a Weather CLI App With Python&lt;/li&gt;
&lt;li&gt;00:48:15 &amp;ndash; konsole: Readable, Pleasing Console Output&lt;/li&gt;
&lt;li&gt;00:50:27 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://black.readthedocs.io/en/latest/change_log.html#id1&quot;&gt;Black, the Python Code Formatter, Is Stable&lt;/a&gt; &amp;ndash; The popular Python autoformatter Black is finally non-beta software. &lt;a href=&quot;https://news.ycombinator.com/item?id=30130315&quot;&gt;Related discussion on Hacker News&lt;/a&gt; and &lt;a href=&quot;https://black.readthedocs.io/en/latest/the_black_code_style/index.html#stability-policy&quot;&gt;Black&amp;rsquo;s stability policy doc&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python&quot;&gt;Apple Removes Python 2.7 in macOS Monterey 12.3&lt;/a&gt; &amp;ndash; &amp;ldquo;Python 2.7 was removed from macOS in this update. Developers should use Python 3 or an alternative language instead.&amp;rdquo; Also see the &lt;a href=&quot;https://news.ycombinator.com/item?id=30115214&quot;&gt;related discussion on Hacker News&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://octoverse.github.com/&quot;&gt;GitHub Survey on Languages and More Developer Things&lt;/a&gt; &amp;ndash; JavaScript retains the top spot, Python keeps second place gained in 2019 over Java, which holds in third. TypeScript continues fourth after racing up tenth in 2017 to fourth in 2020. JavaScript + TypeScript seem to put that way ahead in terms of amount of code on GitHub.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythoninsider.blogspot.com/2022/02/python-3110a5-is-available.html&quot;&gt;CPython 3.11.0a5 Is Available&lt;/a&gt; &amp;ndash; &amp;ldquo;We needed to tame some angry buildbots, but after a small fight, we won with just some scratches! Here you have a shiny new alpha release: Python 3.11.0a5.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/weblog/2022/feb/01/security-releases/&quot;&gt;Django Security Releases Issued: 4.0.2, 3.2.12, and 2.2.27&lt;/a&gt; &amp;ndash; Includes fixes for a possible XSS via &lt;code&gt;debug&lt;/code&gt; template tag and a denial-of-service possibility in file uploads.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Articles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://glyph.twistedmatrix.com/2022/02/a-better-pygame-mainloop.html&quot;&gt;A Better Pygame Main Loop&lt;/a&gt; &amp;ndash; Improving your game&amp;rsquo;s main loop for smoother gameplay that takes less battery power: &amp;ldquo;Now your players&amp;rsquo; laptops run cool while playing, and the graphics don&amp;rsquo;t have ugly tearing artifacts any more!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/mandelbrot-set-python/&quot;&gt;Draw the Mandelbrot Set in Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll visualize the famous Mandelbrot set using Python&amp;rsquo;s Matplotlib and Pillow libraries. You&amp;rsquo;ll learn how to draw the fractal in black and white, grayscale, and color.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/pandas-read-csv-fast/&quot;&gt;The Fastest Way to Read a CSV in Pandas&lt;/a&gt; &amp;ndash; This article covers pandas&amp;rsquo; default CSV reading, the faster and more parallel CSV reader introduced in v1.4, and a different approach that can make things even faster.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://testdriven.io/blog/django-static-files/&quot;&gt;Working With Static and Media Files in Django&lt;/a&gt; &amp;ndash; A look at how to work with static and media files in a Django project, locally and in production.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-a-python-weather-app-cli/&quot;&gt;Raining Outside? Build a Weather CLI App With Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll write a nicely formatted Python CLI app that displays information about the current weather in any city that you provide the name for.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/apparebit/konsole&quot;&gt;konsole: Readable, Pleasing Console Output&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With Pygame – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://glyph.twistedmatrix.com/2020/08/nice-animations-with-twisted-and-pygame.html&quot;&gt;Deciphering Glyph :: Nice Animations with Twisted and PyGame&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pygame.itch.io/pygame-book&quot;&gt;pygame 4000 book by pygame&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/blocking-cpu-or-io/&quot;&gt;Where&amp;rsquo;s your bottleneck? CPU time vs wallclock time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://testdriven.io/blog/storing-django-static-and-media-files-on-amazon-s3/&quot;&gt;Storing Django Static and Media Files on Amazon S3 | TestDriven.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://openweathermap.org/guide&quot;&gt;OpenWeatherMap API guide - OpenWeatherMap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With PyGame&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E098_The_Christophers.01989a22f165.mp3" type="audio/mpeg" length="50370017"/>
        <guid isPermaLink="false">b54a32f1-c6ff-4f07-93b2-4e08567a829e</guid>
        <pubDate>Fri, 18 Feb 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3086</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_098_Podcast.3f8c721f3593.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Drawing Fractals With Python and Working With a Weather API”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>97</itunes:episode>
        <title>Improving Your Django and Python Developer Experience</title>
        <itunes:title>Improving Your Django and Python Developer Experience</itunes:title>
        <link>https://realpython.com/podcasts/rpp/97/</link>
        <description>How often have you thought about your Developer Experience (DX)? How do you improve your workflow, find documentation, and simplify code formatting? This week on the show, Adam Johnson is here to talk about his new book, &quot;Boost Your Django DX.&quot;</description>
        <content:encoded>&lt;p&gt;How often have you thought about your Developer Experience (DX)? How do you improve your workflow, find documentation, and simplify code formatting? This week on the show, Adam Johnson is here to talk about his new book, &amp;ldquo;Boost Your Django DX.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Adam provides advice on improving your developer experience, specifically inside Django and within Python. We discuss tools to simplify code formatting and linting. &lt;/p&gt;
&lt;p&gt;Adam shares a couple of his own Django tools designed to simplify development and keep your projects updated. He also covers documentation resources for finding answers quickly.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/django-view-authorization/&quot;&gt;Django View Authorization: Restricting Access&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course covers how to restrict your web pages to users with different roles through Django view authorization. You&amp;rsquo;ll learn about &lt;code&gt;HttpRequest.user&lt;/code&gt; objects, decorators that authenticate views, and ways to notify your users with the Django messages framework.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; The Django Project Technical Board&lt;/li&gt;
&lt;li&gt;00:04:08 &amp;ndash; Change in the release cadence for Django&lt;/li&gt;
&lt;li&gt;00:06:08 &amp;ndash; Kaizen, continous improvement, and helping others improve&lt;/li&gt;
&lt;li&gt;00:10:23 &amp;ndash; Common ways to improve developer experience&lt;/li&gt;
&lt;li&gt;00:14:06 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:14:54 &amp;ndash; Developer documentation tools&lt;/li&gt;
&lt;li&gt;00:20:24 &amp;ndash; Bang shortcuts when searching with DuckDuckGo &lt;/li&gt;
&lt;li&gt;00:22:37 &amp;ndash; Who is the intended audience for the book?&lt;/li&gt;
&lt;li&gt;00:23:33 &amp;ndash; Managing secrets and giving general advice&lt;/li&gt;
&lt;li&gt;00:26:49 &amp;ndash; Writing books to fill in the gaps&lt;/li&gt;
&lt;li&gt;00:29:12 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:24 &amp;ndash; Topics for the blog, favicons, and type hints&lt;/li&gt;
&lt;li&gt;00:39:22 &amp;ndash; What are your recent Django-related projects?&lt;/li&gt;
&lt;li&gt;00:42:05 &amp;ndash; Sources for Django news&lt;/li&gt;
&lt;li&gt;00:45:01 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:45:59 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:47:43 &amp;ndash; Shout-outs and social connections&lt;/li&gt;
&lt;li&gt;00:48:43 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/&quot;&gt;Adam Johnson&amp;rsquo;s Home Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamchainz.gumroad.com/l/byddx&quot;&gt;Boost Your Django DX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2022/01/10/boost-your-django-dx-released/&quot;&gt;&amp;ldquo;Boost Your Django DX&amp;rdquo; Released - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/foundation/teams/&quot;&gt;Django Software Foundation | Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Kaizen&quot;&gt;Kaizen - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/black/&quot;&gt;black: The Uncompromising Code Formatter · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycqa.github.io/isort/&quot;&gt;isort: isort your imports, so you don&amp;rsquo;t have to.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flake8.pycqa.org/en/latest/&quot;&gt;Flake8: Your Tool For Style Guide Enforcement — flake8 4.0.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devdocs.io/&quot;&gt;DevDocs API Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://duckduckgo.com/bang&quot;&gt;DuckDuckGo !Bang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangochat.com/episodes/boost-your-django-dx-adam-johnon&quot;&gt;Django Chat | Adam Johnson - Boost Your Django DX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonpodcast.com/developer-experience-episode-349/&quot;&gt;Podcast.__init__  - Improve Your Productivity By Investing In Developer Experience&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2022/01/18/how-to-add-a-favicon-to-your-django-site/&quot;&gt;How to Add a Favicon to Your Django Site - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realfavicongenerator.net/&quot;&gt;Favicon Generator for perfect icons on all browsers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adamj.eu/tech/2021/12/16/introducing-django-browser-reload/&quot;&gt;Introducing django-browser-reload: Automatically Reload Your Browser in Development - Adam Johnson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/django-browser-reload/&quot;&gt;django-browser-reload · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/django-upgrade/&quot;&gt;django-upgrade · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyupgrade/&quot;&gt;pyupgrade · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://django-news.com/&quot;&gt;Django News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ableton.com/en/push/&quot;&gt;Learn more about Ableton Push | Ableton&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-view-authorization/&quot;&gt;Django View Authorization: Restricting Access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/host-your-django-project-on-heroku/&quot;&gt;Host Your Django Project on Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E097_Adam_Johnson.d785d8040f4d.mp3" type="audio/mpeg" length="48706521"/>
        <guid isPermaLink="false">dfe26b6a-a027-484b-9106-43f257653220</guid>
        <pubDate>Fri, 11 Feb 2022 12:00:00 +0000</pubDate>
        <itunes:duration>2980</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_097_Podcast.21a4d5cb2956.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Improving Your Django and Python Developer Experience”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>96</itunes:episode>
        <title>Manipulating and Analyzing Audio in Python</title>
        <itunes:title>Manipulating and Analyzing Audio in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/96/</link>
        <description>Would you like to experiment with analyzing or manipulating audio with Python? This week on the show, we have Braden Riggs from DolbyIO to discuss extracting audio features and Python libraries for reshaping audio. Braden shares techniques from his recent talk at PyData Global, &quot;Unlocking More From Your Audio Data!&quot;</description>
        <content:encoded>&lt;p&gt;Would you like to experiment with analyzing or manipulating audio with Python? This week on the show, we have Braden Riggs from DolbyIO to discuss extracting audio features and Python libraries for reshaping audio. Braden shares techniques from his recent talk at PyData Global, &amp;ldquo;Unlocking More From Your Audio Data!&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We share several articles, tutorials, and Python libraries to get you started working with audio. We begin with a quick introduction to audio digitization and feature extraction. After discussing modifying audio files, we share tools and techniques for exploring audio analysis through data science. &lt;/p&gt;
&lt;p&gt;Braden talks about speech-to-text conversion, sentiment analysis, and Natural Language Toolkit (NLTK). He also shares a valuable collection of audio technology resources for developers.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about libraries that can be used for playing and recording sound in Python, such as PyAudio and python-sounddevice. You&amp;rsquo;ll also see code snippets for playing and recording sound files and arrays, as well as for converting between different sound file formats.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:46 &amp;ndash; What is Dolby IO?&lt;/li&gt;
&lt;li&gt;00:05:08 &amp;ndash; Audio and data science background&lt;/li&gt;
&lt;li&gt;00:08:17 &amp;ndash; Digital audio basics&lt;/li&gt;
&lt;li&gt;00:12:07 &amp;ndash; Audio feature extraction&lt;/li&gt;
&lt;li&gt;00:18:31 &amp;ndash; Sponsor: Snyk - The Big Fix&lt;/li&gt;
&lt;li&gt;00:19:17 &amp;ndash; PyAudioAnalysis and processing audio files with Python&lt;/li&gt;
&lt;li&gt;00:26:16 &amp;ndash; Feature extraction and audio analysis talk at PyData Global&lt;/li&gt;
&lt;li&gt;00:32:33 &amp;ndash; Jupyter notebook of presentation and DolbyIO awesome audio list &lt;/li&gt;
&lt;li&gt;00:34:13 &amp;ndash; librosa - package for music analysis&lt;/li&gt;
&lt;li&gt;00:37:55 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:11 &amp;ndash; Speech to text and NLTK&lt;/li&gt;
&lt;li&gt;00:54:28 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:49 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:56:53 &amp;ndash; Shout outs and social connections&lt;/li&gt;
&lt;li&gt;00:58:04 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dolby.io/&quot;&gt;Dolby.io - High-fidelity Audio and Video For All&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.izotope.com/en/learn/digital-audio-basics-sample-rate-and-bit-depth.html&quot;&gt;Digital Audio Basics: Audio Sample Rate and Bit Depth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devopedia.org/audio-feature-extraction#qst-ans-1&quot;&gt;Audio Feature Extraction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tyiannak/pyAudioAnalysis/wiki&quot;&gt;pyAudioAnalysis Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hackernoon.com/audio-handling-basics-how-to-process-audio-files-using-python-cli-jo283u3y&quot;&gt;Audio Handling Basics: Process Audio Files In Command-Line or Python | HackerNoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://pydub.com/&quot;&gt;pydub: Manipulate audio with a simple and easy high level interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ffmpeg.org/&quot;&gt;FFmpeg: Complete, cross-platform solution to record, convert and stream audio and video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dolby.io/blog/improving-automated-ad-insertion-with-audio-analysis-at-pydata-global-2021/&quot;&gt;Improving Automated Ad Insertion with Audio Analysis at PyData Global 2021 - Dolby.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Briggs599/audio_data_DolbyIO&quot;&gt;Demo notebooks presented at PyData Global 2021 for &amp;ldquo;Unlocking more from your audio data&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://librosa.org/doc/latest/index.html&quot;&gt;librosa: Python package for music and audio analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nltk.org/api/nltk.html&quot;&gt;NLTK: The Natural Language Toolkit Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/nltk-nlp-python/&quot;&gt;Natural Language Processing With Python&amp;rsquo;s NLTK Package – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/DolbyIO/awesome-audio&quot;&gt;DolbyIO/awesome-audio: A curated list of awesome audio technology resources for developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2022.pycon.de/&quot;&gt;PyConDE &amp;amp; PyData Berlin 2022 | PyCon.DE &amp;amp; PyData Berlin, 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vuejs.org/&quot;&gt;Vue.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flutter.dev/&quot;&gt;Flutter - Build apps for any screen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E096_Braden.eec2e325bc79.mp3" type="audio/mpeg" length="57726509"/>
        <guid isPermaLink="false">6e885b51-9d96-40c4-9a24-ee57f0e40519</guid>
        <pubDate>Fri, 04 Feb 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3548</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_096_Podcast.152d07ac3d37.jpg"/>
        <rp:twitter-handles>@BradenRiggs1</rp:twitter-handles>
        <rp:twitter-title>“Manipulating and Analyzing Audio in Python” with @BradenRiggs1</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>95</itunes:episode>
        <title>What Is a JIT and How Can Pyjion Speed Up Your Python?</title>
        <itunes:title>What Is a JIT and How Can Pyjion Speed Up Your Python?</itunes:title>
        <link>https://realpython.com/podcasts/rpp/95/</link>
        <description>How can you can speed up Python? Have you thought of using a JIT (Just-In-Time Compiler)? This week on the show, we have Real Python author and previous guest Anthony Shaw to talk about his project Pyjion, a drop-in JIT compiler for CPython 3.10.</description>
        <content:encoded>&lt;p&gt;How can you can speed up Python? Have you thought of using a JIT (Just-In-Time Compiler)? This week on the show, we have Real Python author and previous guest Anthony Shaw to talk about his project Pyjion, a drop-in JIT compiler for CPython 3.10.&lt;/p&gt;
&lt;p&gt;Anthony has been working on Pyjion over the past year and recently released version 1.0. He talks about how he took over the project from Brett Cannon and Dino Viehland. He covers the background on compilers and assembly that he needed to take on this project. &lt;/p&gt;
&lt;p&gt;We discuss where a tool like this can speed up your Python code, and we consider alternative solutions. We also talk about his desire to make the project as deeply compatible with Python code as possible. &lt;/p&gt;
&lt;p&gt;Anthony talks about how his dive into writing the &lt;em&gt;CPython Internals&lt;/em&gt; book led him into the project. We talk about what type of developer would benefit from exploring the book. &lt;/p&gt;
&lt;p&gt;We also cover his recent Real Python article, titled &amp;ldquo;Advanced Visual Studio Code for Python Developers.&amp;rdquo; It&amp;rsquo;s an excellent resource that VS Code users should bookmark to revisit as they grow with the tool.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/products/cpython-internals-book/&quot;&gt;CPython Internals Book: Your Guided Tour Through the Python 3 Interpreter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Unlock the inner workings of the Python language, compile the Python interpreter from source code, and participate in the development of CPython.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:15 &amp;ndash; Cloud Developer Advocate at Microsoft&lt;/li&gt;
&lt;li&gt;00:04:57 &amp;ndash; Pyjion, a drop-in JIT compiler for CPython&lt;/li&gt;
&lt;li&gt;00:07:52 &amp;ndash; PyCon 2020 &amp;amp; 2021 talks and wanting to take on the project&lt;/li&gt;
&lt;li&gt;00:12:46 &amp;ndash; How Pyjion uses .NET 6 &lt;/li&gt;
&lt;li&gt;00:17:32 &amp;ndash; Trying out Pyjion functionality online &lt;/li&gt;
&lt;li&gt;00:21:43 &amp;ndash; Sponsor: Honeybadger&lt;/li&gt;
&lt;li&gt;00:22:28 &amp;ndash; Portability of projects using Pyjion&lt;/li&gt;
&lt;li&gt;00:29:55 &amp;ndash; Focus on compatibility with Python code&lt;/li&gt;
&lt;li&gt;00:33:07 &amp;ndash; Choosing to make it based on Python 3.10&lt;/li&gt;
&lt;li&gt;00:37:45 &amp;ndash; What would be prerequisites to work on the project?&lt;/li&gt;
&lt;li&gt;00:40:40 &amp;ndash; Other ways to help with project&lt;/li&gt;
&lt;li&gt;00:44:34 &amp;ndash; CPython Internals: Who is the book for?&lt;/li&gt;
&lt;li&gt;00:49:46 &amp;ndash; What resources do you need to work through the book?&lt;/li&gt;
&lt;li&gt;00:52:04 &amp;ndash; Spotlight: CPython Internals Book&lt;/li&gt;
&lt;li&gt;00:53:21 &amp;ndash; Do you use an IDE or code editor?&lt;/li&gt;
&lt;li&gt;00:56:12 &amp;ndash; Why did you decide to write the book?&lt;/li&gt;
&lt;li&gt;00:57:12 &amp;ndash; Advanced Visual Studio Code for Python Developers&lt;/li&gt;
&lt;li&gt;01:03:20 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:04:03 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:05:33 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tonybaloney/pyjion&quot;&gt;Pyjion - A JIT for Python based upon CoreCLR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyjion.readthedocs.io/en/latest/index.html&quot;&gt;Pyjion main documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://live.trypyjion.com/&quot;&gt;live.trypyjion.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=I4nkgJdVZFA&quot;&gt;Anthony Shaw - Why is Python slow? - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=YFeUUdKBrJ8&quot;&gt;Restarting Pyjion, a general purpose JIT for Python- is it worth it? - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/dotnet/standard/clr&quot;&gt;Common Language Runtime (CLR) overview - .NET | Microsoft Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tonybaloney.github.io/posts/extending-python-with-assembly.html&quot;&gt;Writing Python Extensions in Assembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://link.springer.com/book/10.1007/978-1-4842-5076-1&quot;&gt;Beginning x64 Assembly Programming | SpringerLink&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyston.org/&quot;&gt;Pyston | Python Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pypy.org/&quot;&gt;PyPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/facebookincubator/cinder&quot;&gt;facebookincubator/cinder: Instagram&amp;rsquo;s performance oriented fork of CPython.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hypothesis.readthedocs.io/en/latest/&quot;&gt;Welcome to Hypothesis! — Hypothesis 6.36.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/cpython-internals-book/&quot;&gt;CPython Internals Book – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/advanced-visual-studio-code-python/&quot;&gt;Advanced Visual Studio Code for Python Developers – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tonybaloney/vscode-pets&quot;&gt;vscode-pets: Adds playful pets 🦀🐱🐶 in your VS Code window&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.11/whatsnew/3.11.html&quot;&gt;What&amp;rsquo;s New In Python 3.11 — Python 3.11.0a4 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://suif.stanford.edu/dragonbook/&quot;&gt;Compilers: Principles, Techniques, and Tools (Dragon Book)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/looping-with-python-enumerate/&quot;&gt;Looping With Python enumerate()&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E095_Anthony_v2.f32e35f306bf.mp3" type="audio/mpeg" length="64968429"/>
        <guid isPermaLink="false">fe0b9194-e23e-4f20-9e4e-0184e77afe60</guid>
        <pubDate>Fri, 28 Jan 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3995</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_095_Podcast_2.5ac6629d0472.jpg"/>
        <rp:twitter-handles>@anthonypjshaw</rp:twitter-handles>
        <rp:twitter-title>“What Is a JIT and How Can Pyjion Speed Up Your Python?” with @anthonypjshaw</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>94</itunes:episode>
        <title>Designing for Users and Building a Social Network With Django</title>
        <itunes:title>Designing for Users and Building a Social Network With Django</itunes:title>
        <link>https://realpython.com/podcasts/rpp/94/</link>
        <description>Are you looking for a project to practice your Django skills? Designing the fundamental interactions of a social network is an instructive way to explore models and relationships while learning advanced Django skills. This week on the show, we talk with previous guest Martin Breuss about his new four-part series, &quot;Build a Social Network With Django&quot;.</description>
        <content:encoded>&lt;p&gt;Are you looking for a project to practice your Django skills? Designing the fundamental interactions of a social network is an instructive way to explore models and relationships while learning advanced Django skills. This week on the show, we talk with previous guest Martin Breuss about his new four-part series, &amp;ldquo;Build a Social Network With Django&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Martin talks about the design process and ways to include user-focused features. He shares a handy CSS library to make your front end look modern with minimal effort. &lt;/p&gt;
&lt;p&gt;We digress into a discussion of personal vs professional use of social networks. We also talk about the additional &lt;em&gt;Real Python&lt;/em&gt; resources to help you build out the rest of your project.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the necessary steps that you&amp;rsquo;ll need to take to set up a new Django project. You&amp;rsquo;ll learn the basic setup for any new Django project, which needs to happen before programming the specific functionality of your project.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; Build a Social Network with Django series&lt;/li&gt;
&lt;li&gt;00:04:05 &amp;ndash; Setting project scope and constraints&lt;/li&gt;
&lt;li&gt;00:09:09 &amp;ndash; Why use Django for this project?&lt;/li&gt;
&lt;li&gt;00:12:23 &amp;ndash; Learning through errors&lt;/li&gt;
&lt;li&gt;00:15:29 &amp;ndash; Sponsor: Honeybadger&lt;/li&gt;
&lt;li&gt;00:16:14 &amp;ndash; Models and relationships&lt;/li&gt;
&lt;li&gt;00:19:05 &amp;ndash; Implementing a post-save hook&lt;/li&gt;
&lt;li&gt;00:23:17 &amp;ndash; Django front end with the Bulma CSS framework&lt;/li&gt;
&lt;li&gt;00:28:42 &amp;ndash; Templates and profile pages&lt;/li&gt;
&lt;li&gt;00:31:03 &amp;ndash; Following, posts, and thoughts on user-centric features&lt;/li&gt;
&lt;li&gt;00:37:18 &amp;ndash; Personal and professional use of social media&lt;/li&gt;
&lt;li&gt;00:48:03 &amp;ndash; Setting up redirects&lt;/li&gt;
&lt;li&gt;00:49:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:50:19 &amp;ndash; Additional &lt;em&gt;Real Python&lt;/em&gt; resources for Django, including a Learning Path&lt;/li&gt;
&lt;li&gt;00:53:07 &amp;ndash; What would you add if this were a portfolio project?&lt;/li&gt;
&lt;li&gt;00:54:14 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:56:36 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:57:54 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-social-network-1/&quot;&gt;Build a Social Network With Django – Part 1 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-social-front-end-2/&quot;&gt;Build a Django Front End With Bulma – Part 2 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-social-post-3/&quot;&gt;Build and Handle POST Requests in Django – Part 3 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-social-forms-4/&quot;&gt;Build and Submit HTML Forms With Django – Part 4 – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/django-web-development/&quot;&gt;Django for Web Development (Learning Path) – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/87/&quot;&gt;Episode #87: Building a Content Aggregator and Working With RSS in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/4/&quot;&gt;Episode #4: Learning Python Through Errors – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world&quot;&gt;The Flask Mega-Tutorial Part I: Hello, World! - miguelgrinberg.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulma.io/&quot;&gt;Bulma: Free, open source, and modern CSS framework based on Flexbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/4.0/intro/tutorial01/&quot;&gt;Writing your first Django app, part 1 | Django documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/get-started-with-django-1/&quot;&gt;Get Started With Django Part 1: Build a Portfolio App – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-user-management/&quot;&gt;Get Started With Django Part 2: Django User Management – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tapbots.com/tweetbot/&quot;&gt;Tweetbot 6 for iOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/300-page_iPhone_bill&quot;&gt;300-page iPhone bill - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.arcgis.com/python/&quot;&gt;ArcGIS API for Python | ArcGIS Developer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/host-your-django-project-on-heroku/&quot;&gt;Host Your Django Project on Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E094_Martin_Breuss.2b054df64b74.mp3" type="audio/mpeg" length="57686560"/>
        <guid isPermaLink="false">72c58509-0bb6-495f-808e-5b65062378d3</guid>
        <pubDate>Fri, 21 Jan 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3539</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_094_Podcast.14921a43f7bf.jpg"/>
        <rp:twitter-handles>@martinbreuss</rp:twitter-handles>
        <rp:twitter-title>“Designing for Users and Building a Social Network With Django” with @martinbreuss</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>93</itunes:episode>
        <title>Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon</title>
        <itunes:title>Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon</itunes:title>
        <link>https://realpython.com/podcasts/rpp/93/</link>
        <description>Would you like a simple command to launch your Python programs using the newest version of the language installed on your machine? This week on the show, we continue our conversation with Brett Cannon. Brett discusses his project, the Python Launcher for Unix.</description>
        <content:encoded>&lt;p&gt;Would you like a simple command to launch your Python programs using the newest version of the language installed on your machine? This week on the show, we continue our conversation with Brett Cannon. Brett discusses his project, the Python Launcher for Unix.&lt;/p&gt;
&lt;p&gt;We dive into Brett&amp;rsquo;s workflow to set up projects, virtual environments, and prepare for distribution. He shares some of the tools he employs and reasons for keeping things simple. &lt;/p&gt;
&lt;p&gt;We also talk about PEP 665, which specifies a file format to list an application&amp;rsquo;s Python package installation requirements. Brett shares why he co-authored the PEP and a bit of the community&amp;rsquo;s reaction. It leads to a deeper conversation about going beyond &amp;lsquo;requirements.txt&amp;rsquo; to lock files.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/data-viz-with-dash/&quot;&gt;Data Visualization Interfaces in Python With Dash&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to build a dashboard using Python and Dash. Dash is a framework for building data visualization interfaces. It helps data scientists build fully interactive web applications quickly.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:43 &amp;ndash; Python Launcher for Unix&lt;/li&gt;
&lt;li&gt;00:09:36 &amp;ndash; Hiding a virtual environment directory&lt;/li&gt;
&lt;li&gt;00:13:30 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:14:17 &amp;ndash; Environment  managers and being an editor vs an IDE person&lt;/li&gt;
&lt;li&gt;00:17:32 &amp;ndash; PEP 665, lock files, and Brett&amp;rsquo;s dependency workflow&lt;/li&gt;
&lt;li&gt;00:20:56 &amp;ndash; The hurdles of source distributions and version control repositories&lt;/li&gt;
&lt;li&gt;00:25:07 &amp;ndash; Drawbacks of requirements files and standardizing lock files&lt;/li&gt;
&lt;li&gt;00:28:19 &amp;ndash; Why PEP 665 is controversial and the changes to setuptools&lt;/li&gt;
&lt;li&gt;00:33:48 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:16 &amp;ndash; Are these examples of growing pains?&lt;/li&gt;
&lt;li&gt;00:37:51 &amp;ndash; Unfair comparisons to packaging in Rust or other languages&lt;/li&gt;
&lt;li&gt;00:42:35 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:43:54 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:49:23 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/introducing-the-python-launcher-for-unix/&quot;&gt;Introducing the Python Launcher for Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brettcannon/python-launcher&quot;&gt;brettcannon/python-launcher: Python launcher for Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=ms-python.python&quot;&gt;Python Extension for VSCode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flit.readthedocs.io/en/latest/rationale.html&quot;&gt;Why use Flit? — Flit 3.5.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jazzband/pip-tools/&quot;&gt;pip-tools: A set of tools to keep your pinned Python dependencies fresh.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0665/&quot;&gt;PEP 665 &amp;ndash; A file format to list Python dependencies for reproducibility of an application | Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/venv.html&quot;&gt;venv — Creation of virtual environments — Python 3.10.1 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/virtualenvwrapper/&quot;&gt;virtualenvwrapper · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pdm/&quot;&gt;pdm - Python Development Master · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyflow/&quot;&gt;pyflow - Streamlines working with Python projects and files · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pipenv/&quot;&gt;pipenv · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/thoughts-on-a-tooling-workflow/&quot;&gt;Thoughts on where tools fit into a workflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/what-to-do-when-you-botch-a-release-on-pypi/&quot;&gt;What to do when you botch a release on PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-virtual-environments-a-primer/&quot;&gt;Python Virtual Environments: A Primer – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.ganssle.io/tag/setuptools.html#summary&quot;&gt;Why you shouldn&amp;rsquo;t invoke setup.py directly | Paul Ganssle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ethanhs/python-wasm&quot;&gt;python-wasm: Build scripts and configuration for building CPython for Emscripten&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyodide.org/en/stable/&quot;&gt;Pyodide — A Python distribution for the browser and Node.js based on WebAssembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;WebAssembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/programming-rust-2nd/9781492052586/&quot;&gt;Programming Rust, 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/brettsky/status/1481069172314550276&quot;&gt;Brett Cannon on Twitter: &amp;ldquo;PEP 665 got rejected today 😞&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;#x27;s Guide to pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/data-viz-with-dash/&quot;&gt;Data Visualization Interfaces in Python With Dash&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-with-pipenv/&quot;&gt;Working With Pipenv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E093_Brett-Part2_v2.627ffd1d4758.mp3" type="audio/mpeg" length="49648281"/>
        <guid isPermaLink="false">29d30ae1-2289-4911-b227-419442f8a4af</guid>
        <pubDate>Fri, 14 Jan 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3042</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_093_Podcast.390c6de1399e.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Launching Python, Virtual Environments, and Locking Dependencies With Brett Cannon”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>92</itunes:episode>
        <title>Continuing to Unravel Python&#x27;s Syntactic Sugar With Brett Cannon</title>
        <itunes:title>Continuing to Unravel Python&#x27;s Syntactic Sugar With Brett Cannon</itunes:title>
        <link>https://realpython.com/podcasts/rpp/92/</link>
        <description>A year ago, we had Brett Cannon on the show to discuss his blog series about unravelling Python&#x27;s syntactic sugar. Brett has written 15 more entries in the series, and he returns to the show this week to continue our conversation. We dive into unravelling &#x27;async&#x27; and &#x27;await&#x27; statements and their relationship with Python&#x27;s generators.</description>
        <content:encoded>&lt;p&gt;A year ago, we had Brett Cannon on the show to discuss his blog series about unravelling Python&amp;rsquo;s syntactic sugar. Brett has written 15 more entries in the series, and he returns to the show this week to continue our conversation. We dive into unravelling &amp;lsquo;async&amp;rsquo; and &amp;lsquo;await&amp;rsquo; statements and their relationship with Python&amp;rsquo;s generators.&lt;/p&gt;
&lt;p&gt;While working through the series, he has uncovered some issues lying under the surface of CPython. We discuss a couple of these discoveries and how the core developers resolved them.&lt;/p&gt;
&lt;p&gt;Brett was recently re-elected to the Python Steering Council, and he talks about how the current direction of the council is shifting. We also discuss how Brett uses Twitter polls to gauge community sentiment and factors it into development decisions.&lt;/p&gt;
&lt;p&gt;This conversation covered so many topics that we split it into two episodes. Next week&amp;rsquo;s episode will continue our discussion.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Learn what concurrency means in Python and why you might want to use it. You&amp;rsquo;ll see a simple, non-concurrent approach and then look into why you&amp;rsquo;d want threading, asyncio, or multiprocessing.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:54 &amp;ndash; Python Steering Council Reelection&lt;/li&gt;
&lt;li&gt;00:06:06 &amp;ndash; Python Extension for VSCode and the Language Server Protocol (LSP)&lt;/li&gt;
&lt;li&gt;00:10:38 &amp;ndash; Using twitter polls to gauge sentiment&lt;/li&gt;
&lt;li&gt;00:19:19 &amp;ndash; Sponsor: Honeybadger&lt;/li&gt;
&lt;li&gt;00:20:04 &amp;ndash; Unravelling Python&amp;rsquo;s syntactic sugar series &lt;/li&gt;
&lt;li&gt;00:25:30 &amp;ndash; The desugar GitHub repo and unearthing problems in CPython&lt;/li&gt;
&lt;li&gt;00:29:48 &amp;ndash; Why have &lt;code&gt;__iter__()&lt;/code&gt; for an iterator?&lt;/li&gt;
&lt;li&gt;00:32:47 &amp;ndash; Is discovering and showcasing these &amp;ldquo;issues&amp;rdquo; stressful?&lt;/li&gt;
&lt;li&gt;00:35:19 &amp;ndash; A reverse chronology of some Python features&lt;/li&gt;
&lt;li&gt;00:38:34 &amp;ndash; How the heck does async/await work in Python&lt;/li&gt;
&lt;li&gt;00:51:29 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:52:54 &amp;ndash; Using &amp;ldquo;spam&amp;rdquo; vs &amp;ldquo;foo&amp;rdquo; and metasyntactic variables&lt;/li&gt;
&lt;li&gt;00:57:30 &amp;ndash; Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://discuss.python.org/t/2022-python-steering-council-election-results/12581&quot;&gt;2022 Python Steering Council Election Results - Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://microsoft.github.io/language-server-protocol/&quot;&gt;Official Page for Language Server Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/brettsky/status/1471264518885937152&quot;&gt;Brett Cannon on Twitter: &amp;ldquo;If I were creating a protocol/interface for a spammy object, what naming convention would you expect?&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/88/&quot;&gt;Episode #88: Discussing Type Hints, Protocols, and Ducks in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/brettsky/status/1471227326797021185&quot;&gt;Brett Cannon - Twitter Poll: &amp;ldquo;Which of these &amp;lsquo;pip install&amp;rsquo; flags to you usually specify?&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode #47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/unravelling-break-and-continue/&quot;&gt;Unravelling &amp;lsquo;break&amp;rsquo; and &amp;lsquo;continue&amp;rsquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/unravelling-for-statements/&quot;&gt;Unravelling &amp;lsquo;for&amp;rsquo; statements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brettcannon/desugar&quot;&gt;GitHub - brettcannon/desugar: Unravelling Python source code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/a-reverse-chronology-of-some-python-features/&quot;&gt;A reverse chronology of some Python features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/&quot;&gt;What Color is Your Function? – journal.stuffwithstuff.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/unravelling-async-and-await/&quot;&gt;Unravelling &amp;lsquo;async&amp;rsquo; and &amp;lsquo;await&amp;rsquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/how-the-heck-does-async-await-work-in-python-3-5/&quot;&gt;How the heck does async/await work in Python 3.5?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/39/&quot;&gt;Episode #39: Generators, Coroutines, and Learning Python Through Exercises – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/introduction-to-python-generators/&quot;&gt;How to Use Generators and yield in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/async-io-python/&quot;&gt;Async IO in Python: A Complete Walkthrough – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-for-loop/&quot;&gt;For Loops in Python (Definite Iteration)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-generators/&quot;&gt;Python Generators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E092_Brett_Part_1.4d27cfcbc2c3.mp3" type="audio/mpeg" length="43138588"/>
        <guid isPermaLink="false">2e9ba11c-5019-4669-a0c2-5de5b3ffb5fb</guid>
        <pubDate>Fri, 07 Jan 2022 12:00:00 +0000</pubDate>
        <itunes:duration>3511</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_092_Podcast.315b90e5f8ee.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Continuing to Unravel Python&#x27;s Syntactic Sugar With Brett Cannon”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>91</itunes:episode>
        <title>2021 Real Python Articles Wrap Up</title>
        <itunes:title>2021 Real Python Articles Wrap Up</itunes:title>
        <link>https://realpython.com/podcasts/rpp/91/</link>
        <description>It&#x27;s been a year of change at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also added many new members to the team, updated the site&#x27;s features, and created new styles of tutorials and projects.</description>
        <content:encoded>&lt;p&gt;It&amp;rsquo;s been a year of change at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also added many new members to the team, updated the site&amp;rsquo;s features, and created new styles of tutorials and projects.&lt;/p&gt;
&lt;p&gt;Two members of the Real Python team join us this week, Martin Breuss and Sadie Parker. We wanted to share a year-end wrap-up with a collection of articles and step-by-step projects that showcase what our team created this year.&lt;/p&gt;
&lt;p&gt;Sadie and Martin help to shepherd articles through the multi-stage editing process. Along with the rest of the team, they make sure these resources impart crucial Python knowledge and provide a thorough didactic experience.&lt;/p&gt;
&lt;p&gt;We hope you enjoy this review! Programming note, there won&amp;rsquo;t be an episode next week, but we will be back in January and look forward to bringing you a year full of great guests, articles, and topics.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the basics of creating powerful web applications with In this course, you&amp;rsquo;ll build a clone of the Asteroids game in Python using Pygame. Step by step, you&amp;rsquo;ll add images, input handling, game logic, sounds, and text to your program.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:24 &amp;ndash; Changes at Real Python Over 2021&lt;/li&gt;
&lt;li&gt;00:10:11 &amp;ndash; Build a Platform Game in Python With Arcade&lt;/li&gt;
&lt;li&gt;00:13:40 &amp;ndash; Make Your First Python Game: Rock, Paper, Scissors!&lt;/li&gt;
&lt;li&gt;00:20:00 &amp;ndash; Build a Content Aggregator in Python&lt;/li&gt;
&lt;li&gt;00:25:30 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:45 &amp;ndash; Python Inner Functions: What Are They Good For?&lt;/li&gt;
&lt;li&gt;00:30:44 &amp;ndash; Build a Personal Diary With Django and Python&lt;/li&gt;
&lt;li&gt;00:34:14 &amp;ndash; Hosting a Django Project on Heroku&lt;/li&gt;
&lt;li&gt;00:42:00 &amp;ndash; Python &amp;amp; APIs: A Winning Combo for Reading Public Data&lt;/li&gt;
&lt;li&gt;00:46:03 &amp;ndash; Beautiful Soup: Build a Web Scraper With Python&lt;/li&gt;
&lt;li&gt;00:52:25 &amp;ndash; Advanced Visual Studio Code for Python Developers&lt;/li&gt;
&lt;li&gt;00:59:55 &amp;ndash; A Few Special Mentions, Data Science, and More&lt;/li&gt;
&lt;li&gt;01:02:33 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/platformer-python-arcade/&quot;&gt;Build a Platform Game in Python With Arcade – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-rock-paper-scissors/&quot;&gt;Make Your First Python Game: Rock, Paper, Scissors! – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-a-content-aggregator-python/&quot;&gt;Build a Content Aggregator in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/inner-functions-what-are-they-good-for/&quot;&gt;Python Inner Functions: What Are They Good For? – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-diary-project-python/&quot;&gt;Build a Personal Diary With Django and Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-hosting-on-heroku/&quot;&gt;Hosting a Django Project on Heroku – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-api/&quot;&gt;Python &amp;amp; APIs: A Winning Combo for Reading Public Data – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/beautiful-soup-web-scraper-python/&quot;&gt;Beautiful Soup: Build a Web Scraper With Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/advanced-visual-studio-code-python/&quot;&gt;Advanced Visual Studio Code for Python Developers – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-ai-neural-network/&quot;&gt;Python AI: How to Build a Neural Network &amp;amp; Make Predictions – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/gradient-descent-algorithm-python/&quot;&gt;Stochastic Gradient Descent Algorithm With Python and NumPy – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pretty-print/&quot;&gt;Prettify Your Data Structures With Pretty Print in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/60/&quot;&gt;Episode #60: Building a Platform Game With Arcade and Covering Python News Monthly – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arcade.academy&quot;&gt;The Python Arcade Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/arcade-python-game-framework/&quot;&gt;Arcade: A Primer on the Python Game Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rock-paper-scissors-game/&quot;&gt;Rock, Paper, Scissors With Python: A Command Line Game – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/asteroids-game-python/&quot;&gt;Build an Asteroids Game With Python and Pygame – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://godotengine.org/&quot;&gt;Godot Engine - Free and open source 2D and 3D game engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/87/&quot;&gt;Episode #87: Building a Content Aggregator and Working With RSS in Python – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/host-your-django-project-on-heroku/&quot;&gt;Host Your Django Project on Heroku – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/12/&quot;&gt;Episode #12: Web Scraping in Python: Tools, Techniques, and Legality – The Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/web-scraping-beautiful-soup/&quot;&gt;Web Scraping With Beautiful Soup and Python – Video Course&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/host-your-django-project-on-heroku/&quot;&gt;Host Your Django Project on Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/web-scraping-beautiful-soup/&quot;&gt;Web Scraping With Beautiful Soup and Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E091_2021YearEnd_V3.b841743777a0.mp3" type="audio/mpeg" length="46725727"/>
        <guid isPermaLink="false">9780417b-7e67-4209-9b59-342a651f6760</guid>
        <pubDate>Fri, 24 Dec 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3814</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/Square_Podcast_E91.04408d3938b7.jpg"/>
        <rp:twitter-handles>@martinbreuss, @sadiep4rker</rp:twitter-handles>
        <rp:twitter-title>“2021 Real Python Articles Wrap Up” with @martinbreuss, @sadiep4rker</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>90</itunes:episode>
        <title>A Python Journey: Cyber Security, Automating AWS, and TDD</title>
        <itunes:title>A Python Journey: Cyber Security, Automating AWS, and TDD</itunes:title>
        <link>https://realpython.com/podcasts/rpp/90/</link>
        <description>The Python community continually grows, with many users coming from different languages and backgrounds. This week on the show, we talk with developer Hugh Tipping about his Python journey. Hugh is also a member of the Real Python community.</description>
        <content:encoded>&lt;p&gt;The Python community continually grows, with many users coming from different languages and backgrounds. This week on the show, we talk with developer Hugh Tipping about his Python journey. Hugh is also a member of the Real Python community.&lt;/p&gt;
&lt;p&gt;Hugh has a background in programming C and Perl and started to use Python in a cyber security job. He explains the way he used Python to search for malware. Hugh provides some suggestions for security packages and tools.&lt;/p&gt;
&lt;p&gt;Recently Hugh has been working with Amazon Web Services (AWS) and using the Boto3 library to automate services and manage credentials. We also discuss his affinity for test-driven development and the use of pytest. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/host-your-django-project-on-heroku/&quot;&gt;Host Your Django Project on Heroku&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to host your Django project in the cloud for free and with little hassle. You&amp;rsquo;ll use Heroku, which takes the burden of infrastructure management off your shoulders.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:44 &amp;ndash; How did you get introduced to Python?&lt;/li&gt;
&lt;li&gt;00:05:52 &amp;ndash; What types of tasks were you doing in cyber security?&lt;/li&gt;
&lt;li&gt;00:10:21 &amp;ndash; Why do you think Python is popular for cyber security?&lt;/li&gt;
&lt;li&gt;00:14:57 &amp;ndash; Python libraries to check for security vulnerabilities&lt;/li&gt;
&lt;li&gt;00:18:07 &amp;ndash; Sponsor: Cloudsmith&lt;/li&gt;
&lt;li&gt;00:18:52 &amp;ndash; Boto3 for managing AWS with Python&lt;/li&gt;
&lt;li&gt;00:25:21 &amp;ndash; What is your background with test-driven development?&lt;/li&gt;
&lt;li&gt;00:33:58 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:22 &amp;ndash; Finding Real Python and learning about Python tools&lt;/li&gt;
&lt;li&gt;00:41:42 &amp;ndash; Getting involved in the Real Python community&lt;/li&gt;
&lt;li&gt;00:45:45 &amp;ndash; What are excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:47:32 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:53:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://meta.pycqa.org/en/latest/introduction.html&quot;&gt;An Introduction to the PyCQA — PyCQA Meta Documentation 1.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/bandit/&quot;&gt;bandit · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/safety/&quot;&gt;safety · PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anchore.com/&quot;&gt;Anchore • Container Security Solutions For DevSecOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io/&quot;&gt;Snyk | Develop fast. Stay secure.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Single_sign-on&quot;&gt;Single sign-on - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/guide/index.html&quot;&gt;Developer guide — Boto3 Docs 1.20.24 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/developer/language/python/?nc1=f_dr&quot;&gt;AWS Developer Center | Python Tutorials, APIs, SDKs, Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/msk/what-is-kafka/&quot;&gt;What is Apache Kafka? | AWS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Test-driven_development&quot;&gt;Test-driven development - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/6.2.x/&quot;&gt;pytest: helps you write better programs — pytest documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pytest-python-testing/&quot;&gt;Effective Python Testing With Pytest – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-a-content-aggregator-python/&quot;&gt;Build a Content Aggregator in Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pyenv/pyenv&quot;&gt;pyenv/pyenv: Simple Python version management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/intro-to-pyenv/&quot;&gt;Managing Multiple Python Versions With pyenv – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-poetry.org/&quot;&gt;Poetry - Python dependency management and packaging made easy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boltons.readthedocs.io/en/latest/&quot;&gt;boltons — boltons 21.0.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/community/&quot;&gt;Join the Real Python Community Slack – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/start-with-pyenv/&quot;&gt;Start Managing Multiple Python Versions With pyenv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/host-your-django-project-on-heroku/&quot;&gt;Host Your Django Project on Heroku&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E090_Hugh.d2b539ef2f86.mp3" type="audio/mpeg" length="40192769"/>
        <guid isPermaLink="false">f9111824-1e12-4ddf-a81b-8e88a77d7631</guid>
        <pubDate>Fri, 17 Dec 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3269</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_090_Podcast.4d1d85c878fc.jpg"/>
        <rp:twitter-handles>@HughTipping</rp:twitter-handles>
        <rp:twitter-title>“A Python Journey: Cyber Security, Automating AWS, and TDD” with @HughTipping</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>89</itunes:episode>
        <title>Solving Advent of Code Puzzles With Python</title>
        <itunes:title>Solving Advent of Code Puzzles With Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/89/</link>
        <description>Are you ready to break open the first days of puzzles from the annual Advent of Code challenge? Advent of Code is an advent calendar of twenty-five programming puzzles published each December. Practicing solving puzzles is a great way to build your Python skills. This week on the show, we have previous guest and Real Python author Geir Arne Hjelle to discuss his recent article titled, &quot;Advent of Code: Solving Your Puzzles With Python.&quot;</description>
        <content:encoded>&lt;p&gt;Are you ready to break open the first days of puzzles from the annual Advent of Code challenge? Advent of Code is an advent calendar of twenty-five programming puzzles published each December. Practicing solving puzzles is a great way to build your Python skills. This week on the show, we have previous guest and Real Python author Geir Arne Hjelle to discuss his recent article titled, &amp;ldquo;Advent of Code: Solving Your Puzzles With Python.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We discuss the history of this online Advent calendar and the creator Eric Wastl. Geir Arne covers techniques to help you organize your code and test when solving the puzzles. He shares additional Python tools for parsing text, managing puzzle data, and visualizing your program output. We also talk about even more places you can practice solving programming puzzles.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/building-regexes-python/&quot;&gt;Regular Expressions and Building Regexes in Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to perform more complex string pattern matching using regular expressions, or regexes, in Python. You&amp;rsquo;ll also explore more advanced regex tools and techniques that are available in Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:03 &amp;ndash; Geir Arne&amp;rsquo;s new full-time role at Real Python&lt;/li&gt;
&lt;li&gt;00:02:55 &amp;ndash; Advent of Code: Solving Your Puzzles With Python&lt;/li&gt;
&lt;li&gt;00:09:25 &amp;ndash; Using different languages to solve the puzzles&lt;/li&gt;
&lt;li&gt;00:12:21 &amp;ndash; Different ways to approach the problems&lt;/li&gt;
&lt;li&gt;00:16:31 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:17:12 &amp;ndash; Organizing your code into reusable functions&lt;/li&gt;
&lt;li&gt;00:19:38 &amp;ndash; Unique user source data and managing puzzle data&lt;/li&gt;
&lt;li&gt;00:24:40 &amp;ndash; Additional Python tools that might be useful&lt;/li&gt;
&lt;li&gt;00:31:13 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:42 &amp;ndash; Ways to enhance code output and visualization&lt;/li&gt;
&lt;li&gt;00:34:50 &amp;ndash; Leaderboards&lt;/li&gt;
&lt;li&gt;00:37:52 &amp;ndash; Real Python office hours discussion of Advent of Code&lt;/li&gt;
&lt;li&gt;00:39:30 &amp;ndash; Additional resources to practice solving puzzles with Python&lt;/li&gt;
&lt;li&gt;00:50:15 &amp;ndash; Supporting Advent of Code&lt;/li&gt;
&lt;li&gt;00:50:40 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:51:59 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:55:52 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/gahjelle/&quot;&gt;About Geir Arne Hjelle – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-advent-of-code/&quot;&gt;Advent of Code: Solving Your Puzzles With Python – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-advent-of-code/&quot;&gt;Advent of Code: Solving Puzzles With Python - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adventofcode.com/&quot;&gt;Advent of Code 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/interview-eric-wastl/&quot;&gt;Python Community Interview With Eric Wastl – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=gibVyxpi-qA&quot;&gt;Eric Wastl - Advent of Code: Behind The Scenes - Leetspeak 2019 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/adventofcode/search?q=flair_name%3A%22Visualization%22&amp;amp;restrict_sr=1&quot;&gt;r/adventofcode: Visualizations - reddit.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://projecteuler.net/about&quot;&gt;About - Project Euler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://exercism.org/tracks&quot;&gt;Exercism: 55 languages for you to master&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.codewars.com/&quot;&gt;Codewars - Achieve mastery through coding practice and developer mentorship&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hackerrank.com/&quot;&gt;HackerRank&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twilio.com/quest&quot;&gt;TwilioQuest - Discover your power to change the world with code.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://data-puzzles.com/&quot;&gt;Data Puzzles: Sharpen your Data Science skills&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/makersacademy/clmystery&quot;&gt;makersacademy/clmystery: Command Line Murder Mystery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vim-adventures.com/&quot;&gt;Learn VIM while playing a game - VIM Adventures&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adventofcode.com/2021/support&quot;&gt;Support AoC - Advent of Code 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elixir-lang.org/&quot;&gt;The Elixir programming language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/josevalim&quot;&gt;Live stream with José Valim, creator of Elixir, solving AoC - josevalim - Twitch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/elixir-nx&quot;&gt;Numerical Elixir (Nx)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/building-regexes-python/&quot;&gt;Regular Expressions and Building Regexes in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-strings/&quot;&gt;Strings and Character Data in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E089_Geir_Arne_AoC.1fbd2540ad6f.mp3" type="audio/mpeg" length="42117125"/>
        <guid isPermaLink="false">4e0c49ea-9f1b-4882-8042-6e60733e6dc8</guid>
        <pubDate>Fri, 10 Dec 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3422</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_089_Podcast.7d8e06b2db2b.jpg"/>
        <rp:twitter-handles>@gahjelle</rp:twitter-handles>
        <rp:twitter-title>“Solving Advent of Code Puzzles With Python” with @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>88</itunes:episode>
        <title>Discussing Type Hints, Protocols, and Ducks in Python</title>
        <itunes:title>Discussing Type Hints, Protocols, and Ducks in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/88/</link>
        <description>There seem to be three kinds of Python developers: those unaware of type hints or have no opinion, ones that embrace them, and others who have an allergic reaction at the mention of them. Python is famously a dynamically typed language, but there are advantages to adding type hints to your code. This week on the show, we have Luciano Ramalho to discuss his recent talk titled, &quot;Type hints, protocols, and good sense.&quot;</description>
        <content:encoded>&lt;p&gt;There seem to be three kinds of Python developers: those unaware of type hints or have no opinion, ones that embrace them, and others who have an allergic reaction at the mention of them. Python is famously a dynamically typed language, but there are advantages to adding type hints to your code. This week on the show, we have Luciano Ramalho to discuss his recent talk titled, &amp;ldquo;Type hints, protocols, and good sense.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Luciano was not a fan of type hints.  He&amp;rsquo;s only recently come around to their potential with the introduction of protocols in PEP 544. Python has adopted a gradual type system that is optional at all levels. We discuss the advantages, pitfalls, and recent developments around type hinting in Python.&lt;/p&gt;
&lt;p&gt;We also talk about the second edition of Luciano&amp;rsquo;s book Fluent Python. He researched type hints in-depth for the book, which led to his recent conference talks on the subject. He also shares his experience with adding opinionated asides to the book in a fun and unique way.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;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.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:02 &amp;ndash; Are you interested in creative uses for Python?&lt;/li&gt;
&lt;li&gt;00:04:41 &amp;ndash; Protocol: The keystone of type hints&lt;/li&gt;
&lt;li&gt;00:08:14 &amp;ndash; What is duck typing?&lt;/li&gt;
&lt;li&gt;00:12:44 &amp;ndash; Protocols declaring one method and emerging from a code base&lt;/li&gt;
&lt;li&gt;00:17:04 &amp;ndash; An example where type hint was too lax&lt;/li&gt;
&lt;li&gt;00:21:20 &amp;ndash; What if Python always had a strict type system?&lt;/li&gt;
&lt;li&gt;00:33:23 &amp;ndash; Sponsor: Cloudsmith&lt;/li&gt;
&lt;li&gt;00:34:09 &amp;ndash; Bias in companies using type hints, and projects that fail checking&lt;/li&gt;
&lt;li&gt;00:40:27 &amp;ndash; Background on personal use of type hints and added complexity&lt;/li&gt;
&lt;li&gt;00:45:07 &amp;ndash; Unsuitability of type hints for checking business rules&lt;/li&gt;
&lt;li&gt;00:52:30 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:53:46 &amp;ndash; Fluent Python, 2nd edition&lt;/li&gt;
&lt;li&gt;00:56:05 &amp;ndash; Who is the intended developer for the book?&lt;/li&gt;
&lt;li&gt;00:58:12 &amp;ndash; Soapbox sections of the book&lt;/li&gt;
&lt;li&gt;00:59:35 &amp;ndash; What were things you were excited to update or add to the book?&lt;/li&gt;
&lt;li&gt;01:05:46 &amp;ndash; Metaprogramming portion of the book&lt;/li&gt;
&lt;li&gt;01:08:17 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:10:35 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:18:41 &amp;ndash; Shoutouts, plugs, and/or social connections&lt;/li&gt;
&lt;li&gt;01:19:47 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/fluent-python-2nd/9781492056348/&quot;&gt;Fluent Python, 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=kDDCKwP7QgQ&quot;&gt;Protocol: The keystone of type hints - Luciano Ramalho | PyCon US 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://speakerdeck.com/ramalho/type-hints-protocols-and-good-sense&quot;&gt;Type hints, protocols, and good sense: PyCon India 2021 - Speaker Deck&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=eKEjkB2bXK4&amp;amp;list=PL2Uw4_HvXqvYk1Y5P8kryoyd83L_0Uk5K&amp;amp;index=49&amp;amp;t=2s&quot;&gt;Generate buzz with realtime FM audio synthesis - Łukasz Langa | PyCon US 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://garoa.net.br/wiki/P%C3%A1gina_principal&quot;&gt;Garoa Hacker Clube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://py.processing.org/tutorials/&quot;&gt;Processing.py - Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0544/&quot;&gt;PEP 544 &amp;ndash; Protocols: Structural subtyping (static duck typing) | Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/typeshed/&quot;&gt;typeshed: Collection of library stubs for Python, with static types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-type-checking/#duck-types-and-protocols&quot;&gt;Python Type Checking (Guide) – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mypy.readthedocs.io/en/latest/protocols.html&quot;&gt;Protocols and structural subtyping — Mypy documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Dependent_type&quot;&gt;Dependent type - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Microsoft/pyright&quot;&gt;microsoft/pyright: Static type checker for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mypy.readthedocs.io/en/stable/&quot;&gt;Welcome to mypy documentation!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0487/&quot;&gt;PEP 487 &amp;ndash; Simpler customisation of class creation | Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0636/&quot;&gt;PEP 636 &amp;ndash; Structural Pattern Matching: Tutorial | Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/whatsnew/3.10.html#better-error-messages&quot;&gt;What&amp;rsquo;s New In Python 3.10 — Better error messages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flutter.dev/&quot;&gt;Flutter - Build apps for any screen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ramalho.org/wiki/doku.php?id=start/&quot;&gt;Ramalho.org/wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/ramalhoorg&quot;&gt;Luciano Ramalho Twitter(@ramalhoorg)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/records-sets-ideal-data-structure/&quot;&gt;Records and Sets: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E088_Luciano_v2.99c3619bc30f.mp3" type="audio/mpeg" length="59303513"/>
        <guid isPermaLink="false">dbc9338c-4d09-4bda-9af1-5be3d222879c</guid>
        <pubDate>Fri, 03 Dec 2021 12:00:00 +0000</pubDate>
        <itunes:duration>4863</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_088_Podcast.922c135d9ba8.jpg"/>
        <rp:twitter-handles>@ramalhoorg</rp:twitter-handles>
        <rp:twitter-title>“Discussing Type Hints, Protocols, and Ducks in Python” with @ramalhoorg</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>87</itunes:episode>
        <title>Building a Content Aggregator and Working With RSS in Python</title>
        <itunes:title>Building a Content Aggregator and Working With RSS in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/87/</link>
        <description>Have you wanted to work with RSS feeds in Python? Maybe you&#x27;re looking for a new project to build for your portfolio that uses Django, unit tests, and custom commands. This week on the show, we have Real Python author Ricky White to talk about his recent step-by-step project titled, &quot;Build a Content Aggregator in Python.&quot;</description>
        <content:encoded>&lt;p&gt;Have you wanted to work with RSS feeds in Python? Maybe you&amp;rsquo;re looking for a new project to build for your portfolio that uses Django, unit tests, and custom commands. This week on the show, we have Real Python author Ricky White to talk about his recent step-by-step project titled, &amp;ldquo;Build a Content Aggregator in Python.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Ricky has been authoring the Real Python interview series for several years and was formerly our Community Manager. He talks about what inspired him to create this project and the Python technology and libraries to build it. He also shares advice about adding tests to personal portfolio projects. &lt;/p&gt;
&lt;p&gt;We start the show by discussing Python&amp;rsquo;s GIL (Global Interpreter Lock) and the efforts to potentially remove it in future versions of Python. This change could make a significant impact on Python code running on multi-core processors. We talk about two recent articles covering the developments.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Get Started With Django: Build a Portfolio App&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the basics of creating powerful web applications with Django, a Python web framework. You&amp;rsquo;ll build a portfolio website to showcase your web development projects, complete with a fully functioning blog.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:07 &amp;ndash; Citizenship&lt;/li&gt;
&lt;li&gt;00:03:52 &amp;ndash; Ricky&amp;rsquo;s Real Python interviews&lt;/li&gt;
&lt;li&gt;00:05:55 &amp;ndash; Upcoming interview with Eric Wastl about Advent of Code&lt;/li&gt;
&lt;li&gt;00:08:05 &amp;ndash; Notes From the Meeting On Python GIL Removal&lt;/li&gt;
&lt;li&gt;00:18:41 &amp;ndash; Sponsor: Cloudsmith&lt;/li&gt;
&lt;li&gt;00:19:26 &amp;ndash; Build a Content Aggregator in Python&lt;/li&gt;
&lt;li&gt;00:20:28 &amp;ndash; Django background&lt;/li&gt;
&lt;li&gt;00:23:37 &amp;ndash; What web technologies were you using before Python?&lt;/li&gt;
&lt;li&gt;00:25:07 &amp;ndash; What motivated the project?&lt;/li&gt;
&lt;li&gt;00:26:46 &amp;ndash; Technical hurdles&lt;/li&gt;
&lt;li&gt;00:30:52 &amp;ndash; Including tests in a portfolio project&lt;/li&gt;
&lt;li&gt;00:32:56 &amp;ndash; Django custom commands&lt;/li&gt;
&lt;li&gt;00:37:02 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:38:16 &amp;ndash; RSS Feeds - Really Simple Syndication and Podcasts&lt;/li&gt;
&lt;li&gt;00:42:16 &amp;ndash; Working with django-apscheduler&lt;/li&gt;
&lt;li&gt;00:47:06 &amp;ndash; Taking the project further and CSS frameworks&lt;/li&gt;
&lt;li&gt;00:51:04 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:53:58 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:55:52 &amp;ndash; Shoutouts and social connections&lt;/li&gt;
&lt;li&gt;00:56:57 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/rwhite/&quot;&gt;About Ricky White – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/build-a-content-aggregator-python/&quot;&gt;Build a Content Aggregator in Python: Real Python project-based tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adventofcode.com/2021/about&quot;&gt;About - Advent of Code 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lwn.net/Articles/872869/&quot;&gt;A viable solution for Python concurrency: LWN.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0/&quot;&gt;Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gil/&quot;&gt;What Is the Python Global Interpreter Lock (GIL)? – Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/colesbury/nogil/&quot;&gt;nogil: Python Multithreading without GIL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://walkasone.org/&quot;&gt;Walk AS One&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://walkasone.org/spondylitis/&quot;&gt;What is Ankylosing Spondylitis?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spondy.news/&quot;&gt;Spondy News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/&quot;&gt;Writing custom django-admin commands | Django documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/django-apscheduler/&quot;&gt;django-apscheduler - A Django app that adds a lightweight wrapper around APScheduler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rabbitmq.com/&quot;&gt;RabbitMQ - Messaging that just works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/RSS&quot;&gt;RSS: Really Simple Syndication- Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flipboard.com/&quot;&gt;Flipboard - Stories from 28,875 topics personalized for you&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://netnewswire.com/&quot;&gt;NetNewsWire: Free and Open Source RSS Reader for Mac and iOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://feedly.com/&quot;&gt;Welcome to Feedly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getbootstrap.com/&quot;&gt;Bootstrap - The most popular HTML, CSS, and JS library in the world&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tailwindcss.com/&quot;&gt;Tailwind CSS - Rapidly build modern websites without ever leaving your HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/11/2021-end-of-year-fundraiser.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+PythonSoftwareFoundationNews+(Python+Software+Foundation+News)&quot;&gt;Python Software Foundation News: 2021 End of the year fundraiser!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python310-new-features/#structural-pattern-matching&quot;&gt;Structural Pattern Matching Python 3.10: Cool New Features for You to Try&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/endlesstrax/&quot;&gt;Ricky&amp;rsquo;s Twitter- (@endlesstrax)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://endlesstrax.com/&quot;&gt;Endlesstrax: Ricky&amp;rsquo;s Website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E087_Ricky2.685a327be5b6.mp3" type="audio/mpeg" length="42690933"/>
        <guid isPermaLink="false">ef0a496a-8766-4705-a7af-0dbb6aab6b53</guid>
        <pubDate>Fri, 19 Nov 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3475</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_087_Podcast.d7ffd9edd63f.jpg"/>
        <rp:twitter-handles>@EverydayRonin</rp:twitter-handles>
        <rp:twitter-title>“Building a Content Aggregator and Working With RSS in Python” with @EverydayRonin</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>86</itunes:episode>
        <title>The Legacy of OLPC and Charismatic Pitfalls in Teaching Programming</title>
        <itunes:title>The Legacy of OLPC and Charismatic Pitfalls in Teaching Programming</itunes:title>
        <link>https://realpython.com/podcasts/rpp/86/</link>
        <description>Do you remember the One Laptop Per Child program? What went wrong, and what can we learn from the program&#x27;s failure? What are the potential pitfalls of charismatic technology, and how can we avoid them when introducing students to programming? This week on the show, former guest Al Sweigart and author Morgan Ames are here to talk about her book &quot;The Charisma Machine - The Life, Death, and Legacy of One Laptop per Child.&quot;</description>
        <content:encoded>&lt;p&gt;Do you remember the One Laptop Per Child program? What went wrong, and what can we learn from the program&amp;rsquo;s failure? What are the potential pitfalls of charismatic technology, and how can we avoid them when introducing students to programming? This week on the show, former guest Al Sweigart and author Morgan Ames are here to talk about her book &amp;ldquo;The Charisma Machine - The Life, Death, and Legacy of One Laptop per Child.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We discuss the OLPC program and how idealized visions of our programming backgrounds can become traps. Morgan explains how these utopian visions are still used to attempt to disrupt education. Along with this cautionary tale, we also talk about educational programs that are working and how entry points to programming are changing. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using Pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With this course and Python project, you&amp;rsquo;ll build a script to calculate grades for a class using pandas. The script will quickly and accurately calculate grades from a variety of data sources. You&amp;rsquo;ll see examples of loading, merging, and saving data with pandas, as well as plotting some summary statistics.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:13 &amp;ndash; Morgan&amp;rsquo;s background&lt;/li&gt;
&lt;li&gt;00:02:58 &amp;ndash; Computer Science and Information Science&lt;/li&gt;
&lt;li&gt;00:04:46 &amp;ndash; Early introduction of computers to schools&lt;/li&gt;
&lt;li&gt;00:08:25 &amp;ndash; What was the One Laptop Per Child (OLPC) Program?&lt;/li&gt;
&lt;li&gt;00:12:32 &amp;ndash; Turtle art and Scratch&lt;/li&gt;
&lt;li&gt;00:16:34 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:17:15 &amp;ndash; What is the global south?&lt;/li&gt;
&lt;li&gt;00:19:12 &amp;ndash; How does charisma apply to objects and technology?&lt;/li&gt;
&lt;li&gt;00:28:30 &amp;ndash; Python language design and Learn to Code &lt;/li&gt;
&lt;li&gt;00:34:53 &amp;ndash; Media technology scares and the self taught coder&lt;/li&gt;
&lt;li&gt;00:40:35 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:41 &amp;ndash; Technically precocious boys and exclusion of others&lt;/li&gt;
&lt;li&gt;00:43:47 &amp;ndash; Minecraft and technology maintenance skills&lt;/li&gt;
&lt;li&gt;00:49:08 &amp;ndash; Skewed utopian visions and lack of ongoing support&lt;/li&gt;
&lt;li&gt;00:52:54 &amp;ndash; Shifting feminine vs masculine perceived roles in computing&lt;/li&gt;
&lt;li&gt;01:02:41 &amp;ndash; Changing entry points for programming&lt;/li&gt;
&lt;li&gt;01:09:00 &amp;ndash; The why of &amp;ldquo;learn to code&amp;rdquo; and empowerment&lt;/li&gt;
&lt;li&gt;01:13:13 &amp;ndash; Metaverse, nostalgia, and dystopia&lt;/li&gt;
&lt;li&gt;01:14:45 &amp;ndash; The Diamond Age and Code Hero Kickstarter&lt;/li&gt;
&lt;li&gt;01:16:53 &amp;ndash; Avoiding future charismatic traps&lt;/li&gt;
&lt;li&gt;01:18:28 &amp;ndash; Shoutouts and social connections&lt;/li&gt;
&lt;li&gt;01:21:04 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://morganya.org/&quot;&gt;Morgan G. Ames: Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://morganya.org/charisma.html&quot;&gt;The Charisma Machine: The Life, Death, and Legacy of One Laptop per Child&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alsweigart.com/&quot;&gt;Al Sweigart: Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.laptop.org/go/The_OLPC_Wiki&quot;&gt;The OLPC Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://el.media.mit.edu/logo-foundation/what_is_logo/history.html&quot;&gt;Logo History: Logo Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Seymour_Papert&quot;&gt;Seymour Papert: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.media.mit.edu/people/mres/overview/&quot;&gt;Mitchel Resnick - LEGO Papert Professor of Learning Research at the MIT Media Lab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linuxjournal.com/magazine/sounding-out-olpc-xo&quot;&gt;Sounding Out with the OLPC XO: Linux Journal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scratch.mit.edu/&quot;&gt;Scratch: The world&amp;rsquo;s largest free coding community for kids&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.wired.com/2016/02/vr-moral-imperative-or-opiate-of-masses/&quot;&gt;VR Will Make Life Better—Or Just Be an Opiate for the Masses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theatlantic.com/technology/archive/2016/06/tech-and-other-peoples-problems/488297/&quot;&gt;The Perils of Using Technology to Solve Other People&amp;rsquo;s Problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://homes.luddy.indiana.edu/nensmeng/gender.html&quot;&gt;Gender &amp;amp; Computing - Nathan Ensmenger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://press.princeton.edu/books/hardcover/9780691163987/disruptive-fixation&quot;&gt;Disruptive Fixation: School Reform and the Pitfalls of Techno-Idealism&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://connectedlearning.uci.edu/research-themes/&quot;&gt;Connected Learning Lab: Research Themes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://soeonline.american.edu/blog/stem-vs-steam&quot;&gt;STEM vs. STEAM: Why One Letter Matters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blackgirlscode.com&quot;&gt;Black Girls CODE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kickstarter.com/projects/primerist/code-hero-a-game-that-teaches-you-to-make-games-he&quot;&gt;Code Hero: A Game That Teaches You To Make Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://quote.ucsd.edu/lirani/new-talk-online-chasing-innovation-the-limits-of-entrepreneurship/&quot;&gt;Chasing Innovation: The Limits of Entrepreneurship - Online talk &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://turkopticon.net&quot;&gt;Turkopticon helps the people in the &amp;lsquo;crowd&amp;rsquo; of crowdsourcing watch out for each other—because nobody else seems to be.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/morgangames&quot;&gt;Morgan G. Ames: Twitter profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/&quot;&gt;Invent With Python: Learn to Program&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E086_Morgan_and_Al.9ef7a1db97bb.mp3" type="audio/mpeg" length="60130231"/>
        <guid isPermaLink="false">84952303-2dfc-4cfd-a463-a0ecb044b324</guid>
        <pubDate>Fri, 12 Nov 2021 12:00:00 +0000</pubDate>
        <itunes:duration>4928</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_086_Podcast.8fc1fd99afb3.jpg"/>
        <rp:twitter-handles>@morgangames</rp:twitter-handles>
        <rp:twitter-title>“The Legacy of OLPC and Charismatic Pitfalls in Teaching Programming” with @morgangames</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>85</itunes:episode>
        <title>Exploring Django Templates, Tags, and Filters</title>
        <itunes:title>Exploring Django Templates, Tags, and Filters</itunes:title>
        <link>https://realpython.com/podcasts/rpp/85/</link>
        <description>Are you getting the most out of the Django framework? It&#x27;s a powerful web framework if you&#x27;re not interested in reinventing the wheel. Django includes a useful template system with inheritance for composing reusable HTML. This week on the show, we have previous guest and Real Python author Christopher Trudeau to talk about his recent articles and courses about Django.</description>
        <content:encoded>&lt;p&gt;Are you getting the most out of the Django framework? It&amp;rsquo;s a powerful web framework if you&amp;rsquo;re not interested in reinventing the wheel. Django includes a useful template system with inheritance for composing reusable HTML. This week on the show, we have previous guest and Real Python author Christopher Trudeau to talk about his recent articles and courses about Django.&lt;/p&gt;
&lt;p&gt;Christopher explains how Django templates help you avoid rewriting large portions of HTML for your web applications.  His first article covers the built-in tags and filters provided by the framework. The second one dives into how customize and implement your own filters and tags. Christopher also talks about his process for choosing topics for articles and courses.&lt;/p&gt;
&lt;p&gt;We start the episode by covering a recent article by CPython Developer in Residence, Łukasz Langa. We talked in a previous episode about his plan to study where all the Python core developer activity goes. He&amp;rsquo;s gathered several years of GitHub data, and we discuss the post.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building With Django REST Framework&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;This course will get you ready to build with Django REST Framework. The Django REST framework (DRF) is a toolkit built on top of the Django web framework that reduces the amount of code you need to write to create REST interfaces.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:03 &amp;ndash; Where does all the effort go? Looking at Python core developer activity&lt;/li&gt;
&lt;li&gt;00:07:23 &amp;ndash; Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross&lt;/li&gt;
&lt;li&gt;00:08:36 &amp;ndash; Django background&lt;/li&gt;
&lt;li&gt;00:11:28  Flask vs Django &lt;/li&gt;
&lt;li&gt;00:14:37 &amp;ndash; Django Templates: Built-In Tags and Filters&lt;/li&gt;
&lt;li&gt;00:25:26 &amp;ndash; Sponsor: Cloudsmith&lt;/li&gt;
&lt;li&gt;00:26:12 &amp;ndash; Django Templates: Implementing Custom Tags and Filters&lt;/li&gt;
&lt;li&gt;00:32:54 &amp;ndash; Django Rest Framework - video course&lt;/li&gt;
&lt;li&gt;00:42:09 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:43:16 &amp;ndash; What goes into picking an article to turn into a course?&lt;/li&gt;
&lt;li&gt;00:53:18 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:57:00 &amp;ndash; Support Django development by donating to the Django Software Foundation&lt;/li&gt;
&lt;li&gt;01:00:55 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/ctrudeau/&quot;&gt;About Christopher Trudeau: Real Python Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arsensa.com/&quot;&gt;arSensa: Christopher&amp;rsquo;s personal website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lukasz.langa.pl/f15a8851-af26-4e94-a4b1-c146c57c9d20/&quot;&gt;Where does all the effort go? Looking at Python core developer activity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/82/&quot;&gt;Episode 82: Welcoming the CPython Developer in Residence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0/&quot;&gt;Notes From the Meeting On Python GIL Removal Between Python Core and Sam Gross&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/colesbury/nogil/&quot;&gt;nogil: Python Multithreading without GIL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-templates-tags-filters/&quot;&gt;Django Templates: Built-In Tags and Filters - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/django-template-custom-tags-filters/&quot;&gt;Django Templates: Implementing Custom Tags and Filters - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django: The web framework for perfectionists with deadlines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/asciimatics/&quot;&gt;Asciimatics: A cross-platform package to replace curses and create ASCII animations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/peterbrittain/asciimatics&quot;&gt;Asciimatics: GitHub Repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/fundraising/&quot;&gt;Support Django development by donating to the Django Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-view-authorization/&quot;&gt;Django View Authorization: Restricting Access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E085_CTrudeau.e8af44f16d90.mp3" type="audio/mpeg" length="45558457"/>
        <guid isPermaLink="false">22ac644c-3e17-4658-8425-aefbbc48469b</guid>
        <pubDate>Fri, 05 Nov 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3715</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_085_Podcast.c9e32b5b42b9.jpg"/>
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring Django Templates, Tags, and Filters”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>84</itunes:episode>
        <title>Creating and Manipulating PDFs in Python With borb</title>
        <itunes:title>Creating and Manipulating PDFs in Python With borb</itunes:title>
        <link>https://realpython.com/podcasts/rpp/84/</link>
        <description>Have you wanted to generate PDFs from your Python project? Many of the current libraries require designing the document down at the pixel level. Would you be interested in a tool that lets you specify the page layout while it handles the specific details of laying out the text? This week on the show, we talk with Joris Schellekens about his library for creating and manipulating PDFs named borb.</description>
        <content:encoded>&lt;p&gt;Have you wanted to generate PDFs from your Python project? Many of the current libraries require designing the document down at the pixel level. Would you be interested in a tool that lets you specify the page layout while it handles the specific details of laying out the text? This week on the show, we talk with Joris Schellekens about his library for creating and manipulating PDFs named borb.&lt;/p&gt;
&lt;p&gt;borb is a pure Python library that can read, write and manipulate PDFs. You can use it to build fillable forms, invoices with attached data files, and multiple column document layouts. We discuss the extensive example repository Joris has created for the library. &lt;/p&gt;
&lt;p&gt;Joris shares his background in working with PDFs. He talks about starting the project and the challenges he had to overcome. We also talk about licensing and maintaining an open-source library. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/writing-idiomatic-python/&quot;&gt;Writing Idiomatic Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What are the programming idioms unique to Python? This course is a short overview for people coming from other languages and an introduction for beginners to the idiomatic practices within Python. You&amp;rsquo;ll cover truth values, looping, DRY principles, and the Zen of Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:58 &amp;ndash; Articles about borb&lt;/li&gt;
&lt;li&gt;00:03:25 &amp;ndash; History of the project&lt;/li&gt;
&lt;li&gt;00:07:26 &amp;ndash; Background in PDFs and Postscript&lt;/li&gt;
&lt;li&gt;00:09:18 &amp;ndash; Signatures and other challenges of working in PDFs&lt;/li&gt;
&lt;li&gt;00:11:33 &amp;ndash; Reading from PDFs and standards of versions&lt;/li&gt;
&lt;li&gt;00:14:54 &amp;ndash; Features of the library and creating documents&lt;/li&gt;
&lt;li&gt;00:18:25 &amp;ndash; Creating layout features&lt;/li&gt;
&lt;li&gt;00:20:42 &amp;ndash; How are fonts handled in borb?&lt;/li&gt;
&lt;li&gt;00:21:19 &amp;ndash; Sponsor: Cloudsmith&lt;/li&gt;
&lt;li&gt;00:22:04 &amp;ndash; Why use JSON across the library?&lt;/li&gt;
&lt;li&gt;00:22:55 &amp;ndash; Embedding data and files within a PDF&lt;/li&gt;
&lt;li&gt;00:25:12 &amp;ndash; What features were crucial for you to include in borb?&lt;/li&gt;
&lt;li&gt;00:28:48 &amp;ndash; Why creating a separate examples repository?&lt;/li&gt;
&lt;li&gt;00:31:04 &amp;ndash; Article series about borb&lt;/li&gt;
&lt;li&gt;00:32:25 &amp;ndash; Writing a book about borb&lt;/li&gt;
&lt;li&gt;00:33:44 &amp;ndash; Python 3.10 and borb&lt;/li&gt;
&lt;li&gt;00:34:19 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:39 &amp;ndash; Licensing borb and AGPL&lt;/li&gt;
&lt;li&gt;00:45:14 &amp;ndash; Other open-source projects and Stack Overflow answers&lt;/li&gt;
&lt;li&gt;00:46:37 &amp;ndash; Working with forms in borb&lt;/li&gt;
&lt;li&gt;00:47:55 &amp;ndash; Additional tools for working with PDFs&lt;/li&gt;
&lt;li&gt;00:50:15 &amp;ndash; Different users of the library&lt;/li&gt;
&lt;li&gt;00:53:36 &amp;ndash; Thoughts on the future of PDFs&lt;/li&gt;
&lt;li&gt;00:58:10 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:40 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:25 &amp;ndash; Social connection info&lt;/li&gt;
&lt;li&gt;01:00:46 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jorisschellekens/borb&quot;&gt;borb: A Python PDF library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jorisschellekens/borb-examples&quot;&gt;borb Examples Repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackabuse.com/creating-a-pdf-document-in-python-with-borb/&quot;&gt;Creating a PDF Document in Python with borb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackabuse.com/creating-pdf-invoices-in-python-with-borb/&quot;&gt;Creating PDF Invoices in Python with borb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackabuse.com/creating-a-form-in-a-pdf-document-in-python-with-borb/&quot;&gt;Creating a Form in a PDF Document in Python With borb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://itextpdf.com/en&quot;&gt;iText PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pdfa.org/resource/iso-32000-pdf/&quot;&gt;ISO 32000 (PDF): the family of ISO standards that defines the core PDF specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ximantix.de/en/what-is-xrechnung/&quot;&gt;XRechnung update: What you should know about electronic invoices to the German public sector!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.webpdf.de/blog/en/xrechnung-with-all-german-authorities/&quot;&gt;XRechnung: Standard format for German authorities from 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Affero_General_Public_License&quot;&gt;AGPL: Affero General Public License - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/ghostscript/&quot;&gt;Ghostscript: Interpreter for the PostScript language and for PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://verapdf.org/home/&quot;&gt;veraPDF: Industry Supported PDF/A Validation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://okular.kde.org&quot;&gt;Okular: The Universal Document Viewer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://keras.io/getting_started/&quot;&gt;Keras and Tensorflow: Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-idiomatic-python/&quot;&gt;Writing Idiomatic Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E084_Joris.f911fb5f1109.mp3" type="audio/mpeg" length="44728450"/>
        <guid isPermaLink="false">31124b7e-7deb-4aea-ac80-53cd4efb9c2f</guid>
        <pubDate>Fri, 29 Oct 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3707</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_084_Podcast.b6e54d2b3948.jpg"/>
        <rp:twitter-handles>@Joris1989BE</rp:twitter-handles>
        <rp:twitter-title>“Creating and Manipulating PDFs in Python With borb” with @Joris1989BE</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>83</itunes:episode>
        <title>Ready to Publish Your Python Packages?</title>
        <itunes:title>Ready to Publish Your Python Packages?</itunes:title>
        <link>https://realpython.com/podcasts/rpp/83/</link>
        <description>Are you interested in sharing your Python project with the broader world? Would you like to make it easily installable using pip? How do you create Python packages that share your code in a scalable and maintainable way? This week on the show, Real Python author and former guest Dane Hillard returns to talk about his new book, &quot;Publishing Python Packages.&quot;</description>
        <content:encoded>&lt;p&gt;Are you interested in sharing your Python project with the broader world? Would you like to make it easily installable using pip? How do you create Python packages that share your code in a scalable and maintainable way? This week on the show, Real Python author and former guest Dane Hillard returns to talk about his new book, &amp;ldquo;Publishing Python Packages.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Dane shares his research into creating Python packages. We talk about the tools, techniques, and potential pitfalls of publishing your packages. Dane also discusses his experiences unraveling projects and determining dependencies.&lt;/p&gt;
&lt;p&gt;We also talk about Dane&amp;rsquo;s recent conference talk at PyGotham titled &amp;ldquo;Keeping code safe and modern with semantic searches.&amp;rdquo; He shares some security tools and practices.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Python Code: A Complete Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course will get you up to speed with how to document your Python code. Documenting your code is an important step to help developers and users fully understand its usage and purpose.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:57 &amp;ndash; PyGotham Talk: Keeping code safe and modern with semantic searches&lt;/li&gt;
&lt;li&gt;00:06:24 &amp;ndash; What was the driving reason for starting Publishing Pyhton Packages?&lt;/li&gt;
&lt;li&gt;00:08:54 &amp;ndash; What is CookieCutter?&lt;/li&gt;
&lt;li&gt;00:11:53 &amp;ndash; The book as a research project&lt;/li&gt;
&lt;li&gt;00:15:20 &amp;ndash; Sponsor: CData Software&lt;/li&gt;
&lt;li&gt;00:16:01 &amp;ndash; What is a package?&lt;/li&gt;
&lt;li&gt;00:18:56 &amp;ndash; What is a published package?&lt;/li&gt;
&lt;li&gt;00:25:37 &amp;ndash; What other experiences made you want to write this book? &lt;/li&gt;
&lt;li&gt;00:28:05 &amp;ndash; Where to start?&lt;/li&gt;
&lt;li&gt;00:33:26 &amp;ndash; Balance of examples and explanation&lt;/li&gt;
&lt;li&gt;00:40:49 &amp;ndash; Cohesion and studying the relationships between sections of code&lt;/li&gt;
&lt;li&gt;00:46:19 &amp;ndash; Documentation and tools like Sphinx&lt;/li&gt;
&lt;li&gt;00:50:18 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:51:30 &amp;ndash; What were you most excited to share in the book?&lt;/li&gt;
&lt;li&gt;00:54:06 &amp;ndash; Additional resources for packaging&lt;/li&gt;
&lt;li&gt;00:57:17 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:57:53 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:59:30 &amp;ndash; Shout outs and plugs&lt;/li&gt;
&lt;li&gt;01:00:28 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/dhillard/&quot;&gt;About Dane Hillard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/publishing-python-packages?a_aid=danehillard&amp;amp;a_bid=3698229e&quot;&gt;Publishing Python Packages - Manning Early Access Program (MEAP)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/49/&quot;&gt;Episode 49: The Challenges of Developing Into a Python Professional&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pygotham.tv/talks/keeping-code-safe-and-modern-with-semantic-searches/&quot;&gt;Keeping code safe and modern with semantic searches - Dane Hillard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://semgrep.dev/&quot;&gt;Semgrep: Static analysis at ludicrous speed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sonarsource.com/&quot;&gt;SonarSource: Code Quality &amp;amp; Code Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io/&quot;&gt;Snyk: Find and automatically fix vulnerabilities in your code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cookiecutter.readthedocs.io/en/1.7.2/&quot;&gt;CookieCutter: Better Project Templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian: A powerful knowledge base on top of a local folder of plain text Markdown files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/&quot;&gt;The Python Package Index (PyPI): A repository of software for the Python programming language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pip.pypa.io/en/stable/&quot;&gt;PIP: The package installer for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://graphviz.org/&quot;&gt;Graphviz -Open source graph visualization software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/cibuildwheel/&quot;&gt;cibuildwheel - Builds and tests your wheels across all of your platforms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sphinx-doc.org/en/master/&quot;&gt;Sphinx: A tool that makes it easy to create intelligent and beautiful documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/documenting-python-code/&quot;&gt;Documenting Python Code: A Complete Guide - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/&quot;&gt;Python Packaging User Guide - Python Packaging Authority&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pypi-publish-python-package/&quot;&gt;How to Publish an Open-Source Python Package to PyPI - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wheels/&quot;&gt;What Are Python Wheels and Why Should You Care? - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0517/&quot;&gt;PEP 517 &amp;ndash; A build-system independent format for source trees&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0518/&quot;&gt;PEP 518 &amp;ndash; Specifying Minimum Build System Requirements for Python Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0440/#direct-references&quot;&gt;PEP 440 &amp;ndash; Version Identification and Dependency Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/29/&quot;&gt;Episode 29: Resolving Package Dependencies With the New Version of Pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/80/&quot;&gt;Episode 80: Make Your Python App Interactive With a Text User Interface (TUI) - With Will McGugan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webpack.js.org/concepts/module-federation/&quot;&gt;Webpack - Module Federation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pygotham.tv/&quot;&gt;PyGotham 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/publishing-python-packages?a_aid=danehillard&amp;amp;a_bid=3698229e&quot;&gt;Publishing Python Packages - Manning Early Access Program (MEAP)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/asteroids-game-python-pygame/&quot;&gt;Using Pygame to Build an Asteroids Game in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E083_Dane_Hillard.f94f024c2a83.mp3" type="audio/mpeg" length="44549748"/>
        <guid isPermaLink="false">2deba764-7b54-4044-8ce4-6b4e4507e6dc</guid>
        <pubDate>Fri, 22 Oct 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3692</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_083_Podcast.a6adeb639083.jpg"/>
        <rp:twitter-handles>@easyaspython</rp:twitter-handles>
        <rp:twitter-title>“Ready to Publish Your Python Packages?” with @easyaspython</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>82</itunes:episode>
        <title>Welcoming the CPython Developer in Residence</title>
        <itunes:title>Welcoming the CPython Developer in Residence</itunes:title>
        <link>https://realpython.com/podcasts/rpp/82/</link>
        <description>Earlier this year, the Python Software Foundation announced the creation of the Developer in Residence role. The first Visionary Sponsors of the PSF have provided funding for this new role for one year. What development responsibilities does this job address? This week on the show, we talk to previous guest Łukasz Langa about becoming the first CPython Developer in Residence.</description>
        <content:encoded>&lt;p&gt;Earlier this year, the Python Software Foundation announced the creation of the Developer in Residence role. The first Visionary Sponsors of the PSF have provided funding for this new role for one year. What development responsibilities does this job address? This week on the show, we talk to previous guest Łukasz Langa about becoming the first CPython Developer in Residence.&lt;/p&gt;
&lt;p&gt;We talk about how the first months in this role are shaping up. Łukasz discusses the need to address the backlog of open issues and pull requests. He also talks about how he is working to help the project&amp;rsquo;s volunteers move their contributions forward. &lt;/p&gt;
&lt;p&gt;We cover his PyCon 2021 talk about generating real-time FM audio synthesis in Python. He also shares his experience developing a similar synthesis engine for an embedded hardware project.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/speech-recognition-python/&quot;&gt;Speech Recognition With Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll cover the fundamentals of speech recognition with Python. You&amp;rsquo;ll learn which speech recognition library gives the best results and build a full-featured &amp;ldquo;Guess The Word&amp;rdquo; game with it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:51 &amp;ndash; PyCon 2021 talk&lt;/li&gt;
&lt;li&gt;00:20:54 &amp;ndash; CPython Developer in Residence: Why did you want the role?&lt;/li&gt;
&lt;li&gt;00:29:23 &amp;ndash; Sponsor: DataStax Astra DB&lt;/li&gt;
&lt;li&gt;00:29:55 &amp;ndash; What were the expected responsibilities of the role?&lt;/li&gt;
&lt;li&gt;00:35:47 &amp;ndash; Working through BPO issues and GitHub pull requests&lt;/li&gt;
&lt;li&gt;00:42:14 &amp;ndash; Moving to migrate the systems&lt;/li&gt;
&lt;li&gt;00:51:10 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:52:26 &amp;ndash; What trends can you see currently?&lt;/li&gt;
&lt;li&gt;00:57:28 &amp;ndash; Do you feel the amount of activity is increasing due to the role being in place?&lt;/li&gt;
&lt;li&gt;01:03:46 &amp;ndash; What skills would you look for in a person in this role?&lt;/li&gt;
&lt;li&gt;01:07:26 &amp;ndash; If there was a team of people how would things be different?&lt;/li&gt;
&lt;li&gt;01:11:00 &amp;ndash; How to follow along with the journey?&lt;/li&gt;
&lt;li&gt;01:13:35 &amp;ndash; Gathering and sharing data about the process&lt;/li&gt;
&lt;li&gt;01:18:45 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:25:04 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:26:41 &amp;ndash; Shout outs and plugs&lt;/li&gt;
&lt;li&gt;01:31:36 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=eKEjkB2bXK4&quot;&gt;Generate buzz with realtime FM audio synthesis: PyCon 2021 Talk - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://polyend.com/medusa/&quot;&gt;Limited Edition Medusa Black: Polyend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lukasz.langa.pl/a072a74b-19d7-41ff-a294-e6b1319fdb6e/&quot;&gt;I am the new CPython Developer in Residence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lukasz.langa.pl/9f43819d-e9a5-4237-9ef6-a1f3b9a60b08/&quot;&gt;Weekly Report, October 4 - 10: Łukasz Langa&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/331/meet-the-python-developer-in-residence-lukasz-langa&quot;&gt;Meet the Python Developer in Residence: Lukasz Langa - Talk Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/howto/clinic.html&quot;&gt;Argument Clinic How-To: Python docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0594/&quot;&gt;PEP 594 &amp;ndash; Removing dead batteries from the standard library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://datasette.io&quot;&gt;Datasette: An open source multi-tool for exploring and publishing data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/80/&quot;&gt;Episode 80: Make Your Python App Interactive With a Text User Interface (TUI)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.willmcgugan.com/blog/tech/post/doing-open-source-full-time/&quot;&gt;Why I&amp;rsquo;m working on Open Source full time: Will McGugan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-projects-sphinx-read-the-docs/&quot;&gt;Documenting Python Projects With Sphinx and Read The Docs - Archived&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speech-recognition-python/&quot;&gt;Speech Recognition With Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E082_LLanga.1db42e0d0ed5.mp3" type="audio/mpeg" length="66923046"/>
        <guid isPermaLink="false">79ed3544-31be-45ab-b1a1-0f1de80a0353</guid>
        <pubDate>Fri, 15 Oct 2021 12:00:00 +0000</pubDate>
        <itunes:duration>5554</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_082_Podcast.6c778d32c1a4.jpg"/>
        <rp:twitter-handles>@llanga</rp:twitter-handles>
        <rp:twitter-title>“Welcoming the CPython Developer in Residence” with @llanga</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>81</itunes:episode>
        <title>Exploring the New Features of Python 3.10</title>
        <itunes:title>Exploring the New Features of Python 3.10</itunes:title>
        <link>https://realpython.com/podcasts/rpp/81/</link>
        <description>Python 3.10 is here! This week on the show, two former guests and Real Python authors return to talk about the new version. Geir Arne Hjelle&#x27;s article was posted to the site Monday, and it&#x27;s titled &quot;Python 3.10: Cool New Features for You to Try&quot;. Christopher Trudeau&#x27;s video course came out on Tuesday, and it covers the topics from the article with multiple visual examples of Python 3.10 code.</description>
        <content:encoded>&lt;p&gt;Python 3.10 is here! This week on the show, two former guests and Real Python authors return to talk about the new version. Geir Arne Hjelle&amp;rsquo;s article was posted to the site Monday, and it&amp;rsquo;s titled &amp;ldquo;Python 3.10: Cool New Features for You to Try&amp;rdquo;. Christopher Trudeau&amp;rsquo;s video course came out on Tuesday, and it covers the topics from the article with multiple visual examples of Python 3.10 code.&lt;/p&gt;
&lt;p&gt;Geir Arne and Christopher worked together to create code examples of the new features used in both. We talk about more user-friendly error messages, structural pattern matching, enhancements to Python&amp;rsquo;s type system, and much more.&lt;/p&gt;
&lt;p&gt;Geir Arne and Christopher not only cover the new features but they offer advice about ways you might incorporate them into your code. We also discuss what you should think about before running the new version for your projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll explore some of the coolest and most useful features in Python 3.10. You&amp;rsquo;ll appreciate more user-friendly error messages, learn about how you can handle complicated data structures with structural pattern matching, and explore new enhancements to Python&amp;rsquo;s type system.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:20 &amp;ndash; Better Error Messages&lt;/li&gt;
&lt;li&gt;00:07:14 &amp;ndash; Structural Pattern Matching&lt;/li&gt;
&lt;li&gt;00:14:14 &amp;ndash; Sponsor: Snyk&lt;/li&gt;
&lt;li&gt;00:14:55 &amp;ndash; Type Unions, Aliases, and Guards &lt;/li&gt;
&lt;li&gt;00:22:34 &amp;ndash; Future Annotations&lt;/li&gt;
&lt;li&gt;00:26:46 &amp;ndash; Stricter Zipping of Sequences&lt;/li&gt;
&lt;li&gt;00:28:30 &amp;ndash; New Functions in the statistics Module&lt;/li&gt;
&lt;li&gt;00:31:46 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:50 &amp;ndash; Asynchronous Iteration&lt;/li&gt;
&lt;li&gt;00:38:59 &amp;ndash; Default Text Encodings&lt;/li&gt;
&lt;li&gt;00:41:33 &amp;ndash; Context Manager Syntax&lt;/li&gt;
&lt;li&gt;00:43:19 &amp;ndash; Modern and Secure SSL&lt;/li&gt;
&lt;li&gt;00:45:10 &amp;ndash; Should you upgrade now?&lt;/li&gt;
&lt;li&gt;00:49:59 &amp;ndash; How to Detect Python 3.10 at Runtime&lt;/li&gt;
&lt;li&gt;00:53:07 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/gahjelle/&quot;&gt;About Geir Arne Hjelle: Real Python Team Profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/ctrudeau/&quot;&gt;About Christopher Trudeau: Real Python Team Profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python310-new-features/&quot;&gt;Python 3.10: Cool New Features for You to Try: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10: Real Python Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/downloads/release/python-3100/&quot;&gt;Python 3.10.0 Released: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.10/whatsnew/3.10.html#better-error-messages&quot;&gt;Better error messages: What&amp;rsquo;s New docs.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0634/&quot;&gt;PEP 634: Structural Pattern Matching - Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0635/&quot;&gt;PEP 635: Structural Pattern Matching - Motivation and Rationale&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0636/&quot;&gt;PEP 636: Structural Pattern Matching - Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0604&quot;&gt;PEP 604: Allow writing union types as X | Y&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0613&quot;&gt;PEP 613: Explicit Type Aliases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0647/&quot;&gt;PEP 647: User-Defined Type Guards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0612/&quot;&gt;PEP 612: Parameter Specification Variables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-zip-function/&quot;&gt;Using the Python zip() Function for Parallel Iteration: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/statistics.html&quot;&gt;statistics — Mathematical statistics functions: docs.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0525/&quot;&gt;PEP 525: Asynchronous Generators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-with-statement/&quot;&gt;Context Managers and Python&amp;rsquo;s with Statement: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-versions-docker/&quot;&gt;Run Python Versions in Docker: How to Try the Latest Python Release: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-concurrency-asyncio-module/&quot;&gt;Hands-On Python 3 Concurrency With the asyncio Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-310/&quot;&gt;Cool New Features in Python 3.10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E081_3_10_release.37516cd46a02.mp3" type="audio/mpeg" length="39450473"/>
        <guid isPermaLink="false">00092d57-ea55-49eb-90ea-9e60ee2768ff</guid>
        <pubDate>Fri, 08 Oct 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3267</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/Square__E81.4904ddf014cd.jpg"/>
        <rp:twitter-handles>@gahjelle</rp:twitter-handles>
        <rp:twitter-title>“Exploring the New Features of Python 3.10” with @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>80</itunes:episode>
        <title>Make Your Python App Interactive With a Text User Interface (TUI)</title>
        <itunes:title>Make Your Python App Interactive With a Text User Interface (TUI)</itunes:title>
        <link>https://realpython.com/podcasts/rpp/80/</link>
        <description>Have you wanted to create a Python application that goes further than a command-line interface? You would like it to have a friendly interface but don&#x27;t want to make a GUI (Graphical User Interface) or web application. Maybe a TUI (Text User Interface)would be a perfect fit for the project. This week on the show, we have Will McGugan to talk about his projects Textual and Rich.</description>
        <content:encoded>&lt;p&gt;Have you wanted to create a Python application that goes further than a command-line interface? You would like it to have a friendly interface but don&amp;rsquo;t want to make a GUI (Graphical User Interface) or web application. Maybe a TUI (Text User Interface)would be a perfect fit for the project. This week on the show, we have Will McGugan to talk about his projects Textual and Rich.&lt;/p&gt;
&lt;p&gt;Rich is a Python library for writing rich text to the terminal with color and style. It&amp;rsquo;s a great tool if you want to display advanced content such as tables, markdown, and syntax-highlighted code. We talk about how Will started on the project and how it&amp;rsquo;s developed over the years.&lt;/p&gt;
&lt;p&gt;We also talk about Will&amp;rsquo;s new project Textual, a TUI using much of Rich at its core. He shares how the project is coming along and what are challenges in developing this type of application.  We discuss how a TUI has more in common with CSS and web development than command line or graphical interfaces.&lt;/p&gt;
&lt;p&gt;We also have a quick announcement at the top of the show from CPython Developer in Residence Łukasz Langa about next week&amp;rsquo;s release of Python 3.10.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-rock-paper-scissors-game/&quot;&gt;Rock, Paper, Scissors With Python: A Command Line Game&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn to program rock paper scissors in Python from scratch. You&amp;rsquo;ll learn how to take in user input, make the computer choose a random action, determine a winner, and split your code into functions. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:08 &amp;ndash; Python 3.10 Release Party - Announcement&lt;/li&gt;
&lt;li&gt;00:03:32 &amp;ndash; Will McGugan and the background of the Rich library&lt;/li&gt;
&lt;li&gt;00:10:11 &amp;ndash; Moya framework&lt;/li&gt;
&lt;li&gt;00:21:38 &amp;ndash; Sponsor: DataStax Astra DB&lt;/li&gt;
&lt;li&gt;00:22:10 &amp;ndash; The spark that started Textual&lt;/li&gt;
&lt;li&gt;00:26:31 &amp;ndash; Needing AsyncIO for a TUI&lt;/li&gt;
&lt;li&gt;00:28:07 &amp;ndash; Describing a TUI (Text User Interface)&lt;/li&gt;
&lt;li&gt;00:33:57 &amp;ndash; Scrolling, resizing, and similarities with CSS&lt;/li&gt;
&lt;li&gt;00:36:37 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:38:03 &amp;ndash; What areas were difficult in developing Textual?&lt;/li&gt;
&lt;li&gt;00:39:42 &amp;ndash; Similarities to game development&lt;/li&gt;
&lt;li&gt;00:41:47 &amp;ndash; Testing across different terminals&lt;/li&gt;
&lt;li&gt;00:45:01 &amp;ndash; What were you excited to include in the project?&lt;/li&gt;
&lt;li&gt;00:47:04 &amp;ndash; Are there particular uses you foresee for Textual?&lt;/li&gt;
&lt;li&gt;00:49:21 &amp;ndash; Career changes and open source reviewing&lt;/li&gt;
&lt;li&gt;00:54:21 &amp;ndash; Version numbers and Textual&lt;/li&gt;
&lt;li&gt;00:55:49 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:27 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:57 &amp;ndash; Shoutouts and plugs&lt;/li&gt;
&lt;li&gt;01:01:47 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.willmcgugan.com&quot;&gt;Will McGugan&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/willmcgugan&quot;&gt;Will McGugan&amp;rsquo;s GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rich.readthedocs.io/en/stable/&quot;&gt;Rich Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-rich-package/&quot;&gt;The Python Rich Package: Unleash the Power of Console Text&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pygments.org/&quot;&gt;Pygments: Python Syntax Highlighter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/reference/datamodel.html?highlight=repr#object.__repr__&quot;&gt;&lt;code&gt;object.__repr__ (self)&lt;/code&gt;: Python docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/regex-python/&quot;&gt;Regular Expressions: Regexes in Python (Part 1) - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.moyaproject.com&quot;&gt;Moya: Open source web development platform built with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.willmcgugan.com/blog/tech/post/building-rich-terminal-dashboards/&quot;&gt;Building Rich terminal dashboards: Will&amp;rsquo;s blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/willmcgugan/textual&quot;&gt;Textual: A TUI (Text User Interface) framework for Python inspired by modern web development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-making.html&quot;&gt;The 2021 Python Language Summit: Making CPython Faster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/&quot;&gt;Episode 69: Planning a Faster Future at the Python Language Summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pyblogsal/status/1442890650303664131&quot;&gt;Python 3.10 Release Party Announcement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/llanga&quot;&gt;Łukasz Langa&amp;rsquo;s twitter: Developer in Residence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pyblogsal&quot;&gt;Pablo Galindo Salgado&amp;rsquo;s twitter: Python 3.10 and 3.11 release manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/willmcgugan&quot;&gt;Will McGugan&amp;rsquo;s Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.willmcgugan.com/blog/tech/post/doing-open-source-full-time/&quot;&gt;Why I&amp;rsquo;m working on Open Source full time&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-rock-paper-scissors-game/&quot;&gt;Rock, Paper, Scissors With Python: A Command Line Game&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E080_Will_McGugan_v2.56011d36b565.mp3" type="audio/mpeg" length="45523293"/>
        <guid isPermaLink="false">6c640f6a-0a91-454d-86ba-31d9b2572297</guid>
        <pubDate>Fri, 01 Oct 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3766</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/Square_E80_v2.051eb9fff9fe.jpg"/>
        <rp:twitter-handles>@willmcgugan</rp:twitter-handles>
        <rp:twitter-title>“Make Your Python App Interactive With a Text User Interface (TUI)” with @willmcgugan</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>79</itunes:episode>
        <title>Measuring Your Python Learning Progress</title>
        <itunes:title>Measuring Your Python Learning Progress</itunes:title>
        <link>https://realpython.com/podcasts/rpp/79/</link>
        <description>Where are you along the path of learning Python? Do you feel like you&#x27;re making progress? What are ways you can put the learning path into a more precise focus? This week on the show, we talk with previous guest Martin Breuss about his recent article &quot;How Long Does It Take to Learn Python?&quot;</description>
        <content:encoded>&lt;p&gt;Where are you along the path of learning Python? Do you feel like you&amp;rsquo;re making progress? What are ways you can put the learning path into a more precise focus? This week on the show, we talk with previous guest Martin Breuss about his recent article &amp;ldquo;How Long Does It Take to Learn Python?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Martin discusses methods for measuring your progress and the various   reasons for learning the language. We talk about how different backgrounds will affect your approach. We also suggest resources to help you on your path. &lt;/p&gt;
&lt;p&gt;We share a couple of recent Python projects to round out the episode. The first is a library to draw stylized maps from OpenStreetMap data. The other is a framework for the analysis and visualization of trees, which includes a set of phylogenomic tools.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/effective-python-return-statement/&quot;&gt;Using the Python return Statement Effectively&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to use the Python return statement when writing functions. Additionally, you&amp;rsquo;ll cover some good programming practices related to the use of return. With this knowledge, you&amp;rsquo;ll be able to write readable, robust, and maintainable functions in Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:01:44 &amp;ndash; Real Python Core Team Member&lt;/li&gt;
&lt;li&gt;00:03:13 &amp;ndash; How long does it take to learn Python?&lt;/li&gt;
&lt;li&gt;00:03:40 &amp;ndash; Why did you want to explore this topic? &lt;/li&gt;
&lt;li&gt;00:05:05 &amp;ndash; Python backgrounds Martin and Christopher&lt;/li&gt;
&lt;li&gt;00:16:39 &amp;ndash; What area excited you?&lt;/li&gt;
&lt;li&gt;00:19:38 &amp;ndash; Sponsor: Rev AI &lt;/li&gt;
&lt;li&gt;00:20:16 &amp;ndash; What are other areas that define, why Python?&lt;/li&gt;
&lt;li&gt;00:23:30 &amp;ndash; Keeping the scope narrower&lt;/li&gt;
&lt;li&gt;00:24:48 &amp;ndash; Measuring your progress&lt;/li&gt;
&lt;li&gt;00:32:49 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:34:12 &amp;ndash; Effective mentorship&lt;/li&gt;
&lt;li&gt;00:39:02 &amp;ndash; Using search engines&lt;/li&gt;
&lt;li&gt;00:43:07 &amp;ndash; The journey of learning Python&lt;/li&gt;
&lt;li&gt;00:48:38 &amp;ndash; Programming challenges and practicing&lt;/li&gt;
&lt;li&gt;00:49:40 &amp;ndash; pretty maps - Minimal Python library to draw customized maps&lt;/li&gt;
&lt;li&gt;00:52:02 &amp;ndash; ETE Toolkit - Python environment for tree exploration&lt;/li&gt;
&lt;li&gt;00:54:30 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/mbreuss/&quot;&gt;About Martin Breuss: Real Python Team&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/how-long-does-it-take-to-learn-python/&quot;&gt;How Long Does It Take to Learn Python?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Four_stages_of_competence&quot;&gt;Four stages of competence: Wikipedia Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-first-steps/#the-basic-python-syntax&quot;&gt;The Basic Python Syntax: Links to Real Python Resources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/FreyaHolmer/status/1436696408506212353?s=20&quot;&gt;BTW these large scary math symbols are just for-loops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spreadprivacy.com/google-filter-bubble-study/&quot;&gt;Measuring the &amp;ldquo;Filter Bubble&amp;rdquo;: How Google is influencing what you click&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.quora.com/What-does-Google-know-about-me/answer/Gabriel-Weinberg&quot;&gt;What does Google know about me?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/python-interview/&quot;&gt;Ace Your Python Coding Interview: Real Python Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codingbat.com/python&quot;&gt;CodingBat: Coding Practice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/4/&quot;&gt;Episode 4: Learning Python Through Errors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/48/&quot;&gt;Episode 48: Stochastic Gradient Descent and Deploying Your Python Scripts on the Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/marceloprates/prettymaps&quot;&gt;pretty maps: A minimal Python library to draw customized maps from OpenStreetMap data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://etetoolkit.org/&quot;&gt;ETE Toolkit: A Python framework for the analysis and visualization of trees&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ncbi.nlm.nih.gov/&quot;&gt;NCBI: National Center for Biotechnology Information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://etetoolkit.org/documentation/ete-ncbiquery/&quot;&gt;ete-ncbiquery: Fast and handy queries to the NCBI taxonomy database&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/effective-python-return-statement/&quot;&gt;Using the Python return Statement Effectively&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/graph-data-with-python-and-ggplot/&quot;&gt;Graph Your Data With Python and ggplot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E079_Martin.e44de524b6ba.mp3" type="audio/mpeg" length="40145374"/>
        <guid isPermaLink="false">83a61358-dba2-49eb-a822-9d1233bb2ceb</guid>
        <pubDate>Fri, 24 Sep 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3339</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@martinbreuss</rp:twitter-handles>
        <rp:twitter-title>“Measuring Your Python Learning Progress” with @martinbreuss</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>78</itunes:episode>
        <title>Learning Python Through Illustrated Stories</title>
        <itunes:title>Learning Python Through Illustrated Stories</itunes:title>
        <link>https://realpython.com/podcasts/rpp/78/</link>
        <description>Are you a visual learner? Does it help to have programming concepts shared with concrete examples and images? Would you like to see if your child might be interested in programming? This week on the show, we talk with author Shari Eskenas about her books, &quot;A Day in Code - Python: Learn to Code in Python Through an Illustrated Story&quot; and &quot;Learn Python Through Nursery Rhymes &amp; Fairy Tales.&quot;</description>
        <content:encoded>&lt;p&gt;Are you a visual learner? Does it help to have programming concepts shared with concrete examples and images? Would you like to see if your child might be interested in programming? This week on the show, we talk with author Shari Eskenas about her books, &amp;ldquo;A Day in Code - Python: Learn to Code in Python Through an Illustrated Story&amp;rdquo; and &amp;ldquo;Learn Python Through Nursery Rhymes &amp;amp; Fairy Tales.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We talk about the books and what inspired her to bring programming to picture books. Shari discusses her goal of providing a fun way for beginners to experience learning to code.&lt;/p&gt;
&lt;p&gt;Shari is also an electrical engineer with multiple patents and the founder of Sundae Electronics. We talk briefly about SoundBrake, which is an audio device that alerts headphone users to outside sounds. &lt;/p&gt;
&lt;p&gt;Shari&amp;rsquo;s programming background is primarily in C, and we cover her path to Python. We also discuss how she is using Python and the Raspberry Pi to prototype new projects. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/reading-writing-files-pandas/&quot;&gt;Reading and Writing Files With Pandas&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about the Pandas IO tools API and how you can use it to read and write files. You&amp;rsquo;ll use the Pandas read_csv() function to work with CSV files. You&amp;rsquo;ll also cover similar methods for efficiently working with Excel, CSV, JSON, HTML, SQL, pickle, and big data files.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:05 &amp;ndash; A Day in Code Books&lt;/li&gt;
&lt;li&gt;00:05:32 &amp;ndash; Showing Python classes and object oriented concepts&lt;/li&gt;
&lt;li&gt;00:08:02 &amp;ndash; What Python concepts did you want to cover in the book?&lt;/li&gt;
&lt;li&gt;00:09:17 &amp;ndash; Translating the book and concepts from C to Python&lt;/li&gt;
&lt;li&gt;00:11:04 &amp;ndash; Reception of the book&lt;/li&gt;
&lt;li&gt;00:12:10 &amp;ndash; Using real objects and names in code&lt;/li&gt;
&lt;li&gt;00:14:05 &amp;ndash; Sponsor: DataStax Astra DB&lt;/li&gt;
&lt;li&gt;00:14:38 &amp;ndash; Learn Python Through Nursery Rhymes &amp;amp; Fairy Tales&lt;/li&gt;
&lt;li&gt;00:20:25 &amp;ndash; Sundae Electronics and SoundBrake&lt;/li&gt;
&lt;li&gt;00:26:47 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:57 &amp;ndash; Prototyping with Python and Raspberry Pi&lt;/li&gt;
&lt;li&gt;00:38:19 &amp;ndash; When did you start to learn Python?&lt;/li&gt;
&lt;li&gt;00:39:31 &amp;ndash; Real Python community&lt;/li&gt;
&lt;li&gt;00:41:33 &amp;ndash; How do you see yourself using Python in the future?&lt;/li&gt;
&lt;li&gt;00:43:39 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:45:02 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:45:51 &amp;ndash; Shout outs and plugs: Kickstarter campaign&lt;/li&gt;
&lt;li&gt;00:46:40 &amp;ndash; Social media connections&lt;/li&gt;
&lt;li&gt;00:47:08 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sundaelectronics.com/day-in-code-python&quot;&gt;A Day in Code - Python: Learn to code in Python through an illustrated story&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sundaelectronics.com/a-day-in-code&quot;&gt;A Day in Code: An illustrated story written in the C programming language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kickstarter.com/projects/914595512/learn-python-through-nursery-rhymes-and-fairy-tales&quot;&gt;Learn Python through Nursery Rhymes &amp;amp; Fairy Tales: Kickstarter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sundaelectronics.com/&quot;&gt;Sundae Electronics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raspberrypi.org/products/&quot;&gt;Raspberry Pi Computers and Microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raspberrypi.org/documentation/computers/remote-access.html&quot;&gt;Raspberry Pi Remote Access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython: The Easiest Way to Program Microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/community/&quot;&gt;Real Python Community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-writing-files-pandas/&quot;&gt;Reading and Writing Files With pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-micropython/&quot;&gt;Getting Started With MicroPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/setting-up-python/&quot;&gt;Python Basics: Setting Up Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E078_Shari2.cb8ed29eda02.mp3" type="audio/mpeg" length="34753586"/>
        <guid isPermaLink="false">70775589-d3c7-40dd-ae7b-8332c0bdd4a2</guid>
        <pubDate>Fri, 17 Sep 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2885</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@Sundaelectronic</rp:twitter-handles>
        <rp:twitter-title>“Learning Python Through Illustrated Stories” with @Sundaelectronic</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>77</itunes:episode>
        <title>Advantages of Completing Small Python Projects</title>
        <itunes:title>Advantages of Completing Small Python Projects</itunes:title>
        <link>https://realpython.com/podcasts/rpp/77/</link>
        <description>Are you a beginner or intermediate Python programmer who has made it through some of the fundamentals? Have you tried to tackle a big project but got stuck and frustrated? Completing some small projects might be the answer. This week on the show, we have author Al Sweigart and talk about his new book, &quot;The Big Book of Small Python Projects.&quot;</description>
        <content:encoded>&lt;p&gt;Are you a beginner or intermediate Python programmer who has made it through some of the fundamentals? Have you tried to tackle a big project but got stuck and frustrated? Completing some small projects might be the answer. This week on the show, we have author Al Sweigart and talk about his new book, &amp;ldquo;The Big Book of Small Python Projects.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We discuss the advantages of sometimes thinking small in terms of Python programs. We talk about completing projects and the benefits of manually copying code by typing it in yourself. Al also has suggestions about tools for beginners and intermediate developers.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Get started on 13 Python project ideas that are just right for intermediate Python developers. They&amp;rsquo;ll challenge you enough to help you become a better Pythonista.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; Writing books and PyCascades 2021 Author panel&lt;/li&gt;
&lt;li&gt;00:06:58 &amp;ndash; Did you type in code from books as beginner?&lt;/li&gt;
&lt;li&gt;00:10:16 &amp;ndash; About the book&lt;/li&gt;
&lt;li&gt;00:20:53 &amp;ndash; Sponsor: Rev AI &lt;/li&gt;
&lt;li&gt;00:21:30 &amp;ndash; General instructions on how to start with the book&lt;/li&gt;
&lt;li&gt;00:27:39 &amp;ndash; Working with a debugger&lt;/li&gt;
&lt;li&gt;00:30:28 &amp;ndash; Experimenting with existing code&lt;/li&gt;
&lt;li&gt;00:34:27 &amp;ndash; Tools for learning touch typing&lt;/li&gt;
&lt;li&gt;00:38:31 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:39:37 &amp;ndash; IDEs, Mu, and Python&amp;rsquo;s IDLE&lt;/li&gt;
&lt;li&gt;00:45:42 &amp;ndash; Online diff tool&lt;/li&gt;
&lt;li&gt;00:47:27 &amp;ndash; Some of the projects, games, animations&lt;/li&gt;
&lt;li&gt;00:51:58 &amp;ndash; Finishing things&lt;/li&gt;
&lt;li&gt;00:54:07 &amp;ndash; What are areas of Python you see beginners struggle with?&lt;/li&gt;
&lt;li&gt;00:59:41 &amp;ndash; What is something you wish you were shown as a beginner? &lt;/li&gt;
&lt;li&gt;01:02:07 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:04:34 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:07:27 &amp;ndash; Shout outs and social connections&lt;/li&gt;
&lt;li&gt;01:08:33 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/big-book-small-python-projects&quot;&gt;The Big Book of Small Python Projects: No Starch Press&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com&quot;&gt;Invent With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alsweigart.com/&quot;&gt;Al Sweigart Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=fksfxGsVPik&quot;&gt;Everything You Need to Know About Writing Technical Python Books: PyCascades 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0657/&quot;&gt;PEP 657 &amp;ndash; Include Fine Grained Error Locations in Tracebacks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/71/&quot;&gt;Episode 71: Start Using a  Debugger With Your Python Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5AYIe-3cD-s&quot;&gt;Nina Zakharenko - Goodbye Print, Hello Debugger! - PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.typingclub.com&quot;&gt;TypingClub: Learn Touch Typing for Free!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.hecticgeek.com/typespeed-typing-game-ubuntu-linux/&quot;&gt;Typespeed: Typing Speed Testing Game for Ubuntu Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codewith.mu&quot;&gt;Code With Mu: Simple Python editor for beginner programmers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/idle.html?highlight=idle&quot;&gt;IDLE: Python&amp;rsquo;s Integrated Development and Learning Environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boingboing.net/2011/08/20/90-percent-of-us-net-users-dont-know-from-crtl-f.html&quot;&gt;90 percent of US net users don&amp;rsquo;t know from crtl-F&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/beginners-guide-python-turtle/&quot;&gt;The Beginner&amp;rsquo;s Guide to Python Turtle: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/functions.html?highlight=dir#dir&quot;&gt;Python&amp;rsquo;s dir() Built-in Function: docs.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/functions.html?highlight=dir#help&quot;&gt;Python&amp;rsquo;s help() Built-in Function: docs.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-first-steps/#how-to-get-help-in-python&quot;&gt;How to Get Help in Python - Your First Steps&lt;/a&gt;
-&lt;a href=&quot;https://pycon.blogspot.com/2020/12/announcing-pycon-us-20222023.html&quot;&gt;Announcing the Location for PyCon US 2022/2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/33/&quot;&gt;Episode 33: Going Beyond the Basic Stuff With Python and Al Sweigart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.focusmate.com&quot;&gt;Focusmate: Distraction-free Productivity &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/arduino-python/&quot;&gt;Arduino With Python: Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E077_Al_Sweigart.368c541b563c.mp3" type="audio/mpeg" length="50353897"/>
        <guid isPermaLink="false">7815ab93-3856-4967-95f1-8e1a2073f726</guid>
        <pubDate>Fri, 10 Sep 2021 12:00:00 +0000</pubDate>
        <itunes:duration>4185</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Advantages of Completing Small Python Projects”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>76</itunes:episode>
        <title>Harnessing Python&#x27;s math Module and Exposing Practical Pandas Functions</title>
        <itunes:title>Harnessing Python&#x27;s math Module and Exposing Practical Pandas Functions</itunes:title>
        <link>https://realpython.com/podcasts/rpp/76/</link>
        <description>How well do you know Python&#x27;s math module? Maybe you&#x27;ve used a few of the constants or arithmetic functions. You may be surprised by the amount of functionality hiding within this built-in library, and perhaps you don&#x27;t need to reach for an additional outside library. This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How well do you know Python&amp;rsquo;s math module? Maybe you&amp;rsquo;ve used a few of the constants or arithmetic functions. You may be surprised by the amount of functionality hiding within this built-in library, and perhaps you don&amp;rsquo;t need to reach for an additional outside library. This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a recent video course about the math module. David shares a recent article about implementing efficient queues and stacks with Python&amp;rsquo;s deque (double-ended queue) class. We also talk about an article that shares 25 Pandas functions you may not have known to exist.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, visualization and interactive dashboards  in Python with HoloViz, designing a camera with Python and PyRayT, graphing data science with Python and networkx, another useful Python pdf library, and runtime software verification and automated testing for scientific software in Python with a project named paranoidscientist.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/exploring-python-math-module/&quot;&gt;Exploring the Python math Module&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn all about Python&amp;rsquo;s math module for higher-level mathematical functions. Whether you&amp;rsquo;re working on a scientific project, a financial application, or any other type of programming endeavor, you just can&amp;rsquo;t escape the need for math!&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:09 &amp;ndash; Python&amp;rsquo;s deque: Implement Efficient Queues and Stacks&lt;/li&gt;
&lt;li&gt;00:07:31 &amp;ndash; Visualization and Interactive Dashboard in Python&lt;/li&gt;
&lt;li&gt;00:14:11 &amp;ndash; Sponsor: DataStax Astra DB&lt;/li&gt;
&lt;li&gt;00:14:42 &amp;ndash; Design a Camera with Python and PyRayT&lt;/li&gt;
&lt;li&gt;00:19:39 &amp;ndash; 25 Pandas Functions You Didn&amp;rsquo;t Know Existed&lt;/li&gt;
&lt;li&gt;00:27:03 &amp;ndash; Graph Data Science With Python and NetworkX&lt;/li&gt;
&lt;li&gt;00:33:01 &amp;ndash; Exploring the Python math Module&lt;/li&gt;
&lt;li&gt;00:40:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:42:12 &amp;ndash; paranoidscientist: Runtime Software Verification and Automated Testing for Scientific Software in Python&lt;/li&gt;
&lt;li&gt;00:45:33 &amp;ndash; borb: A Python PDF library&lt;/li&gt;
&lt;li&gt;00:49:01 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-deque/&quot;&gt;Python&amp;rsquo;s deque: Implement Efficient Queues and Stacks&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn about Python&amp;rsquo;s &lt;code&gt;deque&lt;/code&gt; and how to use it to perform efficient pop and append operations on both ends of your sequences. Deques are commonly used to build queues and stacks.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/visualization-and-interactive-dashboard-in-python-c2f2a88b2ba3&quot;&gt;Visualization and Interactive Dashboard in Python&lt;/a&gt; &amp;ndash; Have you ever heard of HoloViz? It&amp;rsquo;s a set of Python visualization and plotting tools for browser-based data visualization and presentation. In this article, Sophia Yang — a senior data scientist at Anaconda — explains why she loves HoloViz and what her workflow looks like when using it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.fotonixx.com/posts/design-a-camera-with-python-and-pyrayt/&quot;&gt;Design a Camera with Python and PyRayT&lt;/a&gt; &amp;ndash; Camera lenses are more complex than you might think. If you cut open a camera to look at a cross-section, you&amp;rsquo;d see that a lens is actually made up of several smaller lenses. This article explores how camera lenses work using a new Python raytracing project called &lt;a href=&quot;https://github.com/rfrazier716/PyRayT&quot;&gt;PyRayT&lt;/a&gt; that&amp;rsquo;s designed for designing optical systems.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/25-pandas-functions-you-didnt-know-existed-p-guarantee-0-8-1a05dcaad5d0&quot;&gt;25 Pandas Functions You Didn&amp;rsquo;t Know Existed&lt;/a&gt; &amp;ndash; Did you know that you can style the pandas DataFrame output in a notebook? This listicle covers twenty-five pandas functions that you may not have heard of, including &lt;code&gt;.explode()&lt;/code&gt;, &lt;code&gt;.squeeze()&lt;/code&gt;, and the pandas DataFrame styler. There&amp;rsquo;s something in this article for everyone, so read it to find out how you can take your pandas skills to the next level.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.toptal.com/data-science/graph-data-science-python-networkx&quot;&gt;Graph Data Science With Python and NetworkX&lt;/a&gt; &amp;ndash; Graph theory network analysis can yield deep data insights that are difficult to tease out via alternative methods. Get a taste of what graph analysis can do in this quick, hands-on tutorial that uses &lt;a href=&quot;https://github.com/networkx&quot;&gt;NetworkX&lt;/a&gt; to create and analyze a graph.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-python-math-module/&quot;&gt;Exploring the Python math Module&lt;/a&gt; &amp;ndash; In this step-by-step course, you&amp;rsquo;ll learn all about Python&amp;rsquo;s &lt;code&gt;math&lt;/code&gt; module for higher-level mathematical functions. Whether you&amp;rsquo;re working on a scientific project, a financial application, or any other type of programming endeavor, you just can&amp;rsquo;t escape the need for math!&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mwshinn/paranoidscientist&quot;&gt;paranoidscientist: Runtime Software Verification and Automated Testing for Scientific Software in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jorisschellekens/borb&quot;&gt;borb: A Python PDF library&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/interactive-data-visualization-python-bokeh/&quot;&gt;Interactive Data Visualization in Python With Bokeh: Real Python Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lensbaby.com&quot;&gt;Lensbaby: Award-Winning Creative Effects Lenses &amp;amp; Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/docs/getting_started/comparison/comparison_with_spreadsheets.html&quot;&gt;pandas - Comparison with spreadsheets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/networkx&quot;&gt;NetworkX&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackabuse.com/creating-a-pdf-document-in-python-with-borb/&quot;&gt;Creating a PDF Document in Python with borb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackabuse.com/creating-pdf-invoices-in-python-with-borb/&quot;&gt;Creating PDF Invoices in Python with borb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-writing-files-pandas/&quot;&gt;Reading and Writing Files With pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-python-math-module/&quot;&gt;Exploring the Python math Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E076_DavidandChris.b395ca494972.mp3" type="audio/mpeg" length="36161852"/>
        <guid isPermaLink="false">efaee8e5-9314-4a7e-8613-0377178a1857</guid>
        <pubDate>Fri, 03 Sep 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3002</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Harnessing Python&#x27;s math Module and Exposing Practical Pandas Functions”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>75</itunes:episode>
        <title>Building With CircuitPython &amp; Constraints of Python for Microcontrollers</title>
        <itunes:title>Building With CircuitPython &amp; Constraints of Python for Microcontrollers</itunes:title>
        <link>https://realpython.com/podcasts/rpp/75/</link>
        <description>Can you make a version of Python that fits within the memory constraints of a microcontroller and have it still feel like Python? That is the intention behind CircuitPython. This week on the show, we have Scott Shawcroft, who is the project lead for CircuitPython.</description>
        <content:encoded>&lt;p&gt;Can you make a version of Python that fits within the memory constraints of a microcontroller and have it still feel like Python? That is the intention behind CircuitPython. This week on the show, we have Scott Shawcroft, who is the project lead for CircuitPython.&lt;/p&gt;
&lt;p&gt;We talk about all things CircuitPython. While working with the language on several projects I have developed many of my own questions to ask Scott. Scott answers my questions about boot loaders, packages, the bundle, and bluetooth low energy (BLE).  &lt;/p&gt;
&lt;p&gt;He also talks about the struggle of fitting the language and board specific libraries within tiny memory constraints. We discuss projects and boards for beginners, and many resources to learn more.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/getting-started-micropython/&quot;&gt;Getting Started With MicroPython&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Are you interested in the Internet of Things, home automation, and connected devices? If so, then you&amp;rsquo;re in luck! In this course, you&amp;rsquo;ll learn about MicroPython and the world of electronics hardware. You&amp;rsquo;ll set up your board, write your code, and deploy a MicroPython project to your own device.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:56 &amp;ndash; Background With CircuitPython&lt;/li&gt;
&lt;li&gt;00:07:22 &amp;ndash; Lightning talk and CircuitPython as a subset of Python&lt;/li&gt;
&lt;li&gt;00:16:01 &amp;ndash; Working with CircuitPython: Bootloaders and Packages&lt;/li&gt;
&lt;li&gt;00:27:20 &amp;ndash; Specific libraries, adding modules, and pip &lt;/li&gt;
&lt;li&gt;00:37:21 &amp;ndash; Sponsor: Rev.ai&lt;/li&gt;
&lt;li&gt;00:37:57 &amp;ndash; How to program, text editor or IDE&lt;/li&gt;
&lt;li&gt;00:41:19 &amp;ndash; Bluetooth Low Energy (BLE) and programming devices remotely&lt;/li&gt;
&lt;li&gt;00:50:02 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:51:06 &amp;ndash; Do you consider yourself a Maker?&lt;/li&gt;
&lt;li&gt;00:54:58 &amp;ndash; Bringing CircuitPython coding to the Raspberry Pi?&lt;/li&gt;
&lt;li&gt;00:59:56 &amp;ndash; Suggestions for beginner hardware&lt;/li&gt;
&lt;li&gt;01:00:55 &amp;ndash; Suggestions for add-on boards for audio or displays&lt;/li&gt;
&lt;li&gt;01:10:20 &amp;ndash; Electronics Show and Tell Wednesdays&lt;/li&gt;
&lt;li&gt;01:11:51 &amp;ndash; Events, video streams, and Discord server&lt;/li&gt;
&lt;li&gt;01:16:00 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:17:23 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:18:42 &amp;ndash; Shoutouts and plugs &lt;/li&gt;
&lt;li&gt;01:22:40 &amp;ndash; Social media info&lt;/li&gt;
&lt;li&gt;01:23:52 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython: The easiest way to program microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/&quot;&gt;Adafruit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ladyada.net/&quot;&gt;LadyAda.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://micropython.org/&quot;&gt;MicroPython: Python for Microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tannewt/presentations/tree/main/20210511-py-lang-summit&quot;&gt;2021 Python Language Summit Lightning Talks Slides: tannewt GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit_22.html&quot;&gt;The 2021 Python Language Summit: Lightning Talks, Round 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/69/&quot;&gt;Episode 69: Planning a Faster Future at the Python Language Summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode 47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/tag/syntactic-sugar/&quot;&gt;Syntatic Sugar Series: Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;WebAssembly - WASM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/5128&quot;&gt;Adafruit MacroPad RP2040 Starter Kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLjF7R1fz_OOVvPjQU_KXsLPVB0pG_kdxW&quot;&gt;John Park&amp;rsquo;s Workshop: YouTube Playlist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codewith.mu/&quot;&gt;Code With Mu: A simple Python editor for beginner programmers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bluetooth_Low_Energy&quot;&gt;BLE - Bluetooth Low Energy: Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.readthedocs.io/projects/circup/en/latest/index.html&quot;&gt;CircUp: A tool to manage and update libraries (modules) on a CircuitPython device &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/blinka&quot;&gt;Blinka: Brings CircuitPython APIs to single board computers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/4796&quot;&gt;Raspberry Pi 400 Desktop - Full Computer Kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL7E1FAA9E63A32FDC&quot;&gt;Electronics Show and Tell Wednesdays: YouTube playlist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.adafruit.com/&quot;&gt;learn.adafruit.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/adabox&quot;&gt;AdaBox: Curated Adafruit products&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tannewt&quot;&gt;tannewt GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://adafru.it/discord&quot;&gt;Adafruit Discord Server: Link to join&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-writing-files-pandas/&quot;&gt;Reading and Writing Files With pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/getting-started-micropython/&quot;&gt;Getting Started With MicroPython&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E075_3_Scott_Shawcroft.f4bc7408c4e4.mp3" type="audio/mpeg" length="61270422"/>
        <guid isPermaLink="false">47281f97-5e93-48f9-97d0-4b77b8737a93</guid>
        <pubDate>Fri, 27 Aug 2021 12:00:00 +0000</pubDate>
        <itunes:duration>5095</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@tannewt</rp:twitter-handles>
        <rp:twitter-title>“Building With CircuitPython &amp; Constraints of Python for Microcontrollers” with @tannewt</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>74</itunes:episode>
        <title>Python&#x27;s Assignment Expressions and Fixing a Botched Release to PyPI</title>
        <itunes:title>Python&#x27;s Assignment Expressions and Fixing a Botched Release to PyPI</itunes:title>
        <link>https://realpython.com/podcasts/rpp/74/</link>
        <description>Have you started to use Python&#x27;s assignment expression in your code? Maybe you have heard them called the walrus operator. Now that the controversy over the introduction in Python 3.8 has settled down, how can you use assignment expressions effectively in your code? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you started to use Python&amp;rsquo;s assignment expression in your code? Maybe you have heard them called the walrus operator. Now that the controversy over the introduction in Python 3.8 has settled down, how can you use assignment expressions effectively in your code? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David shares a recent article by previous guest Brett Cannon about what to do if you botch a release to PyPI. It&amp;rsquo;s a valuable resource to keep bookmarked for when things go sideways. We also talk about a recent project by Brett, a Python launcher for Unix based operating systems.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, a Python framework with a built-in database and authorization support from Replit, do coders learn how to use entire libraries just from the documentation, how to use &lt;code&gt;sleep()&lt;/code&gt; to code a Python uptime bot, monitor your home&amp;rsquo;s temperature and humidity with Raspberry Pis and Prometheus, and a fast Settlers of Catan Python implementation with a strong AI player.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-sleep-uptime-bot/&quot;&gt;Using sleep() to Code a Python Uptime Bot&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to add time delays to your Python programs. You&amp;rsquo;ll use the built-in time module to add Python sleep() calls to your code. To practice, you&amp;rsquo;ll use time.sleep() when making an uptime bot that checks whether a website is still live.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:43 &amp;ndash; The Walrus Operator: Python 3.8 Assignment Expressions&lt;/li&gt;
&lt;li&gt;00:12:41 &amp;ndash; Replit.web: Python Framework With Built-in Database and Auth&lt;/li&gt;
&lt;li&gt;00:16:55 &amp;ndash; Sponsor: Gather&lt;/li&gt;
&lt;li&gt;00:17:39 &amp;ndash; Do Coders Learn How to Use Entire Libraries Just From the Docs?&lt;/li&gt;
&lt;li&gt;00:26:15 &amp;ndash; Using sleep() to Code a Python Uptime Bot&lt;/li&gt;
&lt;li&gt;00:31:53 &amp;ndash; Monitor Home Temperature and Humidity With Raspberry Pis and Prometheus&lt;/li&gt;
&lt;li&gt;00:39:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:57 &amp;ndash; What to Do When You Botch a Release on PyPI&lt;/li&gt;
&lt;li&gt;00:47:25 &amp;ndash; catanatron: Fast Settlers of Catan Python Implementation&lt;/li&gt;
&lt;li&gt;00:50:37 &amp;ndash; python-launcher: Python Launcher for Unix&lt;/li&gt;
&lt;li&gt;00:56:59 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-walrus-operator/&quot;&gt;The Walrus Operator: Python 3.8 Assignment Expressions&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about assignment expressions and the walrus operator. The biggest change in Python 3.8 was the inclusion of the &lt;code&gt;:=&lt;/code&gt; operator, which you can use to assign variables in the middle of expressions. You&amp;rsquo;ll see several examples of how to take advantage of this new feature.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.replit.com/replit-web&quot;&gt;Replit.web: A Python Framework With Built-in Database and Auth Support&lt;/a&gt; &amp;ndash; The folks over at replit have released a new Python web framework with built-in authentication and database support and, more interestingly, hosting. In a few lines of code, you can have a Python web app connected to a database, authenticating users, and hosted on replit. This could be a great tool for quickly building and hosting prototypes or experimental projects.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://old.reddit.com/r/learnpython/comments/osrlfc/do_coders_really_learn_how_to_use_entire/&quot;&gt;Do Coders Really Learn How to Use Entire Libraries Just From the Documentation?&lt;/a&gt; &amp;ndash; How do &lt;em&gt;you&lt;/em&gt; learn a new library? Do you start with the docs? What do you do if the documentation is lacking? Or do you first search for video lessons or written tutorials?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/courses/python-sleep-uptime-bot/&quot;&gt;Using sleep() to Code a Python Uptime Bot&lt;/a&gt; &amp;ndash; Learn how to add time delays to your Python programs. You&amp;rsquo;ll use the built-in time module to add Python &lt;code&gt;sleep()&lt;/code&gt; calls to your code. To practice, you&amp;rsquo;ll use &lt;code&gt;time.sleep()&lt;/code&gt; when making an uptime bot that checks whether a website is still live.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://opensource.com/article/21/7/home-temperature-raspberry-pi-prometheus&quot;&gt;Monitor Your Home&amp;rsquo;s Temperature and Humidity With Raspberry Pis and Prometheus&lt;/a&gt; &amp;ndash; Do you enjoy collecting and analyzing data, or are you looking for a fun project to improve your data skills? Do you also enjoy tinkering with hardware? Then this project might be a fun one for you to check out! Learn how to set up a RaspberryPi using &lt;a href=&quot;https://github.com/prometheus/prometheus&quot;&gt;Prometheus&lt;/a&gt; to collect and monitor temperature sensor data.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://snarky.ca/what-to-do-when-you-botch-a-release-on-pypi/&quot;&gt;What to Do When You Botch a Release on PyPI&lt;/a&gt; &amp;ndash; Mistakes happen to everyone. But what do you do if you make a mistake when releasing a package to PyPI? Don&amp;rsquo;t panic! There are a number of things you can do to fix a bad release. This article walks you through several scenarios and suggested solutions.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/bcollazo/catanatron&quot;&gt;catanatron: Fast Settlers of Catan Python Implementation and Strong AI Player&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brettcannon/python-launcher&quot;&gt;python-launcher: Python Launcher for Unix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-sleep/&quot;&gt;Python sleep(): How to Add Time Delays to Your Code: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python38-new-features/&quot;&gt;Cool New Features in Python 3.8: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0572/&quot;&gt;PEP 572 &amp;ndash; Assignment Expressions: Python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/prometheus/prometheus&quot;&gt;Prometheus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensource.com/article/21/7/temperature-sensors-pi&quot;&gt;Set up temperature sensors in your home with a Raspberry Pi: Opensource.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensource.com/article/21/7/run-prometheus-home-container&quot;&gt;Run Prometheus at home in a container: Opensource.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pimylifeup.com/raspberry-pi-humidity-sensor-dht22/&quot;&gt;Raspberry Pi Humidity Sensor using the DHT22: PiMyLifeUp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode 47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/43/&quot;&gt;Episode 43: Deep Reinforcement Learning in a Notebook With Jupylet + Gaming and Synthesis&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-38/&quot;&gt;Cool New Features in Python 3.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sleep-uptime-bot/&quot;&gt;Using sleep() to Code a Python Uptime Bot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E074_DavidandChris.0badeaf1bbce.mp3" type="audio/mpeg" length="41904364"/>
        <guid isPermaLink="false">5ff80586-8bea-4fba-b5ac-ba7e41a231b7</guid>
        <pubDate>Fri, 20 Aug 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3481</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python&#x27;s Assignment Expressions and Fixing a Botched Release to PyPI”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>73</itunes:episode>
        <title>Supporting Python Open Source Projects and Maintainers</title>
        <itunes:title>Supporting Python Open Source Projects and Maintainers</itunes:title>
        <link>https://realpython.com/podcasts/rpp/73/</link>
        <description>How do you define open source software? What are the challenges an open source project and maintainers face? How do maintainers receive financial, legal, security, or other types of help? This week on the show, we have Josh Simmons from Tidelift and the Open Source Initiative to help answer these questions.</description>
        <content:encoded>&lt;p&gt;How do you define open source software? What are the challenges an open source project and maintainers face? How do maintainers receive financial, legal, security, or other types of help? This week on the show, we have Josh Simmons from Tidelift and the Open Source Initiative to help answer these questions.&lt;/p&gt;
&lt;p&gt;Josh does open source ecosystem strategy for Tidelift. We talk about what Tidelift is and how they support maintainers. We also discuss the types of support maintainers need and the barriers that can block that support.&lt;/p&gt;
&lt;p&gt;Josh also serves as President of the Open Source Initiative. OSI is actively involved in open source community-building and education. He talks about how collectives and foundations can be powerful tools in the open source ecosystem.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn what inner functions are in Python, how to define them, and what their main use cases are. You&amp;rsquo;ll see how to write helper functions, create closure factory functions, and how to add behavior to existing functions with decorators.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:49 &amp;ndash; What is Tidelift?&lt;/li&gt;
&lt;li&gt;00:03:41 &amp;ndash; What is your role?&lt;/li&gt;
&lt;li&gt;00:05:28 &amp;ndash; What is a lifter?&lt;/li&gt;
&lt;li&gt;00:06:50 &amp;ndash; How much software used by businesses is open-source? &lt;/li&gt;
&lt;li&gt;00:10:26 &amp;ndash; Comparing risks of proprietary, open-source, and commercial software&lt;/li&gt;
&lt;li&gt;00:18:52 &amp;ndash; How to define a project as open-source&lt;/li&gt;
&lt;li&gt;00:30:17 &amp;ndash; Defining rights and freedoms of open-source&lt;/li&gt;
&lt;li&gt;00:32:39 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:33:43 &amp;ndash; Obstacles in the way for contributions&lt;/li&gt;
&lt;li&gt;00:42:51 &amp;ndash; Other types of support open-source contributors need&lt;/li&gt;
&lt;li&gt;00:46:55 &amp;ndash; A goal to work with foundations and individual maintainers&lt;/li&gt;
&lt;li&gt;00:49:54 &amp;ndash; Benefits of improved documentation, a force multiplier&lt;/li&gt;
&lt;li&gt;00:51:26 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:52:37 &amp;ndash; What makes a managed open-source project?&lt;/li&gt;
&lt;li&gt;00:54:58 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:51 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:57:10 &amp;ndash; Shoutout and call to action&lt;/li&gt;
&lt;li&gt;00:59:27 &amp;ndash; Social media information&lt;/li&gt;
&lt;li&gt;00:59:46 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://joshsimmons.com/&quot;&gt;Joshua R. Simmons: Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tidelift.com/&quot;&gt;Tidelift: A better way to manage open source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=t2VXwU6EVk4&quot;&gt;What motivates open source maintainers?: TideLift YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tidelift.com/about/lifter?__hstc=233546881.ddf790ed80db4012b9d597d04fb2e792.1538618569361.1606852498697.1606919518772.259&amp;amp;__hssc=233546881.18.1606919518772&amp;amp;__hsfp=3629513924&quot;&gt;Tidelift: Are you an open source maintainer?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/pulse/better-together-cultivating-open-source-ecosystem-works-simmons/&quot;&gt;Better together: cultivating an open source ecosystem that works for everyone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensource.org/&quot;&gt;Open Source Initiative: Guaranteeing the &amp;lsquo;our&amp;rsquo; in source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensource.org/osd&quot;&gt;The Open Source Definition: 10 Criteria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opencollective.com/&quot;&gt;Open Source Collective: Non-profit fiscal host promoting a healthy and sustainable open source ecosystem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sfconservancy.org/&quot;&gt;Software Freedom Conservancy: A not-for-profit charity that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Software_Freedom_Conservancy&quot;&gt;Software Freedom Conservancy: Wikipedia Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/foundation/&quot;&gt;Django Software Foundation: About&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/membership/&quot;&gt;Python Software Foundation: Membership&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/joshsimmons&quot;&gt;Josh Simmons Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E073_Josh_Simmons.d10d7ceb8ee8.mp3" type="audio/mpeg" length="43983014"/>
        <guid isPermaLink="false">d97d7f16-ed27-4a37-b9ff-2a3c505179c9</guid>
        <pubDate>Fri, 13 Aug 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3651</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@joshsimmons</rp:twitter-handles>
        <rp:twitter-title>“Supporting Python Open Source Projects and Maintainers” with @joshsimmons</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>72</itunes:episode>
        <title>Starting With FastAPI and Examining Python&#x27;s Import System</title>
        <itunes:title>Starting With FastAPI and Examining Python&#x27;s Import System</itunes:title>
        <link>https://realpython.com/podcasts/rpp/72/</link>
        <description>Have you heard of FastAPI?  An application programming interface is vital to make your software accessible to users across the internet. FastAPI is an excellent option for quickly creating a web API that implements best practices. This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you heard of FastAPI?  An application programming interface is vital to make your software accessible to users across the internet. FastAPI is an excellent option for quickly creating a web API that implements best practices. This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We share an introduction to FastAPI written by the framework&amp;rsquo;s author, Sebastián Ramírez. The goal behind the article is to get you started creating production-ready APIs.&lt;/p&gt;
&lt;p&gt;David covers an article about the Python import system and how it remains a mystery for many Python developers. We share some additional Real Python resources on the import system and statements.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, a buffet of specialized data types with Python&amp;rsquo;s collections module, maps with Django using GeoDjango, PostGIS, and Leaflet, moving SciPy to the Meson build system, what&amp;rsquo;s new in Python 3.11, a community-maintained Python framework for creating mathematical animations, and easily make PDFs with pdfme.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll explore Python modules and Python packages, two mechanisms that facilitate modular programming. See how to write and import modules so you can optimize the structure of your own programs and make them more maintainable.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:02:18 &amp;ndash; Python&amp;rsquo;s collections: A Buffet of Specialized Data Types &lt;/li&gt;
&lt;li&gt;00:08:07 &amp;ndash; Maps With Django: GeoDjango, PostGIS, and Leaflet&lt;/li&gt;
&lt;li&gt;00:12:12 &amp;ndash; Moving SciPy to the Meson Build System&lt;/li&gt;
&lt;li&gt;00:18:16 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:19:18 &amp;ndash; What&amp;rsquo;s New In Python 3.11&lt;/li&gt;
&lt;li&gt;00:24:32 &amp;ndash; Behind the Scenes: How the Python Import System Works&lt;/li&gt;
&lt;li&gt;00:31:34 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:32:40 &amp;ndash; Using FastAPI to Build Python Web APIs&lt;/li&gt;
&lt;li&gt;00:38:42 &amp;ndash; manim: A Community-Maintained Python Framework for Creating Mathematical Animations&lt;/li&gt;
&lt;li&gt;00:41:56 &amp;ndash; pdfme: Make PDFs Easily&lt;/li&gt;
&lt;li&gt;00:44:42 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-collections-module/&quot;&gt;Python&amp;rsquo;s collections: A Buffet of Specialized Data Types&lt;/a&gt; &amp;ndash; Python has a number of useful data types beyond the built-in lists, tuples, dicts, and sets. In this tutorial, you&amp;rsquo;ll learn all about the series of specialized container data types in the &lt;code&gt;collections&lt;/code&gt; module from the Python standard library. Learning the &lt;code&gt;collections&lt;/code&gt; module is a great way to level up your Python programming knowledge!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.paulox.net/2021/07/19/maps-with-django-part-2-geodjango-postgis-and-leaflet/&quot;&gt;Maps With Django: GeoDjango, PostGIS, and Leaflet&lt;/a&gt; &amp;ndash; This quickstart guide shows you how to create a web map using Django&amp;rsquo;s GeoDjango module. Data for the map is stored in a PostgreSQL database using the PostGIS extension, and Leaflet, a lightweight JavaScript library for interactive maps, is used on the front-end. You&amp;rsquo;ll not only learn how to set up the Django application and display the map but also add markers to the map and automatically center the map on the application user&amp;rsquo;s location.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://labs.quansight.org/blog/2021/07/moving-scipy-to-meson/&quot;&gt;Moving SciPy to the Meson Build System&lt;/a&gt; &amp;ndash; In accordance with &lt;a href=&quot;https://www.python.org/dev/peps/pep-0632/&quot;&gt;PEP 632&lt;/a&gt;, &lt;code&gt;distutils&lt;/code&gt; will be deprecated in Python 3.10 and in Python 3.12 it will be removed. This posed a big problem for SciPy, since it&amp;rsquo;s build system depends on NumPy&amp;rsquo;s &lt;code&gt;distutils&lt;/code&gt; module — an extension of Python&amp;rsquo;s built-in &lt;code&gt;distutils&lt;/code&gt;. The SciPy maintainers set out to find a new build system and settled on &lt;a href=&quot;https://mesonbuild.com/&quot;&gt;Meson&lt;/a&gt;, which solves a number of build issues and even scores a 4x speed-up on build times!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.python.org/3.11/whatsnew/3.11.html&quot;&gt;What&amp;rsquo;s New In Python 3.11&lt;/a&gt; &amp;ndash; Python 3.10 is still in beta, but work on Python 3.11 has already begun. Big changes include some major improvements to tracebacks as well as a new cube root function in the &lt;code&gt;math&lt;/code&gt; module.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://tenthousandmeters.com/blog/python-behind-the-scenes-11-how-the-python-import-system-works/&quot;&gt;Behind the Scenes: How the Python Import System Works&lt;/a&gt; &amp;ndash; Importing a Python module is probably one of the most used language features. But Python&amp;rsquo;s import system remains a mystery to many Python developers, even folks with years of experience. This in-depth article explores how the import system works from the top down. You&amp;rsquo;ll learn everything from the difference is between absolute and relative imports to how Python searches for modules and packages and resolves naming conflicts.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/fastapi-python-web-apis/&quot;&gt;Using FastAPI to Build Python Web APIs&lt;/a&gt; &amp;ndash; In this guide, written by FastAPI creator Sebastián Ramírez, you&amp;rsquo;ll learn the main concepts of FastAPI and how to use it to quickly create web APIs that implement best practices by default. By the end of it, you will be able to start creating production-ready web APIs.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ManimCommunity/manim&quot;&gt;manim: A Community-Maintained Python Framework for Creating Mathematical Animations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/aFelipeSP/pdfme&quot;&gt;pdfme: Make PDFs Easily&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-structures/&quot;&gt;Common Python Data Structures (Guide): Real Python &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-ordereddict/&quot;&gt;OrderedDict vs dict in Python: The Right Tool for the Job: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-counter/&quot;&gt;Python&amp;rsquo;s Counter: The Pythonic Way to Count Objects: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/location-based-app-with-geodjango-tutorial/&quot;&gt;Make a Location-Based Web App With Django and GeoDjango: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/make-location-based-web-app-django-and-geodjango/&quot;&gt;Make a Location-Based Web App With Django and GeoDjango: Real Python Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-import/&quot;&gt;Python import: Advanced Techniques and Tips: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/absolute-vs-relative-python-imports/&quot;&gt;Absolute vs Relative Imports in Python: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction - Real Python Course&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/make-location-based-web-app-django-and-geodjango/&quot;&gt;Build a Location-Based Web App With Django and GeoDjango&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E072_David_and_Chris-v3.c0af15e29df9.mp3" type="audio/mpeg" length="33090507"/>
        <guid isPermaLink="false">bda0c253-6f5f-453e-b5b9-638356b34ca0</guid>
        <pubDate>Fri, 06 Aug 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2751</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Starting With FastAPI and Examining Python&#x27;s Import System”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>71</itunes:episode>
        <title>Start Using a Debugger With Your Python Code</title>
        <itunes:title>Start Using a Debugger With Your Python Code</itunes:title>
        <link>https://realpython.com/podcasts/rpp/71/</link>
        <description>Are you still sprinkling print statements throughout your code while writing it? Print statements are often clunky and offer only a limited view of the state of your code. Have you thought there must be a better way? This week on the show, we have Nina Zakharenko to discuss her conference talk titled &quot;Goodbye Print, Hello Debugger.&quot;</description>
        <content:encoded>&lt;p&gt;Are you still sprinkling print statements throughout your code while writing it? Print statements are often clunky and offer only a limited view of the state of your code. Have you thought there must be a better way? This week on the show, we have Nina Zakharenko to discuss her conference talk titled &amp;ldquo;Goodbye Print, Hello Debugger.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We talk about how to get started debugging your code by adding a single keyword.  Nina discusses the differences between debugging on the command line vs using the tools included with an Integrated Development Environment(IDE). She also shares tricks and best practices. If you haven&amp;rsquo;t seen Nina&amp;rsquo;s conference talk, it&amp;rsquo;s a great starting point. &lt;/p&gt;
&lt;p&gt;We also talk about working through the last 18 months and how to recharge your creative batteries. We briefly discuss two other presentations Nina gave about CircuitPython and getting started with electronics and Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Python Debugging With pdb&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this hands-on course, you&amp;rsquo;ll learn the basics of using pdb, Python&amp;rsquo;s interactive source code debugger. pdb is a great tool for tracking down hard-to-find bugs, and it allows you to fix faulty code more quickly.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; Follow up on PyCascades 2021 and 2022&lt;/li&gt;
&lt;li&gt;00:02:45 &amp;ndash; Election to the PSF Board&lt;/li&gt;
&lt;li&gt;00:05:06 &amp;ndash; Current levels of burnout&lt;/li&gt;
&lt;li&gt;00:09:09 &amp;ndash; Possible ways to recharge&lt;/li&gt;
&lt;li&gt;00:12:18 &amp;ndash; Goodbye Print, Hello Debugger&lt;/li&gt;
&lt;li&gt;00:14:46 &amp;ndash; What are the types of things you can examine the state of?&lt;/li&gt;
&lt;li&gt;00:18:01 &amp;ndash; Where to start?&lt;/li&gt;
&lt;li&gt;00:22:37 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:23:39 &amp;ndash; Why is debugging not shown as often in Python?&lt;/li&gt;
&lt;li&gt;00:26:49 &amp;ndash; Debugging in VSCode&lt;/li&gt;
&lt;li&gt;00:29:37 &amp;ndash; Adding breakpoints in Flask or Django Templates&lt;/li&gt;
&lt;li&gt;00:31:32 &amp;ndash; What is pdb and how does it compare to ipdb?&lt;/li&gt;
&lt;li&gt;00:39:40 &amp;ndash; What are common debugging mistakes?&lt;/li&gt;
&lt;li&gt;00:43:50 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:48 &amp;ndash; Why include a disclaimer about the talk?&lt;/li&gt;
&lt;li&gt;00:46:13 &amp;ndash; Where did you learn about debugging?&lt;/li&gt;
&lt;li&gt;00:49:23 &amp;ndash; Nina&amp;rsquo;s conference talks about CircuitPython&lt;/li&gt;
&lt;li&gt;00:58:33 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:59:51 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:04:02 &amp;ndash; Social info&lt;/li&gt;
&lt;li&gt;01:04:27 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nnja.io/&quot;&gt;Nina Zakharenko - Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/&quot;&gt;PyCascades 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/membership/&quot;&gt;Python Software Foundation - Become a Member&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5AYIe-3cD-s&quot;&gt;Nina Zakharenko - Goodbye Print, Hello Debugger! - PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/pdb.html?highlight=pdb#module-pdb&quot;&gt;pdb — The Python Debugger: Python 3 Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ipython.org/&quot;&gt;IPython: Interactive Computing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pre-commit.com/&quot;&gt;Pre-commit: A framework for managing and maintaining multi-language pre-commit hooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonmorsels.com/&quot;&gt;Python Morsels: Write better Python code in 30 minutes each week&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-debug-idle/&quot;&gt;Find &amp;amp; Fix Code Bugs in Python: Debug With IDLE: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-basics-code-bugs/&quot;&gt;Python Basics: Finding and Fixing Code Bugs: Real Python Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=35mXD40SvXM&quot;&gt;Light Up Your Life With Python and LEDs - PyCon 2019 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GnteZjiHVdA&quot;&gt;More Fun With Hardware and CircuitPython - IoT, Wearables, and more! - PyCon 2021 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython: The easiest way to program microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/board/circuitplayground_express/&quot;&gt;Circuit Playground Express by Adafruit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/garage/profiles/device-simulator-express/&quot;&gt;Device Simulator Express: A VS code extension&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/IoT-For-Beginners&quot;&gt;IoT for Beginners - A Curriculum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/big-book-small-python-projects&quot;&gt;The Big Book of Small Python Projects - Al Sweigart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kregtool.com/shop/pocket-hole-joinery/pocket-hole-jigs/kreg-pocket-hole-jig-320/KPHJ320.html&quot;&gt;Kreg® Pocket-Hole Jig 320&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.kregtool.com/learn/conquer-cuts-adaptive-cutting-system/&quot;&gt;Conquer your cuts with the Adaptive Cutting System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/nnja&quot;&gt;Nina&amp;rsquo;s Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframe-working-with-data/&quot;&gt;The pandas DataFrame: Working With Data Efficiently&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-projects-sphinx-read-the-docs/&quot;&gt;Documenting Python Projects With Sphinx and Read The Docs - Archived&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E071_Nina_Debugging.7558a221a7d6.mp3" type="audio/mpeg" length="47396558"/>
        <guid isPermaLink="false">db237a65-c186-446d-9088-c33ce8217c0a</guid>
        <pubDate>Fri, 30 Jul 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3938</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@nnja</rp:twitter-handles>
        <rp:twitter-title>“Start Using a Debugger With Your Python Code” with @nnja</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>70</itunes:episode>
        <title>What Can You Do With Python and Counting Objects Using &quot;Counter&quot;</title>
        <itunes:title>What Can You Do With Python and Counting Objects Using &quot;Counter&quot;</itunes:title>
        <link>https://realpython.com/podcasts/rpp/70/</link>
        <description>How is Python being used today, and what can you do with the language? Do you want to develop software, dive into data science and math, automate parts of your job and  digital life, or work with electronics? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;How is Python being used today, and what can you do with the language? Do you want to develop software, dive into data science and math, automate parts of your job and  digital life, or work with electronics? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We talk about a Real Python article that covers the incredible variety of ways you can use Python. David shares an article about the pythonic way to count objects using the Counter class from the collections module. We discuss the ways it can lead to cleaner and more efficient code.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, the inaugural CPython developer-in-residence, typeclasses in Python, GitHub Copilot writes a text-based game, friendlier tracebacks in REPLs (including Jupyter), 120+ interactive interview challenges, a module that helps you build complex pipelines of batch jobs, and a tool for plotting in the terminal.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/understand-list-comprehensions/&quot;&gt;Understanding Python List Comprehensions&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Python list comprehensions make it easy to create lists while performing sophisticated filtering, mapping, and conditional logic on their members. In this course, you&amp;rsquo;ll learn when to use a list comprehension in Python and how to create them effectively.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:01 &amp;ndash; Łukasz Langa Is the Inaugural CPython Developer-in-Residence&lt;/li&gt;
&lt;li&gt;00:05:03 &amp;ndash; What Can I Do With Python?&lt;/li&gt;
&lt;li&gt;00:11:19 &amp;ndash; Typeclasses in Python&lt;/li&gt;
&lt;li&gt;00:17:59 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:19:01 &amp;ndash; Copilot Writes a Text-Based Game in Python&lt;/li&gt;
&lt;li&gt;00:27:31 &amp;ndash; Python&amp;rsquo;s Counter: The Pythonic Way to Count Objects&lt;/li&gt;
&lt;li&gt;00:34:14 &amp;ndash; interactive-coding-challenges: 120+ Interactive Python Coding Interview Challenges With Anki Flashcards&lt;/li&gt;
&lt;li&gt;00:38:11 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:11 &amp;ndash; Friendlier Tracebacks in REPLs (Including Jupyter)&lt;/li&gt;
&lt;li&gt;00:49:37 &amp;ndash; luigi: Python Module That Helps You Build Complex Pipelines of Batch Jobs&lt;/li&gt;
&lt;li&gt;00:52:13 &amp;ndash; plotext: Plotting in the Terminal&lt;/li&gt;
&lt;li&gt;00:55:24 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/07/ukasz-langa-is-inaugural-cpython.html&quot;&gt;Łukasz Langa Is the Inaugural CPython Developer-in-Residence&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/what-can-i-do-with-python/&quot;&gt;What Can I Do With Python?&lt;/a&gt; &amp;ndash; You&amp;rsquo;ve finished a course or finally made it to the end of a book that teaches you the basics of programming with Python. You&amp;rsquo;ve learned about variables, lists, tuples, dictionaries, for and while loops, conditional statements, object-oriented concepts, and more. So, what&amp;rsquo;s next? What can you do with Python nowadays?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://sobolevn.me/2021/06/typeclasses-in-python&quot;&gt;Typeclasses in Python&lt;/a&gt; &amp;ndash; Sometimes you need to change the behavior of a function based on the type of argument passed to it. This is a classic example of polymorphism in programming. In this article, you&amp;rsquo;ll learn how this is typically done in Python, compare that to polymorphism in other languages, and see how the new &lt;a href=&quot;https://github.com/dry-python/classes/&quot;&gt;classes&lt;/a&gt; library can make the whole process easier.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://sandyuraz.com/blogs/copilot-game/&quot;&gt;Copilot Writes a Text-Based Game in Python&lt;/a&gt; &amp;ndash; GitHub&amp;rsquo;s new Copilot feature has a lot of people talking. The project&amp;rsquo;s goal is to be an AI pair programmer — a tool that can suggest entire lines of code or even entire functions! In this amusing article, one developer who gained access to Copilot&amp;rsquo;s technical preview shares how the AI wrote an entire text-based adventure game that turned out to be the solution to an exercise from a Python instructional book.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-counter/&quot;&gt;Python&amp;rsquo;s Counter: The Pythonic Way to Count Objects&lt;/a&gt;&amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how to use Python&amp;rsquo;s &lt;code&gt;Counter&lt;/code&gt; to count several repeated objects at once. You&amp;rsquo;ll also learn how to use &lt;code&gt;Counter&lt;/code&gt; objects to enhance other computations that you do in Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/donnemartin/interactive-coding-challenges&quot;&gt;interactive-coding-challenges: 120+ Interactive Python Coding Interview Challenges With Anki Flashcards&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://aroberge.blogspot.com/2021/07/friendlier-tracebacks-in-repls.html&quot;&gt;Friendlier Tracebacks in REPLs (Including Jupyter)&lt;/a&gt; &amp;ndash; Tracebacks are often the start of any Python debugging journey. But tracebacks can be difficult to read and confusing to beginners. The &lt;a href=&quot;https://github.com/friendly-traceback/friendly-traceback&quot;&gt;friendly-traceback&lt;/a&gt; project aims to lift the veil of confusion for tracebacks by providing more helpful error messages with lots of context. New updates to the project include better tracebacks in Jupyter Notebooks!&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/spotify/luigi&quot;&gt;luigi: Python Module That Helps You Build Complex Pipelines of Batch Jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/piccolomo/plotext&quot;&gt;plotext: Plotting in the Terminal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lukasz.langa.pl/a072a74b-19d7-41ff-a294-e6b1319fdb6e/&quot;&gt;I am the new CPython Developer in Residence: Łukasz Langa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/success-stories/&quot;&gt;Python Success Stories: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fastapi-python-web-apis/&quot;&gt;Using FastAPI to Build Python Web APIs: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://copilot.github.com/&quot;&gt;GitHub Copilot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/github-copilot-python/&quot;&gt;GitHub Copilot: Fly With Python at the Speed of Thought&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://apps.ankiweb.net/&quot;&gt;Anki: Powerful, Intelligent Flash Cards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/friendly-traceback/friendly-traceback&quot;&gt;friendly-traceback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pyblogsal/status/1416034899639750659?s=20&quot;&gt;Status of PEP657 in Python 3.11 by Pablo Galindo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/&quot;&gt;Episode 69: Planning a Faster Future at the Python Language Summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://metaflow.org/&quot;&gt;Metaflow: A Framework for Real-life Data Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/lessons-from-a-real-machine-learning-project-part-1-from-jupyter-to-luigi-bdfd0b050ca5&quot;&gt;Lessons from a real Machine Learning project, part 1: from Jupyter to Luigi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/data-pipelines-luigi-airflow-everything-you-need-to-know-18dc741449b7&quot;&gt;Data pipelines, Luigi, Airflow: everything you need to know&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/records-sets-ideal-data-structure/&quot;&gt;Records and Sets: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/understand-list-comprehensions/&quot;&gt;Understanding Python List Comprehensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E070_David_n_Chris.6795c0d3d50a.mp3" type="audio/mpeg" length="41125203"/>
        <guid isPermaLink="false">b2332895-e706-4bac-9a00-5d1f71bcfb78</guid>
        <pubDate>Fri, 23 Jul 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3416</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“What Can You Do With Python and Counting Objects Using &quot;Counter&quot;”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>69</itunes:episode>
        <title>Planning a Faster Future at the Python Language Summit</title>
        <itunes:title>Planning a Faster Future at the Python Language Summit</itunes:title>
        <link>https://realpython.com/podcasts/rpp/69/</link>
        <description>Do you wonder what the future may hold for the Python language? Are there speed improvements coming soon? What if you could be in the room while the core developers discuss Python&#x27;s future? This week on the show, we have Joanna Jablonski, who was invited to the Python Language Summit 2021 as a journalist to summarize and document the event.</description>
        <content:encoded>&lt;p&gt;Do you wonder what the future may hold for the Python language? Are there speed improvements coming soon? What if you could be in the room while the core developers discuss Python&amp;rsquo;s future? This week on the show, we have Joanna Jablonski, who was invited to the Python Language Summit 2021 as a journalist to summarize and document the event.&lt;/p&gt;
&lt;p&gt;A small group of core developers from the Python community gather to work toward a healthy future for the language. Through presentations and group discussions, they share insights, ideas, and potential problems.&lt;/p&gt;
&lt;p&gt;Joanna has been the executive editor at Real Python and she was invited to write a series of blog posts for the Python Software Foundation (PSF) that summarize the presentations and deeper conversations of the summit. We walk through the two days and discuss the topics covered.&lt;/p&gt;
&lt;p&gt;Several of the presentations focused on performance and speeding up CPython. There were conversations about packaging, documentation, the standard library, handling exceptions, testing, and more. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/defining-and-calling-functions/&quot;&gt;Defining and Calling Python Functions&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to define and call your own Python function.  You&amp;rsquo;ll also learn about passing data to your function and returning data from your function back to its calling environment. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:01:58 &amp;ndash; What is the Python Language Summit?&lt;/li&gt;
&lt;li&gt;00:06:44 &amp;ndash; How do you summarize the talks?&lt;/li&gt;
&lt;li&gt;00:08:17 &amp;ndash; Terminology and technological level of the conversations&lt;/li&gt;
&lt;li&gt;00:13:02 &amp;ndash; PEP 654 — Exception Groups and except*&lt;/li&gt;
&lt;li&gt;00:16:10 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:17:12 &amp;ndash; Progress on Running Multiple Python Interpreters in Parallel in the Same Process&lt;/li&gt;
&lt;li&gt;00:18:15 &amp;ndash; CPython Performance Improvements at Instagram&lt;/li&gt;
&lt;li&gt;00:20:41 &amp;ndash; Making CPython Faster&lt;/li&gt;
&lt;li&gt;00:23:22 &amp;ndash; HPy — Present and Future&lt;/li&gt;
&lt;li&gt;00:25:07 &amp;ndash; Lightning Talks, Round 1&lt;/li&gt;
&lt;li&gt;00:31:03 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:32:34 &amp;ndash; The Challenges of Packaging Python for a Linux Distro&lt;/li&gt;
&lt;li&gt;00:36:12 &amp;ndash; The Python Documentation Work Group&lt;/li&gt;
&lt;li&gt;00:39:11 &amp;ndash; What Is the stdlib?&lt;/li&gt;
&lt;li&gt;00:42:07 &amp;ndash; What Should I Work on as a Core Dev?&lt;/li&gt;
&lt;li&gt;00:44:34 &amp;ndash; Fuzzing and Testing Python With Properties&lt;/li&gt;
&lt;li&gt;00:46:00 &amp;ndash; Lightning Talks, Round 2&lt;/li&gt;
&lt;li&gt;00:53:41 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:54:46 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:55:57 &amp;ndash; Shout out and social connections&lt;/li&gt;
&lt;li&gt;00:56:57 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/jjablonski/&quot;&gt;Joanna Jablonski: Real Python Profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jojab.dev&quot;&gt;Joanna Jablonski - Personal Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/Jo_Jablonski&quot;&gt;Joanna&amp;rsquo;s Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit.html&quot;&gt;The 2021 Python Language Summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-welcome.html&quot;&gt;The 2021 Python Language Summit: Welcome, Introductions, Guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-pep-654.html&quot;&gt;PEP 654 — Exception Groups and except*&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit_16.html&quot;&gt;Progress on Running Multiple Python Interpreters in Parallel in the Same Process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-cpython.html&quot;&gt;CPython Performance Improvements at Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-making.html&quot;&gt;Making CPython Faster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-hpy.html&quot;&gt;HPy — Present and Future&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit_22.html&quot;&gt;Lightning Talks, Round 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit_23.html&quot;&gt;The Challenges of Packaging Python for a Linux Distro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-python.html&quot;&gt;The Python Documentation Work Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-what-is.html&quot;&gt;What Is the stdlib?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/06/the-2021-python-language-summit-what.html&quot;&gt;What Should I Work on as a Core Dev?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/06/the-2021-python-language-summit-fuzzing.html&quot;&gt;Fuzzing and Testing Python With Properties&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/06/the-2021-python-language-summit.html&quot;&gt;Lightning Talks, Round 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0654/&quot;&gt;PEP 654 &amp;ndash; Exception Groups and except*: Python Developer&amp;rsquo;s Guide PEP Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/facebookincubator/cinder&quot;&gt;Cinder: Instagram&amp;rsquo;s internal performance-oriented production version of CPython 3.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython: The easiest way to program microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Application_binary_interface&quot;&gt;ABI - Application Binary Interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/markshannon/faster-cpython/blob/master/tiers.md&quot;&gt;Tiers of Execution in a high-performance interpreter for CPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.codinghorror.com/mort-elvis-einstein-and-you/&quot;&gt;Mort, Elvis, Einstein, and You: Coding Horror&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.renpy.org/&quot;&gt;Ren&amp;rsquo;Py: A visual novel engine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/defining-and-calling-functions/&quot;&gt;Defining and Calling Python Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E069_Joanna_Language_Summit.955a93d4a6bc.mp3" type="audio/mpeg" length="42011785"/>
        <guid isPermaLink="false">5337e36a-df85-4fe9-96aa-20faf92281a1</guid>
        <pubDate>Fri, 16 Jul 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3495</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@Jo_Jablonski</rp:twitter-handles>
        <rp:twitter-title>“Planning a Faster Future at the Python Language Summit” with @Jo_Jablonski</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>68</itunes:episode>
        <title>Exploring the functools Module and Complex Numbers in Python</title>
        <itunes:title>Exploring the functools Module and Complex Numbers in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/68/</link>
        <description>Are you ready to expand your Python knowledge into the intermediate to advanced territory? What tools are awaiting your discovery inside Python&#x27;s functools module? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you ready to expand your Python knowledge into the intermediate to advanced territory? What tools are awaiting your discovery inside Python&amp;rsquo;s functools module? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss an article about the functools module, which adds functionality for caching, function overloading, better definitions for decorated functions, and more. David talks about a new Real Python article about working with complex numbers in Python. We also cover a tutorial about troubleshooting memory problems in Python.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, DevOps interview questions, correlation analysis in Python, pivot and plot data with pandas, how to use Python and OpenCV to play online chess with a real chessboard, and generating hardware pinout diagrams as SVG images.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course on Python decorators, you&amp;rsquo;ll learn what they are and how to create and use them. Decorators provide a simple syntax for calling higher-order functions in Python. By definition, a decorator is a function that takes another function and extends the behavior of the latter function without explicitly modifying it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:56 &amp;ndash; The Future of FastAPI and Pydantic Is Bright&lt;/li&gt;
&lt;li&gt;00:04:33 &amp;ndash; Simplify Complex Numbers With Python&lt;/li&gt;
&lt;li&gt;00:10:37 &amp;ndash; Functools: The Power of Higher-Order Functions in Python&lt;/li&gt;
&lt;li&gt;00:18:40 &amp;ndash; Sponsor: Sentry&lt;/li&gt;
&lt;li&gt;00:19:42 &amp;ndash; How to Pivot and Plot Data With Pandas&lt;/li&gt;
&lt;li&gt;00:23:06 &amp;ndash; devops-exercises: DevOps Interview Questions&lt;/li&gt;
&lt;li&gt;00:32:09 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:33:25 &amp;ndash; Correlation Analysis 101 in Python&lt;/li&gt;
&lt;li&gt;00:39:28 &amp;ndash; How to Troubleshoot Memory Problems in Python&lt;/li&gt;
&lt;li&gt;00:46:16 &amp;ndash; Use Python and OpenCV to Play Online Chess With a Real Chessboard&lt;/li&gt;
&lt;li&gt;00:49:28 &amp;ndash; pinout: Generate Hardware Pinout Diagrams as SVG Images&lt;/li&gt;
&lt;li&gt;00:54:21 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.to/tiangolo/the-future-of-fastapi-and-pydantic-is-bright-3pbm&quot;&gt;The Future of FastAPI and Pydantic Is Bright&lt;/a&gt; &amp;ndash; Not long ago there was some chatter on the internet about a change in Python 3.10 that would impact Python projects that check types at runtime. The discussion centered around FastAPI and Pydantic and had some folks worried about the future of those projects. In this article, FastAPI&amp;rsquo;s creator explains what the discussion was all about and why the future of FastAPI and Pydantic remains bright.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-complex-numbers/&quot;&gt;Simplify Complex Numbers With Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about the unique treatment of complex numbers in Python. Complex numbers are a convenient tool for solving scientific and engineering problems. You&amp;rsquo;ll experience the elegance of using complex numbers in Python with several hands-on examples.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/functools-the-power-of-higher-order-functions-in-python-8e6e61c6e4e4&quot;&gt;Functools: The Power of Higher-Order Functions in Python&lt;/a&gt; &amp;ndash; The &lt;code&gt;functools&lt;/code&gt; module is one of the &amp;ldquo;hidden gems&amp;rdquo; of the Python standard library. This article takes you on a tour of everything in &lt;code&gt;functools&lt;/code&gt;. You&amp;rsquo;ll learn how to implement caching, function overloading, and a whole lot more.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://opendatascience.com/how-to-pivot-and-plot-data-with-pandas/&quot;&gt;How to Pivot and Plot Data With Pandas&lt;/a&gt; &amp;ndash; One of the challenges of working with data is knowing how to manipulate the data format for a particular analysis. And there&amp;rsquo;s no single correct format. You need to know how to melt, pivot, and transpose data into a format that fits whatever you&amp;rsquo;re analyzing. If you enjoy this article, be sure to also check out Stefanie&amp;rsquo;s &lt;a href=&quot;https://github.com/stefmolin/pandas-workshop&quot;&gt;Pandas Workshop&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/bregman-arie/devops-exercises&quot;&gt;devops-exercises: DevOps Interview Questions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dataanalysis.substack.com/p/correlation-analysis-101-in-python&quot;&gt;Correlation Analysis 101 in Python&lt;/a&gt; &amp;ndash; Correlation analysis is a useful part of exploratory data analysis. It can help you identify potential relationships between various features of your data. In this helpful guide, you&amp;rsquo;ll learn how to do correlation analysis in a pandas &lt;code&gt;DataFrame&lt;/code&gt;. You&amp;rsquo;ll see how to display a correlation matrix as a heatmap and explore some guidelines for identifying when correlation might imply causation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://innovation.alteryx.com/how-to-troubleshoot-memory-problems-in-python/&quot;&gt;How to Troubleshoot Memory Problems in Python&lt;/a&gt; &amp;ndash; Memory problems can be frustrating. They&amp;rsquo;re hard to diagnose and fix, and memory issues in Python applications can be especially frustrating thanks to the language&amp;rsquo;s garbage collection system. In this article, you&amp;rsquo;ll learn a six-step process for troubleshooting memory problems that the &lt;a href=&quot;https://evalml.alteryx.com/en/stable/&quot;&gt;EvalML&lt;/a&gt; team used to solve a tricky problem with their library.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/karayaman/Play-online-chess-with-real-chess-board&quot;&gt;play-online-chess-with-real-chess-board: Use Python and OpenCV to Play Online Chess With a Real Chessboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/j0ono0/pinout&quot;&gt;pinout: Generate Hardware Pinout Diagrams as SVG Images&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/functools.html?highlight=functools&quot;&gt;functools: Python 3 Documentation&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/primer-on-python-decorators/&quot;&gt;Primer on Python Decorators: Real Python Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/lru-cache-python/&quot;&gt;Caching in Python Using the LRU Cache Strategy: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/caching-python-lru/&quot;&gt;Caching in Python With lru_cache: Real Python Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/measuring-memory-python/&quot;&gt;Measuring Memory Usage in Python: It&amp;rsquo;s Tricky!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fritzing.org/&quot;&gt;Fritzing: Electronics Made Easy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kicad.org/&quot;&gt;KiCad EDA: A Cross Platform and Open Source Electronics Design Automation Suite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/yaqwsx/PcbDraw&quot;&gt;PcbDraw: Convert your KiCAD boards into nice looking 2D drawings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Four_stages_of_competence&quot;&gt;Four stages of competence: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-inner-functions/&quot;&gt;Python Inner Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/plot-pandas-data-visualization/&quot;&gt;Plot With pandas: Python Data Visualization Basics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E068_David_Chris.1941e27d4586.mp3" type="audio/mpeg" length="40032140"/>
        <guid isPermaLink="false">f981be7a-986a-481a-93be-6aa9a5eb3776</guid>
        <pubDate>Fri, 09 Jul 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3325</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring the functools Module and Complex Numbers in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>67</itunes:episode>
        <title>Securing Your Python Software Supply Chain With Dustin Ingram</title>
        <itunes:title>Securing Your Python Software Supply Chain With Dustin Ingram</itunes:title>
        <link>https://realpython.com/podcasts/rpp/67/</link>
        <description>How well do you know your software supply chain? When you PIP install a package, what steps can you take to minimize the risk of installing something malicious? This week on the show, we have Dustin Ingram, a director of the Python Software Foundation (PSF) and a maintainer of the Python Package Index (PyPI).</description>
        <content:encoded>&lt;p&gt;How well do you know your software supply chain? When you PIP install a package, what steps can you take to minimize the risk of installing something malicious? This week on the show, we have Dustin Ingram, a director of the Python Software Foundation (PSF) and a maintainer of the Python Package Index (PyPI).&lt;/p&gt;
&lt;p&gt;We talk about Dustin&amp;rsquo;s PyCon 2021 talk titled &amp;ldquo;Secure Software Supply Chains for Python&amp;rdquo;. Dustin shares the types of attacks you should be aware of and how you can make your supply chain more trustworthy. We cover tools, techniques, and best practices.&lt;/p&gt;
&lt;p&gt;Dustin also discusses what it takes to keep the Python Package Index running and the players working to keep it going into the future.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;rsquo;s Guide to Pip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;s a worthy investment of your time to understand the fundamentals of pip.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:51 &amp;ndash; Developer Advocate at Google&lt;/li&gt;
&lt;li&gt;00:04:34 &amp;ndash; A director of the PSF&lt;/li&gt;
&lt;li&gt;00:06:27 &amp;ndash; A maintainer of PyPI&lt;/li&gt;
&lt;li&gt;00:12:29 &amp;ndash; Secure Software Supply Chains for Python - PyCon 2021&lt;/li&gt;
&lt;li&gt;00:15:53 &amp;ndash; Do I need to be a security expert as a Python developer?&lt;/li&gt;
&lt;li&gt;00:17:23 &amp;ndash; Typo-squatting of package names&lt;/li&gt;
&lt;li&gt;00:19:46 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:20:52 &amp;ndash; Dependency confusion and private repos&lt;/li&gt;
&lt;li&gt;00:26:00 &amp;ndash; What are some best practices?&lt;/li&gt;
&lt;li&gt;00:31:55 &amp;ndash; How to lessen the scale of &amp;ldquo;I don&amp;rsquo;t know what I don&amp;rsquo;t know&amp;rdquo;?&lt;/li&gt;
&lt;li&gt;00:36:33 &amp;ndash; Tools and techniques that can help &lt;/li&gt;
&lt;li&gt;00:44:11 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:45:30 &amp;ndash; Namespaces on PyPI&lt;/li&gt;
&lt;li&gt;00:53:03 &amp;ndash; What does it take to power the Python Package Index?&lt;/li&gt;
&lt;li&gt;01:01:57 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:03:55 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:05:52 &amp;ndash; What is something you thought you knew about Python, but were wrong about it?&lt;/li&gt;
&lt;li&gt;01:08:46 &amp;ndash; Shout outs and social information&lt;/li&gt;
&lt;li&gt;01:10:16 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dustingram.com/&quot;&gt;Dustin Ingram: Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/python/&quot;&gt;Python on Google Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/run&quot;&gt;Cloud Run: Develop and deploy highly scalable containerized applications on a fully managed serverless platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf-landing/&quot;&gt;Python Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/membership/&quot;&gt;PSF Membership FAQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/&quot;&gt;PyPI: The Python Package Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=VWWgkF-0cDQ&quot;&gt;Secure Software Supply Chains for Python: PyCon 2021 - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pip.pypa.io/en/latest/user_guide/#requirements-files&quot;&gt;pip Documentation: Requirements Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pip.pypa.io/en/latest/cli/pip_install/#hash-checking-mode&quot;&gt;pip Documentation: Hash-Checking Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0440/#direct-references&quot;&gt;PEP-0440: Direct references for pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pip-tools/&quot;&gt;pip-tools: pip-tools keeps your pinned dependencies fresh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/&quot;&gt;PyPA: Python Packaging User Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://theupdateframework.io/&quot;&gt;The Update Framework (TUF)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/tuf/&quot;&gt;tuf: A secure updater framework for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pipx/&quot;&gt;pipx: Install and Run Python Applications in Isolated Environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pypi-publish-python-package/&quot;&gt;How to Publish an Open-Source Python Package to PyPI - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-poetry.org/&quot;&gt;Poetry: Python packaging and dependency management made easy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyup.io/&quot;&gt;PyUp: Python Dependency Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dependabot.com/&quot;&gt;Dependabot: Automated dependency updates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://caremad.io/posts/2013/07/packaging-signing-not-holy-grail/&quot;&gt;Why Package Signing is not the Holy Grail: Donald Stufft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610&quot;&gt;Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/what-is-pip/&quot;&gt;What Is Pip? A Guide for New Pythonistas - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.npr.org/2021/04/16/985439655/a-worst-nightmare-cyberattack-the-untold-story-of-the-solarwinds-hack&quot;&gt;A &amp;lsquo;Worst Nightmare&amp;rsquo; Cyberattack: The Untold Story Of The SolarWinds Hack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/docker-python-security-scan/&quot;&gt;Security scanners for Python and Docker: from code to dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dustingram.com/articles/2021/04/14/powering-the-python-package-index-in-2021/&quot;&gt;What does it take to power the Python Package Index?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;#x27;s Guide to pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E067_Dustin_Ingram.795cf9d82b98.mp3" type="audio/mpeg" length="51521609"/>
        <guid isPermaLink="false">8971a504-214a-4bfb-96c2-3ae042bf2c31</guid>
        <pubDate>Fri, 02 Jul 2021 12:00:00 +0000</pubDate>
        <itunes:duration>4282</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@di_codes</rp:twitter-handles>
        <rp:twitter-title>“Securing Your Python Software Supply Chain With Dustin Ingram” with @di_codes</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>66</itunes:episode>
        <title>Practicing Python With CSV Files and Extracting Values With &quot;filter()&quot;</title>
        <itunes:title>Practicing Python With CSV Files and Extracting Values With &quot;filter()&quot;</itunes:title>
        <link>https://realpython.com/podcasts/rpp/66/</link>
        <description>Are you ready to practice your Python skills some more? There is a new set of practice problems prepared for you to tackle, and this time they&#x27;re based on working with CSV files. This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you ready to practice your Python skills some more? There is a new set of practice problems prepared for you to tackle, and this time they&amp;rsquo;re based on working with CSV files. This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David shares an article about functional programming with a focus on the &amp;ldquo;filter&amp;rdquo; function. The tutorial covers how to process an iterable and extract the items that satisfy a given condition.  It also covers combining filter with other functional tools, and compares it to coding with  Pythonic tools like list comprehensions and generator expressions.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, Excel, Python, and the future of data science, a Bayesian analysis of Lego prices in Python, why can&amp;rsquo;t comments appear after a line continuation character, teaching Python on the Raspberry Pi400 at the public library, a cross-platform editor designed for writing novels built with Python and Qt, and a text user interface with rich as the renderer.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-vs-javascript-for-python-devs/&quot;&gt;Python vs JavaScript for Python Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python and JavaScript are two of the most popular programming languages in the world. In this course, you&amp;rsquo;ll take a deep dive into the JavaScript ecosystem by comparing Python vs JavaScript. You&amp;rsquo;ll learn the jargon, language history, and best practices from a Python developer&amp;rsquo;s perspective.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:29 &amp;ndash; Excel, Python, and the Future of Data Science&lt;/li&gt;
&lt;li&gt;00:07:50 &amp;ndash; Python Practice Problems: Parsing CSV Files&lt;/li&gt;
&lt;li&gt;00:17:09 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform&lt;/li&gt;
&lt;li&gt;00:17:45 &amp;ndash; A Bayesian Analysis of Lego Prices in Python With PyMC3&lt;/li&gt;
&lt;li&gt;00:23:02 &amp;ndash; Why Can&amp;rsquo;t Comments Appear After a Line Continuation Character?&lt;/li&gt;
&lt;li&gt;00:28:40 &amp;ndash; Python&amp;rsquo;s filter(): Extract Values From Iterables&lt;/li&gt;
&lt;li&gt;00:34:57 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:24 &amp;ndash; How I Teach Python on the Raspberry Pi 400 at the Public Library&lt;/li&gt;
&lt;li&gt;00:46:23 &amp;ndash; novelWriter: Cross-Platform Editor Designed for Writing Novels Built With Python and Qt&lt;/li&gt;
&lt;li&gt;00:48:02 &amp;ndash; textual: A Text User Interface With Rich as the Renderer&lt;/li&gt;
&lt;li&gt;00:54:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.infoworld.com/article/3620913/excel-python-and-data-science.html&quot;&gt;Excel, Python, and the Future of Data Science&lt;/a&gt; &amp;ndash; What&amp;rsquo;s the most widely used tool in data science? Is it pandas or NumPy? Is it the Python language itself? Not really. It&amp;rsquo;s Excel. You might argue that data scientists aren&amp;rsquo;t using Excel as their primary tool, and you might be right. But Excel enables non-technical users, like small business owners, to gain insights into their data. In this article, Anaconda CEO Peter Wang discusses his goal of making Python and PyData the &amp;ldquo;conceptual successor&amp;rdquo; to Excel.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-interview-problem-parsing-csv-files/&quot;&gt;Python Practice Problems: Parsing CSV Files&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll prepare for future interviews by working through a set of Python practice problems that involve CSV files. You&amp;rsquo;ll work through the problems yourself and then compare your results with solutions developed by the Real Python team.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://austinrochford.com/posts/2021-06-10-lego-pymc3.html&quot;&gt;A Bayesian Analysis of Lego Prices in Python With PyMC3&lt;/a&gt; &amp;ndash; Follow along with this in-depth analysis of LEGO prices to see Bayesian analysis in action. Along the way, you&amp;rsquo;ll how pooled and unpooled linear models can be used to determine if a LEGO set is fairly priced. The article is quite technical, so experience with Bayesian statistics is recommended.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/67912068/why-cant-comments-appear-after-a-line-continuation-character&quot;&gt;Why Can&amp;rsquo;t Comments Appear After a Line Continuation Character?&lt;/a&gt; &amp;ndash; Chaining together many object methods can create long tines that break the PEP 8 79-character line length recommendation. You can use &lt;code&gt;\&lt;/code&gt; to break the chain of methods onto individual lines, but if you want to leave comments at the end of some of the lines, you&amp;rsquo;re out of luck. There&amp;rsquo;s another pattern, though, that solves this.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-filter-function/&quot;&gt;Python&amp;rsquo;s filter(): Extract Values From Iterables&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how Python&amp;rsquo;s &lt;code&gt;filter()&lt;/code&gt; works and how to use it effectively in your programs. You&amp;rsquo;ll also learn how to use list comprehension and generator expressions to replace &lt;code&gt;filter()&lt;/code&gt; and make your code more Pythonic.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://opensource.com/article/21/6/teach-python-raspberry-pi&quot;&gt;How I Teach Python on the Raspberry Pi 400 at the Public Library&lt;/a&gt; &amp;ndash; Community-based programming courses are a great way to introduce folks to computer programming that otherwise may not have the means to do so. One of the barriers to learning to code is cost. You need a computer to program on, after all. But with the advent of tiny computers like the Raspberry Pi, computers aimed at education are more affordable than ever.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vkbo/novelWriter&quot;&gt;novelWriter: Cross-Platform Editor Designed for Writing Novels Built With Python and Qt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/willmcgugan/textual&quot;&gt;textual: A Text User Interface With Rich as the Renderer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/27/&quot;&gt;Episode 27: Preparing for an Interview With Python Practice Problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pymc.io/&quot;&gt;PyMC3: Probabilistic Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://black.readthedocs.io/en/stable/&quot;&gt;Black: The uncompromising code formatter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opensource.com/article/21/3/raspberry-pi-400-review&quot;&gt;My review of the Raspberry Pi 400&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.willmcgugan.com/blog/tech/post/textual-progress/&quot;&gt;Will McGugan&amp;rsquo;s Blog: Introducing Textual&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-vs-javascript-for-python-devs/&quot;&gt;Python vs JavaScript for Python Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/map-function-transform-iterables/&quot;&gt;Python&amp;#x27;s map() Function: Transforming Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/functional-programming-python/&quot;&gt;From Python&amp;#x27;s Functional Primitives to Parallelism&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E066_D_and_C.d94d499df5a2.mp3" type="audio/mpeg" length="40425421"/>
        <guid isPermaLink="false">ed67a7e7-80ca-43a5-9f8b-8710612f2cb8</guid>
        <pubDate>Fri, 25 Jun 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3357</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Practicing Python With CSV Files and Extracting Values With &quot;filter()&quot;”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>65</itunes:episode>
        <title>Expanding the International Python Community With the PSF</title>
        <itunes:title>Expanding the International Python Community With the PSF</itunes:title>
        <link>https://realpython.com/podcasts/rpp/65/</link>
        <description>The popularity of Python is continuing to grow Developers across the globe are embracing the language. How is Python being used in all of these different countries? How does an organization like the Python Software Foundation (PSF) work toward the goals in its mission statement for supporting and growing this international community? This week on the show, we have Marlene Mhangami, a PSF board member and part of the Diversity and Inclusion Work Group.</description>
        <content:encoded>&lt;p&gt;The popularity of Python is continuing to grow Developers across the globe are embracing the language. How is Python being used in all of these different countries? How does an organization like the Python Software Foundation (PSF) work toward the goals in its mission statement for supporting and growing this international community? This week on the show, we have Marlene Mhangami, a PSF board member and part of the Diversity and Inclusion Work Group.&lt;/p&gt;
&lt;p&gt;Marlene lives in Zimbabwe on the continent of Africa. She has been organizing events not only locally in Zimbabwe but across all of Africa. She is the chair of Pycon Africa and has given talks at Pycon US, Pycon UK, and Pycon India. &lt;/p&gt;
&lt;p&gt;She has been working locally as an organizer and educator. We talk about the challenges of teaching technology and programming to a population of young people. Some of these students don&amp;rsquo;t have access to computers.&lt;/p&gt;
&lt;p&gt;She is also currently pursuing a computer science degree with the University of London. Along with her studies, she is also interning with NVidia. She is working with them on the RAPIDS project with a focus on the cuDF library.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/intro-sorting-algorithms/&quot;&gt;Introduction to Sorting Algorithms in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn all about five different sorting algorithms in Python from both a theoretical and a practical standpoint. You&amp;rsquo;ll also learn several related and important concepts, including Big O notation and recursion.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:05 &amp;ndash; Connecting during PyCon 2021&lt;/li&gt;
&lt;li&gt;00:03:08 &amp;ndash; Roles with the Python Software Foundation (PSF)&lt;/li&gt;
&lt;li&gt;00:05:39 &amp;ndash; Python in Africa&lt;/li&gt;
&lt;li&gt;00:10:31 &amp;ndash; School overseas and return to Zimbabwe to build a Python community&lt;/li&gt;
&lt;li&gt;00:13:47 &amp;ndash; Teaching technology and Python to students who don&amp;rsquo;t have computers&lt;/li&gt;
&lt;li&gt;00:22:14 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform&lt;/li&gt;
&lt;li&gt;00:22:50 &amp;ndash; Work with the PSF and building geographic diversity&lt;/li&gt;
&lt;li&gt;00:27:49 &amp;ndash; PSF work groups&lt;/li&gt;
&lt;li&gt;00:32:10 &amp;ndash; Organizing PyCon Africa 2019 and bringing a continent of communities together&lt;/li&gt;
&lt;li&gt;00:35:51 &amp;ndash; How is Python being used in Africa?&lt;/li&gt;
&lt;li&gt;00:38:05 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:24 &amp;ndash; Working with NVidia RAPIDS and cuDF&lt;/li&gt;
&lt;li&gt;00:43:57 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:46:12 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:52:45 &amp;ndash; What is something you thought you knew about Python but were wrong about it?&lt;/li&gt;
&lt;li&gt;00:59:41 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://marlenemhangami.com/&quot;&gt;Marlene Mhangami: Personal Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf-landing/&quot;&gt;Python Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/membership/&quot;&gt;PSF Membership&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL2Uw4_HvXqvYk1Y5P8kryoyd83L_0Uk5K&quot;&gt;PyCon US 2021: YouTube Playlist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/interview-marlene-mhangami/&quot;&gt;Real Python Interview With Marlene Mhangami&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=43wJnYZ6Zd0&amp;amp;list=PLxhxnAekZnZB5VA-4Twr7daw5PPuEJ3WM&quot;&gt;PyCon Africa Conference 2019 Highlights &amp;amp; Interviews: YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangogirls.org/&quot;&gt;Django Girls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rapids.ai/&quot;&gt;RAPIDS: Open GPU Data Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.nvidia.com/blog/10-minutes-to-data-science-transitioning-between-rapids-cudf-and-cupy-libraries/&quot;&gt;10 Minutes to Data Science: Transitioning Between RAPIDS cuDF and CuPy Libraries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/gradebook-using-pandas-python/&quot;&gt;Using pandas to Make a Gradebook in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-concurrency-asyncio-module/&quot;&gt;Hands-On Python 3 Concurrency With the asyncio Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-sorting-algorithms/&quot;&gt;Introduction to Sorting Algorithms in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E065_Marlene.d0cd22fe5804.mp3" type="audio/mpeg" length="43818263"/>
        <guid isPermaLink="false">4a35b027-9837-4e34-a816-89acf410d15e</guid>
        <pubDate>Fri, 18 Jun 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3640</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@marlene_zw</rp:twitter-handles>
        <rp:twitter-title>“Expanding the International Python Community With the PSF” with @marlene_zw</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>64</itunes:episode>
        <title>Detecting Deforestation With Python &amp; Using GraphQL With Django and Vue</title>
        <itunes:title>Detecting Deforestation With Python &amp; Using GraphQL With Django and Vue</itunes:title>
        <link>https://realpython.com/podcasts/rpp/64/</link>
        <description>Are you looking for an in-depth data science project to practice your skills on? Perhaps you would like to add new tools to your Python web development projects instead? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you looking for an in-depth data science project to practice your skills on? Perhaps you would like to add new tools to your Python web development projects instead? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David shares an article about how to go about detecting deforestation from satellite images. He covers how a data science team built a machine learning (ML) solution to do just that, using FastAI for the modeling and Streamlit to create a dashboard.&lt;/p&gt;
&lt;p&gt;We also discuss a Real Python article about building a blog using Django, Vue.js, and GraphQL. GraphQL is a great tool to enhance your API to make it more flexible. The step by step project walks you through turning your Django blog data models into a GraphQL API.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, the tools and tech used to run a one-woman hardware company, visualizing data in Python using plt.scatter(), why the sad face when using Black, how to iterate over dataframe rows (and should you?), pipx is now a PyPA member project, and real-time lossless audio compression in Python with pyFLAC.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/explore-dataset-with-pandas/&quot;&gt;Explore Your Dataset With Pandas&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to start exploring a dataset with Pandas and Python. You&amp;rsquo;ll learn how to access specific rows and columns to answer questions about your data. You&amp;rsquo;ll also see how to handle missing values and prepare to visualize your dataset in a Jupyter Notebook.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:11 &amp;ndash; Build a Blog Using Django, Vue, and GraphQL&lt;/li&gt;
&lt;li&gt;00:10:06 &amp;ndash; Detecting Deforestation From Satellite Images&lt;/li&gt;
&lt;li&gt;00:16:35 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform&lt;/li&gt;
&lt;li&gt;00:17:11 &amp;ndash; The Tools and Tech I Use to Run a One-Woman Hardware Company&lt;/li&gt;
&lt;li&gt;00:29:13 &amp;ndash; Visualizing Data in Python Using plt.scatter()&lt;/li&gt;
&lt;li&gt;00:34:24 &amp;ndash; Why the Sad Face?&lt;/li&gt;
&lt;li&gt;00:40:20 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:41:26 &amp;ndash; How to Iterate Over DataFrame Rows (And Should You?)&lt;/li&gt;
&lt;li&gt;00:48:31 &amp;ndash; pyFLAC: Real-Time Lossless Audio Compression in Python&lt;/li&gt;
&lt;li&gt;00:53:47 &amp;ndash; pipx: Install and Run Python Applications in Isolated Environments&lt;/li&gt;
&lt;li&gt;00:59:59 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-django-blog/&quot;&gt;Build a Blog Using Django, Vue, and GraphQL&lt;/a&gt; &amp;ndash; In this step-by-step project, you&amp;rsquo;ll build a blog from the ground up. You&amp;rsquo;ll turn your Django blog data models into a GraphQL API and consume it in a Vue application for users to read. You&amp;rsquo;ll end up with an admin site and a user-facing site you can continue to refine for your own use.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/detecting-deforestation-from-satellite-images-7aa6dfbd9f61&quot;&gt;Detecting Deforestation From Satellite Images&lt;/a&gt; &amp;ndash; How would you go about detecting deforestation — a contributor to climate change — from satellite images? In this article, you&amp;rsquo;ll learn how one team built a machine learning (ML) solution to do just that, using &lt;a href=&quot;https://github.com/fastai/fastai&quot;&gt;FastAI&lt;/a&gt; for the modeling and &lt;a href=&quot;https://github.com/streamlit/streamlit&quot;&gt;Streamlit&lt;/a&gt; to create a dashboard. The article discusses methodology and results, and is a great read about building an ML solution. The project code is available on GitHub.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.thea.codes/winterblooms-tech-stack/&quot;&gt;The Tools and Tech I Use to Run a One-Woman Hardware Company&lt;/a&gt; &amp;ndash; &lt;a href=&quot;https://winterbloom.com/&quot;&gt;Winterbloom&lt;/a&gt; makes open-source, boutique synthesizers. There&amp;rsquo;s a lot that goes into running a hardware company. Someone has to design the hardware, code the firmware, write the documentation, not to mention administrate the company. Winterbloom does all of this with just &lt;em&gt;one&lt;/em&gt; engineer — Stargirl Flowers. Learn what tools and tech Stargirl uses to run her company, and how Python fits into the big picture in more ways than one.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/visualizing-python-plt-scatter/&quot;&gt;Visualizing Data in Python Using plt.scatter()&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to create scatter plots in Python, which are a key part of many data visualization applications. You&amp;rsquo;ll get an introduction to plt.scatter(), a versatile function in the Matplotlib module for creating scatter plots.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lukasz.langa.pl/1d1a43c4-9c8a-4c5f-a366-7f22ce6a49fc/&quot;&gt;Why the Sad Face?&lt;/a&gt; &amp;ndash; The &lt;a href=&quot;https://black.readthedocs.io/en/stable/&quot;&gt;Black&lt;/a&gt; autoformatter adopts some conventions that might surprise you the first time you use it. One of those conventions — the &amp;ldquo;sadface dedent&amp;rdquo; — moves closing parentheses in function signatures and other block headers to their own lines. This creates a line containing nothing but &amp;ldquo;):&amp;rdquo;, which looks like a sad face emoji. Łukasz Langa, Black&amp;rsquo;s creator, explains why Black does this.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.wrighters.io/how-to-iterate-over-dataframe-rows-and-should-you/&quot;&gt;How to Iterate Over DataFrame Rows (And Should You?)&lt;/a&gt; &amp;ndash; How to iterate over pandas DataFrame rows is one of the top voted questions with the pandas tag on Stack Overflow. That question is also the &lt;a href=&quot;https://stackoverflow.blog/2021/04/19/how-often-do-people-actually-copy-and-paste-from-stack-overflow-now-we-know/&quot;&gt;most copied answer with a code block&lt;/a&gt; on the entire site. Clearly, lots of people want to iterate over the rows in a DataFrame. But should you do this, or are there better options?&lt;/p&gt;
&lt;p&gt;Projects&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sonos/pyflac&quot;&gt;pyFLAC: Real-Time Lossless Audio Compression in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pypa/pipx&quot;&gt;pipx: Install and Run Python Applications in Isolated Environments&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django: The Web Framework for Perfectionists With Deadlines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vuejs.org/&quot;&gt;Vue.js: The Progressive JavaScript Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://graphql.org/&quot;&gt;GraphQL: A query language for your API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://syntax.fm/show/027/graphql-here-is-what-you-need-to-know&quot;&gt;GraphQL? Here is what you need to know! - Syntax FM Episode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/fastai/fastai&quot;&gt;FastAI: Simplifies training fast and accurate neural nets using modern best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/streamlit/streamlit&quot;&gt;Streamlit: The fastest way to build and share data apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://winterbloom.com/&quot;&gt;Winterbloom: Magical Musical Machines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://black.readthedocs.io/en/stable/&quot;&gt;Black: The uncompromising code formatter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tech-blog.sonos.com/posts/pyflac-real-time-lossless-audio-compression-in-python/&quot;&gt;pyFLAC: Real-Time Lossless Audio Compression in Python&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/pradyunsg/status/1398183148928876547&quot;&gt;pipx Is Now a PyPA Member Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/explore-dataset-with-pandas/&quot;&gt;Explore Your Dataset With pandas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E064_David_and_Chris.022a8398d3cf.mp3" type="audio/mpeg" length="44084440"/>
        <guid isPermaLink="false">082dc7f2-92b6-447a-a43f-8f6cd1c16612</guid>
        <pubDate>Fri, 11 Jun 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3662</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Detecting Deforestation With Python &amp; Using GraphQL With Django and Vue”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>63</itunes:episode>
        <title>Create Web Applications Using Only Python With Anvil</title>
        <itunes:title>Create Web Applications Using Only Python With Anvil</itunes:title>
        <link>https://realpython.com/podcasts/rpp/63/</link>
        <description>What if you could create an application and deploy it to the web with just Python? Wouldn&#x27;t it be nice to skip the additional full-stack development steps of learning three different languages in addition to Python? That&#x27;s the idea behind Anvil. This week on the show, we have Meredydd Luff, co-founder of Anvil.</description>
        <content:encoded>&lt;p&gt;What if you could create an application and deploy it to the web with just Python? Wouldn&amp;rsquo;t it be nice to skip the additional full-stack development steps of learning three different languages in addition to Python? That&amp;rsquo;s the idea behind Anvil. This week on the show, we have Meredydd Luff, co-founder of Anvil.&lt;/p&gt;
&lt;p&gt;We talk about the history of Anvil and how the founders wanted to simplify web app creation. We discuss their choice to make the project open source and how it benefited the project&amp;rsquo;s development. We also cover creating a portfolio of projects and things that employers look for in the hiring process.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/map-function-transform-iterables/&quot;&gt;Python&amp;rsquo;s map() Function: Transforming Iterables&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how Python&amp;rsquo;s map() works and how to use it effectively in your programs. You&amp;rsquo;ll also learn how to use list comprehension and generator expressions to replace map() in a Pythonic and efficient way.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:33 &amp;ndash; What is Anvil?&lt;/li&gt;
&lt;li&gt;00:03:16 &amp;ndash; Why did you choose Python for Anvil?&lt;/li&gt;
&lt;li&gt;00:06:47 &amp;ndash; The three general groups of developers&lt;/li&gt;
&lt;li&gt;00:17:04 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform &lt;/li&gt;
&lt;li&gt;00:17:40 &amp;ndash; What Python libraries are available to developers?&lt;/li&gt;
&lt;li&gt;00:19:48 &amp;ndash; Working with PDFs and files&lt;/li&gt;
&lt;li&gt;00:22:17 &amp;ndash; Free accounts scaling to business accounts and self hosting&lt;/li&gt;
&lt;li&gt;00:24:32 &amp;ndash; Modularity of code and user management&lt;/li&gt;
&lt;li&gt;00:31:12 &amp;ndash; High school students creating projects and starting programming&lt;/li&gt;
&lt;li&gt;00:35:33 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:45 &amp;ndash; What is server code vs client code?&lt;/li&gt;
&lt;li&gt;00:41:35 &amp;ndash; Designing the UI and responsive web design&lt;/li&gt;
&lt;li&gt;00:48:10 &amp;ndash; Working with APIs and modularity of code&lt;/li&gt;
&lt;li&gt;00:49:47 &amp;ndash; Building a portfolio of projects as a employment strategy&lt;/li&gt;
&lt;li&gt;00:52:29 &amp;ndash; If you were to start this project over from scratch, what would you change?&lt;/li&gt;
&lt;li&gt;00:55:01 &amp;ndash; What were the benefits to Anvil of making it open source? &lt;/li&gt;
&lt;li&gt;00:57:10 &amp;ndash; What has been your biggest challenge?&lt;/li&gt;
&lt;li&gt;01:01:16 &amp;ndash; Anvil is hiring&lt;/li&gt;
&lt;li&gt;01:05:18 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:07:35 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:09:54 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://anvil.works/&quot;&gt;Anvil: Full stack web apps with nothing by Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anvil.works/open-source&quot;&gt;Anvil&amp;rsquo;s Open Source Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/anvil-works/anvil-runtime&quot;&gt;Anvil Runtime and App Server: Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=3XjvB3m0tJc&quot;&gt;Full-Stack Web with Nothing But Python: A Deep Dive into Anvil&amp;rdquo; by: Meredydd Luff | YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/138/anvil-all-web-all-python&quot;&gt;Talk Python to Me #138: Anvil - All web, all Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.claris.com/filemaker/&quot;&gt;Claris Filemaker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anvil.works/jobs&quot;&gt;Anvil: Job Openings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust: A language empowering everyone to build reliable and efficient software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCMjMBMGt0WJQLeluw6qNJuA&quot;&gt;PyCon 2021 Talks | YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/results?search_query=pycon+2021&quot;&gt;Q&amp;amp;A with Guido van Rossum, Inventor of Python | YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/map-function-transform-iterables/&quot;&gt;Python&amp;#x27;s map() Function: Transforming Iterables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/understand-list-comprehensions/&quot;&gt;Understanding Python List Comprehensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/set-up-django-project/&quot;&gt;How to Set Up a Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E063_Meredydd_Luff_2.11768a36a334.mp3" type="audio/mpeg" length="51252674"/>
        <guid isPermaLink="false">d8752873-ddc4-4896-8f29-43b486d7f5c7</guid>
        <pubDate>Fri, 04 Jun 2021 12:00:00 +0000</pubDate>
        <itunes:duration>4260</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@meredydd</rp:twitter-handles>
        <rp:twitter-title>“Create Web Applications Using Only Python With Anvil” with @meredydd</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>62</itunes:episode>
        <title>Selecting the Ideal Data Structure &amp; Unravelling Python&#x27;s &quot;pass&quot; and &quot;with&quot;</title>
        <itunes:title>Selecting the Ideal Data Structure &amp; Unravelling Python&#x27;s &quot;pass&quot; and &quot;with&quot;</itunes:title>
        <link>https://realpython.com/podcasts/rpp/62/</link>
        <description>How do you know you&#x27;re using the correct data structure for your Python project? There are so many built into Python and even more that are importable from the collections module. This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects. We discuss a recent three-part video course on selecting the ideal data structure.</description>
        <content:encoded>&lt;p&gt;How do you know you&amp;rsquo;re using the correct data structure for your Python project? There are so many built into Python and even more that are importable from the collections module. This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects. We discuss a recent three-part video course on selecting the ideal data structure.&lt;/p&gt;
&lt;p&gt;Along with comparing the types of dictionaries, data records, arrays, stacks, and more, David covers a recent Real Python article about the namedtuple. This deep dive covers how to use the namedtuple to write cleaner code.&lt;/p&gt;
&lt;p&gt;We also discuss new articles from previous guest Brett Cannon. He has added two posts to his Python syntactic sugar series about unravelling the &lt;code&gt;pass&lt;/code&gt; and &lt;code&gt;with&lt;/code&gt; statement.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, async in Flask 2.0, Python projects on Github that are examples of best practices and good architecture, how SpaceX sort of lands starship,  the new ti-84 calculator with Python, and building a Python spell checker.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/stacks-queues-ideal-data-structure/&quot;&gt;Stacks and Queues: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about three of Python&amp;rsquo;s data structures: stacks, queue and priority queues. You&amp;rsquo;ll look at multiple types and classes for all of these and learn which implementations are best for your specific use cases.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:06 &amp;ndash; Write Pythonic and Clean Code With namedtuple&lt;/li&gt;
&lt;li&gt;00:05:38 &amp;ndash; Unravelling the pass Statement&lt;/li&gt;
&lt;li&gt;00:10:31 &amp;ndash; Unravelling the with statement&lt;/li&gt;
&lt;li&gt;00:13:38 &amp;ndash; Async in Flask 2.0&lt;/li&gt;
&lt;li&gt;00:19:04 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform&lt;/li&gt;
&lt;li&gt;00:19:40 &amp;ndash; Python Projects on Github That Are Examples of Best Practices and Good Architecture&lt;/li&gt;
&lt;li&gt;00:26:43 &amp;ndash; How SpaceX Lands Starship (Sort Of)&lt;/li&gt;
&lt;li&gt;00:32:00 &amp;ndash; Stacks and Queues: Selecting the Ideal Data Structure&lt;/li&gt;
&lt;li&gt;00:38:34 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:39 &amp;ndash; Texas Instruments To Release New TI-84 Calculator With Python&lt;/li&gt;
&lt;li&gt;00:44:23 &amp;ndash; spylls: Python spell checker&lt;/li&gt;
&lt;li&gt;00:47:36 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-namedtuple/&quot;&gt;Write Pythonic and Clean Code With namedtuple&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn what Python&amp;rsquo;s namedtuple is and how to use it in your code. You&amp;rsquo;ll also learn about the main differences between named tuples and other data structures, such as dictionaries, data classes, and typed named tuples.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://snarky.ca/unravelling-the-pass-statement/&quot;&gt;Unravelling the pass Statement&lt;/a&gt; &amp;ndash; When you need to indicate that a bit of code intentionally does nothing, then you need to reach for Python&amp;rsquo;s &lt;code&gt;pass&lt;/code&gt; statement. In the latest installment of Brett&amp;rsquo;s &amp;ldquo;Syntactic Sugar&amp;rdquo; series, you&amp;rsquo;ll learn how &lt;code&gt;pass&lt;/code&gt; works, when to use it, and why it&amp;rsquo;s a uniquely Python concept.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://snarky.ca/unravelling-the-with-statement/&quot;&gt;Unravelling the with statement&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://testdriven.io/blog/flask-async/&quot;&gt;Async in Flask 2.0&lt;/a&gt; &amp;ndash; This article looks at Flask 2.0&amp;rsquo;s new async functionality and how to leverage it in your Flask projects. You&amp;rsquo;ll learn how Flask processes requests asynchronously using a traditional WSGI server, instead of the ASGI server used by many other async web frameworks. You&amp;rsquo;ll also learn how to simulate Flask 2.0 async in Flask 1.X applications.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://old.reddit.com/r/learnpython/comments/n5a6fo/do_you_know_any_python_projects_on_github_that/&quot;&gt;Python Projects on Github That Are Examples of Best Practices and Good Architecture&lt;/a&gt; &amp;ndash; This Reddit thread is full of GitHub repos that might make for some good code reading.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://thomas-godden.medium.com/how-spacex-lands-starship-sort-of-ee96cdde650b&quot;&gt;How SpaceX Lands Starship (Sort Of)&lt;/a&gt; &amp;ndash; While waiting for SN15 to launch, Thomas Goddard set out to pull together a 2-dimensional simulation of the Starship landing. Tying together knowledge of trajectory optimization, Thomas modeled the landing in Python with the &lt;a href=&quot;https://web.casadi.org/&quot;&gt;CasADI library&lt;/a&gt; and used Matplotlib to generate an animation which, when &lt;a href=&quot;https://www.youtube.com/watch?v=6qj3EfRTtkE&amp;amp;t=16s&quot;&gt;played side-by-side&lt;/a&gt; with the footage of the landing, results in remarkable similarity to the actual landing dynamics.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/courses/stacks-queues-ideal-data-structure/&quot;&gt;Stacks and Queues: Selecting the Ideal Data Structure&lt;/a&gt; &amp;ndash; Learn about three of Python&amp;rsquo;s data structures: stacks, queue and priority queues. You&amp;rsquo;ll look at multiple types and classes for all of these and learn which implementations are best for your specific use cases.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://education.ti.com/en/products/calculators/graphing-calculators/ti-84-plus-ce-python&quot;&gt;Texas Instruments To Release New TI-84 Calculator With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/zverok/spylls&quot;&gt;spylls&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode 47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization&quot;&gt;Resource acquisition is initialization (RAII) - Wikipedia Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/the-social-contract-of-open-source/&quot;&gt;The Social Contract of Open Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Xbl7XjFYsN4&quot;&gt;import asyncio: Learn Python&amp;rsquo;s AsyncIO #1 - The Async Ecosystem &amp;ndash; YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/davidism/status/1391130343286001664&quot;&gt;David Lord&amp;rsquo;s Twitter Thread on Adding Type Annotations for Pallets Projects &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/9/&quot;&gt;Episode 9: Leveling Up Your Python Literacy and Finding Python Projects to Study With Cecil Phillip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/psf/requests&quot;&gt;requests: A simple, yet elegant, HTTP library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-application-layouts/&quot;&gt;Python Application Layouts: A Reference &amp;ndash; Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tonybaloney/wily&quot;&gt;Wily: A command-line application for tracking, reporting on complexity of Python tests and applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://erpnext.com/&quot;&gt;ERPNext: Free and open source ERP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mozilla/kitsune&quot;&gt;Kitsune: Mozilla platform that powers SuMo (support.mozilla.org)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://black.readthedocs.io/en/stable/&quot;&gt;Black: The uncompromising code formatter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://aosabook.org/en/index.html&quot;&gt;The Architecture of Open Source Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python-guide.org/writing/reading/&quot;&gt;The Hitchhiker&amp;rsquo;s Guide to Python: Reading Great Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/27/&quot;&gt;Episode 27: Preparing for an Interview With Python Practice Problems With Jim Anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-structures/&quot;&gt;Common Python Data Structures (Guide) &amp;ndash; Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/queue-in-python/&quot;&gt;Python Stacks, Queues, and Priority Queues in Practice &amp;ndash; Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://old.reddit.com/r/Python/comments/n6wt6y/do_you_also_use_the_python_console_and_the_python/&quot;&gt;Do You Use the Python Console and the Python Math Libraries as a Calculator?&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zverok.github.io/blog/2021-05-06-how-to-spellcheck.html&quot;&gt;I Forgot How to Spellcheck&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hunspell.github.io/&quot;&gt;hunspell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/records-sets-ideal-data-structure/&quot;&gt;Records and Sets: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/stacks-queues-ideal-data-structure/&quot;&gt;Stacks and Queues: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/dicts-arrays-ideal-data-structure/&quot;&gt;Dictionaries and Arrays: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E062_David_and_Chris2.f5d24920a387.mp3" type="audio/mpeg" length="35268817"/>
        <guid isPermaLink="false">35d9f4f7-bfd1-4838-a66a-06386ab04a74</guid>
        <pubDate>Fri, 28 May 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2928</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Selecting the Ideal Data Structure &amp; Unravelling Python&#x27;s &quot;pass&quot; and &quot;with&quot;”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>61</itunes:episode>
        <title>Scaling Data Science and Machine Learning Infrastructure Like Netflix</title>
        <itunes:title>Scaling Data Science and Machine Learning Infrastructure Like Netflix</itunes:title>
        <link>https://realpython.com/podcasts/rpp/61/</link>
        <description>Would you move your data science project from a laptop to the cloud? Would you also like to have snapshots of your project saved along the way so that you can go back in time or share the state of your project with another team member? This week on the show, we have Savin Goyal from Netflix. Savin is the technical lead for machine learning infrastructure at Netflix. He joins us to talk about Metaflow, an open-source tool to simplify building, managing, and scaling data science projects.</description>
        <content:encoded>&lt;p&gt;Would you move your data science project from a laptop to the cloud? Would you also like to have snapshots of your project saved along the way so that you can go back in time or share the state of your project with another team member? This week on the show, we have Savin Goyal from Netflix. Savin is the technical lead for machine learning infrastructure at Netflix. He joins us to talk about Metaflow, an open-source tool to simplify building, managing, and scaling data science projects.&lt;/p&gt;
&lt;p&gt;Metaflow addresses the needs of the numerous data scientists who work at Netflix. Machine learning is key strength for the streaming service. They tried several existing tools to scale their own internal infrastructure and after this experimentation developed Metaflow.  &lt;/p&gt;
&lt;p&gt;We talk about the history of the project and how someone could get started with the open-source version. Savin also contrasts the cost of infrastructure as compared to data scientists and the cost of their time.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/simplify-gui-dev-pysimplegui/&quot;&gt;Simplify Python GUI Development With PySimpleGUI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to create a cross-platform graphical user interface (GUI) using Python and PySimpleGUI. A graphical user interface is an application that has buttons, windows, and lots of other elements that the user can use to interact with your application.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; What is Metaflow? &lt;/li&gt;
&lt;li&gt;00:04:15 &amp;ndash; Savin&amp;rsquo;s background in data science and infrastructure&lt;/li&gt;
&lt;li&gt;00:06:06 &amp;ndash; Democratization of infrastructure and iteration of tools&lt;/li&gt;
&lt;li&gt;00:10:34 &amp;ndash; What information is saved about the infrastructure requirements for a project?&lt;/li&gt;
&lt;li&gt;00:17:17 &amp;ndash; How are the requirements annotated?&lt;/li&gt;
&lt;li&gt;00:18:39 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform&lt;/li&gt;
&lt;li&gt;00:19:15 &amp;ndash; How do project snapshots work?&lt;/li&gt;
&lt;li&gt;00:29:33 &amp;ndash; Cost of infrastructure vs data scientists&lt;/li&gt;
&lt;li&gt;00:32:28 &amp;ndash; Working with data at Netflix scale&lt;/li&gt;
&lt;li&gt;00:37:55 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:39:06 &amp;ndash; Getting an organization to use new tools and then making open-source&lt;/li&gt;
&lt;li&gt;00:49:51 &amp;ndash; Documentation of Metaflow and getting started on solving infrastructure problems&lt;/li&gt;
&lt;li&gt;00:53:57 &amp;ndash; What made you interested in working on infrastructure tools?&lt;/li&gt;
&lt;li&gt;00:55:13 &amp;ndash; What is something you are excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:56:18 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:58:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://metaflow.org/&quot;&gt;Metaflow: A framework for real-life data science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.metaflow.org/getting-started/tutorials&quot;&gt;Metaflow: Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=-oMZAS9qfrE&quot;&gt;More Data Science, Less Engineering with Netflix&amp;rsquo;s Metaflow By Savin Goyal - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.r-project.org/&quot;&gt;R: The R Project for Statistical Computing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tidyverse.org/&quot;&gt;Tidyverse: R packages for data science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stmorse.github.io/journal/tidyverse-style-pandas.html&quot;&gt;Anything you can do, I can do (kinda). Tidyverse pipes in Pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://rstudio.github.io/reticulate/&quot;&gt;reticulate: R Interface to Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://airflow.apache.org/&quot;&gt;Apache Airflow: Programmatically author, schedule and monitor workflows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Directed_acyclic_graph&quot;&gt;Directed acyclic graph (DAG) - Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pickle-serializing-objects/&quot;&gt;Serializing Objects With the Python pickle Module - Real Python Course&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simplify-gui-dev-pysimplegui/&quot;&gt;Simplify Python GUI Development With PySimpleGUI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E061_Savin_Goyal.51a97230b717.mp3" type="audio/mpeg" length="42819549"/>
        <guid isPermaLink="false">d67786b6-aa6c-4967-a9f3-cc342764829b</guid>
        <pubDate>Fri, 21 May 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3557</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@SavinGoyal</rp:twitter-handles>
        <rp:twitter-title>“Scaling Data Science and Machine Learning Infrastructure Like Netflix” with @SavinGoyal</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>60</itunes:episode>
        <title>Building a Platform Game With Arcade and Covering Python News Monthly</title>
        <itunes:title>Building a Platform Game With Arcade and Covering Python News Monthly</itunes:title>
        <link>https://realpython.com/podcasts/rpp/60/</link>
        <description>Did you know the Python Software Foundation is hiring! With the recent support of three Visionary Sponsors, the PSF has been able to open positions for a developer-in-residence and a Python packaging project manager. Real Python now has a monthly Python news article. Frequent guest of the show, David Amos compiles and summarizes the biggest Python news from the past month.</description>
        <content:encoded>&lt;p&gt;Did you know the Python Software Foundation is hiring! With the recent support of three Visionary Sponsors, the PSF has been able to open positions for a developer-in-residence and a Python packaging project manager. Real Python now has a monthly Python news article. Frequent guest of the show, David Amos compiles and summarizes the biggest Python news from the past month.&lt;/p&gt;
&lt;p&gt;This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects. We discuss David&amp;rsquo;s news article from the last month. We also discuss previous guest Jon Fincher&amp;rsquo;s new step-by-step tutorial about creating a platform game with the arcade framework. &lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, how to use ipywidgets to make your Jupyter notebook interactive, the hidden performance overhead of Python C extensions, adding else to for loops, film simulations from scratch using Python, a gradual programming language named Hedy, and a Python raytracer.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/products/cpython-internals-book/&quot;&gt;CPython Internals: Your Guide to the Python 3 Interpreter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Unlock the Inner Workings of the Python Language, Compile the Python Interpreter From Source  Code,
And Participate in the Development of CPython&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:04 &amp;ndash; How to Use ipywidgets to Make Your Jupyter Notebook Interactive &lt;/li&gt;
&lt;li&gt;00:06:07 &amp;ndash; Build a Platform Game in Python With arcade &lt;/li&gt;
&lt;li&gt;00:12:35 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform&lt;/li&gt;
&lt;li&gt;00:13:11 &amp;ndash; The Hidden Performance Overhead of Python C Extensions&lt;/li&gt;
&lt;li&gt;00:21:17 &amp;ndash; For-Else: A Weird but Useful Feature in Python&lt;/li&gt;
&lt;li&gt;00:25:42 &amp;ndash; Python News: What&amp;rsquo;s New From April 2021?&lt;/li&gt;
&lt;li&gt;00:39:43 &amp;ndash; Spotlight: CPython Internals Now in Paperback!&lt;/li&gt;
&lt;li&gt;00:41:15 &amp;ndash; Film Simulations From Scratch Using Python&lt;/li&gt;
&lt;li&gt;00:47:44 &amp;ndash; hedy: Hedy Is a Gradual Programming Language, Which Increases in Syntactic Elements Level by Level&lt;/li&gt;
&lt;li&gt;00:50:27 &amp;ndash; Python-Raytracer: A Basic Ray Tracer That Exploits NumPy Arrays and Functions to Work Fast&lt;/li&gt;
&lt;li&gt;00:53:31 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.wrighters.io/use-ipywidgets-with-jupyter-notebooks/&quot;&gt;How to Use ipywidgets to Make Your Jupyter Notebook Interactive&lt;/a&gt; &amp;ndash; Jupyter Notebooks are great for exploratory data analysis. They&amp;rsquo;re also a good way to share results and analysis with other people, who can alter the notebook to further explore the data themselves. But there are some limitations to notebook interactivity. That&amp;rsquo;s where &lt;code&gt;ipywidgets&lt;/code&gt; comes in! In this tutorial you&amp;rsquo;ll learn how to create widgets like check boxes, drop-down menus, sliders, and how to handle events like button clicks.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/platformer-python-arcade/&quot;&gt;Build a Platform Game in Python With arcade&lt;/a&gt; &amp;ndash; Building games can be a fun way to learn new Python concepts and practice techniques you&amp;rsquo;ve already learned. Plus, they make for great projects to share! This step-by-step tutorial shows you how to build a platform game using the &lt;code&gt;arcade&lt;/code&gt; library. You&amp;rsquo;ll learn techniques for designing levels, sourcing assets, and implementing advanced features&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pythonspeed.com/articles/python-extension-performance/&quot;&gt;The Hidden Performance Overhead of Python C Extensions&lt;/a&gt; &amp;ndash; It&amp;rsquo;s no secret that Python is slower than compiled languages like C, C++, and Rust. If you need a performance boost, you can write compiled Python C extensions. But there are some hidden performance costs that you should be aware of if you decide to do this. This article explains two ways that Python C extensions can actually be slower than pure Python and discusses some solutions and work around for them.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/techtofreedom/for-else-a-weird-but-useful-feature-in-python-2076d8dafad1&quot;&gt;For-Else: A Weird but Useful Feature in Python&lt;/a&gt; &amp;ndash; Python &lt;code&gt;for&lt;/code&gt; loops have an unusual feature: they support an &lt;code&gt;else&lt;/code&gt; block that only executes if there is no break in the loop. The pattern isn&amp;rsquo;t used very often with the argument against it being that it is a bit weird and potentially difficult to understand. But there may be times when &lt;code&gt;for/else&lt;/code&gt; makes sense. This article presents three situations where &lt;code&gt;for/else&lt;/code&gt; is useful and argues that, in these situations, the pattern makes the code more readable.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-news-april-2021/&quot;&gt;Python News: What&amp;rsquo;s New From April 2021?&lt;/a&gt; &amp;ndash; April 2021 was an eventful month in the world of Python. In this article, you&amp;rsquo;ll get up to speed on everything that happened in the past month, including new sponsorships for the PSF, changes to Python error messages, and a community-led discussion over the future of type annotations.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kevinmartinjose.com/2021/04/27/film-simulations-from-scratch-using-python/&quot;&gt;Film Simulations From Scratch Using Python&lt;/a&gt; &amp;ndash; In analog photography, you can achieve different &amp;ldquo;looks&amp;rdquo; for your photographs by selecting different kinds of film to shoot with. Digital camera manufacturers often include different presets to simulate different kinds of film. In this article, you&amp;rsquo;ll learn how to simulate different films on your own images using &lt;strong&gt;color lookup tables&lt;/strong&gt;, or &lt;strong&gt;CLUT&lt;/strong&gt;s, using NumPy and the Pillow image library.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/felienne/hedy&quot;&gt;hedy: Hedy Is a Gradual Programming Language, Which Increases in Syntactic Elements Level by Level&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/rafael-fuente/Python-Raytracer&quot;&gt;Python-Raytracer: A Basic Ray Tracer That Exploits NumPy Arrays and Functions to Work Fast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://arcade.academy/index.html&quot;&gt;The Python Arcade Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/arcade-python-game-framework/&quot;&gt;Arcade: A Primer on the Python Game Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kenney.nl/&quot;&gt;Kenney: Free game assets, no strings attached&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mapeditor.org/&quot;&gt;Tiled: Free and Open Source, Flexible Level Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/&quot;&gt;Episode 24: Options for Packaging Your Python Application: Wheels, Docker, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/postmortemgirl/status/1270679779335794688?s=20&quot;&gt;Your Code Is Without a Doubt the Worst I Have Ever Run&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2021/02/welcoming-google-as-visionary-sponsor.html&quot;&gt;Welcoming Google as a Visionary Sponsor of the PSF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/&quot;&gt;Welcoming Microsoft as a Visionary Sponsor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/jobs/5317/&quot;&gt;Python Job Board: Project Manager - Python Packaging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0563/&quot;&gt;PEP 563 &amp;ndash; Postponed Evaluation of Annotations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/45/&quot;&gt;Episode 45: Processing Images in Python With Pillow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://rawtherapee.com/&quot;&gt;RawTherapee: A free, cross-platform raw image processing program&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-for-loop/&quot;&gt;For Loops in Python (Definite Iteration)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With PyGame&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E060_David_and_Chris.bb3df833df25.mp3" type="audio/mpeg" length="39441474"/>
        <guid isPermaLink="false">522a85c0-4193-41ca-8d96-635c2cab693e</guid>
        <pubDate>Fri, 14 May 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3276</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building a Platform Game With Arcade and Covering Python News Monthly”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>59</itunes:episode>
        <title>Organizing and Restructuring DjangoCon Europe 2021</title>
        <itunes:title>Organizing and Restructuring DjangoCon Europe 2021</itunes:title>
        <link>https://realpython.com/podcasts/rpp/59/</link>
        <description>Are you interested in learning more about Django? Would you like to meet other professionals and learn how they are using Django? DjangoCon Europe 2021 is virtual this year, and you can join in from anywhere in the world. This week on the show, we have Miguel Magalhães and David Vaz, two of the organizers of the conference.</description>
        <content:encoded>&lt;p&gt;Are you interested in learning more about Django? Would you like to meet other professionals and learn how they are using Django? DjangoCon Europe 2021 is virtual this year, and you can join in from anywhere in the world. This week on the show, we have Miguel Magalhães and David Vaz, two of the organizers of the conference.&lt;/p&gt;
&lt;p&gt;We discuss what makes DjangoCon Europe unique. David and Miguel talk about how they got involved and how the conference passes between different countries. They also cover the struggle of upending their plans for hosting the conference in Porto Portugal last year and how this year could use some extra support.&lt;/p&gt;
&lt;p&gt;Tickets are available now. DjangoCon Europe is looking for additional sponsors. If you work for an organization that can help, get in contact with them.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Get Started With Django: Build a Portfolio App&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the basics of creating powerful web applications with Django, a Python web framework. You&amp;rsquo;ll build a portfolio website to showcase your web development projects, complete with a fully functioning blog.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:43 &amp;ndash; How did you get involved with DjangoCon Europe?&lt;/li&gt;
&lt;li&gt;00:10:42 &amp;ndash; European vs US conference differences&lt;/li&gt;
&lt;li&gt;00:12:24 &amp;ndash; What makes a DjangoCon unique?&lt;/li&gt;
&lt;li&gt;00:13:27 &amp;ndash; What are some examples of projects using Django?&lt;/li&gt;
&lt;li&gt;00:15:02 &amp;ndash; Sponsor: Digital Ocean&amp;rsquo;s App Platform&lt;/li&gt;
&lt;li&gt;00:15:38 &amp;ndash; What are types of talks will the conference have?&lt;/li&gt;
&lt;li&gt;00:20:04 &amp;ndash; Conference schedule during the week&lt;/li&gt;
&lt;li&gt;00:24:40 &amp;ndash; Who is the intended audience?&lt;/li&gt;
&lt;li&gt;00:25:29 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:26:43 &amp;ndash; Sharing your project and lightning talks&lt;/li&gt;
&lt;li&gt;00:28:56 &amp;ndash; What tools are you using to facilitate a virtual event?&lt;/li&gt;
&lt;li&gt;00:33:32 &amp;ndash; Ticket grants and sponsors&lt;/li&gt;
&lt;li&gt;00:38:55 &amp;ndash; What is your background with and use of Django?&lt;/li&gt;
&lt;li&gt;00:43:45 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:46:05 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:52:25 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.djangocon.eu/&quot;&gt;DjangoCon Europe 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.djangocon.eu/sponsors/sponsors/&quot;&gt;Sponsors: DjangoCon Europe 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/djangoconeurope&quot;&gt;DjangoCon Europe: Twitter Account&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://loudswarm.com/&quot;&gt;LoudSwarm: Virtual Event Hosting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSdi8yLWm2EGjkNL7y4qtJqj8MvftLdNoukZzMyx0-oEFm7J8Q/viewform&quot;&gt;Lightning ⚡ Talks - DjangoCon Europe 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.djangocon.eu/information/grants/&quot;&gt;Opportunity Grants: DjangoCon Europe 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.com/p/about/&quot;&gt;pretalx: From Call for Papers to schedule – build your conference!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pretalx/pretalx&quot;&gt;pretalx: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretix.eu/about/en/&quot;&gt;pretix: Event Ticketing Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pretix/pretix&quot;&gt;pretix: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wagtail.io/&quot;&gt;Wagtail: The powerful CMS for modern websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gather.town/&quot;&gt;Gather Town: Better spaces to gather around&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://alistapart.com/article/the-future-of-web-software-is-html-over-websockets/&quot;&gt;The Future of Web Software Is HTML-over-WebSockets: A List Apart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API&quot;&gt;The WebSocket API (WebSockets)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;WebAssembly (Wasm)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pytorch.org/&quot;&gt;PyTorch: open source machine learning framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://keras.io/&quot;&gt;Keras: the Python deep learning API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras: Real Python Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.digitaldreamlabs.com/pages/cozmo&quot;&gt;Cozmo: Digital Dream Labs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.nvidia.com/cuda-zone&quot;&gt;CUDA: Parallel Computing Platform&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/text-classification-with-keras/&quot;&gt;Learn Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E059_DjangoConEurope.74db0d0f7985.mp3" type="audio/mpeg" length="38762351"/>
        <guid isPermaLink="false">e63995eb-094f-402d-b2dd-2d2e2d13d499</guid>
        <pubDate>Fri, 07 May 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3219</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Organizing and Restructuring DjangoCon Europe 2021”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>58</itunes:episode>
        <title>Podcast Rewind With Guest Highlights for 2020-2021</title>
        <itunes:title>Podcast Rewind With Guest Highlights for 2020-2021</itunes:title>
        <link>https://realpython.com/podcasts/rpp/58/</link>
        <description>This week&#x27;s show is a bit different. We are taking a well-deserved short break, but we still wanted to share an episode with you. This rewind episode highlights clips from the many interviews over the past year or so of the show.</description>
        <content:encoded>&lt;p&gt;This week&amp;rsquo;s show is a bit different. We are taking a well-deserved short break, but we still wanted to share an episode with you. This rewind episode highlights clips from the many interviews over the past year or so of the show.&lt;/p&gt;
&lt;p&gt;We also hear from many new listeners who have just discovered the show. Welcome aboard! We wanted to provide a sample of guests, topics, and questions we feature on the show.&lt;/p&gt;
&lt;p&gt;For long-time listeners, this will be a brisk walk through past episodes and guests. We&amp;rsquo;ve talked with many guests, and it was hard to narrow it down to the sample provided here. We hope you enjoy this podcast rewind, and look forward to sharing a fantastic slate of upcoming guests.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/plot-pandas-data-visualization/&quot;&gt;Plot With Pandas: Python Data Visualization Basics&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll get to know the basic plotting possibilities that Python provides in the popular data analysis library pandas. You&amp;rsquo;ll learn about the different kinds of plots that pandas offers, how to use them for data exploration, and which types of plots are best for certain use cases.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:28 &amp;ndash; E03 Brett Slatkin: Is Python a good tool for infrastructure? &lt;/li&gt;
&lt;li&gt;00:03:30 &amp;ndash; E07 Łukasz Langa: Origins of Black &lt;/li&gt;
&lt;li&gt;00:10:55 &amp;ndash; E08 Tania Allard: Reproducibility of project results&lt;/li&gt;
&lt;li&gt;00:13:06 &amp;ndash; Sponsor: Digital Ocean&lt;/li&gt;
&lt;li&gt;00:13:47 &amp;ndash; E11 Anthony Shaw: DRY (Don&amp;rsquo;t Repeat Yourself) &lt;/li&gt;
&lt;li&gt;00:16:38 &amp;ndash; E16 Hannah Stepanek: Creating NumPy types&lt;/li&gt;
&lt;li&gt;00:20:02 &amp;ndash; E18 Armin Ronacher: What would you change if you started the Flask project from scratch?&lt;/li&gt;
&lt;li&gt;00:23:20 &amp;ndash; E22 Russell Keith-Magee: Funding open-source projects&lt;/li&gt;
&lt;li&gt;00:26:27 &amp;ndash; E26 Michael Kennedy: How is the GIL part of the problem?&lt;/li&gt;
&lt;li&gt;00:29:18 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:27 &amp;ndash; E30 Christopher Trudeau - The PEG parser&lt;/li&gt;
&lt;li&gt;00:33:00 &amp;ndash; E39 Reuven Lerner: What makes generator functions different?&lt;/li&gt;
&lt;li&gt;00:37:35 &amp;ndash; E47 Brett Cannon: Unravelling Python&amp;rsquo;s syntatic sugar series&lt;/li&gt;
&lt;li&gt;00:43:43 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/3/&quot;&gt;Episode 3: Effective Python and Python at Google Scale - With Brett Slatkin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/7/&quot;&gt;Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases - With Łukasz Langa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/8/&quot;&gt;Episode 8: Docker + Python for Data Science and Machine Learning - With Tania Allard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/11/&quot;&gt;Episode 11: Advice on Getting Started With Testing in Python - With Anthony Shaw&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/16/&quot;&gt;Episode 16: Thinking in Pandas: Python Data Analysis the Right Way - With Hannah Stepanek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/18/&quot;&gt;Episode 18: Ten Years of Flask: Conversation With Creator Armin Ronacher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/22/&quot;&gt;Episode 22: Create Cross-Platform Python GUI Apps With BeeWare - With Russell Keith-Magee&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/26/&quot;&gt;Episode 26: 5 Years Podcasting Python with Michael Kennedy: Growth, GIL, Async, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/30/&quot;&gt;Episode 30: Exploring the New Features of Python 3.9 - With Geir Arne Hjelle and Christopher Trudeau&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/39/&quot;&gt;Episode 39: Generators, Coroutines, and Learning Python Through Exercises - With Reuven Lerner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode 47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-generators/&quot;&gt;Python Generators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/plot-pandas-data-visualization/&quot;&gt;Plot With pandas: Python Data Visualization Basics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E058_Rewind_2.2a555055a67c.mp3" type="audio/mpeg" length="32237340"/>
        <guid isPermaLink="false">b9d96ae7-72bd-41d0-b6e6-10233fd1f477</guid>
        <pubDate>Fri, 30 Apr 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2675</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Podcast Rewind With Guest Highlights for 2020-2021”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>57</itunes:episode>
        <title>Taking the Next Step in Python Game Development</title>
        <itunes:title>Taking the Next Step in Python Game Development</itunes:title>
        <link>https://realpython.com/podcasts/rpp/57/</link>
        <description>Are you interested in creating video games but feel limited in what you can accomplish within Python? Is there a platform where you can take advantage of your Python skills and provide the benefits of a dedicated game engine? This week on the show, we have Paweł Fertyk. Paweł is a Real Python author and has been creating games as Miskatonic Studio for several years now.</description>
        <content:encoded>&lt;p&gt;Are you interested in creating video games but feel limited in what you can accomplish within Python? Is there a platform where you can take advantage of your Python skills and provide the benefits of a dedicated game engine? This week on the show, we have Paweł Fertyk. Paweł is a Real Python author and has been creating games as Miskatonic Studio for several years now.&lt;/p&gt;
&lt;p&gt;Paweł has worked with PyGame. We recently featured his article on creating a clone of Asteroids in a previous episode. After working with PyGame for a while, he also tried a visual novel engine named Ren&amp;rsquo;Py, and Panda3D. &lt;/p&gt;
&lt;p&gt;After struggling within these Python libraries, he started to look for an open-source game engine that could help him create the types of games he was striving to create. He found Godot and its Python-like scripting language of GDScript. We talk about his creations, the tools, and how game development is not exactly like most other types of development.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With PyGame&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to use PyGame. This library allows you to create games and rich multimedia programs in Python. You&amp;rsquo;ll learn how to draw items on your screen, implement collision detection, handle user input, and much more!&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:55 &amp;ndash; Writing for Real Python&lt;/li&gt;
&lt;li&gt;00:02:58 &amp;ndash; Asteroids PyGame Article&lt;/li&gt;
&lt;li&gt;00:11:05 &amp;ndash; Do you think programming games is a good way to learn programming?&lt;/li&gt;
&lt;li&gt;00:13:46 &amp;ndash; What game technologies did you try before PyGame?&lt;/li&gt;
&lt;li&gt;00:18:35 &amp;ndash; Trying out Ren&amp;rsquo;Py, Panda3D, and looking for an engine&lt;/li&gt;
&lt;li&gt;00:27:16 &amp;ndash; Sponsor: Digital Ocean&lt;/li&gt;
&lt;li&gt;00:27:56 &amp;ndash; What appealed to you about Godot?&lt;/li&gt;
&lt;li&gt;00:33:42 &amp;ndash; Working with a GUI editor&lt;/li&gt;
&lt;li&gt;00:37:03 &amp;ndash; GDScript, programming game logic, and similarities to Python &lt;/li&gt;
&lt;li&gt;00:42:46 &amp;ndash; Creating Molecules: Osmos clone&lt;/li&gt;
&lt;li&gt;00:48:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:49:33 &amp;ndash; Creating Intrepid: 3D Escape Room&lt;/li&gt;
&lt;li&gt;00:55:47 &amp;ndash; Creating 3D assets and finding collaborators&lt;/li&gt;
&lt;li&gt;00:58:18 &amp;ndash; Exporting the finished game&lt;/li&gt;
&lt;li&gt;01:01:24 &amp;ndash; GOAT: Godot Open Adventure Template&lt;/li&gt;
&lt;li&gt;01:08:27 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:12:39 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:14:57 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/pfertyk/&quot;&gt;About Paweł Fertyk: Real Python Author&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/asteroids-game-python/&quot;&gt;Build an Asteroids Game With Python and Pygame: Real Python Step by Step Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://miskatonicstudio.com/&quot;&gt;Miskatonic Studio: Home Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/miskatonicstudio&quot;&gt;Miskatonic Studio: GitHub Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UC02aT_mnxl2g_i6sjgdByuA&quot;&gt;Miskatonic Studio: YouTube Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/haysstanford/status/1379849703211286536?s=20&quot;&gt;iOS Snake Game with UI Switches &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://betterprogramming.pub/how-i-made-a-snake-game-out-of-checkboxes-5a5e3c4c07b1&quot;&gt;How I Made a Snake Game Out of Checkboxes: JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.renpy.org/&quot;&gt;Ren&amp;rsquo;Py: Visual Novel Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.panda3d.org/&quot;&gt;Panda3D: Open-Source, Free-To-Use Engine for Realtime 3D Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://godotengine.org/&quot;&gt;Godot: Open-Source Game Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/miskatonicstudio/molecules&quot;&gt;Molecules Game: GitHub page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://store.steampowered.com/app/992860/Intrepid/&quot;&gt;Intrepid: Steam Store (Free)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/miskatonicstudio/intrepid&quot;&gt;Intrepid: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blender.org/&quot;&gt;Blender: Open-Source 3D Creation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cgtrader.com/miskatonicstudio&quot;&gt;Miskatonic Studio: CGTrader 3D Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cgtrader.com/&quot;&gt;cgtrader: The World&amp;rsquo;s Preferred Source for 3D Content&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.artstation.com/?sort_by=community&quot;&gt;ArtStation: Showcase Your Portfolio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/miskatonicstudio/goat&quot;&gt;GOAT: Godot Open Adventure Template - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.readthedocs.io/en/6.2.x/README.html&quot;&gt;CircuitPython: Beginner friendly, open source version of Python for tiny, inexpensive computers called microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/inheritance-composition-python/&quot;&gt;Inheritance and Composition: A Python OOP Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With PyGame&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E057_Pawel_Fertyk.94dfc9da8975.mp3" type="audio/mpeg" length="54822229"/>
        <guid isPermaLink="false">59a64dbf-82a3-46bc-a9de-8a9c46e67932</guid>
        <pubDate>Fri, 23 Apr 2021 12:00:00 +0000</pubDate>
        <itunes:duration>4557</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Taking the Next Step in Python Game Development”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>56</itunes:episode>
        <title>OrderedDict vs dict and Object Oriented Programming in Python vs Java</title>
        <itunes:title>OrderedDict vs dict and Object Oriented Programming in Python vs Java</itunes:title>
        <link>https://realpython.com/podcasts/rpp/56/</link>
        <description>Are you looking for a bit of order when working with dictionaries in Python? Are you aware that the Python dict has changed over the last several versions and now keeps items in order? Could you learn more about object-oriented programming in Python by comparing it to another language? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you looking for a bit of order when working with dictionaries in Python? Are you aware that the Python dict has changed over the last several versions and now keeps items in order? Could you learn more about object-oriented programming in Python by comparing it to another language? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David covers a Real Python article about the differences between the OrderedDict versus a standard dictionary. We discuss a recent video course about how object-oriented programming in Python compares to Java.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, what is Werkzeug, building a full-text search engine in 150 lines of Python code, loading SQL data into pandas without running out of memory, how to beat the Berlin rental market with a Python script, replacing print with ice cream, and the new version of CircuitPython and Mu.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-vs-java-object-oriented-programming/&quot;&gt;Python vs Java: Object Oriented Programming&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn about the practical differences in Python vs Java for object-oriented programming. By the end, you&amp;rsquo;ll be able to apply your knowledge to Python, understand how to reinterpret your understanding of Java objects to Python, and use objects in a Pythonic way.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:07 &amp;ndash; OrderedDict vs dict in Python: The Right Tool for the Job&lt;/li&gt;
&lt;li&gt;00:09:30 &amp;ndash; What is Werkzeug?&lt;/li&gt;
&lt;li&gt;00:13:08 &amp;ndash; Sponsor: Digital Ocean&lt;/li&gt;
&lt;li&gt;00:13:47 &amp;ndash; Building a Full-Text Search Engine in 150 Lines of Python Code&lt;/li&gt;
&lt;li&gt;00:19:53 &amp;ndash; Loading SQL Data Into Pandas Without Running Out of Memory&lt;/li&gt;
&lt;li&gt;00:25:35 &amp;ndash; How I Beat the Berlin Rental Market With a Python Script&lt;/li&gt;
&lt;li&gt;00:34:36 &amp;ndash; Python vs Java: Object Oriented Programming&lt;/li&gt;
&lt;li&gt;00:38:42 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:11 &amp;ndash; Upcoming video courses&lt;/li&gt;
&lt;li&gt;00:41:17 &amp;ndash; icecream: Never Use print() to Debug Again&lt;/li&gt;
&lt;li&gt;00:45:28 &amp;ndash; CircuitPython 6.2.0 Released&lt;/li&gt;
&lt;li&gt;00:49:40 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-ordereddict/&quot;&gt;OrderedDict vs dict in Python: The Right Tool for the Job&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn what Python&amp;rsquo;s OrderedDict is and how to use it in your code. You&amp;rsquo;ll also learn about the main differences between regular dictionaries and ordered dictionaries.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://testdriven.io/blog/what-is-werkzeug/&quot;&gt;What is Werkzeug?&lt;/a&gt; &amp;ndash; Have you ever noticed that when you install Flask a dependency called Werkzeug is also installed? Werkzeug provides a set of utilities for building a WSGI interface in Python, which is an important part of any web application. This article will take you on a deep dive of Werkzeug and show you exactly how it works so you can have a deeper understanding of Flask applications.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bart.degoe.de/building-a-full-text-search-engine-150-lines-of-code/&quot;&gt;Building a Full-Text Search Engine in 150 Lines of Python Code&lt;/a&gt; &amp;ndash; Go from data preparation to search engine in just a few lines of Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pythonspeed.com/articles/pandas-sql-chunking/&quot;&gt;Loading SQL Data Into Pandas Without Running Out of Memory&lt;/a&gt; &amp;ndash; If you need to load a bunch of SQL query results into a Pandas DataFrame, then you might run into a problem if there are enough rows in the SQL query&amp;rsquo;s results: it won&amp;rsquo;t fit in RAM. Panda&amp;rsquo;s read_sql() function has a batching option, but it loads all of the data into memory, too. So, how do you handle larger-than-memory queries with Pandas? This article will show you how!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://giansegato.com/essays/how-i-beat-the-berlin-rental-market-with-a-python-script/&quot;&gt;How I Beat the Berlin Rental Market With a Python Script&lt;/a&gt; &amp;ndash; Learn how one Python developer used a Python script to analyze the housing market in Berlin and predict when a property would be sold or when the price would be decreased. While the article doesn&amp;rsquo;t include a lot of technical details, it&amp;rsquo;s a great case study of how Python, its rich ecosystem, and a little creativity can turn solving a banal problem — like searching for a new house in a crowded market — into something fun and intellectually rewarding!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/courses/python-vs-java-object-oriented-programming/&quot;&gt;Python vs Java: Object Oriented Programming&lt;/a&gt; &amp;ndash; You may have heard that &amp;ldquo;everything is an object in Python.&amp;rdquo; But what does that mean for doing object oriented programming? If you&amp;rsquo;re coming to Python with a Java background, you&amp;rsquo;ll want to check out this course to learn how to reinterpret your understanding of Java objects to Python, and use objects in a Pythonic way.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/gruns/icecream&quot;&gt;icecream: Never Use print() to Debug Again&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.adafruit.com/2021/04/05/circuitpython-6-2-0-released/&quot;&gt;CircuitPython 6.2.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://madewith.mu/mu/users/2021/03/29/beta3.html&quot;&gt;Announcing Mu Version 1.1.0-Beta.3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/18/&quot;&gt;Episode 18: Ten Years of Flask: Conversation With Creator Armin Ronacher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/Werkzeug/&quot;&gt;Werkzeug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wsgi.readthedocs.io/en/latest/&quot;&gt;WSGI - Web Server Gateway Interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://monkeylearn.com/blog/what-is-tf-idf/&quot;&gt;What is TF-IDF?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nlp.stanford.edu/IR-book/html/htmledition/term-frequency-and-weighting-1.html&quot;&gt;Term Frequency/Inverse Document Frequency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/memory-profiler-data-scientists/&quot;&gt;Fil: a new Python memory profiler for data scientists and scientists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pythonspeed/filprofiler&quot;&gt;The Fil memory profiler for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/24/&quot;&gt;Episode 24: Options for Packaging Your Python Application: Wheels, Docker, and More&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/inheritance-composition-python/&quot;&gt;Inheritance and Composition: A Python OOP Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-google-login-flask/&quot;&gt;Using Google Login With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-vs-java-object-oriented-programming/&quot;&gt;Python vs Java: Object Oriented Programming&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E056_David_and_Chris.750b7185b343.mp3" type="audio/mpeg" length="36643171"/>
        <guid isPermaLink="false">67dc5be2-8de8-4c75-8b22-efcf9641a72d</guid>
        <pubDate>Fri, 16 Apr 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3042</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“OrderedDict vs dict and Object Oriented Programming in Python vs Java”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>55</itunes:episode>
        <title>Getting Started With Refactoring Your Python Code</title>
        <itunes:title>Getting Started With Refactoring Your Python Code</itunes:title>
        <link>https://realpython.com/podcasts/rpp/55/</link>
        <description>Do you think it&#x27;s time to refactor your Python code? What should you think about before starting this task? This week on the show, we have Brendan Maginnis and Nick Thapen from Sourcery. Sourcery is an automated refactoring tool that integrates into your IDE and suggests improvements to your code.</description>
        <content:encoded>&lt;p&gt;Do you think it&amp;rsquo;s time to refactor your Python code? What should you think about before starting this task? This week on the show, we have Brendan Maginnis and Nick Thapen from Sourcery. Sourcery is an automated refactoring tool that integrates into your IDE and suggests improvements to your code.&lt;/p&gt;
&lt;p&gt;Nick and Brendan provide advice on how to start refactoring and setting achievable code objectives. We discuss setting up unit testing and building confidence that you aren&amp;rsquo;t changing your code&amp;rsquo;s fundamental meaning. We also talk about technical debt and how it can creep into your organization&amp;rsquo;s projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/booleans-leveraging-truth/&quot;&gt;Python Booleans: Leveraging the Values of Truth&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about the built-in Python Boolean data type, which is used to represent the truth value of an expression. You&amp;rsquo;ll see how to use Booleans to compare values, check for identity and membership, and control the flow of your programs with conditionals.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:31 &amp;ndash; What is refactoring?&lt;/li&gt;
&lt;li&gt;00:03:19 &amp;ndash; How is it connected to extensibility?&lt;/li&gt;
&lt;li&gt;00:04:33 &amp;ndash; What are methods for preparing your code?&lt;/li&gt;
&lt;li&gt;00:05:35 &amp;ndash; Being confident you are not changing the meaning of the code &lt;/li&gt;
&lt;li&gt;00:09:34 &amp;ndash; Refactoring as you go&lt;/li&gt;
&lt;li&gt;00:11:16 &amp;ndash; What is technical debt, how is it generated?&lt;/li&gt;
&lt;li&gt;00:19:08 &amp;ndash; Sponsor: Digital Ocean&lt;/li&gt;
&lt;li&gt;00:19:45 &amp;ndash; Code metrics&lt;/li&gt;
&lt;li&gt;00:23:32 &amp;ndash; Holding code in your head, and design patterns&lt;/li&gt;
&lt;li&gt;00:28:03 &amp;ndash; Comments in code and function definitions&lt;/li&gt;
&lt;li&gt;00:35:04 &amp;ndash; Automated refactoring&lt;/li&gt;
&lt;li&gt;00:39:34 &amp;ndash; Using a code formatter&lt;/li&gt;
&lt;li&gt;00:43:19 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:44:27 &amp;ndash; Team decisions around refactoring&lt;/li&gt;
&lt;li&gt;00:47:41 &amp;ndash; Examples where refactoring made a difference&lt;/li&gt;
&lt;li&gt;00:51:56 &amp;ndash; A few additional notes about Sourcery&lt;/li&gt;
&lt;li&gt;00:52:59 &amp;ndash; What is something you are excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:21 &amp;ndash; What do you want to learn next? &lt;/li&gt;
&lt;li&gt;00:56:20 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sourcery.ai/?utm_source=realpython&amp;amp;utm_medium=podcast&amp;amp;utm_campaign=episode55&quot;&gt;Sourcery.ai - Write Better Code Faster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/49/&quot;&gt;Episode 49: The Challenges of Developing Into a Python Professional&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://black.readthedocs.io/en/stable/&quot;&gt;Black - The uncompromising code formatter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pytest-python-testing/&quot;&gt;Effective Python Testing With Pytest - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0636/&quot;&gt;PEP 636 &amp;ndash; Structural Pattern Matching: Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/announcing-pylance-fast-feature-rich-language-support-for-python-in-visual-studio-code/&quot;&gt;Announcing Pylance: Fast, feature-rich language support for Python in Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/28/&quot;&gt;Episode 28: Using Pylance to Write Better Python Inside of Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.scala-lang.org/&quot;&gt;The Scala Programming Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0572/&quot;&gt;PEP 572 &amp;ndash; Assignment Expressions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/lessons/assignment-expressions/&quot;&gt;Assignment Expressions: The Walrus Operator - Real Python Video Lesson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.starlette.io/&quot;&gt;Starlette: The little ASGI framework that shines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastapi.tiangolo.com/&quot;&gt;FastAPI framework, high performance, easy to learn, fast to code, ready for production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/refactoring-code-to-get-help/&quot;&gt;Refactoring: Prepare Your Code to Get Help - Real Python Code Conversation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/booleans-leveraging-truth/&quot;&gt;Python Booleans: Leveraging the Values of Truth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-debugging-pdb/&quot;&gt;Debugging in Python With pdb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E055_Brendan_and_Nick.f5479f6d245c.mp3" type="audio/mpeg" length="41895911"/>
        <guid isPermaLink="false">20f280ac-2aa9-4d31-9537-53f70a8f233b</guid>
        <pubDate>Fri, 09 Apr 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3480</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@brendan_m6s, @nthapen</rp:twitter-handles>
        <rp:twitter-title>“Getting Started With Refactoring Your Python Code” with @brendan_m6s, @nthapen</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>54</itunes:episode>
        <title>Building a Neural Network and How to Write Tests in Python</title>
        <itunes:title>Building a Neural Network and How to Write Tests in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/54/</link>
        <description>Do you know how a neural network functions? What goes into building one from scratch using Python? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you know how a neural network functions? What goes into building one from scratch using Python? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David talks about a recent Real Python article titled &amp;ldquo;Python AI: How to Build a Neural Network &amp;amp; Make Predictions.&amp;rdquo; This article covers how to train a neural network and create a linear regression model.&lt;/p&gt;
&lt;p&gt;We also cover several articles about testing in Python including, writing unit tests, testing code in Jupyter notebooks, and a testing style guide.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, how to build an Asteroids game with Python and Pygame, a 5-point framework for Python performance management, how it helps to know a Python programmer if you want a vaccination appointment, a Flask mega-tutorial, and the new release of SQLAlchemy.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to take your Python coding interview skills to the next level and use Python&amp;rsquo;s built-in functions and modules to solve problems faster and more easily.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:01 &amp;ndash; Build an Asteroids Game With Python and Pygame&lt;/li&gt;
&lt;li&gt;00:08:18 &amp;ndash; Python AI: How to Build a Neural Network &amp;amp; Make Predictions&lt;/li&gt;
&lt;li&gt;00:11:51 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:12:56 &amp;ndash; How to Write Unit Tests in Python, Part 1: Fizz Buzz&lt;/li&gt;
&lt;li&gt;00:19:40 &amp;ndash; A 5-Point Framework For Python Performance Management&lt;/li&gt;
&lt;li&gt;00:26:16 &amp;ndash; Unit Testing Python Code in Jupyter Notebooks&lt;/li&gt;
&lt;li&gt;00:30:02 &amp;ndash; Python Testing Style Guide&lt;/li&gt;
&lt;li&gt;00:31:32 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:32:47 &amp;ndash; Want a vaccination appointment? It helps to know a Python programmer&lt;/li&gt;
&lt;li&gt;00:37:29 &amp;ndash; Flask Megatutorial&lt;/li&gt;
&lt;li&gt;00:41:22 &amp;ndash; SQLAlchemy version 1.4.0&lt;/li&gt;
&lt;li&gt;00:45:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/asteroids-game-python/&quot;&gt;Build an Asteroids Game With Python and Pygame&lt;/a&gt; &amp;ndash; Build a clone of the Asteroids game in Python using Pygame. Step by step, you&amp;rsquo;ll add images, input handling, game logic, sounds, and text to your program.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-ai-neural-network/&quot;&gt;Python AI: How to Build a Neural Network &amp;amp; Make Predictions&lt;/a&gt; &amp;ndash; Build a neural network from scratch as an introduction to the world of artificial intelligence (AI) in Python. You&amp;rsquo;ll learn how to train your neural network and make accurate predictions based on a given dataset.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/how-to-write-unit-tests-in-python-part-1-fizz-buzz&quot;&gt;How to Write Unit Tests in Python, Part 1: Fizz Buzz&lt;/a&gt; &amp;ndash; Get an introduction to unit testing in Python from the author of the &lt;a href=&quot;https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world&quot;&gt;Flask Megatutorial&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/capital-one-tech/a-5-point-framework-for-python-performance-management-5af2be5739d9&quot;&gt;A 5-Point Framework For Python Performance Management&lt;/a&gt; &amp;ndash; &amp;ldquo;Performance testing — like sailboat racing — depends on the conditions along the racecourse.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.wrighters.io/unit-testing-python-code-in-jupyter-notebooks/&quot;&gt;Unit Testing Python Code in Jupyter Notebooks&lt;/a&gt; &amp;ndash; Even if you code in Jupyter notebooks, there&amp;rsquo;s no excuse to not be testing your code!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.thea.codes/my-python-testing-style-guide/&quot;&gt;Python Testing Style Guide&lt;/a&gt; &amp;ndash; Need a quick yet thorough guide to testing? This excellent resource is for you.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nbcnews.com/tech/security/want-vaccination-appointment-helps-know-python-programmer-rcna457&quot;&gt;Want a vaccination appointment? It helps to know a Python programmer&lt;/a&gt; &amp;ndash; Programmers are writing scripts to help find vaccine appointments for those who are eligible.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world&quot;&gt;Flask Megatutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlalchemy.org/blog/#sqlalchemy-1.4.0-released&quot;&gt;SQLAlchemy 1.4.0 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/pfertyk/&quot;&gt;About Paweł Fertyk: Real Python Author&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://miskatonicstudio.com/&quot;&gt;Miskatonic Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/2/&quot;&gt;Episode 2: Learn Python Skills While Creating Games&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/11/&quot;&gt;Episode 11: Advice on Getting Started With Testing in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/lessons/range-vs-enumerate/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices - range() vs enumerate()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/doctest.html?highlight=doctest&quot;&gt;doctest — Test interactive Python examples: Python Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nteract/testbook&quot;&gt;testbook: Unit Testing Framework Extension For Testing Code in Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With PyGame&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E054_David_Chris.763603b523ee.mp3" type="audio/mpeg" length="33452975"/>
        <guid isPermaLink="false">cb1cc882-b654-4f50-b675-d2b35a5e83bf</guid>
        <pubDate>Fri, 02 Apr 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2777</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Building a Neural Network and How to Write Tests in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>53</itunes:episode>
        <title>Improving the Learning Experience on Real Python</title>
        <itunes:title>Improving the Learning Experience on Real Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/53/</link>
        <description>If you haven&#x27;t visited the website lately, then you&#x27;re missing out on the updates to realpython.com! The site features a completely refreshed layout with multiple sections to help you take advantage of even more great educational Python content. This week on the show, we have Dan Bader, the person behind Real Python, and all these architectural changes.</description>
        <content:encoded>&lt;p&gt;If you haven&amp;rsquo;t visited the website lately, then you&amp;rsquo;re missing out on the updates to realpython.com! The site features a completely refreshed layout with multiple sections to help you take advantage of even more great educational Python content. This week on the show, we have Dan Bader, the person behind Real Python, and all these architectural changes.&lt;/p&gt;
&lt;p&gt;Among the features changed are a new bookmarking system, a section to keep track of what you&amp;rsquo;ve been learning lately, and a much more advanced way to search the site. A new tile system makes it easier to explore learning paths, quizzes, office hours, and other sections of the site.&lt;/p&gt;
&lt;p&gt;Dan shares details about the website technology stack and why he started using Python for the core content management system. He also talks about the struggle of being the sole maintainer and feature architect.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/products/python-basics-book/&quot;&gt;Python Basics: A Practical Introduction to Python 3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Go from beginner to intermediate in Python with this complete curriculum, up-to-date for Python 3.9. &lt;em&gt;Python Basics&lt;/em&gt; includes exercises, interactive quizzes, and sample projects, so you’ll always know what to focus on next in order to build a strong Python foundation. &lt;a href=&quot;https://realpython.com/products/python-basics-paperback/&quot;&gt;Paperback copies are available now.&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:44 &amp;ndash; Welcome to the show Dan!&lt;/li&gt;
&lt;li&gt;00:03:12 &amp;ndash; What updates are happening on the website? &lt;/li&gt;
&lt;li&gt;00:04:40 &amp;ndash; The &amp;ldquo;Continue Learning&amp;rdquo; section&lt;/li&gt;
&lt;li&gt;00:16:02 &amp;ndash; Updating how search works&lt;/li&gt;
&lt;li&gt;00:21:41 &amp;ndash; Sponsor: PyCharm&lt;/li&gt;
&lt;li&gt;00:22:22 &amp;ndash; Implementing bookmarking of articles&lt;/li&gt;
&lt;li&gt;00:26:39 &amp;ndash; A development team of one&lt;/li&gt;
&lt;li&gt;00:28:16 &amp;ndash; Surfacing features with explore&lt;/li&gt;
&lt;li&gt;00:35:39 &amp;ndash; How to take advantage of the new features? &lt;/li&gt;
&lt;li&gt;00:39:26 &amp;ndash; Spotlight: Python Basics in paper back available now!&lt;/li&gt;
&lt;li&gt;00:41:12 &amp;ndash; What did it take to implement progress system?&lt;/li&gt;
&lt;li&gt;00:47:27 &amp;ndash; Closed captions and transcripts complete across all courses&lt;/li&gt;
&lt;li&gt;00:48:47 &amp;ndash; Python Basics and CPython Internals books&lt;/li&gt;
&lt;li&gt;00:53:38 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:58:40 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:02:21 &amp;ndash; What is something you thought you knew about Real Python but were wrong about it?&lt;/li&gt;
&lt;li&gt;01:06:00 &amp;ndash; Request for reviews, feedback, and questions&lt;/li&gt;
&lt;li&gt;01:09:06 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/&quot;&gt;The New Homepage of Real Python&lt;/a&gt; (must be signed-in to see it &amp;ndash; or you can &lt;a href=&quot;https://twitter.com/dbader_org/status/1365083048388173826&quot;&gt;view a screenshot here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/article-bookmarks-search-improvements/&quot;&gt;New Features Announcement Post: Article Bookmarks, Completion Status, and Search Improvements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/real-python-welcome/&quot;&gt;Course: Welcome to Real Python!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/dbader/&quot;&gt;About Dan Bader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/&quot;&gt;Python Learning Paths&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/&quot;&gt;Python Quizzes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/office-hours/&quot;&gt;Office Hours&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/teams&quot;&gt;Real Python for Teams (Online Python training for businesses)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/python-basics-book/&quot;&gt;Python Basics: A Practical Introduction to Python 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/cpython-internals-book/&quot;&gt;CPython Internals: Your Guide to the Python 3 Interpreter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcast-question&quot;&gt;Leave a voicemail for a chance to get it featured on the show!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://basecamp.com/books&quot;&gt;Books by Basecamp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-admin-customization/&quot;&gt;Django Admin Customization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/records-sets-ideal-data-structure/&quot;&gt;Records and Sets: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E053_Dan_Bader.d94d0fa04bbe.mp3" type="audio/mpeg" length="50720033"/>
        <guid isPermaLink="false">1b11abf9-3e8e-455e-a530-854f1ad79539</guid>
        <pubDate>Fri, 26 Mar 2021 12:00:00 +0000</pubDate>
        <itunes:duration>4216</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@dbader_org</rp:twitter-handles>
        <rp:twitter-title>“Improving the Learning Experience on Real Python” with @dbader_org</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>52</itunes:episode>
        <title>Connecting to MongoDB and Updates on the Python Packaging Landscape</title>
        <itunes:title>Connecting to MongoDB and Updates on the Python Packaging Landscape</itunes:title>
        <link>https://realpython.com/podcasts/rpp/52/</link>
        <description>Have you heard about NoSQL databases, or wondered how to use one with Python? How does MongoDB store information and what packages can you use to connect this type of database to your Python project? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you heard about NoSQL databases, or wondered how to use one with Python? How does MongoDB store information and what packages can you use to connect this type of database to your Python project? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David talks about a recent Real Python video course about managing namespaces in Python. We also look at a few recent stories about the Python packaging ecosystem.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, generating customizable PDF reports with Python, how semantic versioning will not save you, PEP 621 is final, a user hits the Python community with 4,000 fake modules, making a synth with Python, and what is running on the Mars helicopter.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You&amp;rsquo;ll learn when namespaces are created, how they are implemented, and how they define variable scope.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; Generate Customizable PDF Reports With Python&lt;/li&gt;
&lt;li&gt;00:04:54 &amp;ndash; Semantic Versioning Will Not Save You&lt;/li&gt;
&lt;li&gt;00:14:55 &amp;ndash; Sponsor: Digital Ocean&lt;/li&gt;
&lt;li&gt;00:15:34 &amp;ndash; PEP 621 Is Final&lt;/li&gt;
&lt;li&gt;00:19:51 &amp;ndash; Poison Packages: User Hits Python Community With 4000 Fake Modules&lt;/li&gt;
&lt;li&gt;00:26:01 &amp;ndash; Python and MongoDB: Connecting to NoSQL Databases&lt;/li&gt;
&lt;li&gt;00:31:24 &amp;ndash; Navigating Namespaces and Scope in Python&lt;/li&gt;
&lt;li&gt;00:35:22 &amp;ndash; Making a Synth With Python:  Oscillators&lt;/li&gt;
&lt;li&gt;00:39:19 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:23 &amp;ndash; Python Is Running on the Mars Helicopter&lt;/li&gt;
&lt;li&gt;00:44:14 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.learnpyqt.com/examples/python-pdf-report-generator/&quot;&gt;Generate Customizable PDF Reports With Python&lt;/a&gt; &amp;ndash; Learn how to generate custom PDF reports using reportlab and pdfrw with a PyQt GUI.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hynek.me/articles/semver-will-not-save-you/&quot;&gt;Semantic Versioning Will Not Save You&lt;/a&gt; &amp;ndash; Semantic versioning aims to both communicate the version of software as well as promise that certain versions won&amp;rsquo;t break anything. Sounds great, right? In a lot of cases it is, but a blind reliance on semantic versioning can come back to haunt you.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0621/&quot;&gt;PEP 621 Is Final&lt;/a&gt; &amp;ndash; In the near future, you&amp;rsquo;ll be able to store project metadata in pyproject.toml.
Brett Cannon&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://nakedsecurity.sophos.com/2021/03/07/poison-packages-supply-chain-risks-user-hits-python-community-with-4000-fake-modules/&quot;&gt;Poison Packages: User Hits Python Community With 4000 Fake Modules&lt;/a&gt; &amp;ndash; Recently, a PyPI user going by the name &amp;ldquo;Remind Supply Chain Risks&amp;rdquo; uploaded nearly 4,000 fake modules to the index, many of which were named as common misspellings of popular packages. Learn about the incident in this article, and read all the way to the end for four tips every Python developer should follow.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/introduction-to-mongodb-and-python/&quot;&gt;Python and MongoDB: Connecting to NoSQL Databases&lt;/a&gt; &amp;ndash; Learn how to use Python to interface with the NoSQL database system MongoDB. You&amp;rsquo;ll get an overview of the differences between SQL and NoSQL, and you&amp;rsquo;ll also learn about related tools, including PyMongo and MongoEngine.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt; &amp;ndash; Learn about Python namespaces, the structures used to store and organize the symbolic names created during the execution of a Python program. You&amp;rsquo;ll learn when namespaces are created, how they are implemented, and how they define variable scope.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://python.plainenglish.io/making-a-synth-with-python-oscillators-2cb8e68e9c3b&quot;&gt;Making a Synth With Python: Oscillators&lt;/a&gt; &amp;ndash; Learn how to create oscillators using Python as a foundation for creating your own software synthesizers. This article is one of a three-part series. The other articles cover &lt;a href=&quot;https://python.plainenglish.io/build-your-own-python-synthesizer-part-2-66396f6dad81&quot;&gt;modulators&lt;/a&gt; and &lt;a href=&quot;https://python.plainenglish.io/build-your-own-python-synthesizer-part-3-162796b7d351&quot;&gt;controllers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://nasa.github.io/fprime/&quot;&gt;Python Is Running on the Mars Helicopter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://thenewstack.io/how-the-first-helicopter-on-mars-uses-off-the-shelf-hardware-and-linux/&quot;&gt;How the First Helicopter on Mars Uses Off-the-Shelf Hardware and Linux&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/pyqt-gui-programming/&quot;&gt;GUI Programming With PyQt - Real Python Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/20/&quot;&gt;Episode 20: Building PDFs in Python with ReportLab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lwn.net/Articles/845535/&quot;&gt;Python cryptography, Rust, and Gentoo: LWN.net&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/1172/&quot;&gt;Every Change Breaks Someone&amp;rsquo;s Workflow: XKCD Comic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/what-the-heck-is-pyproject-toml/&quot;&gt;What the heck is pyproject.toml? &amp;ndash; Brett Cannon&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://toml.io/en/&quot;&gt;TOML &amp;ndash; Tom&amp;rsquo;s Obvious Minimal Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0518/&quot;&gt;PEP 518 &amp;ndash; Specifying Minimum Build System Requirements for Python Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/codervlogger/python-mongodb-tutorial-using-docker-52f330852b4c&quot;&gt;Python MongoDB Tutorial using Docker: CoderVlogger Medium Post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.vintagesynth.com/korg/ds8.php&quot;&gt;Korg DS-8: Vintage Synth Explorer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/navigate-namespaces-scope/&quot;&gt;Navigating Namespaces and Scope in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E052_David_Chris.967680e2d8c0.mp3" type="audio/mpeg" length="32574390"/>
        <guid isPermaLink="false">2b7c304c-ed79-47cf-a4b8-43d140de7c38</guid>
        <pubDate>Fri, 19 Mar 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2703</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Connecting to MongoDB and Updates on the Python Packaging Landscape”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>51</itunes:episode>
        <title>Navigating Options for Deploying Your Python Application</title>
        <itunes:title>Navigating Options for Deploying Your Python Application</itunes:title>
        <link>https://realpython.com/podcasts/rpp/51/</link>
        <description>What goes into the decision of how to host your Python code or application in the cloud? Which technology stack is the right size for your project? This week on the show, we have Calvin Hendryx-Parker. Calvin talks about cloud hosting options, infrastructure choices, and deployment tools.</description>
        <content:encoded>&lt;p&gt;What goes into the decision of how to host your Python code or application in the cloud? Which technology stack is the right size for your project? This week on the show, we have Calvin Hendryx-Parker. Calvin talks about cloud hosting options, infrastructure choices, and deployment tools.&lt;/p&gt;
&lt;p&gt;Calvin is the co-founder and CTO of Six Feet Up, and co-organizer of the Python Web Conference. We talk about finding the right tools for clients. He also discusses the Python platform they created for hosting a virtual conference.&lt;/p&gt;
&lt;p&gt;We also discuss hosting personal portfolio projects. That conversation leads to the question, what types of skills you can showcase through creating a hosted project.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/creating-pyqt-layouts-gui-applications/&quot;&gt;Creating PyQt Layouts for GUI Applications&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to use PyQt layouts to arrange and manage the graphical components on your GUI applications. With the help of PyQt&amp;rsquo;s layout managers, you&amp;rsquo;ll be able to create polished and professional GUIs with minimal effort.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; What considerations to start with for deployment?&lt;/li&gt;
&lt;li&gt;00:04:02 &amp;ndash; What is Saltstack? &lt;/li&gt;
&lt;li&gt;00:06:00 &amp;ndash; The changing cloud hosting landscape&lt;/li&gt;
&lt;li&gt;00:10:12 &amp;ndash; Containers, Docker, and other standards&lt;/li&gt;
&lt;li&gt;00:11:28 &amp;ndash; How do you learn about this technology?&lt;/li&gt;
&lt;li&gt;00:15:58 &amp;ndash; Concerns of setting up development vs production environments&lt;/li&gt;
&lt;li&gt;00:17:41 &amp;ndash; Security concerns&lt;/li&gt;
&lt;li&gt;00:19:20 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:20:26 &amp;ndash; Deploying a Python portfolio project&lt;/li&gt;
&lt;li&gt;00:23:12 &amp;ndash; Deploying for a small business project or API&lt;/li&gt;
&lt;li&gt;00:29:11 &amp;ndash; Cloud formation, Terraform, additional tools &lt;/li&gt;
&lt;li&gt;00:30:22 &amp;ndash; Deploying a large project&lt;/li&gt;
&lt;li&gt;00:35:12 &amp;ndash; Frontend frameworks for large web projects&lt;/li&gt;
&lt;li&gt;00:39:30 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:43 &amp;ndash; What does your consultancy do?&lt;/li&gt;
&lt;li&gt;00:41:37 &amp;ndash; What things do you look for in an employee?&lt;/li&gt;
&lt;li&gt;00:50:42 &amp;ndash; Python Web Conference 2021&lt;/li&gt;
&lt;li&gt;00:57:43 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:59:09 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:00:49 &amp;ndash; What is something you thought you knew about Python, but were wrong about it?&lt;/li&gt;
&lt;li&gt;01:02:23 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://sixfeetup.com/&quot;&gt;Six Feet Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pythonwebconf.com/&quot;&gt;Python Web Conference 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://loudswarm.com/&quot;&gt;LoudSwarm: Virtual Conference Hosting Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://saltproject.io/&quot;&gt;Salt Project: Open Source Automation Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://12factor.net&quot;&gt;The 12 Factor App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.heroku.com/&quot;&gt;Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ansible.com/&quot;&gt;Ansible: Agentless IT Automation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/free/?sc_icampaign=acq_freetier&amp;amp;sc_ichannel=ha&amp;amp;sc_icontent=awssm-evergreen_aware_prospect&amp;amp;sc_iplace=hero&amp;amp;trk=~ha_awssm-evergreen_aware_prospect&amp;amp;all-free-tier.sort-by=item.additionalFields.SortRank&amp;amp;all-free-tier.sort-order=asc&quot;&gt;AWS Free Tier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/lambda/?nc2=h_ql_prod_fs_lbd&quot;&gt;AWS Lambda: Run code without thinking about servers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.terraform.io/&quot;&gt;Terraform: open-source infrastructure as code software tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/fargate/?whats-new-cards.sort-by=item.additionalFields.postDateTime&amp;amp;whats-new-cards.sort-order=desc&amp;amp;fargate-blogs.sort-by=item.additionalFields.createdDate&amp;amp;fargate-blogs.sort-order=desc&quot;&gt;AWS Fargate: Serverless compute for containers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.docker.com/get-started/&quot;&gt;Docker: Get Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io/&quot;&gt;Snyk: Developer-first Cloud Native Application Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dependabot.com/&quot;&gt;Dependabot: Automated Dependency Updates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-continuous-integration/&quot;&gt;Continuous Integration With Python: An Introduction - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/chr1sa/status/1362494316237574145&quot;&gt;Chris Anderson via Twitter: This is the open source flight code that the NASA Mars drone is running&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://plone.org/&quot;&gt;Plone: The Ultimate Enterprise CMS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/code-with-me/&quot;&gt;Code With Me: Ultimate collaborative development by JetBrains&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/deeplens/&quot;&gt;AWS DeepLens&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/fluent-python/9781491946237/&quot;&gt;Fluent Python: Luciano Ramalho&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-continuous-integration/&quot;&gt;Continuous Integration With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-google-login-flask/&quot;&gt;Using Google Login With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/creating-pyqt-layouts-gui-applications/&quot;&gt;Creating PyQt Layouts for GUI Applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E051_CalvinHP.657890a89f5c.mp3" type="audio/mpeg" length="45781609"/>
        <guid isPermaLink="false">b47f3a96-b4e5-4eb3-bbba-ccb6f7dd214f</guid>
        <pubDate>Fri, 12 Mar 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3804</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@calvinhp</rp:twitter-handles>
        <rp:twitter-title>“Navigating Options for Deploying Your Python Application” with @calvinhp</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>50</itunes:episode>
        <title>Consuming APIs With Python and Building Microservices With gRPC</title>
        <itunes:title>Consuming APIs With Python and Building Microservices With gRPC</itunes:title>
        <link>https://realpython.com/podcasts/rpp/50/</link>
        <description>Have you wanted to get your Python code to consume data from web-based APIs? Maybe you&#x27;ve dabbled with the requests package, but you don&#x27;t know what steps to take next. This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Have you wanted to get your Python code to consume data from web-based APIs? Maybe you&amp;rsquo;ve dabbled with the requests package, but you don&amp;rsquo;t know what steps to take next. This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss an article titled, &amp;ldquo;Python&amp;rsquo;s APIs: A Winning Combo for Reading Public Data&amp;rdquo;. David shares another Real Python article about creating microservices using Google Remote Procedure Calls (gRPC).&lt;/p&gt;
&lt;p&gt;We also cover several other articles and projects from the Python community including, making a difficult data analysis question easy with pandas, efficiently cleaning text with pandas, the tricky bits of Python concurrency, building rich terminal dashboards, making better assertions for Python tests, and building and managing real-life data science projects with metaflow.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-requests/&quot;&gt;Making HTTP Requests With Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;requests&amp;rdquo; library is the de facto standard for making HTTP requests in Python. It abstracts the complexities of making requests behind a beautiful, simple API so that you can focus on interacting with services and consuming data in your application. This course shows you how to work effectively with &amp;ldquo;requests&amp;rdquo;, from start to finish.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; Python Microservices With gRPC&lt;/li&gt;
&lt;li&gt;00:07:49 &amp;ndash; Python&amp;rsquo;s APIs: A Winning Combo for Reading Public Data&lt;/li&gt;
&lt;li&gt;00:15:07 &amp;ndash; Making a Difficult Data Analysis Question Easy With Pandas&lt;/li&gt;
&lt;li&gt;00:21:07 &amp;ndash; Efficiently Cleaning Text With Pandas&lt;/li&gt;
&lt;li&gt;00:34:20 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:27 &amp;ndash; Python Concurrency: The Tricky Bits&lt;/li&gt;
&lt;li&gt;00:41:49 &amp;ndash; Building Rich Terminal Dashboards&lt;/li&gt;
&lt;li&gt;00:45:08 &amp;ndash; python-precisely: Better Assertions for Python Tests&lt;/li&gt;
&lt;li&gt;00:48:45 &amp;ndash; metaflow: Build and Manage Real-Life Data Science Projects With Ease&lt;/li&gt;
&lt;li&gt;00:52:35 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-microservices-grpc/&quot;&gt;Python Microservices With gRPC&lt;/a&gt; &amp;ndash; Learn how to build a robust and developer-friendly Python microservices infrastructure using gRPC and Kubernetes. You&amp;rsquo;ll also explore advanced topics such as interceptors and integration testing.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-api/&quot;&gt;Python&amp;rsquo;s APIs: A Winning Combo for Reading Public Data&lt;/a&gt; &amp;ndash; Learn what APIs are and how to consume them using Python. You&amp;rsquo;ll also learn some core concepts for working with APIs, such as status codes, HTTP methods, using the requests library, and much more.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://drawingfromdata.com/pandas/reshaping/Making-a-difficult-data-analysis-problem-trivial.html&quot;&gt;Making a Difficult Data Analysis Question Easy With Pandas&lt;/a&gt; &amp;ndash; A great strategy to use when faced with a tricky data analysis problem is to reshape the dataset into a format that turns it into an easy problem. In this article, you&amp;rsquo;ll look at an example involving a simple calculation and extensive reshaping in pandas.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pbpython.com/text-cleaning.html&quot;&gt;Efficiently Cleaning Text With Pandas&lt;/a&gt; &amp;ndash; In this article, you&amp;rsquo;ll see some examples of cleaning text fields in a large data file and learn several strategies for efficiently cleaning unstructured text fields using Python and pandas.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://python.hamel.dev/concurrency/&quot;&gt;Python Concurrency: The Tricky Bits&lt;/a&gt; &amp;ndash; An exploration of threads, processes, and coroutines in Python, with interesting examples that illuminate the differences between each.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.willmcgugan.com/blog/tech/post/building-rich-terminal-dashboards/&quot;&gt;Building Rich Terminal Dashboards&lt;/a&gt; &amp;ndash; Learn how to use the Rich CLI library&amp;rsquo;s new terminal dashboard feature.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mwilliamson/python-precisely&quot;&gt;python-precisely: Better Assertions for Python Tests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Netflix/metaflow&quot;&gt;metaflow: Build and Manage Real-Life Data Science Projects With Ease&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/blog/products/api-management/understanding-grpc-openapi-and-rest-and-when-to-use-them&quot;&gt;API design: Understanding gRPC, OpenAPI and REST and when to use them&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://counting.substack.com/p/data-cleaning-is-analysis-not-grunt&quot;&gt;Data Cleaning IS Analysis, Not Grunt Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/How_to_Lie_with_Statistics&quot;&gt;How to Lie with Statistics: Wikipedia Article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/web-scraping-beautiful-soup/&quot;&gt;Web Scraping With Beautiful Soup and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-requests/&quot;&gt;Making HTTP Requests With Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E050_DavidandChris2.5b4027502823.mp3" type="audio/mpeg" length="38679135"/>
        <guid isPermaLink="false">48cb4cff-a861-4496-b415-46fed3bb2b74</guid>
        <pubDate>Fri, 05 Mar 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3212</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Consuming APIs With Python and Building Microservices With gRPC”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>49</itunes:episode>
        <title>The Challenges of Developing Into a Python Professional</title>
        <itunes:title>The Challenges of Developing Into a Python Professional</itunes:title>
        <link>https://realpython.com/podcasts/rpp/49/</link>
        <description>What&#x27;s the difference between writing code for yourself and developing for others? What new  considerations do you need to take into account as a professional Python developer? This week on the show, we talk to Dane Hillard about his book &quot;Practices of the Python Pro&quot;.</description>
        <content:encoded>&lt;p&gt;What&amp;rsquo;s the difference between writing code for yourself and developing for others? What new  considerations do you need to take into account as a professional Python developer? This week on the show, we talk to Dane Hillard about his book &amp;ldquo;Practices of the Python Pro&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Dane discusses his philosophy on the design principles that go into writing code. We talk about namespaces, object-oriented design, and how to keep your code extensible. We also consider the how and when of code optimization.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/dicts-arrays-ideal-data-structure/&quot;&gt;Dictionaries and Arrays: Selecting the Ideal Data Structure&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about two of Python&amp;rsquo;s data structures: dictionaries and arrays. You&amp;rsquo;ll look at multiple types and classes for both of these and learn which implementations are best for your specific use cases.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:29 &amp;ndash; Release and response to Practices of the Python Pro&lt;/li&gt;
&lt;li&gt;00:03:12 &amp;ndash; What was the writing process like?&lt;/li&gt;
&lt;li&gt;00:06:09 &amp;ndash; What makes someone a professional?&lt;/li&gt;
&lt;li&gt;00:12:30 &amp;ndash; How have you and the tools changed in Python testing? &lt;/li&gt;
&lt;li&gt;00:14:10 &amp;ndash; When did you start to see the change in your career?&lt;/li&gt;
&lt;li&gt;00:15:42 &amp;ndash; Sponsor: PyCharm&lt;/li&gt;
&lt;li&gt;00:16:27 &amp;ndash; What topic were you excited to share in the book?&lt;/li&gt;
&lt;li&gt;00:17:49 &amp;ndash; The importance of code design and ergonomics&lt;/li&gt;
&lt;li&gt;00:20:52 &amp;ndash; Why is managing and designing namespaces important?&lt;/li&gt;
&lt;li&gt;00:26:32 &amp;ndash; Expanding that design thought process to object-oriented programming&lt;/li&gt;
&lt;li&gt;00:30:02 &amp;ndash; Differences of functional vs object-oriented programming&lt;/li&gt;
&lt;li&gt;00:34:40 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:36:04 &amp;ndash; What do you mean by extensible?&lt;/li&gt;
&lt;li&gt;00:42:59 &amp;ndash; How and when to optimize code?&lt;/li&gt;
&lt;li&gt;00:45:57 &amp;ndash; Sharing developer philosophy &lt;/li&gt;
&lt;li&gt;00:46:52 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:48:31 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:51:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://thepythonpro.com&quot;&gt;Practices of the Python Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dane.engineering/&quot;&gt;Dane&amp;rsquo;s Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pytest-python-testing/&quot;&gt;Effective Python Testing With Pytest: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/stable/&quot;&gt;pytest: helps you write better programs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/effective-python-environment/&quot;&gt;An Effective Python Environment: Making Yourself at Home - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastapi.tiangolo.com/&quot;&gt;FastAPI framework, high performance, easy to learn, fast to code, ready for production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django: The web framework for perfectionists with deadlines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/django/django&quot;&gt;Django: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.graphene-python.org/projects/django/en/latest/&quot;&gt;Graphene-Django: Provides Abstractions to Add GraphQL Functionality to Your Django Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/dicts-arrays-ideal-data-structure/&quot;&gt;Dictionaries and Arrays: Selecting the Ideal Data Structure&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E049_Dane_Hillard5.168f48bf387b.mp3" type="audio/mpeg" length="37544330"/>
        <guid isPermaLink="false">b2a2027b-9557-4b97-8857-3564b69502bc</guid>
        <pubDate>Fri, 26 Feb 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3118</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@easyaspython</rp:twitter-handles>
        <rp:twitter-title>“The Challenges of Developing Into a Python Professional” with @easyaspython</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>48</itunes:episode>
        <title>Stochastic Gradient Descent and Deploying Your Python Scripts on the Web</title>
        <itunes:title>Stochastic Gradient Descent and Deploying Your Python Scripts on the Web</itunes:title>
        <link>https://realpython.com/podcasts/rpp/48/</link>
        <description>Do you know the initial steps to get your Python script hosted on the web? You may have built something with Flask, but how would you stand it up so that you can share it with others? This week on the show, we have the previous guest Martin Breuss back on the show. Martin shares his recent article titled, &quot;Python Web Applications: Deploy Your Script as a Flask App&quot;.  David Amos also returns, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you know the initial steps to get your Python script hosted on the web? You may have built something with Flask, but how would you stand it up so that you can share it with others? This week on the show, we have the previous guest Martin Breuss back on the show. Martin shares his recent article titled, &amp;ldquo;Python Web Applications: Deploy Your Script as a Flask App&amp;rdquo;.  David Amos also returns, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David shares a recent mathematical Real Python article about the stochastic gradient descent algorithm with Python. Stochastic gradient descent is an optimization algorithm often used in machine learning applications to find ideal model parameters. &lt;/p&gt;
&lt;p&gt;We also cover several other articles and projects from the Python community including, property-based testing with hypothesis, Python&amp;rsquo;s tug of war between beginner-friendly features and support for advanced users, how Python integers work, the steering council accepts PEP 634, a magical full-stack framework for Django named django-unicorn, and a visual programming environment called Math Inspector.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/simulating-processes-simpy/&quot;&gt;Simulating Real-World Processes in Python With SimPy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll see how you can use the SimPy package to model real-world processes with a high potential for congestion. You&amp;rsquo;ll create an algorithm to approximate a complex system, and then you&amp;rsquo;ll design and run a simulation of that system in Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:44 &amp;ndash; Property-Based Testing With hypothesis, and Associated Use Cases&lt;/li&gt;
&lt;li&gt;00:09:55 &amp;ndash; Python&amp;rsquo;s Tug of War Between Beginner-Friendly Features and Support for Advanced Users&lt;/li&gt;
&lt;li&gt;00:18:50 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:19:54 &amp;ndash; How Python Integers Work&lt;/li&gt;
&lt;li&gt;00:26:53 &amp;ndash; Python Steering Council Accepts PEP 634&lt;/li&gt;
&lt;li&gt;00:32:48 &amp;ndash; Stochastic Gradient Descent Algorithm With Python and NumPy&lt;/li&gt;
&lt;li&gt;00:38:36 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:39 &amp;ndash; Martin Breuss - Followup about Stay at Home Mentorship Program&lt;/li&gt;
&lt;li&gt;00:42:13 &amp;ndash; Python Web Applications: Deploy Your Script as a Flask App&lt;/li&gt;
&lt;li&gt;00:52:25 &amp;ndash; django-unicorn: A Magical Full-Stack Framework for Django&lt;/li&gt;
&lt;li&gt;00:55:15 &amp;ndash; Math Inspector: A Visual Programming Environment for Scientific Computing With NumPy and SciPy&lt;/li&gt;
&lt;li&gt;01:00:21 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bytes.yingw787.com/posts/2021/02/02/property_based_testing/&quot;&gt;Property-Based Testing With hypothesis, and Associated Use Cases&lt;/a&gt; &amp;ndash; Testing software is hard. Property-based testing can help you create more effective tests. Learn how to do property-based testing with the &lt;code&gt;hypothesis&lt;/code&gt; framework by looking at some real-world use cases.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://aroberge.blogspot.com/2021/02/pythons-tug-of-war-between-beginner.html&quot;&gt;Python&amp;rsquo;s Tug of War Between Beginner-Friendly Features and Support for Advanced Users&lt;/a&gt; &amp;ndash; Python has made some big improvements to tracebacks in recent versions. See how tracebacks have evolved over the last couple of major releases and where there&amp;rsquo;s still some work left to be done. Check out the &lt;a href=&quot;https://news.ycombinator.com/item?id=26030433&quot;&gt;discussion&lt;/a&gt; on Hacker News.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://tenthousandmeters.com/blog/python-behind-the-scenes-8-how-python-integers-work/&quot;&gt;How Python Integers Work&lt;/a&gt; &amp;ndash; Python&amp;rsquo;s integer datatype is pretty different from most other languages because they allow arbitrary precision. Learn how integers work under the hood in this in-depth article.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://mail.python.org/archives/list/python-committers@python.org/message/SQC2FTLFV5A7DV7RCEAR2I2IKJKGK7W3/&quot;&gt;Python Steering Council Accepts PEP 634&lt;/a&gt; &amp;ndash; Pattern matching, which adds a kind of switch-case statement to Python, has been accepted.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/gradient-descent-algorithm-python/&quot;&gt;Stochastic Gradient Descent Algorithm With Python and NumPy&lt;/a&gt; &amp;ndash; Learn what the stochastic gradient descent algorithm is, how it works, and how to implement it with Python and NumPy.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-web-applications/&quot;&gt;Python Web Applications: Deploy Your Script as a Flask App&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to go from a local Python script to a fully deployed Flask web application that you can share with the world.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/adamghill/django-unicorn&quot;&gt;django-unicorn: A Magical Full-Stack Framework for Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mathinspector.com/&quot;&gt;Math Inspector: A Visual Programming Environment for Scientific Computing With NumPy and SciPy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/47/&quot;&gt;Episode 47: Unraveling Python&amp;rsquo;s Syntax to Its Core With Brett Cannon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aroberge.github.io/friendly-traceback-docs/docs/html/index.html&quot;&gt;Friendly tracebacks - Simplified Python tracebacks translatable into any language.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonbytes.fm/episodes/show/220/what-why-and-where-of-friendly-errors-in-python&quot;&gt;PythonBytes - Episode #220&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python38-new-features/#warnings-about-dangerous-syntax&quot;&gt;Warnings About Dangerous Syntax: Cool New Features in Python 3.8 - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0636/&quot;&gt;PEP 636 &amp;ndash; Structural Pattern Matching: Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.django-unicorn.com/articles&quot;&gt;Django-Unicorn Articles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python-utils.com/&quot;&gt;python-utils: The online playground for Python utilities -Powered by Unicorn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simulating-processes-simpy/&quot;&gt;Simulating Real-World Processes in Python With SimPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-google-login-flask/&quot;&gt;Using Google Login With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-38/&quot;&gt;Cool New Features in Python 3.8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E048_David_Martin_and_Chris.2c2df822dfe2.mp3" type="audio/mpeg" length="44204218"/>
        <guid isPermaLink="false">70dd4a73-5aca-46b1-9f06-aa0165039462</guid>
        <pubDate>Fri, 19 Feb 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3673</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@martinbreuss</rp:twitter-handles>
        <rp:twitter-title>“Stochastic Gradient Descent and Deploying Your Python Scripts on the Web” with @martinbreuss</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>47</itunes:episode>
        <title>Unraveling Python&#x27;s Syntax to Its Core With Brett Cannon</title>
        <itunes:title>Unraveling Python&#x27;s Syntax to Its Core With Brett Cannon</itunes:title>
        <link>https://realpython.com/podcasts/rpp/47/</link>
        <description>Do you feel like you understand how Python works under the hood? What is syntactic sugar, and how much of it should be in Python? This week on the show, we have Brett Cannon. Brett is a Python core developer and he&#x27;s been working on a series of articles where he is unraveling the syntax of Python. His series is a fantastic resource for those wanting to learn how Python is structured and works at its core.</description>
        <content:encoded>&lt;p&gt;Do you feel like you understand how Python works under the hood? What is syntactic sugar, and how much of it should be in Python? This week on the show, we have Brett Cannon. Brett is a Python core developer and he&amp;rsquo;s been working on a series of articles where he is unraveling the syntax of Python. His series is a fantastic resource for those wanting to learn how Python is structured and works at its core.&lt;/p&gt;
&lt;p&gt;Brett wants to see a version of Python that can run in web browsers, so he started to breakdown Python into its syntactic elements to try to answer the question, what are core elements of Python? His detailed series takes the reader along for the ride.&lt;/p&gt;
&lt;p&gt;Brett also works at Microsoft as the dev manager for the Python extension for VS Code. Brett is also serving his third term on the Python steering council, and we discuss recent Python enhancement proposals (PEP) that the council is considering.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll explore some of the coolest and most useful features in the newly released Python 3.9. You&amp;rsquo;ll learn how Python 3.9 makes it easier to work with time zones, dictionaries, decorators, and several other techniques that will make your code cleaner and more efficient.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:43 &amp;ndash; Working on the Python extension for VSCode&lt;/li&gt;
&lt;li&gt;00:04:17 &amp;ndash; Microsoft and the Python community&lt;/li&gt;
&lt;li&gt;00:07:19 &amp;ndash; How long have worked on core Python? &lt;/li&gt;
&lt;li&gt;00:11:49 &amp;ndash; Ways to contribute to core Python&lt;/li&gt;
&lt;li&gt;00:14:19 &amp;ndash; Upcoming features and PEPs &lt;/li&gt;
&lt;li&gt;00:15:41 &amp;ndash; Pattern matching PEPs&lt;/li&gt;
&lt;li&gt;00:17:48 &amp;ndash; Sponsor: Digital Ocean&lt;/li&gt;
&lt;li&gt;00:18:29 &amp;ndash; Being a member of the Python Steering Council &lt;/li&gt;
&lt;li&gt;00:21:10 &amp;ndash; Unravelling Python&amp;rsquo;s syntatic sugar series&lt;/li&gt;
&lt;li&gt;00:24:39 &amp;ndash; Magic methods, dunder methods, or special methods&lt;/li&gt;
&lt;li&gt;00:27:07 &amp;ndash; Are there ways that syntatic sugar can be overused?&lt;/li&gt;
&lt;li&gt;00:33:31 &amp;ndash; WebAssembly and Python being available in the browser&lt;/li&gt;
&lt;li&gt;00:45:51 &amp;ndash; Does Circuit Python or MicroPython show a path?&lt;/li&gt;
&lt;li&gt;00:52:37 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:53:41 &amp;ndash; Taking Python syntax down to the implementation layer&lt;/li&gt;
&lt;li&gt;01:03:21 &amp;ndash; Taking apart Python&amp;rsquo;s syntax &lt;/li&gt;
&lt;li&gt;01:16:07 &amp;ndash; What other parts of Python syntax will you be unravelling?&lt;/li&gt;
&lt;li&gt;01:24:04 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:26:46 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:31:24 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/&quot;&gt;snarky.ca : Brett Cannon&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/tag/syntactic-sugar/&quot;&gt;syntactic sugar series: Brett Cannon&amp;rsquo;s Blog &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brettcannon/desugar&quot;&gt;desugar: Unravelling Python&amp;rsquo;s Syntactic Sugar Source Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/docs/languages/python&quot;&gt;Python in Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mail.python.org/mailman3/&quot;&gt;Python Mailing Lists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/community/lists/&quot;&gt;Python Community: Mailing Lists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0013/&quot;&gt;PEP-0013 - Python Language Governance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/&quot;&gt;PEP 0 &amp;ndash; Index of Python Enhancement Proposals (PEPs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;WebAssembly (WASM)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/ast.html&quot;&gt;ast — Abstract Syntax Trees: Python Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/stable/&quot;&gt;pytest: helps you write better programs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=R31NRWgoIWM&quot;&gt;From Source to Code: How CPython&amp;rsquo;s Compiler Works - Brett Cannon - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Nsg886UOahw&amp;amp;list=PL4S0lvhXvdhIV2C28Ia_DeIeloBrsQBOW&amp;amp;index=2&quot;&gt;How Import Works - Brett Cannon - PyConAr 2012&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=-Nk-8fSJM6I&amp;amp;list=PL4S0lvhXvdhIV2C28Ia_DeIeloBrsQBOW&amp;amp;index=17&quot;&gt;Brett Cannon: Setting Expectations for Open Source Participation - PyCascade 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/inner-functions-what-are-they-good-for/&quot;&gt;Python Inner Functions: What Are They Good For? - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/22/&quot;&gt;E22: Create Cross-Platform Python GUI Apps With BeeWare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/18/&quot;&gt;E18: Ten Years of Flask: Conversation With Creator Armin Ronacher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/7/&quot;&gt;E7: AsyncIO + Music, Origins of Black, and Managing Python Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/&quot;&gt;PyCascades 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://elixir-lang.org/&quot;&gt;Elixir: A Dynamic, Functional Language Designed for Building Scalable and Maintainable Applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/managing-python-dependencies/&quot;&gt;Managing Python Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E047_Brett_Cannon2.b6162bde70d4.mp3" type="audio/mpeg" length="66767311"/>
        <guid isPermaLink="false">262839fb-267a-404b-aa67-75d331ac5e62</guid>
        <pubDate>Fri, 12 Feb 2021 12:00:00 +0000</pubDate>
        <itunes:duration>5550</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Unraveling Python&#x27;s Syntax to Its Core With Brett Cannon”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>46</itunes:episode>
        <title>C for Python Developers and Data Visualization With Dash</title>
        <itunes:title>C for Python Developers and Data Visualization With Dash</itunes:title>
        <link>https://realpython.com/podcasts/rpp/46/</link>
        <description>Are you interested in building interactive dashboards with Python? How about a project that takes a flat data file all the way to a web-hosted interactive  dashboard? This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you interested in building interactive dashboards with Python? How about a project that takes a flat data file all the way to a web-hosted interactive  dashboard? This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Along with the Real Python article about data visualizations using Dash, David covers an article designed to help Python developers understand the fundamentals of C. We discuss a couple of articles about Excel and using Python with Microsoft Office. &lt;/p&gt;
&lt;p&gt;We also cover several other articles and projects from the Python community including,  out-of-memory crashes in Python, updating all packages with pip-review, data science notebooks for teams, and a command-line tool for looking up colors, shades, and palettes.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Command line arguments are the key to converting your programs into useful and enticing tools that are ready to be used in the terminal of your operating system. In this course, you&amp;rsquo;ll learn their origins, standards, and basics, and how to implement them in your program. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:36 &amp;ndash; CPython Internals Book &lt;/li&gt;
&lt;li&gt;00:03:18 &amp;ndash; C for Python Programmers&lt;/li&gt;
&lt;li&gt;00:06:11 &amp;ndash; Dying, Fast and Slow: Out-Of-Memory Crashes in Python&lt;/li&gt;
&lt;li&gt;00:13:29 &amp;ndash; Automating Excel File Creation and Distribution With Pandas And Outlook&lt;/li&gt;
&lt;li&gt;00:18:33 &amp;ndash; Update All Packages With pip-review&lt;/li&gt;
&lt;li&gt;00:23:49 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:25:04 &amp;ndash; Ditching Excel for Python: Lessons Learned From a Legacy Industry&lt;/li&gt;
&lt;li&gt;00:30:20 &amp;ndash; Develop Data Visualization Interfaces in Python With Dash&lt;/li&gt;
&lt;li&gt;00:38:11 &amp;ndash; Deepnote: Data Science Notebook for Teams&lt;/li&gt;
&lt;li&gt;00:41:25 &amp;ndash; colorpedia: Command-Line Tool for Looking Up Colors, Shades and Palettes&lt;/li&gt;
&lt;li&gt;00:43:45 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links: &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/c-for-python-programmers/&quot;&gt;C for Python Programmers&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn the basics of the C language, which is used in the source code for CPython, the most popular Python implementation. Learning C is important for Python programmers interested in contributing to CPython.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pythonspeed.com/articles/python-out-of-memory/&quot;&gt;Dying, Fast and Slow: Out-Of-Memory Crashes in Python&lt;/a&gt; &amp;ndash; Learn about the different ways that memory issues can manifest in your Python programs, and how you can debug and fix them.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pbpython.com/excel-email.html&quot;&gt;Automating Excel File Creation and Distribution With Pandas And Outlook&lt;/a&gt; &amp;ndash; See how a little bit of Python can go a long way to automating manual processes and save businesses valuable time.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://stackabuse.com/python-update-all-packages-with-pip-review/&quot;&gt;Update All Packages With pip-review&lt;/a&gt; &amp;ndash; Keeping track of Python dependencies and updates can be tricky. The &lt;code&gt;pip-review&lt;/code&gt; tool automates a lot of this process in a convenient command-line interface.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://amypeniston.com/ditching-excel-for-python/&quot;&gt;Ditching Excel for Python: Lessons Learned From a Legacy Industry&lt;/a&gt; &amp;ndash; Learn how Python is revolutionizing an industry that&amp;rsquo;s notoriously resistant to change and fraught with every programmer&amp;rsquo;s most dreaded tool: Excel spreadsheets.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-dash/&quot;&gt;Develop Data Visualization Interfaces in Python With Dash&lt;/a&gt; &amp;ndash; Learn how to build a dashboard using Python and Dash. Dash is a framework for building data visualization interfaces. It helps data scientists build fully interactive web applications quickly.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://deepnote.com/&quot;&gt;Deepnote: Data Science Notebook for Teams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/joowani/colorpedia&quot;&gt;colorpedia: Command-Line Tool for Looking Up Colors, Shades and Palettes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/cpython-internals-book/&quot;&gt;CPython Internals Book: Your Guide to the Python 3 Interpreter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/27/&quot;&gt;E27: Preparing for an Interview With Python Practice Problems - Guest Jim Anderson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/24/&quot;&gt;E24: Options for Packaging Your Python Application: Wheels, Docker, and More - Guest Itamar Turner-Trauring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/memory-profiler-data-scientists/&quot;&gt;Fil: A New Python Memory Profiler for Data Scientists and Scientists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jgonggrijp/pip-review&quot;&gt;pip-review: A Tool to Keep Track of Your Python Package Updates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pip-tools/&quot;&gt;pip-tools: Keeps Your Pinned Dependencies Fresh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/29/&quot;&gt;E29: Resolving Package Dependencies With the New Version of Pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pip.pypa.io/en/latest/&quot;&gt;pip - The Python Package Installer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyxll.com/&quot;&gt;pyxll: Write Excel Add-Ins in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dash.plotly.com/introduction&quot;&gt;Introduction to Dash: Plotly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dash-gallery.plotly.host/Portal/&quot;&gt;Dash App Gallery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E046B_David_and_Chris.d8791b4e240f.mp3" type="audio/mpeg" length="32171441"/>
        <guid isPermaLink="false">34fb46e5-767e-4886-b3f5-1aedcb148778</guid>
        <pubDate>Fri, 05 Feb 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2670</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“C for Python Developers and Data Visualization With Dash”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>45</itunes:episode>
        <title>Processing Images in Python With Pillow</title>
        <itunes:title>Processing Images in Python With Pillow</itunes:title>
        <link>https://realpython.com/podcasts/rpp/45/</link>
        <description>Are you interested in processing images in Python? Do you need to load and modify images for your Flask or Django website or CMS? Then you most likely will be working with Pillow, the friendly fork of PIL, the Python imaging library. This week on the show, we have Mike Driscoll, who is writing a new book about image processing in Python.</description>
        <content:encoded>&lt;p&gt;Are you interested in processing images in Python? Do you need to load and modify images for your Flask or Django website or CMS? Then you most likely will be working with Pillow, the friendly fork of PIL, the Python imaging library. This week on the show, we have Mike Driscoll, who is writing a new book about image processing in Python.&lt;/p&gt;
&lt;p&gt;We dive deep into the types of processing Pillow provides. Mike talks about creating Python GUI applications to take advantage of all the library has to offer. We also talk about his PyDev of the week series and his Python Interviews book.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to handle spreadsheets in Python using the openpyxl package. You&amp;rsquo;ll learn how to manipulate Excel spreadsheets, extract information from spreadsheets, create simple or more complex spreadsheets, including adding styles, charts, and so on.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:40 &amp;ndash; Update on Python 101 book&lt;/li&gt;
&lt;li&gt;00:03:17 &amp;ndash; Pillow: Image Processing With Python&lt;/li&gt;
&lt;li&gt;00:04:06 &amp;ndash; Kickstarter for the book&lt;/li&gt;
&lt;li&gt;00:05:35 &amp;ndash; What parts of the Pillow library will the book cover?&lt;/li&gt;
&lt;li&gt;00:07:49 &amp;ndash; What is ImageChops?&lt;/li&gt;
&lt;li&gt;00:09:06 &amp;ndash; How do you currently use Pillow?&lt;/li&gt;
&lt;li&gt;00:11:06 &amp;ndash; What is ImageOps?&lt;/li&gt;
&lt;li&gt;00:13:15 &amp;ndash; Sponsor Scout APM&lt;/li&gt;
&lt;li&gt;00:14:18 &amp;ndash; Building a GUI interface for Pillow features&lt;/li&gt;
&lt;li&gt;00:16:46 &amp;ndash; Other uses for Pillow in testing&lt;/li&gt;
&lt;li&gt;00:18:01 &amp;ndash; Use in web frameworks and file formats&lt;/li&gt;
&lt;li&gt;00:20:17 &amp;ndash; What is Pillow not good at?&lt;/li&gt;
&lt;li&gt;00:22:13 &amp;ndash; Batch processing&lt;/li&gt;
&lt;li&gt;00:23:12 &amp;ndash; Exif Data and GPS information from images&lt;/li&gt;
&lt;li&gt;00:26:57 &amp;ndash; Creating a watermark&lt;/li&gt;
&lt;li&gt;00:28:58 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:15 &amp;ndash; Writing image process methods as modules&lt;/li&gt;
&lt;li&gt;00:33:45 &amp;ndash; Timeline for the book release&lt;/li&gt;
&lt;li&gt;00:35:04 &amp;ndash; Using Pillow in a Jupyter notebook&lt;/li&gt;
&lt;li&gt;00:38:02 &amp;ndash; Python Interviews Book and PyDev of the Week&lt;/li&gt;
&lt;li&gt;00:41:57 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:44:41 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:46:25 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://leanpub.com/pillow/&quot;&gt;Pillow: Image Processing With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/books/python-101/&quot;&gt;Python 101: pythonlibrary.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kickstarter.com/projects/driscollis/image-processing-with-python/&quot;&gt;Pillow: Image Processing With Python - Kickstarter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pillow.readthedocs.io/en/stable/&quot;&gt;Pillow: The Friendly Fork of the Python Imaging Library (PIL)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pillow.readthedocs.io/en/stable/reference/ImageChops.html?highlight=chops&quot;&gt;Image Chops (&amp;ldquo;Channel Operations&amp;rdquo;) Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/PySimpleGUI/&quot;&gt;PySimpleGUI: Python GUIs for Humans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pysimplegui-python/&quot;&gt;PySimpleGUI: The Simple Way to Create a GUI With Python - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wxpython.org/&quot;&gt;wxPython: The GUI Toolkit for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/2021/01/26/create-an-exif-viewer-with-pysimplegui/&quot;&gt;Create an EXIF Viewer with PySimpleGUI: Mouse Vs Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/2021/01/13/getting-gps-exif-data-with-python/&quot;&gt;Getting GPS EXIF Data with Python: Mouse Vs Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/&quot;&gt;Mouse Vs Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/books/python-interviews-discussions-with-python-experts/&quot;&gt;Python Interviews: Discussions with Python Experts: Packt Publishing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2021/&quot;&gt;PyConUS 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/&quot;&gt;PyCascades 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.pizza/&quot;&gt;Python Pizza: Remote Conferences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://openpyxl.readthedocs.io/en/stable/&quot;&gt;openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl: Real Python video course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/20/&quot;&gt;Episode 20: Building PDFs in Python with ReportLab&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/traditional-face-detection-python/&quot;&gt;Traditional Face Detection Using Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E045_Mike_Driscoll_Pillow.f3e6e321a50f.mp3" type="audio/mpeg" length="34268634"/>
        <guid isPermaLink="false">4785a31d-ea89-45c1-b044-2f3667e5072b</guid>
        <pubDate>Fri, 29 Jan 2021 12:00:00 +0000</pubDate>
        <itunes:duration>2845</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@driscollis</rp:twitter-handles>
        <rp:twitter-title>“Processing Images in Python With Pillow” with @driscollis</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>44</itunes:episode>
        <title>Creating an Interactive Online Python Conference for PyCascades 2021</title>
        <itunes:title>Creating an Interactive Online Python Conference for PyCascades 2021</itunes:title>
        <link>https://realpython.com/podcasts/rpp/44/</link>
        <description>How do you create a virtual conference that retains the interactivity of an in-person event? What are the tools needed for talk submissions, ticketing, and live hosting? Can you find those tools written in Python? 
This week on the show, we have several of the organizers of the PyCascades 2021 conference. They share the process of restructuring a Python conference to meet those challenges.</description>
        <content:encoded>&lt;p&gt;How do you create a virtual conference that retains the interactivity of an in-person event? What are the tools needed for talk submissions, ticketing, and live hosting? Can you find those tools written in Python? 
This week on the show, we have several of the organizers of the PyCascades 2021 conference. They share the process of restructuring a Python conference to meet those challenges.&lt;/p&gt;
&lt;p&gt;Nina Zakharenko and Seb Vetter are co-chairs, and Ashia Zawaduk is the conference program chair. PyCascades will be held online from February 19th through 21st, with a day of virtual social events, one of live-streamed talks, and another of mentored sprints.&lt;/p&gt;
&lt;p&gt;We discuss ways to recreate the elusive feel of the &amp;ldquo;hallway&amp;rdquo; track virtually. They share advice about submitting a talk proposal and ways that you can volunteer for conferences. &lt;/p&gt;
&lt;p&gt;Tickets are available now. PyCascades is looking for additional sponsors. If you work for an organization that can help, get in contact with them.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Learn what concurrency means in Python and why you might want to use it. You&amp;rsquo;ll see a simple, non-concurrent approach and then look into why you&amp;rsquo;d want threading, asyncio, or multiprocessing.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; Introducing the organizers&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; Structure and vision for the Conference &lt;/li&gt;
&lt;li&gt;00:06:50 &amp;ndash; Tools for a virtual conference&lt;/li&gt;
&lt;li&gt;00:10:34 &amp;ndash; Creating a virtual hallway track&lt;/li&gt;
&lt;li&gt;00:12:32 &amp;ndash; Testing the platform&lt;/li&gt;
&lt;li&gt;00:14:33 &amp;ndash; How does a virtual event change the type of audience?&lt;/li&gt;
&lt;li&gt;00:15:54 &amp;ndash; Opening up the range of available speakers and topics&lt;/li&gt;
&lt;li&gt;00:19:35 &amp;ndash; Tips for finding success in submitting talk proposals&lt;/li&gt;
&lt;li&gt;00:24:28 &amp;ndash; Sponsor: PyCharm&lt;/li&gt;
&lt;li&gt;00:25:10 &amp;ndash; How can someone assist at this and other conferences?&lt;/li&gt;
&lt;li&gt;00:26:40 &amp;ndash; Preparing first time speakers&lt;/li&gt;
&lt;li&gt;00:28:29 &amp;ndash; How did each of you get involved?&lt;/li&gt;
&lt;li&gt;00:36:13 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:37:18 &amp;ndash; Currently scheduled talks&lt;/li&gt;
&lt;li&gt;00:43:01 &amp;ndash; Mentored Sprints for Diverse Beginners &lt;/li&gt;
&lt;li&gt;00:49:37 &amp;ndash; User groups and meetups&lt;/li&gt;
&lt;li&gt;00:52:23 &amp;ndash; PyCascades sponsors&lt;/li&gt;
&lt;li&gt;00:57:02 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:02:39 &amp;ndash; Callout: Get Your Tickets and thanks &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/&quot;&gt;PyCascades 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/about/team/&quot;&gt;PyCascades: The Team&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2020.pycon.org.au/&quot;&gt;PyConline AU 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/PyConAU/videos&quot;&gt;PyCon AU: YouTube Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretalx.com/p/about/&quot;&gt;pretalx: From Call for Papers to schedule – build your conference!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pretalx/pretalx&quot;&gt;pretalx: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pretix.eu/about/en/&quot;&gt;pretix: Event Ticketing Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pretix/pretix&quot;&gt;pretix: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://venueless.org/&quot;&gt;venueless: Host Your Events Online &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/venueless/venueless&quot;&gt;venueless: GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nextdayvideo.com/&quot;&gt;Next Day Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/grants/free-resources/&quot;&gt;Resources for Virtual Events: PSF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nnja.medium.com/the-ultimate-guide-to-memorable-tech-talks-e7c350778d4b&quot;&gt;The Ultimate Guide To Memorable Tech Talks — Nina&amp;rsquo;s series of posts with lots of advice on giving excellent tech talks.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/about/volunteer/&quot;&gt;Volunteer at PyCascades&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycolorado.org/&quot;&gt;PyColorado 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/program/schedule/&quot;&gt;PyCascades 2021: Schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mentored-sprint-for-diverse-beginners.readthedocs.io/#&quot;&gt;Mentored Sprints for Diverse Beginners at PyCon US 2020: readthedocs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/8/&quot;&gt;Episode 8: Docker + Python for Data Science and Machine Learning With Tania Allard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyladies.com&quot;&gt;PyLadies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.meetup.com/PSPPython/&quot;&gt;Puget Sound Programming Python (PuPPy): Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/sponsors/our-sponsors/&quot;&gt;PyCascades: Sponsors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2021.pycascades.com/sponsors/become-a-sponsor/&quot;&gt;Become Our Sponsor: PyCascades&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/nnjaio&quot;&gt;nnjaio: Nina&amp;rsquo;s Twitch Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/alsweigart&quot;&gt;AlSweigart: Twitch Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/anthonywritescode&quot;&gt;anthonywritescode: Anthony Sottile Twitch Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/crazy4pi314&quot;&gt;crazy4pi314: Dr. Sarah Kaiser Twitch Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/thelivecoders/about&quot;&gt;TheLiveCoders: Twitch Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/microsoftdeveloper&quot;&gt;MicrosoftDeveloper: Twitch Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/architecture-patterns-with/9781492052197/&quot;&gt;Architecture Patterns in Python: O&amp;rsquo;Reilly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/7/&quot;&gt;Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Xbl7XjFYsN4&amp;amp;t=2s&quot;&gt;import asyncio: Learn Python&amp;rsquo;s AsyncIO #1 - The Async Ecosystem: YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wagtail.io/&quot;&gt;Wagtail : The Powerful CMS for Modern Websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/159/&quot;&gt;Episode 159: Volunteering, Organizing, and Finding a Python Community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/formatting-python-strings/&quot;&gt;Formatting Python Strings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E044_PyCascades_2.b232344fbb58.mp3" type="audio/mpeg" length="46438443"/>
        <guid isPermaLink="false">3331efd9-ba29-4efc-91c2-9257422cb8b3</guid>
        <pubDate>Fri, 22 Jan 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3859</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@ashiazed, @nnja, @roadside_seb</rp:twitter-handles>
        <rp:twitter-title>“Creating an Interactive Online Python Conference for PyCascades 2021” with @ashiazed, @nnja, @roadside_seb</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>43</itunes:episode>
        <title>Deep Reinforcement Learning in a Notebook With Jupylet + Gaming and Synthesis</title>
        <itunes:title>Deep Reinforcement Learning in a Notebook With Jupylet + Gaming and Synthesis</itunes:title>
        <link>https://realpython.com/podcasts/rpp/43/</link>
        <description>What is it like to design a Python library for three different audiences?  This week on the show, we have Nir Aides, creator of Jupylet. His new library is designed for deep reinforcement learning researchers, musicians interested in live music coding, and kids interested in learning to program. Everything is designed to run inside of a Jupyter notebook.</description>
        <content:encoded>&lt;p&gt;What is it like to design a Python library for three different audiences?  This week on the show, we have Nir Aides, creator of Jupylet. His new library is designed for deep reinforcement learning researchers, musicians interested in live music coding, and kids interested in learning to program. Everything is designed to run inside of a Jupyter notebook.&lt;/p&gt;
&lt;p&gt;Nir&amp;rsquo;s initial goal was to create a framework to study deep reinforcement learning, and this led to building a framework for 2D and 3D games and graphics. As he continued the development, he realized that this interactive environment could be a useful tool for learning Python.&lt;/p&gt;
&lt;p&gt;We also talk about how he got interested in live music coding and the advanced mathematics of sound synthesis. Nir also shares some resources for finding graphic assets and tools for creating 3D models.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you learn how to get started with the Jupyter Notebook, an open source web application that you can use to create and share documents that contain live code, equations, visualizations, and text.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:25 &amp;ndash; When did you start the project?&lt;/li&gt;
&lt;li&gt;00:02:50 &amp;ndash; What is deep reinforcement learning?&lt;/li&gt;
&lt;li&gt;00:06:11 &amp;ndash; How is deep reinforcement learning implemented in Jupylet?&lt;/li&gt;
&lt;li&gt;00:06:56 &amp;ndash; What graphic libraries are being used?&lt;/li&gt;
&lt;li&gt;00:09:56 &amp;ndash; What are the audiences for Jupylet?&lt;/li&gt;
&lt;li&gt;00:14:15 &amp;ndash; Why create features for musicians?&lt;/li&gt;
&lt;li&gt;00:15:52 &amp;ndash; Interactive code&lt;/li&gt;
&lt;li&gt;00:19:13 &amp;ndash; Were you using Jupyter Notebooks previously?&lt;/li&gt;
&lt;li&gt;00:24:01 &amp;ndash; Sponsor Digital Ocean&lt;/li&gt;
&lt;li&gt;00:24:40 &amp;ndash; Scaling features and making it kid friendly&lt;/li&gt;
&lt;li&gt;00:28:59 &amp;ndash; Outside help and learning about audio synthesis&lt;/li&gt;
&lt;li&gt;00:33:31 &amp;ndash; Using NumPy for synthesis, effects, and algorithmic reverb&lt;/li&gt;
&lt;li&gt;00:39:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:40:13 &amp;ndash; Relying on other packages for your own package&lt;/li&gt;
&lt;li&gt;00:42:26 &amp;ndash; Assets for game design and working with 3D&lt;/li&gt;
&lt;li&gt;00:47:51 &amp;ndash; What has feedback been like?&lt;/li&gt;
&lt;li&gt;00:48:31 &amp;ndash; Looking for contributors&lt;/li&gt;
&lt;li&gt;00:49:45 &amp;ndash; More on live music looping&lt;/li&gt;
&lt;li&gt;00:53:24 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:55:41 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:01:13 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nir/jupylet&quot;&gt;Jupylet: GitHub Project Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jupylet.readthedocs.io/en/latest/index.html&quot;&gt;Jupylet: Read the Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Deep_reinforcement_learning&quot;&gt;Deep Reinforcement Learning: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=TmPfTpjtdgg&amp;amp;feature=emb_logo&quot;&gt;DQN Breakout: YouTube&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learnopengl.com&quot;&gt;Learn OpenGL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://moderngl.readthedocs.io/en/latest/&quot;&gt;ModernGL: ModernGL is a high performance rendering module for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.c64-wiki.com/wiki/SID&quot;&gt;SID (Sound Interface Device) - C64 Wiki &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Chiptune&quot;&gt;Chiptune: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ranker.com/list/chiptune-bands-and-artists/reference&quot;&gt;The Best Chiptune Groups/Artists: Ranker.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Elektron_SidStation&quot;&gt;Elektron SidStation: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sonic-pi.net&quot;&gt;Sonic Pi: Welcome to the future of music&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://foxdot.org&quot;&gt;FoxDot: Live Coding with Python and Super Collider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Nyquist_frequency&quot;&gt;Nyquist frequency: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Aliasing&quot;&gt;Aliasing: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/the-seekers-project/coding-a-basic-reverb-algorithm-part-2-an-introduction-to-audio-programming-4db79dd4e325&quot;&gt;Coding a basic reverb algorithm - Part 2: An introduction to audio programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.openairlib.net/&quot;&gt;Openair: Demo, download and share acoustic impulse responses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nir/jupylet/tree/master/jupylet/assets/sounds/impulses&quot;&gt;Jupylet Docs: Impulse Response Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vis.versilstudios.com/vcsl.html&quot;&gt;Versilian Community Sample Library: Virtual Instruments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sgossner/VCSL&quot;&gt;Versilian Community Sample Library: Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.laptop.org/go/Free_sound_samples&quot;&gt;Free Sound Samples: One Laptop per Child&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/One_Laptop_per_Child&quot;&gt;One Laptop per Child: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kenney.nl&quot;&gt;Kenney.nl: Free game assets, no strings attached&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://texturehaven.com&quot;&gt;Texture Haven&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thegraphicassembly.com/best-websites-for-free-pbr-textures/&quot;&gt;Free PBR Texture Websites: The Graphic Assembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blender.org&quot;&gt;Blender: Open Source 3D Creation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/7/&quot;&gt;Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Xbl7XjFYsN4&quot;&gt;import asyncio: Learn Python&amp;rsquo;s AsyncIO #1 - The Async Ecosystem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pytorch.org/&quot;&gt;PyTorch: Optimized Tensor Library for Deep Learning Using GPUs and CPUs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E043_Nir_Aides2.f4b86c44ad3d.mp3" type="audio/mpeg" length="44792941"/>
        <guid isPermaLink="false">17bdb5d5-19c0-46da-81b2-371bd271868d</guid>
        <pubDate>Fri, 15 Jan 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3722</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Deep Reinforcement Learning in a Notebook With Jupylet + Gaming and Synthesis”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>42</itunes:episode>
        <title>What Is Data Engineering and Researching 10 Million Jupyter Notebooks</title>
        <itunes:title>What Is Data Engineering and Researching 10 Million Jupyter Notebooks</itunes:title>
        <link>https://realpython.com/podcasts/rpp/42/</link>
        <description>Are you familiar with the role data engineers play in the modern landscape of data science and Python? Data engineering is a sub-discipline that focuses on the transportation, transformation, and storage of data.  This week on the show, David Amos is back, and he&#x27;s brought another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you familiar with the role data engineers play in the modern landscape of data science and Python? Data engineering is a sub-discipline that focuses on the transportation, transformation, and storage of data.  This week on the show, David Amos is back, and he&amp;rsquo;s brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Along with the Real Python article on data engineering, we talk about a project where researchers downloaded 10 million Jupyter notebooks from Github to gather insights about the current state of data science technology.&lt;/p&gt;
&lt;p&gt;We also discuss an article about validating data in Python with the package Cerberus. And this led us to a conversation about a set of coding challenges from Advent of Code.&lt;/p&gt;
&lt;p&gt;We also cover several other articles and projects from the Python community including, building my own chess engine, the visual guide to NumPy, a free and open-source alternative to SAP, a library for working with STL files and 3D objects, and is Python really a bottleneck?&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building With Django REST Framework&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;This course will get you ready to build with Django REST Framework. The Django REST framework (DRF) is a toolkit built on top of the Django web framework that reduces the amount of code you need to write to create REST interfaces.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:51 &amp;ndash; What Is Data Engineering and Is It Right for You?&lt;/li&gt;
&lt;li&gt;00:12:07 &amp;ndash; Building My Own Chess Engine&lt;/li&gt;
&lt;li&gt;00:17:52 &amp;ndash; We Downloaded 10,000,000 Jupyter Notebooks From Github: This Is What We Learned&lt;/li&gt;
&lt;li&gt;00:28:12 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:20 &amp;ndash; Is Python Really a Bottleneck?&lt;/li&gt;
&lt;li&gt;00:34:01 &amp;ndash; Validating Data in Python With Cerberus&lt;/li&gt;
&lt;li&gt;00:39:04 &amp;ndash; NumPy Illustrated: The Visual Guide to NumPy&lt;/li&gt;
&lt;li&gt;00:42:54 &amp;ndash; erpnext: Free and Open Source Alternative to SAP&lt;/li&gt;
&lt;li&gt;00:48:49 &amp;ndash; numpy-stl: Library for Working With STL Files and 3D Objects&lt;/li&gt;
&lt;li&gt;00:54:54 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-data-engineer/&quot;&gt;What Is Data Engineering and Is It Right for You?&lt;/a&gt; — In this article, you&amp;rsquo;ll get an overview of the discipline of data engineering. You&amp;rsquo;ll learn what is and isn&amp;rsquo;t part of a data engineer&amp;rsquo;s job, who data engineers work with, and why data engineers play a crucial role in many industries.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://healeycodes.com/building-my-own-chess-engine/&quot;&gt;Building My Own Chess Engine&lt;/a&gt; — Writing your own chess engine is a great way to explore computational complexity and combinatorial aspects of programming. Not to mention it&amp;rsquo;s pretty fun! Follow along with this reflection on how one coder created his own Chess engine from scratch.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded-10-000-000-jupyter-notebooks-from-github-this-is-what-we-learned/&quot;&gt;We Downloaded 10,000,000 Jupyter Notebooks From Github: This Is What We Learned&lt;/a&gt; — The JetBrains Datalore team downloaded ten million Jupyter Notebooks and analyzed them to determine things like which languages were the most popular, what kinds of content are in notebook cells, and how consistently notebooks can be reproduced. It&amp;rsquo;s a fascinating look into trends in data science technology!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/is-python-really-a-bottleneck-786d063e2921&quot;&gt;Is Python Really a Bottleneck?&lt;/a&gt; — Python is slow. From one perspective, that is. But what are the true bottlenecks in the data engineering/data processing space, and how does Python compare to other technologies when those factors are considered?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hector.dev/2020/12/29/validating-data-in-python-with-cerberus.html&quot;&gt;Validating Data in Python With Cerberus&lt;/a&gt; — Thanks to an Advent of Code challenge, author Hector Castro was exposed to the Cerberus Python package for data validation. Get a quick introduction to Cerberus and see Hector&amp;rsquo;s solution to an Advent of Code challenge in this quick-yet-informative read.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/better-programming/numpy-illustrated-the-visual-guide-to-numpy-3b1d4976de1d&quot;&gt;NumPy Illustrated: The Visual Guide to NumPy&lt;/a&gt; — This illustrated guide to NumPy is a great way to learn NumPy or brush up on the package. Full of great visual aides, this tutorial covers all the basics and more!&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/frappe/erpnext&quot;&gt;erpnext: Free and Open Source Alternative to SAP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/WoLpH/numpy-stl&quot;&gt;numpy-stl: Library for Working With STL Files and 3D Objects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://davidepstein.com/the-range/&quot;&gt;Range - Why Generalists Triumph In a Specialized World: David Epstein&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Shannon_number#Shannon&#x27;s_calculation&quot;&gt;Shannon number: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/sharifshameem/status/1344246374737399808&quot;&gt;Apple&amp;rsquo;s open source chess engine minimum response times: Twitter thread&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://adventofcode.com/2020/about&quot;&gt;Advent of Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pyeve/cerberus&quot;&gt;cerberus: Lightweight and Extensible Data Validation Library for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Cerberus&quot;&gt;Cerberus - Greek Mythology: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jalammar.github.io/visual-numpy/&quot;&gt;A Visual Intro to NumPy and Data Representation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://micronote.tech/2020/12/Generating-STL-Models-with-Python/&quot;&gt;Generating STL Models With Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-rest-framework/&quot;&gt;Building HTTP APIs With Django REST Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E042_DavidandChris.ca429f17f0d3.mp3" type="audio/mpeg" length="40216787"/>
        <guid isPermaLink="false">9833f4f5-27eb-4fef-b69a-385853ac81c5</guid>
        <pubDate>Fri, 08 Jan 2021 12:00:00 +0000</pubDate>
        <itunes:duration>3341</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“What Is Data Engineering and Researching 10 Million Jupyter Notebooks”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>41</itunes:episode>
        <title>2020 Real Python Articles in Review</title>
        <itunes:title>2020 Real Python Articles in Review</itunes:title>
        <link>https://realpython.com/podcasts/rpp/41/</link>
        <description>It&#x27;s been quite the year! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also upgraded the site and membership with office hours, transcripts, this podcast, and much more. 

We are joined by two members of the Real Python team, David Amos and Joanna Jablonski. We wanted to share a year-end wrap-up with a collection of articles that showcase a diversity of Python topics and the quality of what our team created this year.</description>
        <content:encoded>&lt;p&gt;It&amp;rsquo;s been quite the year! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also upgraded the site and membership with office hours, transcripts, this podcast, and much more. &lt;/p&gt;
&lt;p&gt;We are joined by two members of the Real Python team, David Amos and Joanna Jablonski. We wanted to share a year-end wrap-up with a collection of articles that showcase a diversity of Python topics and the quality of what our team created this year.&lt;/p&gt;
&lt;p&gt;Joanna and David help to shepherd articles through the multi-stage editing process. They make sure articles not only impart crucial Python knowledge but also provide a thorough didactic experience.&lt;/p&gt;
&lt;p&gt;We hope you enjoy this review and as a programming note, there won&amp;rsquo;t be an episode next week, but we will be back the following week, and look forward to bringing you a year full of great guests, topics, articles, and projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-turtle-beginners/&quot;&gt;Python Turtle for Beginners&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn the basics of Python programming with the help of a simple and interactive Python library called turtle. If you&amp;rsquo;re a beginner to Python, then this tutorial will definitely help you on your journey as you take your first steps into the world of programming.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:41 &amp;ndash; Joanna visits the show&lt;/li&gt;
&lt;li&gt;00:04:28 &amp;ndash; Pandas Project: Make a Gradebook With Python &amp;amp; Pandas&lt;/li&gt;
&lt;li&gt;00:07:18 &amp;ndash; Build Physical Projects With Python on the Raspberry Pi&lt;/li&gt;
&lt;li&gt;00:11:32 &amp;ndash; Python Practice Problems: Get Ready for Your Next Interview&lt;/li&gt;
&lt;li&gt;00:15:05 &amp;ndash; Data Version Control With Python and DVC&lt;/li&gt;
&lt;li&gt;00:19:02 &amp;ndash; What Are Python Wheels and Why Should You Care?&lt;/li&gt;
&lt;li&gt;00:22:57 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:23:58 &amp;ndash; Python import: Advanced Techniques and Tips&lt;/li&gt;
&lt;li&gt;00:26:33 &amp;ndash; Hands-On Linear Programming: Optimization With Python&lt;/li&gt;
&lt;li&gt;00:29:47 &amp;ndash; Customize the Django Admin With Python&lt;/li&gt;
&lt;li&gt;00:33:51 &amp;ndash; The Python return Statement: Usage and Best Practices&lt;/li&gt;
&lt;li&gt;00:36:12 &amp;ndash; Python GUI Programming With Tkinter&lt;/li&gt;
&lt;li&gt;00:46:47 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pandas-project-gradebook/&quot;&gt;Pandas Project: Make a Gradebook With Python &amp;amp; Pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-raspberry-pi/&quot;&gt;Build Physical Projects With Python on the Raspberry Pi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-practice-problems/&quot;&gt;Python Practice Problems: Get Ready for Your Next Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-version-control/&quot;&gt;Data Version Control With Python and DVC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wheels/&quot;&gt;What Are Python Wheels and Why Should You Care?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-import/&quot;&gt;Python import: Advanced Techniques and Tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/linear-programming-python/&quot;&gt;Hands-On Linear Programming: Optimization With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/customize-django-admin-python/&quot;&gt;Customize the Django Admin With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-return-statement/&quot;&gt;The Python return Statement: Usage and Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-tkinter/&quot;&gt;Python GUI Programming With Tkinter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Learning Paths Referenced:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/pandas-data-science/&quot;&gt;Pandas for Data Science: Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/python3-introduction/&quot;&gt;Introduction to Python: Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/python-interview/&quot;&gt;Ace Your Python Coding Interview: Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/django-web-development/&quot;&gt;Django for Web Development: Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/pyqt-gui-programming/&quot;&gt;GUI Programming With PyQt: Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/python-basics-book/&quot;&gt;Python Basics Book: Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/learning-paths/data-collection-storage/&quot;&gt;Data Collection &amp;amp; Storage: Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Podcast Episodes Referenced:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/21/&quot;&gt;Episode 21: Exploring K-means Clustering and Building a Gradebook With Pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/13/&quot;&gt;Episode 13: PDFs in Python and Projects on the Raspberry Pi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/27/&quot;&gt;Episode 27: Preparing for an Interview With Python Practice Problems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/25/&quot;&gt;Episode 25: Data Version Control in Python and Real Python Video Transcripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/23/&quot;&gt;Episode 23: Python Wheels and Pass by Reference in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/24/&quot;&gt;Episode 24: Options for Packaging Your Python Application: Wheels, Docker, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/19/&quot;&gt;Episode 19: Advanced Python Import Techniques and Managing Users in Django&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/17/&quot;&gt;Episode 17: Linear Programming, PySimpleGUI, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/31/&quot;&gt;Episode 31: Python Return Statement Best Practices and Working With the map() Function&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/32/&quot;&gt;Episode 32: Our New &amp;ldquo;Python Basics&amp;rdquo; Book &amp;amp; Filling the Gaps in Your Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/team/jjablonski/&quot;&gt;About Joanna Jablonski: Real Python Team&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/office-hours-announcement/&quot;&gt;Real Python&amp;rsquo;s Office Hours: Learn With Python Experts in Real Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/lessons/office-hours-2020-09-09/&quot;&gt;Office Hours Archive - September 9, 2020 : Guest Jim Anderson&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-turtle-beginners/&quot;&gt;Python Turtle for Beginners&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E041_Year_End_Wrap_UP.f063908f23d1.mp3" type="audio/mpeg" length="34411282"/>
        <guid isPermaLink="false">604a8a53-a769-4517-821b-8ae1face4674</guid>
        <pubDate>Fri, 25 Dec 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2856</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@somacdivad, @Jo_Jablonski</rp:twitter-handles>
        <rp:twitter-title>“2020 Real Python Articles in Review” with @somacdivad, @Jo_Jablonski</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>40</itunes:episode>
        <title>How Python Manages Memory and Creating Arrays With np.linspace</title>
        <itunes:title>How Python Manages Memory and Creating Arrays With np.linspace</itunes:title>
        <link>https://realpython.com/podcasts/rpp/40/</link>
        <description>Have you wondered how Python manages memory? How are your variables stored in memory, and when do they get deleted? This week on the show, David Amos is here, and he has brought another batch of PyCoder&#x27;s Weekly articles and projects.

Along with the Real Python article on Python memory management, we also talk about another article about creating even and non-even spaced arrays in Python with np.linspace.</description>
        <content:encoded>&lt;p&gt;Have you wondered how Python manages memory? How are your variables stored in memory, and when do they get deleted? This week on the show, David Amos is here, and he has brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Along with the Real Python article on Python memory management, we also talk about another article about creating even and non-even spaced arrays in Python with np.linspace.&lt;/p&gt;
&lt;p&gt;We share an article titled &amp;ldquo;The Unholy Way of Using Virtual Environments&amp;rdquo;. This leads to a discussion on how to structure the directories around a virtual environment.&lt;/p&gt;
&lt;p&gt;We also cover several other articles and projects from the Python community including, storing a list in an int, why you should use an ORM (Object Relational Manager), unraveling &lt;code&gt;not&lt;/code&gt; in Python, an open-source Python fuzzer, and Python static website generators.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/how-python-manages-memory/&quot;&gt;How Python Manages Memory&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Get ready for a deep dive into the internals of Python to understand how it handles memory management. By the end of this course, you&amp;rsquo;ll know more about low-level computing, understand how Python abstracts lower-level operations, and find out about Python&amp;rsquo;s internal memory management algorithms.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:38 &amp;ndash; &lt;code&gt;np.linspace()&lt;/code&gt;: Create Evenly or Non-Evenly Spaced Arrays&lt;/li&gt;
&lt;li&gt;00:05:20 &amp;ndash; The Unholy Way of Using Virtual Environments&lt;/li&gt;
&lt;li&gt;00:17:33 &amp;ndash; Storing a list in an int&lt;/li&gt;
&lt;li&gt;00:24:48 &amp;ndash; Why Should You Use an ORM (Object Relational Mapper)?&lt;/li&gt;
&lt;li&gt;00:32:30 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:33:24 &amp;ndash; Unravelling not in Python&lt;/li&gt;
&lt;li&gt;00:40:03 &amp;ndash; How Python Manages Memory&lt;/li&gt;
&lt;li&gt;00:45:28 &amp;ndash; Follow-up from Jupylet&lt;/li&gt;
&lt;li&gt;00:46:51 &amp;ndash; Announcing the Atheris Python Fuzzer&lt;/li&gt;
&lt;li&gt;00:50:42 &amp;ndash; nikola: Static Website and Blog Generator&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/np-linspace-numpy/&quot;&gt;&lt;code&gt;np.linspace()&lt;/code&gt;: Create Evenly or Non-Evenly Spaced Arrays&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use NumPy&amp;rsquo;s &lt;code&gt;np.linspace()&lt;/code&gt; effectively to create an evenly or non-evenly spaced range of numbers. You&amp;rsquo;ll explore several practical examples of the function&amp;rsquo;s many uses in numerical applications.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bhupesh-v.github.io/the-unholy-way-of-using-virtual-environments/&quot;&gt;The Unholy Way of Using Virtual Environments&lt;/a&gt; &amp;ndash; If you&amp;rsquo;ve used virtual environments before, you may have created a &lt;code&gt;venv/&lt;/code&gt; folder inside the root directory of your project. This is standard, but has some downsides. Have you every thought about reversing this and putting your project inside your &lt;code&gt;venv/&lt;/code&gt; folder?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://iantayler.com/2020/12/07/storing-a-list-in-an-int/&quot;&gt;Storing a list in an int&lt;/a&gt; &amp;ndash; For a fun exercise, learn how you can leverage Python&amp;rsquo;s unlimited integer precision to encode and store lists of any size as a single integer. Because, why not?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://monadical.com/posts/why-use-orm.html&quot;&gt;Why Should You Use an ORM (Object Relational Mapper)?&lt;/a&gt; &amp;ndash; Budding web developers learning Model-View-Controller frameworks are taught that they should use an Object Relational Mapper (ORM) to interface with their databases. But the &amp;ldquo;why&amp;rdquo; is often brushed aside or omitted entirely, leaving a fledgling programmer with burning questions like &amp;ldquo;What are ORMs, anyway?&amp;rdquo; and &amp;ldquo;What problems do they solve?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://snarky.ca/unravelling-not-in-python/&quot;&gt;Unravelling &lt;code&gt;not&lt;/code&gt; in Python&lt;/a&gt; &amp;ndash; In the next blog post in his series about Python&amp;rsquo;s syntactic sugar, Brett Cannon tackles what would seem to be a very simple bit of syntax, but which actually requires diving into multiple layers to fully implement: &lt;code&gt;not&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/courses/how-python-manages-memory/&quot;&gt;How Python Manages Memory&lt;/a&gt; &amp;ndash; Get ready for a deep dive into the internals of Python to understand how it handles memory management. By the end of this course, you&amp;rsquo;ll know more about low-level computing, understand how Python abstracts lower-level operations, and find out about Python&amp;rsquo;s internal memory management algorithms.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://opensource.googleblog.com/2020/12/announcing-atheris-python-fuzzer.html&quot;&gt;Announcing the Atheris Python Fuzzer&lt;/a&gt; &amp;ndash; Get started with fuzzing, a technique for automatically finding bugs in Python code by repeatedly trying various inputs to your program, using Google&amp;rsquo;s newly open-sourced Python fuzzer called Atheris.&lt;/p&gt;
&lt;p&gt;Project Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jupylet.readthedocs.io/en/latest/programmers_reference_guide/getting_started.html&quot;&gt;Jupylet: Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/getnikola/nikola&quot;&gt;nikola: Static Website and Blog Generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/google/atheris&quot;&gt;atheris: Python Fuzzing Framework&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/numpy-array-programming/&quot;&gt;Look Ma, No For-Loops: Array Programming With NumPy: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html&quot;&gt;NumPy: &lt;code&gt;numpy.ndarray&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/effective-python-environment/#virtual-environments&quot;&gt;An Effective Python Environment: Making Yourself at Home: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/a-quick-and-dirty-guide-on-how-to-install-packages-for-python/&quot;&gt;A quick-and-dirty guide on how to install packages for Python: Brett Cannon&amp;rsquo;s blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-sqlite-sqlalchemy/&quot;&gt;Data Management With Python, SQLite, and SQLAlchemy: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlalchemy.org/&quot;&gt;SQLAlchemy: The Python SQL Toolkit and Object Relational Mapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.djangoproject.com/en/3.1/intro/tutorial01/&quot;&gt;Writing your first Django app: DjangoProject.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-memory-management/&quot;&gt;Memory Management in Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/reference/index.html&quot;&gt;The Python Language Reference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/c-api/memory.html?highlight=memory&quot;&gt;Memory Management: Python docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.getpelican.com/en/latest/&quot;&gt;Pelican: Static Site Generator, Written in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.getlektor.com/&quot;&gt;Lektor: Flexible and Powerful Static Content Management System&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-python-virtual-environments/&quot;&gt;Working With Python Virtual Environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-python-manages-memory/&quot;&gt;How Python Manages Memory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/numpy-arange/&quot;&gt;Using NumPy&amp;#x27;s np.arange() Effectively&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E040_DavidAndChris.c01ef7b3b9d6.mp3" type="audio/mpeg" length="41713543"/>
        <guid isPermaLink="false">48c1ef0d-46e5-4bbb-b72a-402cfe10caf8</guid>
        <pubDate>Fri, 18 Dec 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3466</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“How Python Manages Memory and Creating Arrays With np.linspace”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>39</itunes:episode>
        <title>Generators, Coroutines, and Learning Python Through Exercises</title>
        <itunes:title>Generators, Coroutines, and Learning Python Through Exercises</itunes:title>
        <link>https://realpython.com/podcasts/rpp/39/</link>
        <description>Have you started to use generators in Python? Are you unsure why you would even use one over a regular function? How do you use the special &quot;send&quot; method and the &quot;yield from&quot; syntax? This week on the show, we have Reuven Lerner to talk about his PyCon Africa 2020 talk titled &quot;Generators, coroutines, and nanoservices.&quot;</description>
        <content:encoded>&lt;p&gt;Have you started to use generators in Python? Are you unsure why you would even use one over a regular function? How do you use the special &amp;ldquo;send&amp;rdquo; method and the &amp;ldquo;yield from&amp;rdquo; syntax? This week on the show, we have Reuven Lerner to talk about his PyCon Africa 2020 talk titled &amp;ldquo;Generators, coroutines, and nanoservices.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Reuven helps developers around the world become more fluent in Python. We talk about some of his teaching techniques and also how he continues to learn. Reuven is a believer in the continued practice of Python through exercises. We discuss his book &amp;ldquo;Python Workout&amp;rdquo; and his Weekly Python Exercise courses.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-generators/&quot;&gt;Python Generators 101&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn about generators and yielding in Python. You&amp;rsquo;ll create generator functions and generator expressions using multiple Python yield statements. You&amp;rsquo;ll also learn how to build data pipelines that take advantage of these Pythonic tools.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:38 &amp;ndash; Reuven&amp;rsquo;s web site: Teaching Python and Data Science around the world&lt;/li&gt;
&lt;li&gt;00:03:39 &amp;ndash; Training remotely and screen-time overload&lt;/li&gt;
&lt;li&gt;00:07:03 &amp;ndash; Info-tainment and sparking engagement&lt;/li&gt;
&lt;li&gt;00:11:05 &amp;ndash; PyCon Africa 2020 - Generators, Coroutines, and Nanoservices&lt;/li&gt;
&lt;li&gt;00:13:34 &amp;ndash; Using dis() - disassembler for Python bytecode&lt;/li&gt;
&lt;li&gt;00:15:09 &amp;ndash; Exceptions as signals, not exclusively for errors&lt;/li&gt;
&lt;li&gt;00:17:39 &amp;ndash; What makes generator functions different?&lt;/li&gt;
&lt;li&gt;00:22:05 &amp;ndash; Using .send() and creating a coroutine &lt;/li&gt;
&lt;li&gt;00:23:39 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:24:40 &amp;ndash; Stopping the generator with .throw()&lt;/li&gt;
&lt;li&gt;00:26:28 &amp;ndash; Additional uses for generators&lt;/li&gt;
&lt;li&gt;00:30:03 &amp;ndash; Python Workout: 50 ten-minute exercises&lt;/li&gt;
&lt;li&gt;00:34:22 &amp;ndash; A combination of techniques and sources for continued learning&lt;/li&gt;
&lt;li&gt;00:40:15 &amp;ndash; Weekly Python Exercise&lt;/li&gt;
&lt;li&gt;00:42:02 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:43:08 &amp;ndash; Bachelor degree in CS, but a Doctorate in learning sciences&lt;/li&gt;
&lt;li&gt;00:48:26 &amp;ndash; What are additional techniques you use to keep learning?&lt;/li&gt;
&lt;li&gt;00:50:18 &amp;ndash; Teaching is a great way to keep learning&lt;/li&gt;
&lt;li&gt;00:51:28 &amp;ndash; What areas of data science are you focusing on?&lt;/li&gt;
&lt;li&gt;00:53:22 &amp;ndash; The Business of Freelancing: podcast&lt;/li&gt;
&lt;li&gt;00:56:26 &amp;ndash; What is something you thought you knew about Python, but were wrong about?&lt;/li&gt;
&lt;li&gt;00:59:24 &amp;ndash; What is something you are excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:02:18 &amp;ndash; Conferences and user groups&lt;/li&gt;
&lt;li&gt;01:05:03 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lerner.co.il/&quot;&gt;Teaching Python and Data Science around the world: Reuven&amp;rsquo;s Training Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lerner.co.il/newsletter/&quot;&gt;Reuven&amp;rsquo;s newsletter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://africa.pycon.org/speakers/reuven-m-lerner#talk&quot;&gt;Generators, Coroutines, and Nanoservices: Pycon Africa 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0255/&quot;&gt;PEP 255 &amp;ndash; Simple Generators: Python docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/introduction-to-python-generators/#how-to-use-send&quot;&gt;How to Use Generators and yield in Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/dis.html?highlight=dis#module-dis&quot;&gt;dis — Disassembler for Python bytecode: Python docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/c-api/exceptions.html?highlight=exception&quot;&gt;Exception Handling: Python docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/python-workout&quot;&gt;Python Workout : 50 ten-minute exercises - Manning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://store.lerner.co.il/wpe&quot;&gt;Weekly Python Exercise Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCgBncpylJ1kiVaPyP-PZauQ&quot;&gt;Luis Serrano: machine learning &amp;amp; math made easy - YouTube channel &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.businessoffreelancing.com/&quot;&gt;The Business of Freelancing: Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/29/&quot;&gt;RPP Episode 29: Resolving Package Dependencies With the New Version of Pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tools.simplysecure.org/survey/index.php?r=survey/index&amp;amp;sid=827389&amp;amp;lang=en&quot;&gt;Sign-up for pip UX Studies!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-generators/&quot;&gt;Python Generators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/speed-python-concurrency/&quot;&gt;Speed Up Python With Concurrency&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E039_Reuven.2591c210d32e.mp3" type="audio/mpeg" length="47589533"/>
        <guid isPermaLink="false">3651f9ec-e0ac-444b-ad56-0059977e7920</guid>
        <pubDate>Fri, 11 Dec 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3955</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@reuvenmlerner</rp:twitter-handles>
        <rp:twitter-title>“Generators, Coroutines, and Learning Python Through Exercises” with @reuvenmlerner</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>38</itunes:episode>
        <title>Looping With enumerate() and Python GUIs With PyQt</title>
        <itunes:title>Looping With enumerate() and Python GUIs With PyQt</itunes:title>
        <link>https://realpython.com/podcasts/rpp/38/</link>
        <description>If you&#x27;re coming to Python from a different language, you may not know about a useful tool for working with loops, Python&#x27;s built-in enumerate function. This week on the show, David Amos is here, and he has brought another batch of PyCoder&#x27;s Weekly articles and projects.

Along with the Real Python article covering the details of the enumerate function, we also talk about another article about constructing Python graphical user interface elements in PyQt.</description>
        <content:encoded>&lt;p&gt;If you&amp;rsquo;re coming to Python from a different language, you may not know about a useful tool for working with loops, Python&amp;rsquo;s built-in enumerate function. This week on the show, David Amos is here, and he has brought another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Along with the Real Python article covering the details of the enumerate function, we also talk about another article about constructing Python graphical user interface elements in PyQt.&lt;/p&gt;
&lt;p&gt;David shares a couple of resources for data scientists, including an article about skills not taught in data science boot camps, and a project for creating synthetic data.&lt;/p&gt;
&lt;p&gt;We also cover several other articles and projects from the Python community including, an update about youtubedl, hunting for malicious packages on PyPI, using Python&amp;rsquo;s bisect module, 73 examples to help you master f-strings, and game programming in Jupyter notebooks.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/formatting-python-strings/&quot;&gt;Formatting Python Strings&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll see two items to add to your Python string formatting toolkit. You&amp;rsquo;ll learn about Python&amp;rsquo;s string format method and the formatted string literal, or f-string. You&amp;rsquo;ll learn about these formatting techniques in detail and add them to your Python string formatting toolkit.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:53 &amp;ndash; The youtube-dl Repository Has Been Restored on GitHub With Help From the Electronic Frontier Foundation&lt;/li&gt;
&lt;li&gt;00:04:12 &amp;ndash; Python enumerate(): Simplify Looping With Counters&lt;/li&gt;
&lt;li&gt;00:07:24 &amp;ndash; Hunting for Malicious Packages on PyPI&lt;/li&gt;
&lt;li&gt;00:14:31 &amp;ndash; Sponsor: Scout APM&lt;/li&gt;
&lt;li&gt;00:15:31 &amp;ndash; Using Python&amp;rsquo;s bisect module&lt;/li&gt;
&lt;li&gt;00:19:00 &amp;ndash; 73 Examples to Help You Master Python&amp;rsquo;s f-Strings&lt;/li&gt;
&lt;li&gt;00:21:35 &amp;ndash; 10 Python Skills They Don&amp;rsquo;t Teach in Bootcamp&lt;/li&gt;
&lt;li&gt;00:27:32 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:28 &amp;ndash; Python and PyQt: Creating Menus, Toolbars, and Status Bars&lt;/li&gt;
&lt;li&gt;00:33:51 &amp;ndash; SDV: Synthetic Data Generation for Tabular, Relational, Time Series Data&lt;/li&gt;
&lt;li&gt;00:38:19 &amp;ndash; jupylet: Game Programming in Jupyter Notebooks&lt;/li&gt;
&lt;li&gt;00:42:59 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/Python/comments/jvbqzc/the_youtubedl_repository_has_been_restored_on/&quot;&gt;The youtube-dl Repository Has Been Restored on GitHub With Help From the Electronic Frontier Foundation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-enumerate/&quot;&gt;Python enumerate(): Simplify Looping With Counters&lt;/a&gt; &amp;ndash; Once you learn about for loops in Python, you know that using an index to access items in a sequence isn&amp;rsquo;t very Pythonic. So what do you do when you need that index value? In this tutorial, you&amp;rsquo;ll learn all about Python&amp;rsquo;s built-in enumerate(), where it&amp;rsquo;s used, and how you can emulate its behavior.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://jordan-wright.com/blog/post/2020-11-12-hunting-for-malicious-packages-on-pypi/&quot;&gt;Hunting for Malicious Packages on PyPI&lt;/a&gt; &amp;ndash; Jordan Wright installed every package on PyPI to look for malicious content. And he didn&amp;rsquo;t just inspect code, he actually &lt;em&gt;ran&lt;/em&gt; the packages. Brave soul! Learn how he set-up this project and what he learned on his adventure.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://johnlekberg.com/blog/2020-11-21-stdlib-bisect.html&quot;&gt;Using Python&amp;rsquo;s bisect module&lt;/a&gt; &amp;ndash; Python&amp;rsquo;s bisect module has tools for searching and inserting values into sorted lists. It&amp;rsquo;s one of his &amp;ldquo;batteries-included&amp;rdquo; features that often gets overlooked, but can be a great tool for optimizing certain kinds of code.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://miguendes.me/amp/73-examples-to-help-you-master-pythons-f-strings&quot;&gt;73 Examples to Help You Master Python&amp;rsquo;s f-Strings&lt;/a&gt; &amp;ndash; f-Strings might be one of the most beloved features in Python 3.6+. Here are 73 examples of how to use f-strings to improve your Python code.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/10-python-skills-419e5e4c4d66&quot;&gt;10 Python Skills They Don&amp;rsquo;t Teach in Bootcamp&lt;/a&gt; &amp;ndash; Here are ten practical and little-known pandas tips to help you take your skills to the next level.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-menus-toolbars/&quot;&gt;Python and PyQt: Creating Menus, Toolbars, and Status Bars&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how to create, customize, and use Python menus, toolbars, and status bars for creating GUI applications using PyQt.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/nir/jupylet&quot;&gt;jupylet: Game Programming in Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sdv-dev/SDV&quot;&gt;SDV: Synthetic Data Generation for Tabular, Relational, Time Series Data&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pyqt-gui-calculator/&quot;&gt;Python and PyQt: Building a GUI Desktop Calculator - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pyqt-layout/&quot;&gt;PyQt Layouts: Create Professional-Looking GUI Applications - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pyqt-database/&quot;&gt;Handling SQL Databases With PyQt: The Basics - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://towardsdatascience.com/synthetic-data-vault-sdv-a-python-library-for-dataset-modeling-b48c406e7398&quot;&gt;Synthetic Data Vault (SDV): A Python Library for Dataset Modeling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/7/&quot;&gt;RPP - Episode 7: AsyncIO + Music, Origins of Black, and Managing Python Releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/formatting-python-strings/&quot;&gt;Formatting Python Strings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-write-pythonic-loops/&quot;&gt;How to Write Pythonic Loops&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E038_David_and_Chris.7d9606c8bebc.mp3" type="audio/mpeg" length="31702414"/>
        <guid isPermaLink="false">a43c3955-e823-46ad-92a6-ad34bd91db2e</guid>
        <pubDate>Fri, 04 Dec 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2631</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Looping With enumerate() and Python GUIs With PyQt”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>37</itunes:episode>
        <title>Teaching Python and Finding Resources for Students</title>
        <itunes:title>Teaching Python and Finding Resources for Students</itunes:title>
        <link>https://realpython.com/podcasts/rpp/37/</link>
        <description>One of the best ways to learn something well is to teach it. This week on the show, we have Kelly Schuster-Paredes and Sean Tibor from the Teaching Python podcast.

Sean and Kelly teach middle school students Python and share their art and science of teaching Python on their podcast. They wanted to come on the show to talk about the Real Python articles, quizzes, and other resources they use when teaching their students.</description>
        <content:encoded>&lt;p&gt;One of the best ways to learn something well is to teach it. This week on the show, we have Kelly Schuster-Paredes and Sean Tibor from the Teaching Python podcast.&lt;/p&gt;
&lt;p&gt;Sean and Kelly teach middle school students Python and share their art and science of teaching Python on their podcast. They wanted to come on the show to talk about the Real Python articles, quizzes, and other resources they use when teaching their students.&lt;/p&gt;
&lt;p&gt;We also talk about teaching students how to research topics and use things like advanced search with Google. We discuss using cloud-based tools like collaborative notebooks and some of the core Python concepts students need for a solid foundation.&lt;/p&gt;
&lt;p&gt;Kelly and Sean also talk about how the changes to teaching over the past year have had some unexpected benefits. They also talk about a few recent guests and topics covered on their podcast.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-data-types/&quot;&gt;Basic Data Types in Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn the basic data types that are built into Python, like numbers, strings, and Booleans. You&amp;rsquo;ll also get an overview of Python&amp;rsquo;s built-in functions.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:17 &amp;ndash; Why did you pick Python for the curriculum?&lt;/li&gt;
&lt;li&gt;00:05:48 &amp;ndash; Is there a particular IDE or editor you use when teaching?&lt;/li&gt;
&lt;li&gt;00:07:35 &amp;ndash; Is it helpful using cloud based tools with students?&lt;/li&gt;
&lt;li&gt;00:10:02 &amp;ndash; What Real Python resources are you using in the classroom?&lt;/li&gt;
&lt;li&gt;00:11:48 &amp;ndash; Using Google to find good resources&lt;/li&gt;
&lt;li&gt;00:18:31 &amp;ndash; Sponsor: Linode&lt;/li&gt;
&lt;li&gt;00:19:16 &amp;ndash; Other Real Python materials&lt;/li&gt;
&lt;li&gt;00:27:58 &amp;ndash; What video content works with students?&lt;/li&gt;
&lt;li&gt;00:30:33 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:30 &amp;ndash; Recent topics and guests on Teaching Python&lt;/li&gt;
&lt;li&gt;00:34:39 &amp;ndash; Are code samples helpful when teaching?&lt;/li&gt;
&lt;li&gt;00:37:06 &amp;ndash; Using long form tutorials to demonstrate their learning&lt;/li&gt;
&lt;li&gt;00:40:00 &amp;ndash; What are you excited about in the world of Python (Sean)?&lt;/li&gt;
&lt;li&gt;00:41:02 &amp;ndash; What do you want to learn next (Sean)? &lt;/li&gt;
&lt;li&gt;00:41:57 &amp;ndash; What are you excited about in the world of Python (Kelly)?&lt;/li&gt;
&lt;li&gt;00:45:28 &amp;ndash; What do you want to learn next (Kelly)? &lt;/li&gt;
&lt;li&gt;00:46:59 &amp;ndash; Other considerations in selecting Python over Javascript or Swift&lt;/li&gt;
&lt;li&gt;00:48:50 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm/&quot;&gt;Teaching Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm/44&quot;&gt;Communicating With Video For Effective Learning: E44 Teaching Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codewith.mu/&quot;&gt;Code with Mu: a simple Python editor for beginner programmers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://colab.research.google.com/notebooks/intro.ipynb&quot;&gt;Welcome To Colaboratory: Google Colaboratory&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/pycharm/&quot;&gt;PyCharm: The Python IDE for Professional Developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Microsoft Visual Studio Code: Open Source IDE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-comments-guide/&quot;&gt;Writing Comments in Python (Guide): Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.google.com/advanced_search&quot;&gt;Google Advanced Search&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.google.com/advanced_image_search&quot;&gt;Google Advanced Image Search&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/beginners-guide-python-turtle/&quot;&gt;The Beginner&amp;rsquo;s Guide to Python Turtle: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-types/&quot;&gt;Basic Data Types in Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/quizzes/&quot;&gt;Python Quizzes: Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/sentdex/featured&quot;&gt;sentdex: YouTube channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python: Real Python video course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm/52&quot;&gt;Teaching the Full Stack with Ali Spittel (@alispittel): E52 Teaching Python &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm/54&quot;&gt;Making Projects Happen with Eric Matthes (@ehmatthes): E54 Teaching Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/traditional-face-detection-python/&quot;&gt;Traditional Face Detection With Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/simpy-simulating-with-python/&quot;&gt;SimPy: Simulating Real-World Processes With Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-mock-library/&quot;&gt;Understanding the Python Mock Object Library: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://djangogirls.org/&quot;&gt;Django Girls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/beyond-basic-stuff-python&quot;&gt;Beyond the Basic Stuff with Python - Al Sweigart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/33/&quot;&gt;Going Beyond the Basic Stuff With Python and Al Sweigart: E33 Real Python Podcast&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm/53&quot;&gt;Developing for Mobile, the Web, and Desktop with Russell Keith-Magee (@freakboy3742): E53 Teaching Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/22/&quot;&gt;Create Cross-Platform Python GUI Apps With BeeWare: E22 Real Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/&quot;&gt;BeeWare: Write once. Deploy everywhere.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-comments-python/&quot;&gt;Writing Comments in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-data-types/&quot;&gt;Exploring Basic Data Types in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E037_Kelly_and_Sean.35b9d7ca7604.mp3" type="audio/mpeg" length="36074985"/>
        <guid isPermaLink="false">7cc6e913-768c-4a58-8fe0-c0ed3308a53b</guid>
        <pubDate>Fri, 27 Nov 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2996</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@smtibor, @KellyPared</rp:twitter-handles>
        <rp:twitter-title>“Teaching Python and Finding Resources for Students” with @smtibor, @KellyPared</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>36</itunes:episode>
        <title>Sentiment Analysis, Fourier Transforms, and More Python Data Science</title>
        <itunes:title>Sentiment Analysis, Fourier Transforms, and More Python Data Science</itunes:title>
        <link>https://realpython.com/podcasts/rpp/36/</link>
        <description>Are you interested in learning more about Natural Language Processing? Have you heard of sentiment analysis? This week on the show, Kyle Stratis returns to talk about his new article titled, Use Sentiment Analysis With Python to Classify Movie Reviews. David Amos is also here, and all of us cover another batch of PyCoder’s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you interested in learning more about Natural Language Processing? Have you heard of sentiment analysis? This week on the show, Kyle Stratis returns to talk about his new article titled, Use Sentiment Analysis With Python to Classify Movie Reviews. David Amos is also here, and all of us cover another batch of PyCoder’s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;Kyle discusses an article about distance metrics for machine learning. David shares a Real Python article about Python signal processing and Fourier transforms with scipy.fft. We also cover several other articles and projects from the Python community including, simulating real-world processes in Python with SimPy, working with Microsoft Excel using Python and OpenPyXL, why running code during import is a bad idea, what I wish I knew as a junior dev, the Raspberry Pi 400 personal computer, dynamic sky replacement and harmonization in videos with SkyAR.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/simulating-processes-simpy/&quot;&gt;Simulating Real-World Processes in Python With SimPy&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll see how you can use the SimPy package to model real-world processes with a high potential for congestion. You&amp;rsquo;ll create an algorithm to approximate a complex system, and then you&amp;rsquo;ll design and run a simulation of that system in Python.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:56 &amp;ndash; Use Sentiment Analysis With Python to Classify Movie Reviews&lt;/li&gt;
&lt;li&gt;00:09:49 &amp;ndash; OpenPyXL: Working with Microsoft Excel Using Python&lt;/li&gt;
&lt;li&gt;00:12:41 &amp;ndash; An Illustration of Why Running Code During Import Is a Bad Idea&lt;/li&gt;
&lt;li&gt;00:16:52 &amp;ndash; Distance Metrics for Machine Learning&lt;/li&gt;
&lt;li&gt;00:22:52 &amp;ndash; Sponsor: linode.com&lt;/li&gt;
&lt;li&gt;00:22:52 &amp;ndash; What I Wish I Knew as a Junior Dev&lt;/li&gt;
&lt;li&gt;00:35:29 &amp;ndash; Fourier Transforms With scipy.fft: Python Signal Processing&lt;/li&gt;
&lt;li&gt;00:39:44 &amp;ndash; Simulating Real-World Processes in Python With SimPy&lt;/li&gt;
&lt;li&gt;00:43:30 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:35 &amp;ndash; Raspberry Pi 400 Personal Computer Kit Now Available&lt;/li&gt;
&lt;li&gt;00:49:55 &amp;ndash; SkyAR: Dynamic Sky Replacement and Harmonization in Videos&lt;/li&gt;
&lt;li&gt;00:52:04 &amp;ndash; Creating an Idea Factory with Roam Research&lt;/li&gt;
&lt;li&gt;00:56:02 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/sentiment-analysis-python/&quot;&gt;Use Sentiment Analysis With Python to Classify Movie Reviews&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about sentiment analysis and how it works in Python. You&amp;rsquo;ll then build your own sentiment analysis classifier with spaCy that can predict whether a movie review is positive or negative.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/2020/11/03/openpyxl-working-with-microsoft-excel-using-python/&quot;&gt;OpenPyXL: Working with Microsoft Excel Using Python&lt;/a&gt; &amp;ndash; Ah, Excel. Everyone loves to hate it. But let&amp;rsquo;s face it. Excel is one of the most popular pieces of software ever written. But you love Python, not Excel, which is why you might want to learn OpenPyXL.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://utcc.utoronto.ca/~cks/space/blog/python/ImportTimeCodeStall&quot;&gt;An Illustration of Why Running Code During Import Is a Bad Idea (And How It Happens Anyway)&lt;/a&gt; &amp;ndash; Code that runs when a module is imported is usually a code smell. But sometimes there&amp;rsquo;s no way around it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://aigents.co/blog/publication/distance-metrics-for-machine-learning&quot;&gt;Distance Metrics for Machine Learning&lt;/a&gt; &amp;ndash; Many machine learning algorithms can be summarized as transforming data to n-dimensional vectors and computing similarity between points by means of some distance metric. This article explores four of these metrics&amp;mdash;the Euclidean, Manhattan, Minkowski, and Hamming distances&amp;mdash;and how to compute them with Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.freecodecamp.org/news/lessons-learned-after-11-years-coding/&quot;&gt;What I Wish I Knew as a Junior Dev&lt;/a&gt; &amp;ndash; Some of these are things even senior devs need to be reminded of sometimes!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-scipy-fft/&quot;&gt;Fourier Transforms With scipy.fft: Python Signal Processing&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to use the Fourier transform, a powerful tool for analyzing signals with applications ranging from audio processing to image compression. You&amp;rsquo;ll explore several different transforms provided by Python&amp;rsquo;s scipy.fft module.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simulating-processes-simpy/&quot;&gt;Simulating Real-World Processes in Python With SimPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.raspberrypi.org/products/raspberry-pi-400/&quot;&gt;Raspberry Pi 400 Personal Computer Kit Now Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jiupinjia/SkyAR&quot;&gt;SkyAR: Dynamic Sky Replacement and Harmonization in Videos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/10/&quot;&gt;Python Job Hunting in a Pandemic: RPP Episode 10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Natural_language_processing&quot;&gt;Natural language processing: Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spacy.io/&quot;&gt;spaCy: Industrial-Strength Natural Language Processing in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/natural-language-processing-spacy-python/&quot;&gt;Natural Language Processing With spaCy in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nltk.org/&quot;&gt;Natural Language Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/20/&quot;&gt;Building PDFs in Python with ReportLab: RPP Episode 20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.blog.pythonlibrary.org/&quot;&gt;Mouse vs Python: Mike Driscoll Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leanpub.com/py101&quot;&gt;Python 101: 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://openpyxl.readthedocs.io/en/stable/&quot;&gt;openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fs.blog/how-to-read-a-book/&quot;&gt;How to Read a Book: The Ultimate Guide by Mortimer Adler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-history.blogspot.com/2010/06/import-antigravity.html&quot;&gt;import antigravity: The History of Python Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://durmonski.com/book-summaries/how-to-take-smart-notes/&quot;&gt;How to Take Smart Notes by Sönke Ahrens - Summary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCDM8HSaX0uoGCpUwQbQL58Q&quot;&gt;Kyle Stratis&amp;rsquo; YouTube Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=kbjltXm64v8&amp;amp;t=12s&quot;&gt;Creating an Idea Factory with Roam Research&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/simulating-processes-simpy/&quot;&gt;Simulating Real-World Processes in Python With SimPy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E036_Kyle_David_Chris2.5dcf1ba15664.mp3" type="audio/mpeg" length="41294134"/>
        <guid isPermaLink="false">790c79a1-4721-4dff-b76a-b3d6c5ef7018</guid>
        <pubDate>Fri, 20 Nov 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3430</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@kylestratis</rp:twitter-handles>
        <rp:twitter-title>“Sentiment Analysis, Fourier Transforms, and More Python Data Science” with @kylestratis</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>35</itunes:episode>
        <title>Security and Authorization in Your Python Web Applications</title>
        <itunes:title>Security and Authorization in Your Python Web Applications</itunes:title>
        <link>https://realpython.com/podcasts/rpp/35/</link>
        <description>So you built a web application in Python. Now how are you going to authorize users? Security goes beyond authentication. Who gets to do what, where, and when? This week on the show, we have Sam Scott, chief technology officer from Oso. Oso is an open-source policy engine for authorization that you embed in your application.</description>
        <content:encoded>&lt;p&gt;So you built a web application in Python. Now how are you going to authorize users? Security goes beyond authentication. Who gets to do what, where, and when? This week on the show, we have Sam Scott, chief technology officer from Oso. Oso is an open-source policy engine for authorization that you embed in your application.&lt;/p&gt;
&lt;p&gt;Sam talks about the typical security and authorization challenges developers face. He discusses building an engine on top of your existing Flask or Django app.  We cover the concept of policies, business logic, and some common paradigms.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/exploring-https-cryptography/&quot;&gt;Exploring HTTPS and Cryptography in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll gain a working knowledge of the various factors that combine to keep communications over the Internet safe. You&amp;rsquo;ll see concrete examples of how to keep information secure and use cryptography to build your own Python HTTPS application.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:32 &amp;ndash; Sam&amp;rsquo;s math background&lt;/li&gt;
&lt;li&gt;00:03:11 &amp;ndash; What is Sage?&lt;/li&gt;
&lt;li&gt;00:04:24 &amp;ndash; What is post-quantum cryptography?&lt;/li&gt;
&lt;li&gt;00:05:19 &amp;ndash; Getting Oso started, authentication vs authorization.&lt;/li&gt;
&lt;li&gt;00:10:01 &amp;ndash; What is a policy engine?&lt;/li&gt;
&lt;li&gt;00:12:57 &amp;ndash; Confusing business logic with authorization&lt;/li&gt;
&lt;li&gt;00:17:09 &amp;ndash; Sponsor: Techmeme Ride Home Podcast&lt;/li&gt;
&lt;li&gt;00:17:38 &amp;ndash; Pip installing Oso, adding to Flask or Django&lt;/li&gt;
&lt;li&gt;00:21:15 &amp;ndash; What are common security concerns for developers?&lt;/li&gt;
&lt;li&gt;00:25:41 &amp;ndash; What are security concerns users have?&lt;/li&gt;
&lt;li&gt;00:27:14 &amp;ndash; What are the worst security issues you&amp;rsquo;ve found in a Python app?&lt;/li&gt;
&lt;li&gt;00:30:12 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:31:32 &amp;ndash; What are other common authorization &amp;ldquo;gotchas&amp;rdquo;?&lt;/li&gt;
&lt;li&gt;00:37:16 &amp;ndash; Additional Oso resources&lt;/li&gt;
&lt;li&gt;00:39:36 &amp;ndash; What does writing in Polar look like?&lt;/li&gt;
&lt;li&gt;00:42:00 &amp;ndash; Are there authorization paradigms?&lt;/li&gt;
&lt;li&gt;00:46:02 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:50:05 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:50:49 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/osoHQ&quot;&gt;oso on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/samososos&quot;&gt;Sam on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osohq.com/&quot;&gt;oso: an open source policy engine for authorization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.osohq.com/using/frameworks/django.html&quot;&gt;oso Django Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.osohq.com/using/frameworks/flask.html&quot;&gt;oso Flask Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.osohq.com/using/libraries/python/index.html&quot;&gt;oso Python Library Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/osohq/oso/tree/main/languages/python/oso&quot;&gt;oso Source Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.osohq.com/more/dev-tools/debugger.html&quot;&gt;oso Debugger Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osohq.com/post/authorization-flask-oso&quot;&gt;Adding authorization to your Flask app with oso: oso blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osohq.com/post/django-access-control&quot;&gt;Building a Django app with data access controls in 30 min: oso blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osohq.com/post/django-list-view&quot;&gt;Generating Django Queryset filters from oso policies: oso blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osohq.com/post/polar-adventure&quot;&gt;Polar Adventure: a text-based adventure game written in Polar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.osohq.com/post/sf-python-meetup-access-controls-django&quot;&gt;Lighting talk on access controls: oso blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sagemath.org&quot;&gt;SageMath: A free open-source mathematics software system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Post-quantum_cryptography&quot;&gt;Post-quantum cryptography: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.explainxkcd.com/wiki/index.php/327:_Exploits_of_a_Mom&quot;&gt;327: Exploits of a Mom : XKCD Comic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.explainxkcd.com/wiki/index.php/Little_Bobby_Tables&quot;&gt;Little Bobby Tables: Explain XKCD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io/&quot;&gt;Snyk: Developer-first Cloud Native Application Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python.geekle.us/&quot;&gt;Geekle&amp;rsquo;s python Universe WEB Edition: 19 November 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;WebAssembly(WASM)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/exploring-https-cryptography/&quot;&gt;Exploring HTTPS and Cryptography in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-google-login-flask/&quot;&gt;Using Google Login With Flask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E035_Sam_Scott_Oso.8bb6c63ea7e1.mp3" type="audio/mpeg" length="37327547"/>
        <guid isPermaLink="false">b7cf35d7-88c8-4e83-8175-d9fb1cd70668</guid>
        <pubDate>Fri, 13 Nov 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3100</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@samososos</rp:twitter-handles>
        <rp:twitter-title>“Security and Authorization in Your Python Web Applications” with @samososos</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>34</itunes:episode>
        <title>The Python Modulo Operator &amp; Managing Data With SQLite and SQLAlchemy</title>
        <itunes:title>The Python Modulo Operator &amp; Managing Data With SQLite and SQLAlchemy</itunes:title>
        <link>https://realpython.com/podcasts/rpp/34/</link>
        <description>Are you ready to move beyond flat files for your data in Python? Maybe you&#x27;re not sure where to start with databases and SQL. This week on the show, David Amos returns with another batch of PyCoder’s Weekly articles and projects. We cover a Real Python article about managing data with SQLite and SQLAlchemy.</description>
        <content:encoded>&lt;p&gt;Are you ready to move beyond flat files for your data in Python? Maybe you&amp;rsquo;re not sure where to start with databases and SQL. This week on the show, David Amos returns with another batch of PyCoder’s Weekly articles and projects. We cover a Real Python article about managing data with SQLite and SQLAlchemy.&lt;/p&gt;
&lt;p&gt;David explores the intricacies of using the modulo operator (%). We also cover several other articles and projects from the Python community including, how to shoot yourself in the foot with python, exploring fractals on a cloud computer, the DMCA takedown request for youtube-dl, python for feature film, an online multiplayer text-based game framework, and a sorting algorithms visualizer.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn about libraries that can be used for playing and recording sound in Python, such as PyAudio and python-sounddevice. You&amp;rsquo;ll also see code snippets for playing and recording sound files and arrays, as well as for converting between different sound file formats.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:35 &amp;ndash; How to Shoot Yourself in the Foot With Python, Part 1&lt;/li&gt;
&lt;li&gt;00:11:31 &amp;ndash; Data Management With Python, SQLite, and SQLAlchemy&lt;/li&gt;
&lt;li&gt;00:19:00 &amp;ndash; Sponsor: Techmeme Ride Home Podcast&lt;/li&gt;
&lt;li&gt;00:19:29 &amp;ndash; Exploring Fractals on a Cloud Computer&lt;/li&gt;
&lt;li&gt;00:23:28 &amp;ndash; The youtube-dl GitHub Repo Has Received a DMCA Takedown Request From the RIAA&lt;/li&gt;
&lt;li&gt;00:29:09 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:12 &amp;ndash; Python Modulo in Practice: How to Use the % Operator&lt;/li&gt;
&lt;li&gt;00:36:29 &amp;ndash; Python For Feature Film&lt;/li&gt;
&lt;li&gt;00:44:01 &amp;ndash; evennia: Online Multiplayer Text-Based Game Framework&lt;/li&gt;
&lt;li&gt;00:47:11 &amp;ndash; Sorting-Algorithms-Visualizer: See How Sorting Algorithm Works With Pygame&lt;/li&gt;
&lt;li&gt;00:51:55 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://miguendes.me/how-to-shoot-yourself-in-the-foot-with-python-part-1&quot;&gt;How to Shoot Yourself in the Foot With Python, Part 1&lt;/a&gt; &amp;ndash;  If you&amp;rsquo;re new to Python, you might find yourself confused by some of the situations described in this article. Learn about five mistakes you could make, why they happen, and how to fix them.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-sqlite-sqlalchemy/&quot;&gt;Data Management With Python, SQLite, and SQLAlchemy&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ehmatthes.com/blog/cloud_fractal/&quot;&gt;Exploring Fractals on a Cloud Computer&lt;/a&gt; &amp;ndash; Fractals might be some of the most interesting mathematical structures to study and to visualize. Learn what fractals are and how to create beautiful fractal animations with Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://old.reddit.com/r/Python/comments/jgvqa9/the_youtubedl_github_repo_has_received_a_dmca/&quot;&gt;The youtube-dl GitHub Repo Has Received a DMCA Takedown Request From the RIAA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-modulo-operator/&quot;&gt;Python Modulo in Practice: How to Use the % Operator&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about the Python modulo operator (%). You&amp;rsquo;ll look at the mathematical concepts behind the modulo operation and how the modulo operator is used with Python&amp;rsquo;s numeric types. You&amp;rsquo;ll also see ways to use the modulo operator in your own code.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.gfx.dev/python-for-feature-film&quot;&gt;Python For Feature Film&lt;/a&gt; &amp;ndash; A look into how Python is used to bring your favorite movies to the big screen.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/evennia/evennia&quot;&gt;evennia: Online Multiplayer Text-Based Game Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/LucasPilla/Sorting-Algorithms-Visualizer&quot;&gt;Sorting-Algorithms-Visualizer: See How Sorting Algorithm Works With Pygame&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/6/&quot;&gt;Python REST APIs and The Well-Grounded Python Developer: Doug Farrell Ep06: &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy: Real Python series&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Maya-Scripting/files/GUID-C0F27A50-3DD6-454C-A4D1-9E3C44B3C990-htm.html&quot;&gt;Python in Maya: Autodesk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Maya-Scripting/files/GUID-55B63946-CDC9-42E5-9B6E-45EE45CFC7FC-htm.html&quot;&gt;Using Python - Maya: Autodesk Knowledge Network&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/1185/&quot;&gt;Ineffective Sorts - xkcd comic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/buckley-w-david/stacksort&quot;&gt;stacksort - StackSort connects to StackOverflow, searches for &amp;lsquo;sort a list&amp;rsquo;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/playing-and-recording-sound-python/&quot;&gt;Playing and Recording Sound in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-and-writing-csv-files/&quot;&gt;Reading and Writing CSV Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E034_David_and_Chris.6d35651b2af5.mp3" type="audio/mpeg" length="38137763"/>
        <guid isPermaLink="false">f66cf455-125f-4801-b450-1bcd78a76a4e</guid>
        <pubDate>Fri, 06 Nov 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3168</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“The Python Modulo Operator &amp; Managing Data With SQLite and SQLAlchemy”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>33</itunes:episode>
        <title>Going Beyond the Basic Stuff With Python and Al Sweigart</title>
        <itunes:title>Going Beyond the Basic Stuff With Python and Al Sweigart</itunes:title>
        <link>https://realpython.com/podcasts/rpp/33/</link>
        <description>You probably have heard of the bestselling Python book, &quot;Automate the Boring Stuff with Python.&quot;  What are the next steps after starting to dabble in the Python basics? Maybe you&#x27;ve completed some tutorials, created a few scripts, and automated repetitive tasks in your life. This week on the show, we have author Al Sweigart to talk about his new book, &quot;Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code.&quot;</description>
        <content:encoded>&lt;p&gt;You probably have heard of the bestselling Python book, &amp;ldquo;Automate the Boring Stuff with Python.&amp;rdquo;  What are the next steps after starting to dabble in the Python basics? Maybe you&amp;rsquo;ve completed some tutorials, created a few scripts, and automated repetitive tasks in your life. This week on the show, we have author Al Sweigart to talk about his new book, &amp;ldquo;Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We discuss several topics covered in his new book, including using the command line, setting environment variables, formatting code, naming, and starting with version control. We talk about learning Python by creating games and highlight a couple of Python myths. I also ask Al about his earlier books, and about his idea of creating a curriculum around conference talks.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll get a Python-centric introduction to character encodings and Unicode. Handling character encodings and numbering systems can at times seem painful and complicated, but this guide is here to help with easy-to-follow Python examples.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:35 &amp;ndash; Early access release of the new book&lt;/li&gt;
&lt;li&gt;00:03:20 &amp;ndash; Other books Al has written&lt;/li&gt;
&lt;li&gt;00:09:54 &amp;ndash; Automate the Boring Stuff as an advice book&lt;/li&gt;
&lt;li&gt;00:15:29 &amp;ndash; Books about writing Python with games&lt;/li&gt;
&lt;li&gt;00:17:36 &amp;ndash; Making a book less intimidating&lt;/li&gt;
&lt;li&gt;00:19:10 &amp;ndash; Helping readers through random things a programmer needs to learn&lt;/li&gt;
&lt;li&gt;00:23:09 &amp;ndash; Environment variables and the command line&lt;/li&gt;
&lt;li&gt;00:28:05 &amp;ndash; Naming&lt;/li&gt;
&lt;li&gt;00:34:59 &amp;ndash; Code formatting&lt;/li&gt;
&lt;li&gt;00:36:45 &amp;ndash; Why do you enjoy teaching Python concepts with games?&lt;/li&gt;
&lt;li&gt;00:42:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:44:15 &amp;ndash; Minimal amount you should know about Git&lt;/li&gt;
&lt;li&gt;00:47:08 &amp;ndash; Jargon and being clear about terminology&lt;/li&gt;
&lt;li&gt;00:50:13 &amp;ndash; Al&amp;rsquo;s first book diving into Object-Oriented Programming&lt;/li&gt;
&lt;li&gt;00:59:57 &amp;ndash; Python myths covered in the book&lt;/li&gt;
&lt;li&gt;01:09:08 &amp;ndash; What is something you thought you knew about Python, but were wrong about it?&lt;/li&gt;
&lt;li&gt;01:13:12 &amp;ndash; What is something you are excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:18:55 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:22:08 &amp;ndash; Creating an curriculum from conference talks&lt;/li&gt;
&lt;li&gt;01:26:42 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://alsweigart.com/&quot;&gt;Al Sweigart - Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nostarch.com/beyond-basic-stuff-python&quot;&gt;Beyond the Basic Stuff with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://automatetheboringstuff.com/&quot;&gt;Automate the Boring Stuff with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/&quot;&gt;Invent with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/378/&quot;&gt;Xkcd comic &amp;ldquo;Real Programmers&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://try.github.io&quot;&gt;Resources to learn git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.amazon.com/Fluent-Python-Concise-Effective-Programming-ebook/dp/B0131L3PW4/ref=nodl_&quot;&gt;Fluent Python by Luciano Ramalho&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Ozymandias&quot;&gt;Ozymandias: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=_AEJHKGk9ns&quot;&gt;Ned Batchelder - Facts and Myths: PyCon 2015&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=argy7dRB_LI&quot;&gt;Al Sweigart -The Amazing Mutable, Immutable Tuple: PyCascades 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/&quot;&gt;BeeWare - Write once. Deploy everywhere.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/blog/2013/02/19/what-professional-games-use-pygame/&quot;&gt;What Professional Games Use Pygame?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ancalabro.itch.io/codename-mallow&quot;&gt;Codename Mallow -Written in PyGame&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://unityofcommand.net&quot;&gt;Unity of Command - Written in PyGame&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/blog/2018/10/22/a-curriculum-for-python-packaging/&quot;&gt;A Curriculum for Python Packaging: Al Sweigart&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/mastering-time-module/&quot;&gt;Mastering Python&amp;#x27;s Built-in time Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-git-github-intro/&quot;&gt;Introduction to Git and GitHub for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E033_Al_Sweigart.092e581a9d3e.mp3" type="audio/mpeg" length="63098362"/>
        <guid isPermaLink="false">8a278261-425c-45a5-9c9f-b250b8c2d33a</guid>
        <pubDate>Fri, 30 Oct 2020 12:00:00 +0000</pubDate>
        <itunes:duration>5247</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Going Beyond the Basic Stuff With Python and Al Sweigart”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>32</itunes:episode>
        <title>Our New &quot;Python Basics&quot; Book &amp; Filling the Gaps in Your Learning Path</title>
        <itunes:title>Our New &quot;Python Basics&quot; Book &amp; Filling the Gaps in Your Learning Path</itunes:title>
        <link>https://realpython.com/podcasts/rpp/32/</link>
        <description>Do you have gaps in your Python learning path? If you&#x27;re like me, you may have followed a completely random route to learn Python. This week on the show, David Amos is here to talk about the release of the Real Python book, &quot;Python Basics: A Practical Introduction to Python 3&quot;. The book is designed not only to get beginners up to speed but also to help fill in the gaps many intermediate learners may still have.</description>
        <content:encoded>&lt;p&gt;Do you have gaps in your Python learning path? If you&amp;rsquo;re like me, you may have followed a completely random route to learn Python. This week on the show, David Amos is here to talk about the release of the Real Python book, &amp;ldquo;Python Basics: A Practical Introduction to Python 3&amp;rdquo;. The book is designed not only to get beginners up to speed but also to help fill in the gaps many intermediate learners may still have.&lt;/p&gt;
&lt;p&gt;David has been working on the book for the last two years, and we dive into all the resources that come with it. These include code challenges, quizzes, and multiple projects that are designed to help you cement your learning. We also discuss the people and processes involved in creating, reviewing, and updating the book.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/products/python-basics-book/&quot;&gt;Python Basics: A Practical Introduction to Python 3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Go from beginner to intermediate in Python with this complete curriculum, up-to-date for Python 3.9. &lt;em&gt;Python Basics&lt;/em&gt; includes exercises, interactive quizzes, and sample projects, so you’ll always know what to focus on next in order to build a strong Python foundation.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:36 &amp;ndash; Python Basics: A Practical Introduction to Python 3&lt;/li&gt;
&lt;li&gt;00:02:39 &amp;ndash; How has feedback helped the process?&lt;/li&gt;
&lt;li&gt;00:04:17 &amp;ndash; Who is the intended audience?&lt;/li&gt;
&lt;li&gt;00:06:02 &amp;ndash; Covering how to get Python installed on different platforms?&lt;/li&gt;
&lt;li&gt;00:11:05 &amp;ndash; What topics does the book cover?&lt;/li&gt;
&lt;li&gt;00:14:12 &amp;ndash; What can be previewed on Real Python?&lt;/li&gt;
&lt;li&gt;00:15:03 &amp;ndash; What format can you get the book in?&lt;/li&gt;
&lt;li&gt;00:18:30 &amp;ndash; Code challenges included!&lt;/li&gt;
&lt;li&gt;00:21:33 &amp;ndash; What other resources are provided to help with cementing your learning?&lt;/li&gt;
&lt;li&gt;00:22:41 &amp;ndash; What versions of Python are covered?&lt;/li&gt;
&lt;li&gt;00:23:08 &amp;ndash; How does the book fit into the Real Python learning eco-system?&lt;/li&gt;
&lt;li&gt;00:29:35 &amp;ndash; Spotlight: How to get a preview of the book!&lt;/li&gt;
&lt;li&gt;00:30:38 &amp;ndash; What has the writing process been like?&lt;/li&gt;
&lt;li&gt;00:33:21 &amp;ndash; What does didactic mean, in terms of reviewing materials?&lt;/li&gt;
&lt;li&gt;00:39:23 &amp;ndash; What were areas you were excited about updating?&lt;/li&gt;
&lt;li&gt;00:41:29 &amp;ndash; Were there important things you felt needed to be added?&lt;/li&gt;
&lt;li&gt;00:45:55 &amp;ndash; Who worked on the book?&lt;/li&gt;
&lt;li&gt;00:47:13 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:48:13 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:49:40 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/python-basics-book/&quot;&gt;Python Basics: A Practical Introduction to Python 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/installing-python/&quot;&gt;Python 3 Installation &amp;amp; Setup Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/creating-modifying-pdf/&quot;&gt;Create and Modify PDF Files in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-tkinter/&quot;&gt;Python GUI Programming With Tkinter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python3-object-oriented-programming/&quot;&gt;Object-Oriented Programming (OOP) in Python 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-web-scraping-practical-introduction/&quot;&gt;A Practical Introduction to Web Scraping in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-unicode/&quot;&gt;Unicode in Python: Working With Character Encodings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E032_PythonBasics.1fbc3d695806.mp3" type="audio/mpeg" length="36710899"/>
        <guid isPermaLink="false">2ba585c4-be06-4683-b8e3-eba38fd30231</guid>
        <pubDate>Fri, 23 Oct 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3049</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@somacdivad</rp:twitter-handles>
        <rp:twitter-title>“Our New &quot;Python Basics&quot; Book &amp; Filling the Gaps in Your Learning Path” with @somacdivad</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>31</itunes:episode>
        <title>Python Return Statement Best Practices and Working With the map() Function</title>
        <itunes:title>Python Return Statement Best Practices and Working With the map() Function</itunes:title>
        <link>https://realpython.com/podcasts/rpp/31/</link>
        <description>The Python return statement is such a fundamental part of writing functions. Is it possible you missed some best practices when writing your own return statements? This week on the show, David Amos returns with another batch of PyCoder’s Weekly articles and projects. We also talk functional programming again with an article on the Python map function and processing iterables without a loop.</description>
        <content:encoded>&lt;p&gt;The Python return statement is such a fundamental part of writing functions. Is it possible you missed some best practices when writing your own return statements? This week on the show, David Amos returns with another batch of PyCoder’s Weekly articles and projects. We also talk functional programming again with an article on the Python map function and processing iterables without a loop.&lt;/p&gt;
&lt;p&gt;We cover several other articles and projects from the Python community including, interactive data visualization with Pygal, everything you need to know about namedtuples, PEP 638 syntactic macros, python for kids, the new Nvidia Jetson board, and a reinforcement learning project named football.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:33 &amp;ndash; Interactive Data Visualization in Python With Pygal&lt;/li&gt;
&lt;li&gt;00:06:40 &amp;ndash; Python&amp;rsquo;s map(): Processing Iterables Without a Loop&lt;/li&gt;
&lt;li&gt;00:12:51 &amp;ndash; Everything You Need to Know About Python&amp;rsquo;s NamedTuples&lt;/li&gt;
&lt;li&gt;00:19:46 &amp;ndash; PEP 638: Syntactic Macros&lt;/li&gt;
&lt;li&gt;00:26:43 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:57 &amp;ndash; The Python return Statement: Usage and Best Practices&lt;/li&gt;
&lt;li&gt;00:34:42 &amp;ndash; Python for Kids&lt;/li&gt;
&lt;li&gt;00:38:03 &amp;ndash; Build a Face Recognition System With the Nvidia Jetson Nano&lt;/li&gt;
&lt;li&gt;00:42:32 &amp;ndash; football: Reinforcement Learning Environment&lt;/li&gt;
&lt;li&gt;00:45:51 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://towardsdatascience.com/interactive-data-visualization-in-python-with-pygal-4696fccc8c96&quot;&gt;Interactive Data Visualization in Python With Pygal&lt;/a&gt; &amp;ndash; Pygal is an overlooked library for creating interactive plots that can be turned into SVGs with an optimal resolution for printing or displaying on webpages. Learn how it works in this introductory tutorial.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-map-function/&quot;&gt;Python&amp;rsquo;s map(): Processing Iterables Without a Loop&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how Python&amp;rsquo;s map() works and how to use it effectively in your programs. You&amp;rsquo;ll also learn how to use list comprehension and generator expressions to replace map() in a Pythonic and efficient way.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://miguendes.me/everything-you-need-to-know-about-pythons-namedtuples-ckfim70u102jbots197jn0zmh&quot;&gt;Everything You Need to Know About Python&amp;rsquo;s NamedTuples&lt;/a&gt; &amp;ndash; Are you using NamedTuple in your code? If you aren&amp;rsquo;t, learn what they are and why you should consider using them in this comprehensive tutorial.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0638/&quot;&gt;PEP 638: Syntactic Macros&lt;/a&gt; &amp;ndash; This brand new PEP, which is still in draft mode, proposes adding support for syntactic macros to Python. Syntactic macros are compile-time functions that extend the language&amp;rsquo;s syntax without adding any new complexity to the language as a whole.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-return-statement/&quot;&gt;The Python return Statement: Usage and Best Practices&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how to use the Python return statement when writing functions. Additionally, you&amp;rsquo;ll cover some good programming practices related to the use of return. With this knowledge, you&amp;rsquo;ll be able to write readable, robust, and maintainable functions in Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mytechnotalent/Python-For-Kids&quot;&gt;Python for Kids&lt;/a&gt; &amp;ndash; In this ten part series, senior software engineer Kevin Thomas presents a kid-friendly comprehensive Python development tutorial utilizing a micro:bit development board. The GitHub repo contains all of the sample code as well as links to each tutorial in the series on LinkedIn. The first seven parts are published and the last three are coming soon!&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@ageitgey/build-a-face-recognition-system-for-60-with-the-new-nvidia-jetson-nano-2gb-and-python-46edbddd7264&quot;&gt;Build a Face Recognition System With the Nvidia Jetson Nano 2GB and Python&lt;/a&gt; &amp;ndash; The Nvidia Jetson Nano is a single board computer similar to a Raspberry Pi. The Jetson Nano really packs a punch, however, thanks to its onboard Nvidia Maxwell GPU.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/google-research/football&quot;&gt;football: Reinforcement Learning Environment Where Agents Learn to Play Football&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.pygal.org/en/stable/&quot;&gt;Pygal: Sexy python charting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.bokeh.org/en/latest/&quot;&gt;Bokeh: Interactive visualization library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-structures/&quot;&gt;Common Python Data Structures (Guide) - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-data-classes/&quot;&gt;The Ultimate Guide to Data Classes in Python 3.7 - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0572/&quot;&gt;PEP 572 &amp;ndash; Assignment Expressions - Walrus Operator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-reduce-function/&quot;&gt;Python&amp;rsquo;s reduce(): From Functional to Pythonic Style - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/&quot;&gt;NVIDIA Jetson Nano&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kaggle.com/c/google-football/overview&quot;&gt;Google Research Football with Manchester City F.C.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/command-line-interfaces/&quot;&gt;Command Line Interfaces in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-data-types/&quot;&gt;Exploring Basic Data Types in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-main-function/&quot;&gt;Defining Main Functions in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E031_David_Pycoders.c0843a16b8a3.mp3" type="audio/mpeg" length="33679581"/>
        <guid isPermaLink="false">de194720-7b4c-42e2-a05f-437436d3fe66</guid>
        <pubDate>Fri, 16 Oct 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2796</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python Return Statement Best Practices and Working With the map() Function”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>30</itunes:episode>
        <title>Exploring the New Features of Python 3.9</title>
        <itunes:title>Exploring the New Features of Python 3.9</itunes:title>
        <link>https://realpython.com/podcasts/rpp/30/</link>
        <description>Python 3.9 has arrived! This week on the show, former guest and Real Python author Geir Arne Hjelle returns to talk about his recent article, &quot;Python 3.9: Cool New Features for You to Try&quot;. Also joining the conversation is Real Python video course instructor and author Christopher Trudeau. Christopher has created a video course, which was released this week also, based on Geir Arne&#x27;s article. We talk about time zones, merging dictionaries, the new parser, type hints, and more.</description>
        <content:encoded>&lt;p&gt;Python 3.9 has arrived! This week on the show, former guest and Real Python author Geir Arne Hjelle returns to talk about his recent article, &amp;ldquo;Python 3.9: Cool New Features for You to Try&amp;rdquo;. Also joining the conversation is Real Python video course instructor and author Christopher Trudeau. Christopher has created a video course, which was released this week also, based on Geir Arne&amp;rsquo;s article. We talk about time zones, merging dictionaries, the new parser, type hints, and more.&lt;/p&gt;
&lt;p&gt;Geir Arne and Christopher not only cover the new features, but they also offer advice about ways you might incorporate them into your code. We discuss what you should think about before updating your code.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll explore some of the coolest and most useful features in the newly released Python 3.9. You&amp;rsquo;ll learn how Python 3.9 makes it easier to work with time zones, dictionaries, decorators, and several other techniques that will make your code cleaner and more efficient.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:02 &amp;ndash; Proper Time Zone support&lt;/li&gt;
&lt;li&gt;00:05:38 &amp;ndash; What to do if your OS does not have tzdata?&lt;/li&gt;
&lt;li&gt;00:07:11 &amp;ndash; How do you add time zone info to your Python code?&lt;/li&gt;
&lt;li&gt;00:08:24 &amp;ndash; Historic changes to time zones&lt;/li&gt;
&lt;li&gt;00:10:48 &amp;ndash; New operators for updating dictionaries&lt;/li&gt;
&lt;li&gt;00:15:44 &amp;ndash; Geir Arne&amp;rsquo;s PyCon 2020 decorators tutorial&lt;/li&gt;
&lt;li&gt;00:18:02 &amp;ndash; Changes to decorator syntax&lt;/li&gt;
&lt;li&gt;00:24:08 &amp;ndash; Annotated type hints&lt;/li&gt;
&lt;li&gt;00:32:36 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:33:26 &amp;ndash; The PEG parser&lt;/li&gt;
&lt;li&gt;00:37:51 &amp;ndash; Potential for new enhancements in upcoming releases&lt;/li&gt;
&lt;li&gt;00:42:40 &amp;ndash; String methods to remove prefixes and suffixes&lt;/li&gt;
&lt;li&gt;00:44:22 &amp;ndash; Type hint lists and dictionaries directly&lt;/li&gt;
&lt;li&gt;00:47:29 &amp;ndash; Topological Sort&lt;/li&gt;
&lt;li&gt;00:52:03 &amp;ndash; Greatest Common Divisor (GCD) and Least Common Multiple (LCM)&lt;/li&gt;
&lt;li&gt;00:53:50 &amp;ndash; New HTTP status codes&lt;/li&gt;
&lt;li&gt;00:58:29 &amp;ndash; Should you upgrade?&lt;/li&gt;
&lt;li&gt;01:07:58 &amp;ndash; Potential issue with Python 3.10 versioning&lt;/li&gt;
&lt;li&gt;01:10:18 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:12:52 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:14:08 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python39-new-features/#more-flexible-decorators&quot;&gt;Python 3.9: Cool New Features for You to Try: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9: Real Python video course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dateutil.readthedocs.io/en/stable/&quot;&gt;dateutil - Powerful extensions to datetime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ganssle.io/&quot;&gt;Paul Ganssle: Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.iana.org/time-zones&quot;&gt;IANA - Internet Assigned Numbers Authority: Time Zone Database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-dicts/&quot;&gt;Dictionaries in Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0584/&quot;&gt;PEP 584 &amp;ndash; Add Union Operators To dict: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/primer-on-python-decorators/&quot;&gt;Primer on Python Decorators: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0614/&quot;&gt;PEP 614 &amp;ndash; Relaxing Grammar Restrictions On Decorators: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=T8CQwGIsrx4&quot;&gt;Introduction to Decorators: Power Up Your Python Code - PyCon 2020 Online Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-type-checking/#annotations&quot;&gt;Python Type Checking (Guide) - Annotations:Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0484/&quot;&gt;PEP 484 &amp;ndash; Type Hints: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0593/&quot;&gt;PEP 593 &amp;ndash; Flexible function and variable annotations: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0617/&quot;&gt;PEP 617 &amp;ndash; New PEG parser for CPython: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@gvanrossum_83706/peg-parsing-series-de5d41b2ed60&quot;&gt;PEG Parsing Series Overview: Guido van Rossum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0622/&quot;&gt;PEP 622 &amp;ndash; Structural Pattern Matching: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0616/&quot;&gt;PEP 616 &amp;ndash; String methods to remove prefixes and suffixes: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0585/&quot;&gt;PEP 585 &amp;ndash; Type Hinting Generics In Standard Collections: python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Topological_sorting&quot;&gt;Topological sorting: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.9/library/graphlib.html&quot;&gt;graphlib — Functionality to operate with graph-like structures: docs.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Greatest_common_divisor&quot;&gt;Greatest common divisor: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Least_common_multiple&quot;&gt;Least common multiple: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml&quot;&gt;Hypertext Transfer Protocol (HTTP) Status Code Registry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tools.ietf.org/html/rfc2324&quot;&gt;Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0602/&quot;&gt;PEP 602 &amp;ndash; Annual Release Cycle for Python: Łukasz Langa - python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.9/whatsnew/3.9.html#porting-to-python-3-9&quot;&gt;Porting to Python 3.9: docs.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/cpython-internals-book/&quot;&gt;CPython Internals: Your Guide to the Python3 Interpreter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://panel.holoviz.org/&quot;&gt;Panel: A high-level app and dashboarding solution for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.python.org/moin/PyQt&quot;&gt;PyQt: GUI Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/&quot;&gt;Pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pyqt-gui-calculator/&quot;&gt;Python and PyQt: Building a GUI Desktop Calculator - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://data-analysis-in-python.org/t_gis.html&quot;&gt;GIS in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://geopandas.org/&quot;&gt;GeoPandas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-39/&quot;&gt;Cool New Features in Python 3.9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E030_GeirArne_ChristopherT.f63c674ed1aa.mp3" type="audio/mpeg" length="54099804"/>
        <guid isPermaLink="false">c4bf74b8-ca83-452e-92c1-e29955fe3a43</guid>
        <pubDate>Fri, 09 Oct 2020 12:00:00 +0000</pubDate>
        <itunes:duration>4498</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@gahjelle</rp:twitter-handles>
        <rp:twitter-title>“Exploring the New Features of Python 3.9” with @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>29</itunes:episode>
        <title>Resolving Package Dependencies With the New Version of Pip</title>
        <itunes:title>Resolving Package Dependencies With the New Version of Pip</itunes:title>
        <link>https://realpython.com/podcasts/rpp/29/</link>
        <description>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&#x27;s user experience (UX).</description>
        <content:encoded>&lt;p&gt;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&amp;rsquo;s user experience (UX).&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;rsquo;s Guide to Pip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;s a worthy investment of your time to understand the fundamentals of pip.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Show Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:41 &amp;ndash; Pip updates and changes to dependency resolver&lt;/li&gt;
&lt;li&gt;00:08:49 &amp;ndash; Different types of wheels&lt;/li&gt;
&lt;li&gt;00:11:12 &amp;ndash; Pinning package dependencies&lt;/li&gt;
&lt;li&gt;00:13:19 &amp;ndash; Work on the user experience (UX) of pip &lt;/li&gt;
&lt;li&gt;00:15:45 &amp;ndash; Documentation at Python packaging authority  and thanks to Thea Flowers&lt;/li&gt;
&lt;li&gt;00:16:21 &amp;ndash; Types of issues that need resolving&lt;/li&gt;
&lt;li&gt;00:20:48 &amp;ndash; Need for reporting issues&lt;/li&gt;
&lt;li&gt;00:23:41 &amp;ndash; Pip usability survey and dependency recipes to test &lt;/li&gt;
&lt;li&gt;00:27:21 &amp;ndash; Call out to open source maintainers to test&lt;/li&gt;
&lt;li&gt;00:29:32 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:30:43 &amp;ndash; How is this UX work different from Simply Secure&lt;/li&gt;
&lt;li&gt;00:34:59 &amp;ndash; How do you present errors to users?&lt;/li&gt;
&lt;li&gt;00:41:14 &amp;ndash; Pip release timeline for 2020 and into 2021&lt;/li&gt;
&lt;li&gt;00:46:38 &amp;ndash; The dynamics of responsibility and power&lt;/li&gt;
&lt;li&gt;00:49:43 &amp;ndash; What&amp;rsquo;s involved in getting more funding into open source? &lt;/li&gt;
&lt;li&gt;00:54:10 &amp;ndash; Grant writing for the PSF&lt;/li&gt;
&lt;li&gt;00:57:53 &amp;ndash; Call to action: How to help with pip?&lt;/li&gt;
&lt;li&gt;01:00:54 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:04:52 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:08:22 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html&quot;&gt;New pip resolver to roll out this year: Python Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-2-2020&quot;&gt;Changes to the pip dependency resolver in 20.2 (2020): Python Packaging Authority&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=B4GQCBBsuNU&quot;&gt;Changes are coming to pip: YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tools.simplysecure.org/survey/index.php?r=survey/index&amp;amp;sid=827389&amp;amp;lang=en&quot;&gt;Sign-up for pip UX Studies!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.python.org/2020/07/upgrade-pip-20-2-changes-20-3.html&quot;&gt;Upgrade to pip 20.2, plus, changes coming in 20.3: Python Insider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2020/07/pip-team-midyear-report.html&quot;&gt;Pip team midyear report: July 13, 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://packaging.python.org/overview/#packaging-python-applications&quot;&gt;An Overview of Packaging for Python: PyPA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://testandcode.com/124&quot;&gt;pip dependency resolver changes: Test &amp;amp; Code Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wheels/&quot;&gt;What Are Python Wheels and Why Should You Care?: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/23/&quot;&gt;Python Wheels and Pass by Reference in Python: Real Python Podcast Ep23&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/24/&quot;&gt;Options for Packaging Your Python Application: Wheels, Docker, and More: Real Python Podcast Ep24&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pip.pypa.io/en/latest/ux_research_design/&quot;&gt;UX Research &amp;amp; Design: 2020 Work on Improving pip&amp;rsquo;s user experience&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://simplysecure.org/what-we-do/user-research/&quot;&gt;Simple Secure: User Research&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pypa/warehouse/issues/5247&quot;&gt;Roadmap update for TUF (The Update Framework) support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/5/&quot;&gt;Exploring CircuitPython with Thea Flowers: Real Python Podcast Ep5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pypa/packaging-problems/issues&quot;&gt;PyPA - Packaging Problems Issue Tracker: Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0458/&quot;&gt;PEP 458 - Secure PyPI downloads with signed repository metadata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies&quot;&gt;Fixing conflicting dependencies: PyPA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/psf/fundable-packaging-improvements/blob/master/FUNDABLES.md#finish-dependency-resolver-for-pip&quot;&gt;Finish dependency resolver for pip: Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2020/07/announcing-psf-project-funding-working.html&quot;&gt;Announcing the PSF Project Funding Working Group: PSF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/sponsor/&quot;&gt;Sponsor PyPI and related projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.tidelift.com/tag/pypi&quot;&gt;Tidelift: Managed open source. Backed by maintainers.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://changeset.nyc/resources/quick-intro-to-grants.html&quot;&gt;Apply for Grants To Fund Open Source Work: changeset&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opencollective.com/&quot;&gt;Open collective: Make your community sustainable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sustainoss.org/&quot;&gt;Sustain: Holding a space for conversations about sustaining Open Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2020/09/answer-surveys-improve-pip-ux.html&quot;&gt;Answer these surveys to improve pip&amp;rsquo;s usability: Python Software Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.harihareswara.net/sumana/2020/09/08/0&quot;&gt;Breaking Release Bottlenecks &amp;ndash; What Changeset Can Do&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.harihareswara.net/ArtofPython2019/&quot;&gt;On The Art of Python 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyvideo.org/speaker/sumana-harihareswara.html&quot;&gt;Python Grab Bag: A Set of Short Plays&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/EyhosW2ZeaE&quot;&gt;&amp;ldquo;Apply for Grants to Fund Open Source Work&amp;rdquo; - Sumana Harihareswara: PyOhio 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2020.pygotham.tv&quot;&gt;PyGotham TV: 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2020.pygotham.tv/talks/get-paid-to-write-free-software/&quot;&gt;Get paid to write Free software: Cristina - PyGotham 2020&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;#x27;s Guide to pip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E029_Sumana_and_Georgia.97c7ca26aea5.mp3" type="audio/mpeg" length="50032597"/>
        <guid isPermaLink="false">4fc03b69-f17d-41eb-8f8f-b4f1be235f13</guid>
        <pubDate>Fri, 02 Oct 2020 12:00:00 +0000</pubDate>
        <itunes:duration>4159</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@georgiamoon, @brainwane</rp:twitter-handles>
        <rp:twitter-title>“Resolving Package Dependencies With the New Version of Pip” with @georgiamoon, @brainwane</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>28</itunes:episode>
        <title>Using Pylance to Write Better Python Inside of Visual Studio Code</title>
        <itunes:title>Using Pylance to Write Better Python Inside of Visual Studio Code</itunes:title>
        <link>https://realpython.com/podcasts/rpp/28/</link>
        <description>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.</description>
        <content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;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.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:47 &amp;ndash; Current Role at Microsoft &lt;/li&gt;
&lt;li&gt;00:03:01 &amp;ndash; Background with Python&lt;/li&gt;
&lt;li&gt;00:04:21 &amp;ndash; Origins of Pylance&lt;/li&gt;
&lt;li&gt;00:06:53 &amp;ndash; What is a language server?&lt;/li&gt;
&lt;li&gt;00:09:56 &amp;ndash; Diving deeper into the features individually &lt;/li&gt;
&lt;li&gt;00:14:42 &amp;ndash; Code navigation and diagnostics&lt;/li&gt;
&lt;li&gt;00:15:43 &amp;ndash; Methods of defining types and stub files&lt;/li&gt;
&lt;li&gt;00:17:28 &amp;ndash; What are examples of stub files?&lt;/li&gt;
&lt;li&gt;00:21:16 &amp;ndash; Comparing Pyright to Mypy&lt;/li&gt;
&lt;li&gt;00:23:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:25:02 &amp;ndash; Auto-imports are a contentious feature&lt;/li&gt;
&lt;li&gt;00:28:36 &amp;ndash; Code actions and dead code analysis&lt;/li&gt;
&lt;li&gt;00:31:46 &amp;ndash; Pylance working with Jupyter notebooks in VSCode&lt;/li&gt;
&lt;li&gt;00:33:30 &amp;ndash; Multiple workspaces&lt;/li&gt;
&lt;li&gt;00:36:16 &amp;ndash; Why do you like to work on developer tools?&lt;/li&gt;
&lt;li&gt;00:39:35 &amp;ndash; How does a tool like Pylance help a beginner?&lt;/li&gt;
&lt;li&gt;00:42:31 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:46:25 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:49:24 &amp;ndash; Thanks and goodbyes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/announcing-pylance-fast-feature-rich-language-support-for-python-in-visual-studio-code/&quot;&gt;Announcing Pylance: Fast, feature-rich language support for Python in Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/pylance-introduces-five-new-features-that-enable-type-magic-for-python-developers/&quot;&gt;Pylance introduces five new features that enable type magic for Python developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/python-in-visual-studio-code-september-2020-release/&quot;&gt;Python in Visual Studio Code – September 2020 Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=tSNa7BIGCGQ&amp;amp;feature=youtu.be&amp;amp;t=1311&quot;&gt;Pylance and Python in VS Code: Visual Studio Code v1.49 Release Party - YouTube &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/visualstudio/extensibility/language-server-protocol?view=vs-2019&quot;&gt;Language Server Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://microsoft.github.io/language-server-protocol/&quot;&gt;Language Server Protocol: Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.freecodecamp.org/news/language-server-protocol-and-the-future-of-ide/&quot;&gt;How the Language Server Protocol Affects the Future of IDEs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/typeshed/&quot;&gt;typeshed: External type annotations for the Python standard library and Python builtins, as well as third party packages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/microsoft/pyright&quot;&gt;Pyright: Static type checker for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0561/&quot;&gt;PEP 561 &amp;ndash; Distributing and Packaging Type Information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode&quot;&gt;Visual Studio IntelliCode: Provides AI-assisted development features for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/python/mypy/wiki/Creating-Stubs-For-Python-Modules&quot;&gt;Creating Stubs For Python Modules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking: Real Python video course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/2821&quot;&gt;Feather Huzzah: Adafruit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/3333&quot;&gt;Circuit Playground Express: Adafruit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org&quot;&gt;Circuit Python: The easiest way to program microcontrollers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://winterbloom.com/store/winterbloom-big-honking-button&quot;&gt;Big Honking Button: Winterbloom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/arduino-python/&quot;&gt;Arduino With Python: How to Get Started - Real Python video course&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/arduino-python/&quot;&gt;Arduino With Python: Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E028_Savannah.c39d0c00791c.mp3" type="audio/mpeg" length="36176752"/>
        <guid isPermaLink="false">ff926404-106b-4f5d-b13d-f69b9c0730aa</guid>
        <pubDate>Fri, 25 Sep 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3004</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@savostrowski</rp:twitter-handles>
        <rp:twitter-title>“Using Pylance to Write Better Python Inside of Visual Studio Code” with @savostrowski</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>27</itunes:episode>
        <title>Preparing for an Interview With Python Practice Problems</title>
        <itunes:title>Preparing for an Interview With Python Practice Problems</itunes:title>
        <link>https://realpython.com/podcasts/rpp/27/</link>
        <description>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, &quot;Python Practice Problems: Get Ready for Your Next Interview.&quot;  This article provides several problems, which include skeleton code, unit tests, and solutions for you to compare your work.</description>
        <content:encoded>&lt;p&gt;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, &amp;ldquo;Python Practice Problems: Get Ready for Your Next Interview.&amp;rdquo;  This article provides several problems, which include skeleton code, unit tests, and solutions for you to compare your work.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-stack/&quot;&gt;How to Implement a Python Stack&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to implement a Python stack. You&amp;rsquo;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.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:37 &amp;ndash; Python Practice Problems&lt;/li&gt;
&lt;li&gt;00:08:19 &amp;ndash; Structural Pattern Matching&lt;/li&gt;
&lt;li&gt;00:14:16 &amp;ndash; Common Python Data Structures&lt;/li&gt;
&lt;li&gt;00:17:49 &amp;ndash;   Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:18:42 &amp;ndash; A Tax Attorney Uses Python&lt;/li&gt;
&lt;li&gt;00:23:36 &amp;ndash; Discover the Role of Python in Space Exploration&lt;/li&gt;
&lt;li&gt;00:26:33 &amp;ndash; Thanks for the Reviews!&lt;/li&gt;
&lt;li&gt;00:27:28 &amp;ndash; 5 Pairs of Magic Methods in Python That You Should Know&lt;/li&gt;
&lt;li&gt;00:36:56 &amp;ndash; python-adventure: Original Colossal Caves Adventure Game&lt;/li&gt;
&lt;li&gt;00:41:06 &amp;ndash; clifford: Geometric Algebra for Python&lt;/li&gt;
&lt;li&gt;00:43:45 &amp;ndash; pippi: Computer Music With Python&lt;/li&gt;
&lt;li&gt;00:46:24 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-practice-problems/&quot;&gt;Python Practice Problems: Get Ready for Your Next Interview&lt;/a&gt; &amp;ndash; 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.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lwn.net/SubscriberLink/828486/7a095406396208ef/&quot;&gt;&amp;ldquo;Structural Pattern Matching&amp;rdquo;; for Python, Part 2&lt;/a&gt; &amp;ndash; The saga of PEP 622 continues with updates to the proposed structure of the &lt;code&gt;match&lt;/code&gt; statement&amp;mdash;which has some similarities to a &lt;code&gt;switch&lt;/code&gt; statement&amp;mdash;and a discussion on the best way to document objections to a PEP.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-data-structures/&quot;&gt;Common Python Data Structures (Guide)&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about Python&amp;rsquo;s data structures. You&amp;rsquo;ll look at several implementations of abstract data types and learn which implementations are best for your specific use cases.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://intltax.typepad.com/intltax_blog/2020/09/a-tax-attorney-uses-python.html&quot;&gt;A Tax Attorney Uses Python&lt;/a&gt; &amp;ndash; See how one tax attorney uses Python to automate grueling and repetitive tasks and improve his business. While the article is non-technical, it&amp;rsquo;s always fun to see how Python is used in diverse fields.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/learn/paths/introduction-python-space-exploration-nasa/&quot;&gt;Discover the Role of Python in Space Exploration&lt;/a&gt; &amp;ndash; In this learning path from Microsoft, you&amp;rsquo;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.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/better-programming/5-pairs-of-magic-methods-in-python-you-should-know-f98f0e5356d6&quot;&gt;5 Pairs of Magic Methods in Python That You Should Know&lt;/a&gt; &amp;ndash; 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.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/brandon-rhodes/python-adventure&quot;&gt;python-adventure: Original Colossal Caves Adventure Game, but in Python 3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/pygae/clifford&quot;&gt;clifford: Geometric Algebra for Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/luvsound/pippi&quot;&gt;pippi: Computer Music With Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices: Real Python Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python-patterns.guide/gang-of-four/singleton/&quot;&gt;The Singleton Pattern: A “Creational Pattern” from the Gang of Four book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-heapq-module/&quot;&gt;The Python heapq Module: Using Heaps and Priority Queues: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/how-to-implement-python-stack/&quot;&gt;How to Implement a Python Stack: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/queue-in-python/&quot;&gt;Python Stacks, Queues, and Priority Queues in Practice: Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/codespell-project/codespell&quot;&gt;codespell: Fix common misspellings in text files.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming-oop-python/&quot;&gt;A Conceptual Primer on OOP in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-stack/&quot;&gt;Implementing a Stack in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-linked-lists-python/&quot;&gt;Working With Linked Lists in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E027_Jim_and_David.ecf6c3b491cd.mp3" type="audio/mpeg" length="34089681"/>
        <guid isPermaLink="false">5056eb2d-2835-486f-a9ac-a7225d0099e0</guid>
        <pubDate>Fri, 18 Sep 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2830</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@jimande75053775</rp:twitter-handles>
        <rp:twitter-title>“Preparing for an Interview With Python Practice Problems” with @jimande75053775</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>26</itunes:episode>
        <title>5 Years Podcasting Python With Michael Kennedy: Growth, GIL, Async, and More</title>
        <itunes:title>5 Years Podcasting Python With Michael Kennedy: Growth, GIL, Async, and More</itunes:title>
        <link>https://realpython.com/podcasts/rpp/26/</link>
        <description>Why is Python pulling in so many new programmers? Maybe some of that growth is from Python being a full-spectrum language. This week on the show we have Michael Kennedy, the host of the podcast &quot;Talk Python to Me&quot;. Michael reflects on five years of podcasting about Python, and many of the changes he has seen in the Python landscape.</description>
        <content:encoded>&lt;p&gt;Why is Python pulling in so many new programmers? Maybe some of that growth is from Python being a full-spectrum language. This week on the show we have Michael Kennedy, the host of the podcast &amp;ldquo;Talk Python to Me&amp;rdquo;. Michael reflects on five years of podcasting about Python, and many of the changes he has seen in the Python landscape.&lt;/p&gt;
&lt;p&gt;We discuss several stories about the different ways Python is being used, and how that is drawing in many new programmers. Michael covers some potential Python stumbling blocks of Async, the Python Global Interpreter Lock (GIL), building desktop apps, and type checking. We also talk about how podcasts can act as a form of language immersion.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to handle spreadsheets in Python using the openpyxl package. You&amp;rsquo;ll learn how to manipulate Excel spreadsheets, extract information from spreadsheets, create simple or more complex spreadsheets, including adding styles, charts, and so on.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:34 &amp;ndash; Changes in the Python landscape over the last 5 years&lt;/li&gt;
&lt;li&gt;00:08:09 &amp;ndash; Changing the perspective from scripts to applications&lt;/li&gt;
&lt;li&gt;00:10:48 &amp;ndash; Python as a full-spectrum language &lt;/li&gt;
&lt;li&gt;00:17:13 &amp;ndash; What are the areas of growth for Python&lt;/li&gt;
&lt;li&gt;00:22:09 &amp;ndash; Stories highlights from Talk Python&lt;/li&gt;
&lt;li&gt;00:27:48 &amp;ndash; Stack Overflow Developer Surveys&lt;/li&gt;
&lt;li&gt;00:33:22 &amp;ndash; Enterprise use and contributions to Python&lt;/li&gt;
&lt;li&gt;00:38:04 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:39:20 &amp;ndash; A monk learns Python and OpenCV&lt;/li&gt;
&lt;li&gt;00:48:18 &amp;ndash; Things that have been hard to do in Python&lt;/li&gt;
&lt;li&gt;00:52:07 &amp;ndash; How is the GIL part of the problem?&lt;/li&gt;
&lt;li&gt;00:56:37 &amp;ndash; Leave a review, it will help the show, Thanks! &lt;/li&gt;
&lt;li&gt;00:57:04 &amp;ndash; More on Async in Python&lt;/li&gt;
&lt;li&gt;01:03:38 &amp;ndash; Recent courses developed&lt;/li&gt;
&lt;li&gt;01:10:05 &amp;ndash; Who listens to a Python podcast?&lt;/li&gt;
&lt;li&gt;01:13:06 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:17:46 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:23:17 &amp;ndash; What is something you thought you knew about Python, but were wrong about it?&lt;/li&gt;
&lt;li&gt;01:26:58 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/home&quot;&gt;Talk Python To Me&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theregister.com/2020/08/26/british_ai_planets/&quot;&gt;Brit uni&amp;rsquo;s AI algorithm clocks 50 exoplanets hidden in Kepler space &amp;lsquo;scope archives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://warwick.ac.uk/newsandevents/pressreleases/fifty_new_planets&quot;&gt;Fifty new planets confirmed in machine learning first&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/4kU0skUZTIw&quot;&gt;Apple MainStage: Nine Inch Nails &amp;ndash; YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://insights.stackoverflow.com/trends?tags=java%2Cc%2Cc%2B%2B%2Cpython%2Cc%23%2Cvb.net%2Cjavascript%2Cassembly%2Cphp%2Cperl%2Cruby%2Cswift%2Cr%2Cobjective-c&quot;&gt;Stack Overflow Trends: See how technologies have trended over time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-wanted&quot;&gt;Stack Overflow: Most Loved, Dreaded, and Wanted Languages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/54/enterprise-software-with-python&quot;&gt;Enterprise Software with Python: Mahmoud Hashemi - Talk Python Ep54&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/230/python-in-digital-humanities-research&quot;&gt;Python in digital humanities research: Cornelis van Lit - Talk Python Ep230&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0554/&quot;&gt;PEP 554 &amp;ndash; Multiple Interpreters in the Stdlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/144/machine-learning-at-the-large-hadron-collider&quot;&gt;Machine Learning at the Large Hadron Collider: Talk Python Ep144&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/29/python-at-the-large-hadron-collider-and-cern&quot;&gt;Python at the Large Hadron Collider and CERN: Talk Python Ep29&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.oracle.com/smb/10-of-the-costliest-spreadsheet-boo-boos-in-history&quot;&gt;12 of the Biggest Spreadsheet Fails in History: Oracle Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fastapi.tiangolo.com&quot;&gt;FastAPI: Modern, fast (high-performance), web framework for building APIs with Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.starlette.io&quot;&gt;Starlette: Lightweight ASGI framework/toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/alex-sherman/unsync&quot;&gt;Unsync: Unsynchronize asyncio by using an ambient event loop in a separate thread&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking: Real Python Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pydantic-docs.helpmanual.io&quot;&gt;pydanctic: Data validation and settings management using Python type annotations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-concurrency-asyncio-module/&quot;&gt;Hands-On Python 3 Concurrency With the asyncio Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E026_Michael_Kennedy2.f80ed39897c4.mp3" type="audio/mpeg" length="63424941"/>
        <guid isPermaLink="false">83b5cb8c-904c-41c3-b7ac-ae3cf27c445e</guid>
        <pubDate>Fri, 11 Sep 2020 12:00:00 +0000</pubDate>
        <itunes:duration>5275</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@mkennedy</rp:twitter-handles>
        <rp:twitter-title>“5 Years Podcasting Python With Michael Kennedy: Growth, GIL, Async, and More” with @mkennedy</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>25</itunes:episode>
        <title>Data Version Control in Python and Real Python Video Transcripts</title>
        <itunes:title>Data Version Control in Python and Real Python Video Transcripts</itunes:title>
        <link>https://realpython.com/podcasts/rpp/25/</link>
        <description>Wouldn&#x27;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&#x27;s what the tool called DVC is designed to do. This week on the show, David Amos is here and he&#x27;s brought another batch of PyCoder’s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Wouldn&amp;rsquo;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&amp;rsquo;s what the tool called DVC is designed to do. This week on the show, David Amos is here and he&amp;rsquo;s brought another batch of PyCoder’s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David starts with a Real Python article titled, &amp;ldquo;Data Version Control With Python and DVC&amp;rdquo;.  We also cover several other articles and projects from the Python community including: where to get exposure to well-written code, delegation &amp;ndash; composition and inheritance, good Python project ideas for high school students, never run Python in your downloads folder, and more. &lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-zip-function/&quot;&gt;Parallel Iteration With Python&amp;rsquo;s zip() Function&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;ll learn how to use the Python zip() function to solve common programming problems. You&amp;rsquo;ll learn how to traverse multiple iterables in parallel and create dictionaries with just a few lines of code.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:01 &amp;ndash; Data Version Control With Python and DVC&lt;/li&gt;
&lt;li&gt;00:08:57 &amp;ndash; Where Do You Go to Get Exposure to Well-Written Code?&lt;/li&gt;
&lt;li&gt;00:13:13 &amp;ndash; Delegation: Composition and Inheritance in Object-Oriented Programming&lt;/li&gt;
&lt;li&gt;00:21:46 &amp;ndash; What Are Some Good Python Project Ideas for High School Students?&lt;/li&gt;
&lt;li&gt;00:26:53 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:27:48 &amp;ndash; Never Run Python in Your Downloads Folder&lt;/li&gt;
&lt;li&gt;00:35:55 &amp;ndash; present: A Terminal-Based Presentation Tool With Colors and Effects&lt;/li&gt;
&lt;li&gt;00:37:36 &amp;ndash; Mini Raspberry Pi Boston Dynamics–inspired Robot&lt;/li&gt;
&lt;li&gt;00:41:48 &amp;ndash; Sadie Parker and Transcripts for Real Python Video Courses&lt;/li&gt;
&lt;li&gt;00:59:26 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-data-version-control/&quot;&gt;Data Version Control With Python and DVC&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn to use DVC, a powerful tool that solves many problems encountered in machine learning and data science. You&amp;rsquo;ll find out how data version control helps you to track your data, share development machines with your team, and create easily reproducible experiments!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/learnpython/comments/ibk0mo/expanding_exposure_to_good_code_any_resources_for/&quot;&gt;Where Do You Go to Get Exposure to Well-Written Code?&lt;/a&gt; &amp;ndash; Maybe someone needs to start a Python reading club&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.thedigitalcatonline.com/blog/2020/08/17/delegation-composition-and-inheritance-in-object-oriented-programming/&quot;&gt;Delegation: Composition and Inheritance in Object-Oriented Programming&lt;/a&gt; &amp;ndash; Delegation is often considered one of the three pillars of object-oriented programming. Learn how to use this powerful concept in Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/Python/comments/i7mmyh/im_a_teacher_help_me_choose_a_python_project_to/&quot;&gt;What Are Some Good Python Project Ideas for High School Students?&lt;/a&gt; &amp;ndash; Honestly, some of these ideas are good for any beginning Pythonista!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://glyph.twistedmatrix.com/2020/08/never-run-python-in-your-downloads-folder.html&quot;&gt;Never Run Python in Your Downloads Folder&lt;/a&gt; &amp;ndash; Learn about security issues that exploit how Python interacts with &lt;code&gt;PATH&lt;/code&gt; and why you should always think twice about your current working directory.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/vinayak-mehta/present&quot;&gt;present: A Terminal-Based Presentation Tool With Colors and Effects&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.raspberrypi.org/blog/mini-raspberry-pi-boston-dynamics-inspired-robot/&quot;&gt;Mini Raspberry Pi Boston Dynamics–inspired Robot&lt;/a&gt; &amp;ndash; 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.&lt;/p&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pymotw.com/3/&quot;&gt;Python 3 Module of the Week&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/TheAlgorithms/Python&quot;&gt;The Algorithms - Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mahmoud/awesome-python-applications&quot;&gt;Awesome Python Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=cKPlPJyQrt4&quot;&gt;James Powell: So you want to be a Python expert? | PyData Seattle 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.bostondynamics.com/spot&quot;&gt;Boston Dynamics: Spot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/WebVTT&quot;&gt;WebVTT (Web Video Text Tracks): Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/webvtt-py/&quot;&gt;webvtt-py: Python module for reading/writing WebVTT files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pysrt/&quot;&gt;pysrt: SubRip (.srt) subtitle parser and writer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/srt/&quot;&gt;Srt: A tiny library for parsing, modifying, and composing SRT files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-zip-function/&quot;&gt;Parallel Iteration With Python&amp;#x27;s zip() Function&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/editing-excel-python-openpyxl/&quot;&gt;Editing Excel Spreadsheets in Python With openpyxl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E025_David_and_Sadie.2e4735091728.mp3" type="audio/mpeg" length="43434228"/>
        <guid isPermaLink="false">2208f4af-e35b-439a-9fea-06f671fdb62c</guid>
        <pubDate>Fri, 04 Sep 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3609</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@sadiep4rker</rp:twitter-handles>
        <rp:twitter-title>“Data Version Control in Python and Real Python Video Transcripts” with @sadiep4rker</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>24</itunes:episode>
        <title>Options for Packaging Your Python Application: Wheels, Docker, and More</title>
        <itunes:title>Options for Packaging Your Python Application: Wheels, Docker, and More</itunes:title>
        <link>https://realpython.com/podcasts/rpp/24/</link>
        <description>Have you wondered, how should I package my Python code? You&#x27;ve written the application, but now you need to distribute it to the machines it&#x27;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 &quot;Options for Packaging Your Python Code: Wheels, Conda, Docker, and More,&quot; covering the how of sharing your code.</description>
        <content:encoded>&lt;p&gt;Have you wondered, how should I package my Python code? You&amp;rsquo;ve written the application, but now you need to distribute it to the machines it&amp;rsquo;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 &amp;ldquo;Options for Packaging Your Python Code: Wheels, Conda, Docker, and More,&amp;rdquo; covering the how of sharing your code.&lt;/p&gt;
&lt;p&gt;Itamar also briefly discusses his Python memory profiler named Fil. We talk about his recent PyCon 2020 presentation, &amp;ldquo;Small Big Data: What to do When Your Data Doesn&amp;rsquo;t Fit in Memory.&amp;rdquo; We also cover several of the resources available on his website for data scientists that want to get deeper into Docker.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to take your Python coding interview skills to the next level and use Python&amp;rsquo;s built-in functions and modules to solve problems faster and more easily.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:36 &amp;ndash; About the naming of pythonspeed.com&lt;/li&gt;
&lt;li&gt;00:03:47 &amp;ndash; Fil - Python Memory Profiler&lt;/li&gt;
&lt;li&gt;00:06:44 &amp;ndash; Small Big Data: What to do when your data doesn&amp;rsquo;t fit in memory - PyCon 2020&lt;/li&gt;
&lt;li&gt;00:12:17 &amp;ndash; Options for packaging your Python code: Wheels, Conda, Docker, and more&lt;/li&gt;
&lt;li&gt;00:15:13 &amp;ndash; Python Wheels&lt;/li&gt;
&lt;li&gt;00:19:22 &amp;ndash; pipx: Install and Run Python Applications in Isolated Environments&lt;/li&gt;
&lt;li&gt;00:20:52 &amp;ndash; PEX, and friends&lt;/li&gt;
&lt;li&gt;00:24:51 &amp;ndash; System Package, RPM or DEB&lt;/li&gt;
&lt;li&gt;00:29:42 &amp;ndash; Conda Packaging and conda-forge&lt;/li&gt;
&lt;li&gt;00:36:09 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:37:23 &amp;ndash; Self-contained executable: PyInstaller, PyOxidizer, Briefcase&lt;/li&gt;
&lt;li&gt;00:43:45 &amp;ndash; Container image (Docker, Singularity)&lt;/li&gt;
&lt;li&gt;00:54:55 &amp;ndash; Why alpine may not be the best choice&lt;/li&gt;
&lt;li&gt;01:05:28 &amp;ndash; Singularity&lt;/li&gt;
&lt;li&gt;01:07:50 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:10:40 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:13:54 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/&quot;&gt;Python =&amp;gt; Speed: Ship Better Python Software, Faster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codewithoutrules.com/&quot;&gt;Code Without Rules: Helping You Become a Productive Programmer and Get Work/Life Balance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/274/profiling-data-science-code-with-fil&quot;&gt;Talk Python to Me &amp;ndash; Episode #274: Profiling Data Science Code with FIL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/memory-profiler-data-scientists/&quot;&gt;Fil: A New Python Memory Profiler for Data Scientists and Scientists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=8pFnrr0NnwY&quot;&gt;Small Big Data: What to do When Your Data Doesn&amp;rsquo;t Fit in Memory - PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/16/&quot;&gt;Episode 16: Thinking in Pandas: Python Data Analysis the Right Way&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/distributing-software/&quot;&gt;Options for Packaging Your Python Code: Wheels, Conda, Docker, and More&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-wheels/&quot;&gt;What Are Python Wheels and Why Should You Care?: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pipx/&quot;&gt;pipx — Install and Run Python Applications in Isolated Environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pantsbuild/pex&quot;&gt;pex: A Library and Tool for Generating .pex (Python EXecutable) Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=NmpnGhRwsu0&quot;&gt;WTF is PEX?: Twitter Lightning Talk - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/RPM_Package_Manager&quot;&gt;RPM (Red Hat Package Manager): Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Deb_(file_format)&quot;&gt;DEB (Debian Package - file format): Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.conda.io/en/latest/&quot;&gt;Conda: Package, Dependency and Environment Management for Any Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://anaconda.org/conda-forge/conda&quot;&gt;conda-forge: A community-led collection of recipes, build infrastructure and distributions for the conda package manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.pyinstaller.org/&quot;&gt;PyInstaller: Freezes (packages) Python applications into stand-alone executables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/indygreg/PyOxidizer&quot;&gt;PyOxidizer: A utility for producing binaries that embed Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/project/projects/tools/briefcase/&quot;&gt;Briefcase: Convert a Python project into a standalone native application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.docker.com/get-started&quot;&gt;Docker: Get Started with Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/products/justenoughdockerpackaging/&quot;&gt;Just Enough Docker Packaging: Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcasts/rpp/8/&quot;&gt;Episode 8: Docker + Python for Data Science and Machine Learning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/alpine-docker-python/&quot;&gt;Using Alpine can make Python Docker builds 50× slower&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sylabs.io/guides/3.5/user-guide/introduction.html&quot;&gt;Introduction to Singularity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pythonspeed.com/articles/containers-filesystem-data-processing/&quot;&gt;Docker vs. Singularity for data processing: UIDs and filesystem access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ep2020.europython.eu/talks/CeKGczx-best-practices-for-production-ready-docker-packaging/&quot;&gt;Best practices for production-ready Docker packaging: EuroPython 2020 talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=G3pqxUIWjiw&amp;amp;list=PL8uoeex94UhG33fVP7GZEo06gOHlhb0hk&amp;amp;index=3&quot;&gt;EuroPython 2020 Talk: Brian Track Stream - Unedited - Starts @08:33:45&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xcelab.net/rm/statistical-rethinking/&quot;&gt;Statistical Rethinking: A Bayesian Course with Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=HZGCoVF3YvM&quot;&gt;Bayes Theorem: 3Blue1Brown - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E024_Itamar_2.2b6cf3943613.mp3" type="audio/mpeg" length="53885448"/>
        <guid isPermaLink="false">3c9c5a00-9608-415f-b15d-ffa8f0ea5a3a</guid>
        <pubDate>Fri, 28 Aug 2020 12:00:00 +0000</pubDate>
        <itunes:duration>4480</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@itamarst</rp:twitter-handles>
        <rp:twitter-title>“Options for Packaging Your Python Application: Wheels, Docker, and More” with @itamarst</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>23</itunes:episode>
        <title>Python Wheels and Pass by Reference in Python</title>
        <itunes:title>Python Wheels and Pass by Reference in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/23/</link>
        <description>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.</description>
        <content:encoded>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;We talk about an article called &amp;ldquo;What are Python Wheels, and Why Should You Care.&amp;rdquo; 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.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/practical-recipes-files/&quot;&gt;Practical Recipes for Working With Files in Python&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course, you&amp;rsquo;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.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:25 &amp;ndash; 4 Powerful Features Python Is Still Missing&lt;/li&gt;
&lt;li&gt;00:14:41 &amp;ndash; What Are Python Wheels and Why Should You Care?&lt;/li&gt;
&lt;li&gt;00:23:58 &amp;ndash; 10 Awesome Pythonic One-Liners Explained&lt;/li&gt;
&lt;li&gt;00:38:11 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:39:14 &amp;ndash; How to Transcribe Speech Recordings Into Text With Python&lt;/li&gt;
&lt;li&gt;00:43:34 &amp;ndash; Pass by Reference in Python: Background and Best Practices&lt;/li&gt;
&lt;li&gt;00:49:54 &amp;ndash; Options for Packaging Your Python Code: Wheels, Conda, Docker, and More&lt;/li&gt;
&lt;li&gt;00:55:53 &amp;ndash; PyOxidizer: A Modern Python Application Packaging and Distribution Tool&lt;/li&gt;
&lt;li&gt;01:00:13 &amp;ndash; Python and PDF: A Review of Existing Tools&lt;/li&gt;
&lt;li&gt;01:04:01 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.infoworld.com/article/3566382/4-powerful-features-python-is-still-missing.html&quot;&gt;4 Powerful Features Python Is Still Missing&lt;/a&gt; &amp;ndash; Python doesn&amp;rsquo;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 &amp;ldquo;missing&amp;rdquo; when compared to other languages, and why the core developers haven&amp;rsquo;t added these features to the language.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-wheels/&quot;&gt;What Are Python Wheels and Why Should You Care?&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn what Python wheels are and why you should care as both a developer and end user of Python packages. You&amp;rsquo;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.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dev.to/devmount/10-awesome-pythonic-one-liners-explained-3doc&quot;&gt;10 Awesome Pythonic One-Liners Explained&lt;/a&gt; &amp;ndash; Some things in Python are just better on one line.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.fullstackpython.com/blog/transcribe-recordings-speech-text-assemblyai.html&quot;&gt;How to Transcribe Speech Recordings Into Text With Python&lt;/a&gt; &amp;ndash; Learn to transcribe speech in recordings like MP3s into text with Python and AssemblyAI&amp;rsquo;s API&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-pass-by-reference/&quot;&gt;Pass by Reference in Python: Background and Best Practices&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll explore the concept of passing by reference and learn how it relates to Python&amp;rsquo;s own system for handling function arguments. You&amp;rsquo;ll look at several use cases for passing by reference and learn some best practices for implementing pass-by-reference constructs in Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pythonspeed.com/articles/distributing-software/&quot;&gt;Options for Packaging Your Python Code: Wheels, Conda, Docker, and More&lt;/a&gt; &amp;ndash; There&amp;rsquo;s a lot of ways to package your Python code. Find out which one is right for you.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/indygreg/PyOxidizer&quot;&gt;PyOxidizer: A Modern Python Application Packaging and Distribution Tool&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://johannesfilter.com/python-and-pdf-a-review-of-existing-tools/&quot;&gt;Python and PDF: A Review of Existing Tools&lt;/a&gt; &amp;ndash; The ultimate list of PDF tools in Python.&lt;/p&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python38-new-features/#more-precise-types&quot;&gt;Cool New Features in Python 3.8: More Precise Types - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://python101.pythonlibrary.org/chapter39_wheels.html&quot;&gt;Python 101 - Chapter 39 &amp;ndash; Python wheels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.artima.com/weblogs/viewpost.jsp?thread=147358&quot;&gt;Language Design Is Not Just Solving Puzzles: Guido Van Rossum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pypi-publish-python-package/&quot;&gt;How to Publish an Open-Source Python Package to PyPI - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.assemblyai.com&quot;&gt;AssemblyAI: Speech-to-Text API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/practical-recipes-files/&quot;&gt;Practical Recipes for Working With Files in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E023_David.6062e11c820a.mp3" type="audio/mpeg" length="46749485"/>
        <guid isPermaLink="false">b8fce158-4415-416f-a62a-a6b33766e9c0</guid>
        <pubDate>Fri, 21 Aug 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3885</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python Wheels and Pass by Reference in Python”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>22</itunes:episode>
        <title>Create Cross-Platform Python GUI Apps With BeeWare</title>
        <itunes:title>Create Cross-Platform Python GUI Apps With BeeWare</itunes:title>
        <link>https://realpython.com/podcasts/rpp/22/</link>
        <description>Do you want to distribute your Python applications to other users who don&#x27;t have or even use Python? Maybe you&#x27;re interested in seeing your Python application run on iOS or Android mobile devices. This week on the show we have Russell Keith-Magee, the founder and maintainer of the BeeWare project. Russell talks about Briefcase, a tool that converts a Python application into native installers on macOS, Windows, Linux, and mobile devices.</description>
        <content:encoded>&lt;p&gt;Do you want to distribute your Python applications to other users who don&amp;rsquo;t have or even use Python? Maybe you&amp;rsquo;re interested in seeing your Python application run on iOS or Android mobile devices. This week on the show we have Russell Keith-Magee, the founder and maintainer of the BeeWare project. Russell talks about Briefcase, a tool that converts a Python application into native installers on macOS, Windows, Linux, and mobile devices.&lt;/p&gt;
&lt;p&gt;We spend some time digging into BeeWare&amp;rsquo;s cross-platform widget toolkit named Toga. Russell talks about some of the intricacies of converting graphical user interface components from across multiple computing platforms. If you&amp;rsquo;re interested in contributing to an open source project, he discusses how you could get involved in the project. We also talk about the struggle of getting funding for open source projects.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In this course on Python decorators, you’ll learn what they are and how to create and use them. Decorators provide a simple syntax for calling higher-order functions in Python. By definition, a decorator is a function that takes another function and extends the behavior of the latter function without explicitly modifying it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:36 &amp;ndash; History of the BeeWare project&lt;/li&gt;
&lt;li&gt;00:05:20 &amp;ndash; Is having separate tools helpful?&lt;/li&gt;
&lt;li&gt;00:07:06 &amp;ndash; Gaming frameworks in Briefcase&lt;/li&gt;
&lt;li&gt;00:09:05 &amp;ndash; How is Briefcase different from similar tools?  &lt;/li&gt;
&lt;li&gt;00:14:36 &amp;ndash; Platform considerations 32bit vs 64bit&lt;/li&gt;
&lt;li&gt;00:16:27 &amp;ndash; Coming Mac hardware platform changes&lt;/li&gt;
&lt;li&gt;00:18:20 &amp;ndash; TOML: Background, use in Python projects, and Briefcase&lt;/li&gt;
&lt;li&gt;00:26:29 &amp;ndash; How is the project going for different platforms?&lt;/li&gt;
&lt;li&gt;00:32:09 &amp;ndash; Android hardware as a developer test device &lt;/li&gt;
&lt;li&gt;00:36:14 &amp;ndash; Making Toga (GUI) cross platform&lt;/li&gt;
&lt;li&gt;00:41:21 &amp;ndash; What type of interface widgets are available in Toga?&lt;/li&gt;
&lt;li&gt;00:44:26 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:45:37 &amp;ndash; Distribution to the web as a platform&lt;/li&gt;
&lt;li&gt;00:49:54 &amp;ndash; What is WASM (Web Assembly)? &lt;/li&gt;
&lt;li&gt;00:53:26 &amp;ndash; Version numbering for BeeWare projects&lt;/li&gt;
&lt;li&gt;00:56:23 &amp;ndash; What is your day-to-day involvement in the project? &lt;/li&gt;
&lt;li&gt;00:58:32 &amp;ndash; How would someone get involved in the project?&lt;/li&gt;
&lt;li&gt;01:05:15 &amp;ndash; Funding open-source projects&lt;/li&gt;
&lt;li&gt;01:13:31 &amp;ndash; Including a smaller version of Python&lt;/li&gt;
&lt;li&gt;01:17:08 &amp;ndash; What are you currently excited about?&lt;/li&gt;
&lt;li&gt;01:22:17 &amp;ndash; What are you interested in learning next?&lt;/li&gt;
&lt;li&gt;01:23:07 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/&quot;&gt;BeeWare: Write once. Deploy everywhere.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/project/projects/tools/briefcase/&quot;&gt;Briefcase: Convert a Python Project Into a Standalone Native Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/project/projects/libraries/toga/&quot;&gt;Toga: A Python Native, OS Native GUI Toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.beeware.org/en/latest/&quot;&gt;BeeWare Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=WjMDXDHBn1I&quot;&gt;Snakes in a case: Packaging Python apps for distribution - Russell Keith-Magee PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/interview-russell-keith-magee/&quot;&gt;Python Community Interview With Russell Keith-Magee: Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cecinestpasun.com/&quot;&gt;Ceci n&amp;rsquo;est pas un homepage: The personal blog of Russell Keith-Magee&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ldjam.com/&quot;&gt;Ludum Dare: Online Event Where Games are Made From Scratch in a Weekend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ppb.dev/&quot;&gt;PursuedPyBear: Unbearably Fun Game Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pathunstrom.itch.io/blink&quot;&gt;Blink: PPB App, Packaged with Briefcase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/toml-lang/toml&quot;&gt;TOML: Tom&amp;rsquo;s Obvious, Minimal Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snarky.ca/what-the-heck-is-pyproject-toml/&quot;&gt;What the heck is pyproject.toml?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/packaging-with-pyproject-toml/&quot;&gt;Everyday Project Packaging With pyproject.toml&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0518/&quot;&gt;PEP 518 &amp;ndash; Specifying Minimum Build System Requirements for Python Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.onthecommons.org/magazine/elinor-ostroms-8-principles-managing-commmons#sthash.kjBWq8X0.dpbs&quot;&gt;Elinor Ostrom&amp;rsquo;s 8 Principles for Managing A Commons - On the Commons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sponsors/freakboy3742&quot;&gt;Russell Keith-Magee Github Sponsors Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://beeware.org/bee/join&quot;&gt;BeeWare Financial Membership&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://psfmember.org/&quot;&gt;PSF: Become a Supporting Member of the Python Software Foundation!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.quakejs.com&quot;&gt;Quake in the browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org/&quot;&gt;WebAssembly: Binary Instruction Format for a Stack-based Virtual Machine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://emscripten.org/&quot;&gt;Emscripten: Toolchain for Compiling to asm.js and WebAssembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/python/announcing-pylance-fast-feature-rich-language-support-for-python-in-visual-studio-code/&quot;&gt;Announcing Pylance: Fast, feature-rich language support for Python in Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/structuring-python-application/&quot;&gt;Structuring a Python Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/how-to-publish-your-own-python-package-pypi/&quot;&gt;How to Publish Your Own Python Package to PyPI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E022_Russell_02.3bf0f83a0bb3.mp3" type="audio/mpeg" length="60464972"/>
        <guid isPermaLink="false">75195031-5db2-456e-ac28-dd0824393928</guid>
        <pubDate>Fri, 14 Aug 2020 12:00:00 +0000</pubDate>
        <itunes:duration>5028</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@freakboy3742</rp:twitter-handles>
        <rp:twitter-title>“Create Cross-Platform Python GUI Apps With BeeWare” with @freakboy3742</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>21</itunes:episode>
        <title>Exploring K-means Clustering and Building a Gradebook With Pandas</title>
        <itunes:title>Exploring K-means Clustering and Building a Gradebook With Pandas</itunes:title>
        <link>https://realpython.com/podcasts/rpp/21/</link>
        <description>Do you  want to learn the how and when of implementing K-means clustering in Python? Would you like to practice your pandas skills with a real-world project? This week on the show, David Amos is back with another batch of PyCoder’s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Do you  want to learn the how and when of implementing K-means clustering in Python? Would you like to practice your pandas skills with a real-world project? This week on the show, David Amos is back with another batch of PyCoder’s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David talks about a Real Python article about how to perform K-means clustering in Python. We also talk about a new project based article on the site about how to create a gradebook using pandas, practicing the skills of importing, merging, and calculating across groups of data. We cover several other articles and projects from the Python community including: JPEG image decoding, object-oriented development with interfaces and mixins, sparking joy with Python,  five package picks from Real Python authors, and more.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/reading-and-writing-csv-files/&quot;&gt;Reading and Writing CSV Files&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;This course teaches how to read and write data to CSV files using Python’s built in &lt;code&gt;csv&lt;/code&gt; module and the pandas library. You’ll learn how to handle standard and non-standard data such as CSV files without headers, or files containing delimiters in the data.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:34 &amp;ndash; Understanding and Decoding a JPEG Image Using Python&lt;/li&gt;
&lt;li&gt;00:08:41 &amp;ndash; K-Means Clustering in Python: A Practical Guide&lt;/li&gt;
&lt;li&gt;00:12:49 &amp;ndash; Pandas Project: Make a Gradebook With Pandas&lt;/li&gt;
&lt;li&gt;00:17:54 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:18:53 &amp;ndash; Interfaces, Mixins and Building Powerful Custom Data Structures in Python&lt;/li&gt;
&lt;li&gt;00:32:29 &amp;ndash; Sparking Joy With Python&lt;/li&gt;
&lt;li&gt;00:43:33 &amp;ndash; Python Packages: Five Real Python Favorites&lt;/li&gt;
&lt;li&gt;00:52:15 &amp;ndash; zxcvbn-python: Dropbox&amp;rsquo;s Realistic Password Strength Estimator&lt;/li&gt;
&lt;li&gt;00:55:43 &amp;ndash; Manim: Animation Engine for Explanatory Math Videos&lt;/li&gt;
&lt;li&gt;01:00:34 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://yasoob.me/posts/understanding-and-writing-jpeg-decoder-in-python/&quot;&gt;Understanding and Decoding a JPEG Image Using Python&lt;/a&gt; &amp;ndash; Learn about the JPEG compression algorithm in this comprehensive guide to decoding JPEGs with Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/k-means-clustering-python/&quot;&gt;K-Means Clustering in Python: A Practical Guide&lt;/a&gt; &amp;ndash; Learn how to perform k-means clustering in Python. You&amp;rsquo;ll review evaluation metrics for choosing an appropriate number of clusters and build an end-to-end k-means clustering pipeline in &lt;code&gt;scikit-learn&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/pandas-project-gradebook/&quot;&gt;Pandas Project: Make a Gradebook With Pandas&lt;/a&gt; &amp;ndash; With this follow-along Python project, you&amp;rsquo;ll build a script to calculate grades for a class using pandas. The script will quickly and accurately calculate grades from a variety of data sources. You&amp;rsquo;ll see examples of loading, merging, and saving data with pandas, as well as plotting some summary statistics.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://rednafi.github.io/digressions/python/2020/07/03/python-mixins.html&quot;&gt;Interfaces, Mixins and Building Powerful Custom Data Structures in Python&lt;/a&gt; &amp;ndash; How to supercharge Python&amp;rsquo;s built-in data structures and build powerful custom data structures with mixin classes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maxwellforbes.com/posts/spark-joy-python-why&quot;&gt;Sparking Joy With Python&lt;/a&gt; &amp;ndash; After a fling with TypeScript, one Python programmer shares some thoughts on keeping the flame alive with Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-packages/&quot;&gt;Python Packages: Five Real Python Favorites&lt;/a&gt; &amp;ndash; In this tutorial, several Real Python authors share Python packages we like to use as alternatives to modules in the standard library. You&amp;rsquo;ll get to know a number of useful packages, including &lt;code&gt;pudb&lt;/code&gt;, &lt;code&gt;requests&lt;/code&gt;, &lt;code&gt;parse&lt;/code&gt;, &lt;code&gt;dateutil&lt;/code&gt;, and &lt;code&gt;typer&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dwolfhub/zxcvbn-python&quot;&gt;zxcvbn-python: Dropbox&amp;rsquo;s Realistic Password Strength Estimator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/3b1b/manim&quot;&gt;Manim: Animation engine for explanatory math videos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/JPEG&quot;&gt;JPEG - Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/YCbCr&quot;&gt;YCbCr - Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-type-checking/&quot;&gt;Python Type Checking (Guide) - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pandas-dataframe/&quot;&gt;The Pandas DataFrame: Make Working With Data Delightful - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-interface/&quot;&gt;Implementing an Interface in Python - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.typescriptlang.org/&quot;&gt;TypeScript: Open-source language which builds on JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw&quot;&gt;3Blue1Brown - YouTube channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkingphysics.wordpress.com/2019/01/08/getting-started-animating-with-manim-and-python-3-7/&quot;&gt;Getting Started Animating with manim and Python 3.7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming-oop-python/&quot;&gt;A Conceptual Primer on OOP in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-and-writing-csv-files/&quot;&gt;Reading and Writing CSV Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/idiomatic-pandas-tricks-features-you-may-not-know/&quot;&gt;Idiomatic pandas: Tricks &amp;amp; Features You May Not Know&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E021_David_Amos.d98de6633b18.mp3" type="audio/mpeg" length="44307931"/>
        <guid isPermaLink="false">cb3b2047-a4e0-4227-acbf-6edf4423a793</guid>
        <pubDate>Fri, 07 Aug 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3681</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Exploring K-means Clustering and Building a Gradebook With Pandas”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>20</itunes:episode>
        <title>Building PDFs in Python with ReportLab</title>
        <itunes:title>Building PDFs in Python with ReportLab</itunes:title>
        <link>https://realpython.com/podcasts/rpp/20/</link>
        <description>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 &quot;ReportLab - PDF Processing with Python.&quot;</description>
        <content:encoded>&lt;p&gt;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 &amp;ldquo;ReportLab - PDF Processing with Python.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this step-by-step course, you&amp;rsquo;ll learn how to work with a PDF in Python. You&amp;rsquo;ll see how to extract metadata from preexisting PDFs. You&amp;rsquo;ll also learn how to merge, split, watermark, and rotate pages in PDFs using Python and PyPDF2.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:23 &amp;ndash; Python 101 book revisions/rewrite&lt;/li&gt;
&lt;li&gt;00:04:48 &amp;ndash; Python 201 book&lt;/li&gt;
&lt;li&gt;00:05:47 &amp;ndash; What Python GUI framework do you prefer?&lt;/li&gt;
&lt;li&gt;00:12:46 &amp;ndash; MouseVsPython YouTube channel&lt;/li&gt;
&lt;li&gt;00:14:34 &amp;ndash; Why write a ReportLab book?&lt;/li&gt;
&lt;li&gt;00:16:11 &amp;ndash; Kickstarter and self-publishing books&lt;/li&gt;
&lt;li&gt;00:21:38 &amp;ndash; Reader feedback about the book&lt;/li&gt;
&lt;li&gt;00:22:35 &amp;ndash; What other PDF tools are covered in the book?&lt;/li&gt;
&lt;li&gt;00:23:48 &amp;ndash; Differences with ReportLab Plus&lt;/li&gt;
&lt;li&gt;00:25:00 &amp;ndash; Flowables and PLATYPUS&lt;/li&gt;
&lt;li&gt;00:28:56 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:29:49 &amp;ndash; What types of projects have you used ReportLab for?&lt;/li&gt;
&lt;li&gt;00:35:50 &amp;ndash; Creating PDF forms with ReportLab&lt;/li&gt;
&lt;li&gt;00:40:21 &amp;ndash; LaTeX comparison with ReportLab&lt;/li&gt;
&lt;li&gt;00:41:40 &amp;ndash; PDFMiner text extraction&lt;/li&gt;
&lt;li&gt;00:43:17 &amp;ndash; PyFPDF Library for PDF document creation&lt;/li&gt;
&lt;li&gt;00:45:28 &amp;ndash; Camelot: PDF Table Extraction for Humans&lt;/li&gt;
&lt;li&gt;00:47:17 &amp;ndash; Working with passwords and encryption - PyPDF2&lt;/li&gt;
&lt;li&gt;00:47:56 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:48:47 &amp;ndash; Learning OpenCV&lt;/li&gt;
&lt;li&gt;00:49:38 &amp;ndash; What do you want to learn next in Python?&lt;/li&gt;
&lt;li&gt;00:50:20 &amp;ndash; Suggestions for Python libraries to read&lt;/li&gt;
&lt;li&gt;00:52:11 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.blog.pythonlibrary.org/&quot;&gt;MouseVsPython Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leanpub.com/py101&quot;&gt;Python 101: 2nd Edition &amp;ndash; Leanpub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leanpub.com/python201&quot;&gt;Python 201: Intermediate Python &amp;ndash; Leanpub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-with-wxpython/&quot;&gt;How to Build a Python GUI Application With wxPython &amp;ndash; Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.apress.com/us/book/9781484232361&quot;&gt;wxPython Recipes: A Problem - Solution Approach &amp;ndash; Apress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wxpython.org&quot;&gt;wxPython: The GUI Toolkit for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pysimplegui-python/&quot;&gt;PySimpleGUI: The Simple Way to Create a GUI With Python &amp;ndash; Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/PySimpleGUI/PySimpleGUI&quot;&gt;PySimpleGUI: Python GUI For Humans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/c/MouseVsPython&quot;&gt;Mouse Vs Python: YouTube channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leanpub.com/reportlab&quot;&gt;ReportLab - PDF Processing with Python &amp;ndash; Leanpub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reportlab.com/dev/opensource/&quot;&gt;ReportLab: Developer pages - Open Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.latex-project.org/&quot;&gt;LaTeX – Document preparation system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pdfminer/&quot;&gt;PDFMiner: Text extraction tool for PDF documents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfpdf.readthedocs.io/en/latest/index.html&quot;&gt;PyFPDF: Library for PDF document generation under Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://camelot-py.readthedocs.io/en/master/&quot;&gt;Camelot: PDF Table Extraction for Humans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/PyPDF2/&quot;&gt;PyPDF2: Pure-Python library built as a PDF toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pdf-python/&quot;&gt;How to Work With a PDF in Python &amp;ndash; Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyviz.org/tools.html&quot;&gt;PyViz: List of libraries for visualizing data in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyimagesearch.com/author/adrian/&quot;&gt;Adrian Rosebrock: author page &amp;ndash; pyimagesearch.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyimagesearch.com/opencv-tutorials-resources-guides/&quot;&gt;OpenCV Tutorials, Resources, and Guides - pyimagesearch.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-opencv-color-spaces/&quot;&gt;Image Segmentation Using Color Spaces in OpenCV + Python &amp;ndash; Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pillow.readthedocs.io/en/stable/&quot;&gt;Pillow: The friendly PIL (Python Imaging Library) fork&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/storing-images-in-python/&quot;&gt;Three Ways of Storing and Accessing Lots of Images in Python &amp;ndash; Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/interactive-data-visualization-python-bokeh/&quot;&gt;Interactive Data Visualization With Bokeh and Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pdf-python/&quot;&gt;How to Work With a PDF in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E020_Mike_Driscoll.bb896117d878.mp3" type="audio/mpeg" length="38334577"/>
        <guid isPermaLink="false">726c25dc-6402-40b0-8e9f-084527fa10d4</guid>
        <pubDate>Fri, 31 Jul 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3184</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@driscollis</rp:twitter-handles>
        <rp:twitter-title>“Building PDFs in Python with ReportLab” with @driscollis</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>19</itunes:episode>
        <title>Advanced Python Import Techniques and Managing Users in Django</title>
        <itunes:title>Advanced Python Import Techniques and Managing Users in Django</itunes:title>
        <link>https://realpython.com/podcasts/rpp/19/</link>
        <description>Would you like to clearly understand what&#x27;s happening when you use the Python import keyword? Do you want to use modules more effectively to structure your code? Or maybe you&#x27;re ready to move to the next level with your Django project by adding user management. This week on the show, David Amos is back with another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Would you like to clearly understand what&amp;rsquo;s happening when you use the Python import keyword? Do you want to use modules more effectively to structure your code? Or maybe you&amp;rsquo;re ready to move to the next level with your Django project by adding user management. This week on the show, David Amos is back with another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;We discuss a Real Python article about advanced techniques and tips for using the Python import keyword. David also talks about another recent article on the site about managing users in Django. We cover several other articles and projects from the Python community including: robot programming in Python, f-strings vs .format(), the rise of Python malware, a hardware Python keyboard, and more.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Get started on 13 Python project ideas that are just right for intermediate Python developers. They&amp;rsquo;ll challenge you enough to help you become a better Pythonista.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:31 &amp;ndash; The Non-Return of the Python print statement&lt;/li&gt;
&lt;li&gt;00:05:46 &amp;ndash; Python Malware on the Rise&lt;/li&gt;
&lt;li&gt;00:13:46 &amp;ndash; Get Started With Django Part 2: Django User Management&lt;/li&gt;
&lt;li&gt;00:19:01 &amp;ndash; Why Do People Use .format() When f-Strings Exist?&lt;/li&gt;
&lt;li&gt;00:27:41 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:28:45 &amp;ndash; A Beginner&amp;rsquo;s Guide to Robot Programming With Python&lt;/li&gt;
&lt;li&gt;00:36:17 &amp;ndash; Python import: Advanced Techniques and Tips&lt;/li&gt;
&lt;li&gt;00:40:56 &amp;ndash; toolz: A Functional Standard Library for Python&lt;/li&gt;
&lt;li&gt;00:46:43 &amp;ndash; python-keyboard: A Hand-Wired USB &amp;amp; BLE Keyboard Powered by Python&lt;/li&gt;
&lt;li&gt;00:51:09 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lwn.net/Articles/823292/&quot;&gt;The (Non-)Return of the Python Print Statement&lt;/a&gt; &amp;ndash; Guido van Rossum recently &lt;a href=&quot;https://lwn.net/ml/python-ideas/CAP7+vJKsrT-n4rHjaR4PYPRq09JOZcoR54ZjkboOkZcYhB+7oA@mail.gmail.com/&quot;&gt;proposed re-introducing the Python print statement&lt;/a&gt;. He was completely serious and even though the idea didn’t gain traction, it’s interesting to know why he made the proposal.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cyborgsecurity.com/python-malware-on-the-rise/&quot;&gt;Python Malware on the Rise&lt;/a&gt; &amp;ndash; Python’s low barrier to entry, enormous ecosystem, and rapid development process has made it one of he most desired programming languages for millions of developers around he globe&amp;mdash;including malicious actors. Read the article at the link above and follow the &lt;a href=&quot;https://news.ycombinator.com/item?id=23824689&quot;&gt;discussion on Hacker News&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/django-user-management/&quot;&gt;Get Started With Django Part 2: Django User Management&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how to extend your Django application with a user management system, complete with email sending and third-party authentication.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://old.reddit.com/r/learnpython/comments/hjegkc/why_do_people_use_format_method_when_f_string/&quot;&gt;Why Do People Use .format() When f-Strings Exist?&lt;/a&gt; &amp;ndash; f-Strings aren&amp;rsquo;t exactly a drop-in replacement for .format().&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://thenextweb.com/syndication/2020/07/11/a-beginners-guide-to-robot-programming-with-python/&quot;&gt;A Beginner&amp;rsquo;s Guide to Robot Programming With Python&lt;/a&gt; &amp;ndash; Get a crash course in programming autonomous robots with Python. Don’t have a robot laying around? No problem! Use this &lt;a href=&quot;https://github.com/nmccrea/sobot-rimulator/tree/v1.0.0&quot;&gt;open-source simulator&lt;/a&gt; to get started.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-import/&quot;&gt;Python import: Advanced Techniques and Tips&lt;/a&gt; &amp;ndash; The Python import system is as powerful as it is useful. In this in-depth tutorial, you&amp;rsquo;ll learn how to harness this power to improve the structure and maintainability of your code.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pytoolz/toolz&quot;&gt;toolz: A Functional Standard Library for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/makerdiary/python-keyboard&quot;&gt;python-keyboard: A Hand-Wired USB &amp;amp; BLE Keyboard Powered by Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.jse.li/posts/pyc/&quot;&gt;Finding secrets by decompiling Python bytecode in public repositories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-string-formatting/#4-template-strings-standard-library&quot;&gt;Python String Formatting Best Practices: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/tenable-techblog/remapping-python-opcodes-67d79586bfd5&quot;&gt;Remapping Python Opcodes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_Trak&quot;&gt;Big Trak&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://youtu.be/T8CQwGIsrx4&quot;&gt;Introduction to Decorators: Power Up Your Python Code - PyCon 2020 Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://makerdiary.com/pages/m60-mechanical-keyboard&quot;&gt;M60 Mechanical Keyboard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-f-strings-improved-string-formatting-syntax/&quot;&gt;Python 3&amp;#x27;s F-Strings: An Improved String Formatting Syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-modules-packages/&quot;&gt;Python Modules and Packages: An Introduction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E019_David_Amos.2b4d2e0985a3.mp3" type="audio/mpeg" length="37489501"/>
        <guid isPermaLink="false">152d6cb7-19aa-4083-bf5f-3817306438f1</guid>
        <pubDate>Fri, 24 Jul 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3113</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Advanced Python Import Techniques and Managing Users in Django”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>18</itunes:episode>
        <title>Ten Years of Flask: Conversation With Creator Armin Ronacher</title>
        <itunes:title>Ten Years of Flask: Conversation With Creator Armin Ronacher</itunes:title>
        <link>https://realpython.com/podcasts/rpp/18/</link>
        <description>This week on the show we have Armin Ronacher to talk about the first 10 years of Flask. Armin talks about the origins of Flask and the components that make up the framework. He talks about what goes into documenting a framework or API. He also talks about the community working on the ongoing development of Flask.</description>
        <content:encoded>&lt;p&gt;This week on the show we have Armin Ronacher to talk about the first 10 years of Flask. Armin talks about the origins of Flask and the components that make up the framework. He talks about what goes into documenting a framework or API. He also talks about the community working on the ongoing development of Flask.&lt;/p&gt;
&lt;p&gt;He also shares his thoughts about Python, and how it contrasts with Rust and TypeScript.  Armin talks about what he would do differently if he were to start development of a project like Flask now. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt;  &lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Python Code: A Complete Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course will get you up to speed with how to document your Python code. Documenting your code is an important step to help developers and users fully understand its usage and purpose.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction &lt;/li&gt;
&lt;li&gt;00:01:21 &amp;ndash; Director of Engineering at Sentry&lt;/li&gt;
&lt;li&gt;00:07:27 &amp;ndash; How much are you currently involved with Flask?&lt;/li&gt;
&lt;li&gt;00:08:32 &amp;ndash; Are you still using both Python and Rust currently?&lt;/li&gt;
&lt;li&gt;00:11:37 &amp;ndash; The origins of Flask &lt;/li&gt;
&lt;li&gt;00:19:14 &amp;ndash; Initial reactions and focus&lt;/li&gt;
&lt;li&gt;00:21:26 &amp;ndash; Where has Jinja use shifted?&lt;/li&gt;
&lt;li&gt;00:23:23 &amp;ndash; Flask usage trends&lt;/li&gt;
&lt;li&gt;00:25:44 &amp;ndash; The Pallets Projects name&lt;/li&gt;
&lt;li&gt;00:29:08 &amp;ndash; Flask version numbers&lt;/li&gt;
&lt;li&gt;00:34:21 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:35:21 &amp;ndash; The community working on Flask&lt;/li&gt;
&lt;li&gt;00:38:18 &amp;ndash; Thoughts on type checking&lt;/li&gt;
&lt;li&gt;00:41:40 &amp;ndash; Flask&amp;rsquo;s documentation&lt;/li&gt;
&lt;li&gt;00:43:26 &amp;ndash; Thoughts on API documentation&lt;/li&gt;
&lt;li&gt;00:47:27 &amp;ndash; What would you change if you started from scratch?&lt;/li&gt;
&lt;li&gt;00:49:58 &amp;ndash; Listener question about using Python with WordPress&lt;/li&gt;
&lt;li&gt;00:58:15 &amp;ndash; Any suggestions of a Python project source code to read? &lt;/li&gt;
&lt;li&gt;01:00:13 &amp;ndash; Revisit - What would you change if you started from scratch?&lt;/li&gt;
&lt;li&gt;01:03:17 &amp;ndash; Thoughts on the current path of Python&lt;/li&gt;
&lt;li&gt;01:06:20 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:07:44 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;01:11:35 &amp;ndash; Thoughts on conferences and speaking&lt;/li&gt;
&lt;li&gt;01:16:19 &amp;ndash; Thanks and Conclusion &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://lucumr.pocoo.org&quot;&gt;Armin Ronacher&amp;rsquo;s Thoughts and Writings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sentry.io/welcome/&quot;&gt;Sentry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://palletsprojects.com/p/flask/&quot;&gt;Flask: A lightweight WSGI web application framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world&quot;&gt;The Flask Mega-Tutorial: Miguel Grinberg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://palletsprojects.com/p/itsdangerous/&quot;&gt;ItsDangerous:It&amp;rsquo;s dangerous, so better sign this&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pocoo.org&quot;&gt;Pocoo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://palletsprojects.com/p/jinja/&quot;&gt;Jinja2: Full-featured template engine for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://palletsprojects.com/p/werkzeug/&quot;&gt;Werkzeug: Comprehensive WSGI web application library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://palletsprojects.com/p/click/&quot;&gt;Click: Creating beautiful command line interfaces in a composable way&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://palletsprojects.com&quot;&gt;The Pallets Projects: A collection of Python web development libraries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/EUR-pallet&quot;&gt;Euro-pallet: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pygments.org&quot;&gt;Pygments: Python syntax highlighter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sphinx-doc.org/en/master/&quot;&gt;Sphinx: Python Documentation Generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-type-checking/&quot;&gt;Python Type Checking: Real Python Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.typescriptlang.org&quot;&gt;Typescript: JavaScript that scales&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://mypy-lang.org&quot;&gt;mypy: Optional static type checker for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rust-lang.org&quot;&gt;Rust: A language empowering everyone to build reliable and efficient software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://webassembly.org&quot;&gt;Web Assembly: A binary instruction format for a stack-based virtual machine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intermediate-project-ideas/&quot;&gt;Grow Your Python Portfolio With 13 Intermediate Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/documenting-python-code/&quot;&gt;Documenting Code in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/structuring-python-application/&quot;&gt;Structuring a Python Application&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E018_Armin_2.4ef486eb5228.mp3" type="audio/mpeg" length="55733517"/>
        <guid isPermaLink="false">91144402-7fad-40aa-93de-fb6c8ee1cd55</guid>
        <pubDate>Fri, 17 Jul 2020 12:00:00 +0000</pubDate>
        <itunes:duration>4639</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@mitsuhiko</rp:twitter-handles>
        <rp:twitter-title>“Ten Years of Flask: Conversation With Creator Armin Ronacher” with @mitsuhiko</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>17</itunes:episode>
        <title>Linear Programming, PySimpleGUI, and More</title>
        <itunes:title>Linear Programming, PySimpleGUI, and More</itunes:title>
        <link>https://realpython.com/podcasts/rpp/17/</link>
        <description>Are you familiar with linear programming, and how it can be used to solve resource optimization problems? Would you like to free your Python code from a clunky command line and start making convenient graphical interfaces for your users? This week on the show, David Amos is back with another batch of PyCoder&#x27;s Weekly articles and projects.</description>
        <content:encoded>&lt;p&gt;Are you familiar with linear programming, and how it can be used to solve resource optimization problems? Would you like to free your Python code from a clunky command line and start making convenient graphical interfaces for your users? This week on the show, David Amos is back with another batch of PyCoder&amp;rsquo;s Weekly articles and projects.&lt;/p&gt;
&lt;p&gt;David talks about a recent Real Python article about linear programming in Python. We discuss an article titled &amp;ldquo;PySimpleGUI: The Simple Way to Create a GUI With Python.&amp;rdquo; We also cover several other articles and projects from the Python community including: Python&amp;rsquo;s reduce() function, flaws in the pickle module, advanced pytest techniques, and how to trick a neural network.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-zip-function/&quot;&gt;Parallel Iteration With Python&amp;rsquo;s zip() Function&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course will get you up to speed with Python&amp;rsquo;s &lt;code&gt;zip()&lt;/code&gt; function. In this course, you’ll discover the logic behind &lt;code&gt;zip()&lt;/code&gt; and how you can use it to consistently solve common programming problems, like creating dictionaries. &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:34 &amp;ndash; Python&amp;rsquo;s reduce(): From Functional to Pythonic Style&lt;/li&gt;
&lt;li&gt;00:07:46 &amp;ndash; Hands-On Linear Programming: Optimization With Python&lt;/li&gt;
&lt;li&gt;00:15:07 &amp;ndash; Pickle&amp;rsquo;s Nine Flaws&lt;/li&gt;
&lt;li&gt;00:22:31 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:23:33 &amp;ndash; Advanced pytest Techniques I Learned While Contributing to pandas&lt;/li&gt;
&lt;li&gt;00:33:41 &amp;ndash; PySimpleGUI: The Simple Way to Create a GUI With Python&lt;/li&gt;
&lt;li&gt;00:38:20 &amp;ndash; How to Trick a Neural Network in Python 3&lt;/li&gt;
&lt;li&gt;00:43:31 &amp;ndash; TextAttack: A Python Framework for Adversarial Attacks, Data Augmentation, and Model Training in NLP&lt;/li&gt;
&lt;li&gt;00:46:09 &amp;ndash; byob: BYOB (Build Your Own Botnet)&lt;/li&gt;
&lt;li&gt;00:49:09 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-reduce-function/&quot;&gt;Python&amp;rsquo;s reduce(): From Functional to Pythonic Style&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how Python&amp;rsquo;s reduce() works and how to use it effectively in your programs. You&amp;rsquo;ll also learn some more modern, efficient, and Pythonic ways to gently replace reduce() in your programs.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/linear-programming-python/&quot;&gt;Hands-On Linear Programming: Optimization With Python&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about implementing optimization in Python with linear programming libraries. Linear programming is one of the fundamental mathematical optimization techniques. You&amp;rsquo;ll use SciPy and PuLP to solve linear programming problems.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://nedbatchelder.com/blog/202006/pickles_nine_flaws.html&quot;&gt;Pickle&amp;rsquo;s Nine Flaws&lt;/a&gt; &amp;ndash; &amp;ldquo;Python’s &lt;code&gt;pickle&lt;/code&gt; module is a very convenient way to serialize and de-serialize objects. It needs no schema, and can handle arbitrary Python objects. But it has problems. This post briefly explains the problems.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://levelup.gitconnected.com/advanced-pytest-techniques-i-learned-while-contributing-to-pandas-7ba1465b65eb&quot;&gt;Advanced &lt;code&gt;pytest&lt;/code&gt; Techniques I Learned While Contributing to &lt;code&gt;pandas&lt;/code&gt;&lt;/a&gt; &amp;ndash; Contributing to open-source projects is a great way to learn new techniques and level up your skills. Martin Winkel shares five advanced &lt;code&gt;pytest&lt;/code&gt; techniques he learned while contributing to the pandas project.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/pysimplegui-python/&quot;&gt;PySimpleGUI: The Simple Way to Create a GUI With Python&lt;/a&gt; &amp;ndash; In this step-by-step tutorial, you&amp;rsquo;ll learn how to create a cross-platform graphical user interface (GUI) using Python and PySimpleGUI. A graphical user interface is an application that has buttons, windows, and lots of other elements that the user can use to interact with your application.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-trick-a-neural-network-in-python-3&quot;&gt;How to Trick a Neural Network in Python 3&lt;/a&gt; &amp;ndash; Is that a corgi or a goldfish?&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/QData/TextAttack&quot;&gt;TextAttack: A Python Framework for Adversarial Attacks, Data Augmentation, and Model Training in NLP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/malwaredllc/byob&quot;&gt;byob: Build Your Own Botnet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pycoders.com&quot;&gt;PyCoder&amp;rsquo;s Weekly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/functional-programming-python/&quot;&gt;Functional Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Linear_programming&quot;&gt;Linear Programming: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pickle-module/&quot;&gt;The Python pickle Module: How to Persist Objects in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marshmallow.readthedocs.io/en/3.0/&quot;&gt;Marshmallow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api-part-2/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pytest-python-testing/&quot;&gt;Effective Python Testing With Pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-testing/&quot;&gt;Getting Started With Testing in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-keras-text-classification/&quot;&gt;Practical Text Classification With Python and Keras&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/PySimpleGUI/&quot;&gt;PySimpleGUI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-super/&quot;&gt;Supercharge Your Classes With Python super()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/functional-programming-python/&quot;&gt;From Python&amp;#x27;s Functional Primitives to Parallelism&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-zip-function/&quot;&gt;Parallel Iteration With Python&amp;#x27;s zip() Function&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E017_David_Amos2.45ecf8a66a00.mp3" type="audio/mpeg" length="36115492"/>
        <guid isPermaLink="false">48b05a39-e6ad-4fcc-8b5e-b05c51e8d7f0</guid>
        <pubDate>Fri, 10 Jul 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2998</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Linear Programming, PySimpleGUI, and More”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>16</itunes:episode>
        <title>Thinking in Pandas: Python Data Analysis the Right Way</title>
        <itunes:title>Thinking in Pandas: Python Data Analysis the Right Way</itunes:title>
        <link>https://realpython.com/podcasts/rpp/16/</link>
        <description>Are you using the Python library Pandas the right way? Do you wonder about getting better performance, or how to optimize your data for analysis? What does normalization mean?  This week on the show we have Hannah Stepanek to discuss her new book &quot;Thinking in Pandas&quot;.</description>
        <content:encoded>&lt;p&gt;Are you using the Python library Pandas the right way? Do you wonder about getting better performance, or how to optimize your data for analysis? What does normalization mean?  This week on the show we have Hannah Stepanek to discuss her new book &amp;ldquo;Thinking in Pandas&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The inspiration behind Hannah&amp;rsquo;s book came out of her talk at PyCon US 2019 titled &amp;ldquo;Thinking Like a Panda: Everything You Need to Know to Use Pandas the Right Way.&amp;rdquo; We discuss several core concepts covered in the book. She shares techniques for getting more performance when working with your data in Pandas. We also talk about her recent PyCon US 2020 online presentation about databases and migration. &lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Find your perfect Python development setup with this review of Python IDEs and code editors. With this course you’ll get an overview of the most common Python coding environments to help you make an informed decision.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:36 &amp;ndash; Working for New Relic&lt;/li&gt;
&lt;li&gt;00:03:14 &amp;ndash; Thinking in Pandas book release&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; Who is the intended reader?&lt;/li&gt;
&lt;li&gt;00:05:27 &amp;ndash; What is the underlying tech for Pandas?&lt;/li&gt;
&lt;li&gt;00:09:04 &amp;ndash; Why you shouldn&amp;rsquo;t use apply?&lt;/li&gt;
&lt;li&gt;00:13:00 &amp;ndash; When you have to use apply&lt;/li&gt;
&lt;li&gt;00:16:06 &amp;ndash; Normalizing your data&lt;/li&gt;
&lt;li&gt;00:17:05 &amp;ndash; Do you have a preferred format for a dataframe?&lt;/li&gt;
&lt;li&gt;00:18:17 &amp;ndash; More on multi-index dataframes&lt;/li&gt;
&lt;li&gt;00:24:50 &amp;ndash; Creating NumPy types&lt;/li&gt;
&lt;li&gt;00:28:30 &amp;ndash; Loading in your data&lt;/li&gt;
&lt;li&gt;00:30:33 &amp;ndash; Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:31:41 &amp;ndash; Pivoting data&lt;/li&gt;
&lt;li&gt;00:34:34 &amp;ndash; Considering outside libraries and performance &lt;/li&gt;
&lt;li&gt;00:35:41 &amp;ndash; What topic were you eager to share in the book?&lt;/li&gt;
&lt;li&gt;00:37:52 &amp;ndash; What resources did you use to learn pandas?&lt;/li&gt;
&lt;li&gt;00:40:53 &amp;ndash; PyCon 2020 talk about databases and migration&lt;/li&gt;
&lt;li&gt;00:45:34 &amp;ndash; Delving into migration and Alembic&lt;/li&gt;
&lt;li&gt;00:53:15 &amp;ndash; Speaking opportunities&lt;/li&gt;
&lt;li&gt;00:56:13 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:57:32 &amp;ndash; What do you want to learn next?&lt;/li&gt;
&lt;li&gt;00:58:49 &amp;ndash; Do you read source code to learn?&lt;/li&gt;
&lt;li&gt;01:00:16 &amp;ndash; Is there a particularly well-written library?&lt;/li&gt;
&lt;li&gt;01:01:28 &amp;ndash; Final Thanks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.apress.com/gp/book/9781484258385&quot;&gt;Thinking in Pandas: How to Use the Python Data Analysis Library the Right Way - Apress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ObUcgEO4N8w&quot;&gt;Thinking like a Panda: Everything you need to know to use pandas the right way - PyCon 2019 - Hannah Stepanek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org&quot;&gt;pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/cpython-internals-book/&quot;&gt;CPython Internals: Your Guide to the Python 3 Interpreter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html&quot;&gt;MultiIndex / advanced indexing: pandas documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://numpy.org/doc/stable/reference/arrays.dtypes.html&quot;&gt;NumPy Data type objects (dtype)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.pivot.html&quot;&gt;pandas.DataFrame.pivot: pandas documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=36yw8VC3KU8&amp;amp;t=110s&quot;&gt;Let&amp;rsquo;s talk Databases in Python: SQLAlchemy and Alembic - PyCon 2020 - Hannah Stepanek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlalchemy.org&quot;&gt;SQLAlchemy: The Python SQL Toolkit and Object Relational Mapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/alembic/&quot;&gt;Alembic: A database migration tool for SQLAlchemy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Xbl7XjFYsN4&quot;&gt;import asyncio: Learn Python&amp;rsquo;s AsyncIO #1 - The Async Ecosystem&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/idiomatic-pandas-tricks-features-you-may-not-know/&quot;&gt;Idiomatic pandas: Tricks &amp;amp; Features You May Not Know&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E016_Hannah_Stepanek.6c0de5360f17.mp3" type="audio/mpeg" length="44968118"/>
        <guid isPermaLink="false">aef5e897-97e2-4ac7-9e99-c50f754ce87b</guid>
        <pubDate>Fri, 03 Jul 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3736</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@HannahStepanek</rp:twitter-handles>
        <rp:twitter-title>“Thinking in Pandas: Python Data Analysis the Right Way” with @HannahStepanek</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>15</itunes:episode>
        <title>Python Regular Expressions, Views vs Copies in Pandas, and More</title>
        <itunes:title>Python Regular Expressions, Views vs Copies in Pandas, and More</itunes:title>
        <link>https://realpython.com/podcasts/rpp/15/</link>
        <description>Have you wanted to learn Regular Expressions in Python, but don&#x27;t know where to start? Have you stumbled into the dreaded pink SettingWithCopyWarning in Pandas? This week on the show, we have David Amos from the Real Python team to discuss a recent two-part series on Regex in Python. We also talk about another recent article on the site about views vs copies in Pandas. David also brings a few other articles and projects from the wider Python community for us to discuss.</description>
        <content:encoded>&lt;p&gt;Have you wanted to learn Regular Expressions in Python, but don&amp;rsquo;t know where to start? Have you stumbled into the dreaded pink SettingWithCopyWarning in Pandas? This week on the show, we have David Amos from the Real Python team to discuss a recent two-part series on Regex in Python. We also talk about another recent article on the site about views vs copies in Pandas. David also brings a few other articles and projects from the wider Python community for us to discuss.&lt;/p&gt;
&lt;p&gt;David searches for the latest Python news, links, and articles to produce PyCoder&amp;rsquo;s Weekly with Dan Bader. &lt;a href=&quot;https://pycoders.com&quot;&gt;PyCoder&amp;rsquo;s Weekly&lt;/a&gt; is a free email newsletter for those interested in Python development. Along with the previously mentioned Real Python articles, we also discuss articles from the community about: 
getting machine learning to production, combining Flask and Vue, space science with Python, and the fastest way to flatten a list in Python.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/reading-and-writing-files-python/&quot;&gt;Reading and Writing Files in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course will get you up to speed with reading and writing files in Python. You’ll cover everything from what a file is made up of, to which libraries can help you along that way. You’ll also take a look at some basic scenarios of file usage as well as some advanced techniques.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:40 &amp;ndash; SettingWithCopyWarning in Pandas&lt;/li&gt;
&lt;li&gt;00:06:17 &amp;ndash; Fastest Way to Flaten a List in Python&lt;/li&gt;
&lt;li&gt;00:12:12 &amp;ndash; Combining Flask and Vue&lt;/li&gt;
&lt;li&gt;00:15:33 &amp;ndash; Regular Expressions in Python&lt;/li&gt;
&lt;li&gt;00:23:08 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:24:00 &amp;ndash; Space Science With Python&lt;/li&gt;
&lt;li&gt;00:30:13 &amp;ndash; Getting Machine Learning to Production&lt;/li&gt;
&lt;li&gt;00:37:15 &amp;ndash; genetic-drawing&lt;/li&gt;
&lt;li&gt;00:39:42 &amp;ndash; MicroscoPy&lt;/li&gt;
&lt;li&gt;00:43:55 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/pandas-settingwithcopywarning/&quot;&gt;SettingWithCopyWarning in Pandas: Views vs Copies&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn about views and copies in NumPy and Pandas. You&amp;rsquo;ll see why the SettingWithCopyWarning occurs in Pandas and how to properly write code that avoids it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://chrisconlan.com/fastest-way-to-flatten-a-list-in-python/&quot;&gt;Fastest Way to Flatten a List in Python&lt;/a&gt; &amp;ndash; Explore six different was to flatten a list of lists in Python and how their performance compares. The fastest of the six methods mentioned might surprise you!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://testdriven.io/blog/combine-flask-vue/&quot;&gt;Combining Flask and Vue&lt;/a&gt; &amp;ndash; Learn about three ways to combine Flask and Vue, the pros and cons of each, and some guidelines for when to use each method.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/regex-python-part-2/&quot;&gt;Regular Expressions: Regexes in Python (Part 2)&lt;/a&gt; &amp;ndash; In the previous tutorial in this series, you learned how to perform sophisticated pattern matching using regular expressions, or regexes, in Python. This tutorial explores more regex tools and techniques that are available in Python.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://medium.com/@thomas.albin/space-science-with-python-a-data-science-tutorial-series-57ad95660056&quot;&gt;Space Science With Python&lt;/a&gt; &amp;ndash; Explore and analyze the wonders and mysteries of space&amp;hellip; with Python!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://veekaybee.github.io/2020/06/09/ml-in-prod/&quot;&gt;Getting Machine Learning to Production&lt;/a&gt; &amp;ndash; Millions of web apps get deployed to production every day. But machine learning models aren&amp;rsquo;t web apps. And very few people are talking about deployment. Learn how tools like &lt;a href=&quot;https://www.streamlit.io/&quot;&gt;Streamlit&lt;/a&gt; can help take the edge off deploying your machine learning models.&lt;/p&gt;
&lt;p&gt;Projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/anopara/genetic-drawing&quot;&gt;genetic-drawing: A Genetic Algorithm Toy Project for Drawing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anastasiaopara.com&quot;&gt;Anastasia Opara - Procedural Artist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/IBM/MicroscoPy&quot;&gt;MicroscoPy: An Open-Source, Motorized, and Modular Microscope Built Using LEGO Bricks, Arduino, Raspberry Pi and 3D Printing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://naif.jpl.nasa.gov/naif/&quot;&gt;SPICE: An Observation Geometry System for Space Science Missions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spiceypy.readthedocs.io/en/master/index.html&quot;&gt;SpiceyPy documentation: Read the docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spiceypy.readthedocs.io/en/master/lessonindex.html&quot;&gt;SPICE lessons provided by the NAIF translated to use Python code &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/lists-tuples-python/&quot;&gt;Lists and Tuples in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pandas-dataframes-101/&quot;&gt;Pandas DataFrames 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/reading-and-writing-files-python/&quot;&gt;Reading and Writing Files in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E015_David_And_Chris2.66c0561934bb.mp3" type="audio/mpeg" length="32285003"/>
        <guid isPermaLink="false">ac27aff9-500a-4713-b256-dd6266bc30dd</guid>
        <pubDate>Fri, 26 Jun 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2680</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“Python Regular Expressions, Views vs Copies in Pandas, and More”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>14</itunes:episode>
        <title>Going Serverless with Python</title>
        <itunes:title>Going Serverless with Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/14/</link>
        <description>Would you like to run your Python code in the cloud without having to become an infrastructure engineer? Do you want to have Python functions that run when triggered by specific events? This week on the show we have Anthony Chu to discuss serverless computing and running python functions in the cloud. Anthony Chu is program manager for Microsoft&#x27;s Azure Functions.</description>
        <content:encoded>&lt;p&gt;Would you like to run your Python code in the cloud without having to become an infrastructure engineer? Do you want to have Python functions that run when triggered by specific events? This week on the show we have Anthony Chu to discuss serverless computing and running python functions in the cloud. Anthony Chu is program manager for Microsoft&amp;rsquo;s Azure Functions.&lt;/p&gt;
&lt;p&gt;We discuss the advantages of serverless computing over virtual machines, containers, and other infrastructure options for running your Python code in the cloud. Anthony also talks about the types of projects suited for this type of platform, including data science, machine learning, and creating APIs.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/what-is-pip/&quot;&gt;A Beginner&amp;rsquo;s Guide to Pip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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&amp;rsquo;s a worthy investment of your time to understand the fundamentals of pip.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:22 &amp;ndash; Microsoft Build 2020&lt;/li&gt;
&lt;li&gt;00:02:16 &amp;ndash; What is serverless computing?&lt;/li&gt;
&lt;li&gt;00:06:59 &amp;ndash; Using VSCode for serverless development&lt;/li&gt;
&lt;li&gt;00:08:54 &amp;ndash; What is blob storage?&lt;/li&gt;
&lt;li&gt;00:12:08 &amp;ndash; Adding Python to Azure Functions&lt;/li&gt;
&lt;li&gt;00:16:25 &amp;ndash; What are common serverless projects?&lt;/li&gt;
&lt;li&gt;00:20:32 &amp;ndash; Serverless containers&lt;/li&gt;
&lt;li&gt;00:24:00 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:25:28 &amp;ndash; Accessing from a CLI&lt;/li&gt;
&lt;li&gt;00:29:31 &amp;ndash; Versions of Python available&lt;/li&gt;
&lt;li&gt;00:32:50 &amp;ndash; Running from your own Kubernetes cluster&lt;/li&gt;
&lt;li&gt;00:36:03 &amp;ndash; Advantages and disadvantages to using serverless&lt;/li&gt;
&lt;li&gt;00:38:31 &amp;ndash; Other services&lt;/li&gt;
&lt;li&gt;00:39:25 &amp;ndash; Durable functions for Python&lt;/li&gt;
&lt;li&gt;00:51:04 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:52:42 &amp;ndash; What do you want to learn next in Python?&lt;/li&gt;
&lt;li&gt;00:53:56 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://azure.microsoft.com/en-us/services/functions/&quot;&gt;Azure Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-vs-code?pivots=programming-language-python&quot;&gt;Quickstart: Create a function in Azure using Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=PV7iy6FPjAY&quot;&gt;Easy Data Processing With Azure Fun - Tania Allard PyCon 2020 Online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=WViIw1h5U-E&quot;&gt;Machine learning with Python using serverless Azure Functions - Microsoft Ignite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCtUYj6As_XFkOooUFnsJbYg/featured&quot;&gt;Azure Functions YouTube Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcommunity.microsoft.com/t5/azure-functions/bg-p/AzureFunctionsBlog&quot;&gt;Azure Functions Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=YUJjhnYIj4M&quot;&gt;Stateful Programming Models in Serverless Functions - Durable Functions - YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com&quot;&gt;Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flask-socketio.readthedocs.io/en/latest/&quot;&gt;Flask-SocketIO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/intro-to-python-threading/&quot;&gt;An Intro to Threading in Python - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/threading-python/&quot;&gt;Threading in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-development-visual-studio-code-setup-guide/&quot;&gt;Python Development in Visual Studio Code (Setup Guide)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-lambda-functions/&quot;&gt;Using Python Lambda Functions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E014_Anthony_Chu.ba3386403eb1.mp3" type="audio/mpeg" length="39582359"/>
        <guid isPermaLink="false">5941def8-bc2b-4ffd-b506-9849cdeabe1e</guid>
        <pubDate>Fri, 19 Jun 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3288</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@nthonyChu</rp:twitter-handles>
        <rp:twitter-title>“Going Serverless with Python” with @nthonyChu</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>13</itunes:episode>
        <title>PDFs in Python and Projects on the Raspberry Pi</title>
        <itunes:title>PDFs in Python and Projects on the Raspberry Pi</itunes:title>
        <link>https://realpython.com/podcasts/rpp/13/</link>
        <description>Have you wanted to work with PDF files in Python? Maybe you want to extract text, merge and concatenate files, or even create PDFs from scratch. Are you interested in building hardware projects using a Raspberry Pi? This week on the show we have David Amos from the Real Python team to discuss his recent article on working with PDFs. David also brings a few other articles from the wider Python community for us to discuss.</description>
        <content:encoded>&lt;p&gt;Have you wanted to work with PDF files in Python? Maybe you want to extract text, merge and concatenate files, or even create PDFs from scratch. Are you interested in building hardware projects using a Raspberry Pi? This week on the show we have David Amos from the Real Python team to discuss his recent article on working with PDFs. David also brings a few other articles from the wider Python community for us to discuss.&lt;/p&gt;
&lt;p&gt;David searches for the latest Python news, links, and articles to produce PyCoder&amp;rsquo;s Weekly with Dan Bader. &lt;a href=&quot;https://pycoders.com&quot;&gt;PyCoder&amp;rsquo;s Weekly&lt;/a&gt; is a free email newsletter for those interested in Python development. Along with David&amp;rsquo;s article on PDFs, we discuss another recent Real Python article about building physical projects with the Raspberry Pi.  We also discuss articles from the community about: the PEPs of Python 3.9, why you should stop using &lt;code&gt;datetime.now&lt;/code&gt;, Python dependency tools, and several ways to pass code to Python from the terminal.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-38/&quot;&gt;Cool New Features in Python 3.8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course will get you up to speed with the new features of the latest release of Python. You&amp;rsquo;ll learn about using assignment expressions, how to enforce postional-only arguments, more precise type hints, and using f-strings for simpler debugging. It&amp;rsquo;s a worthy investment of your time to understand what the most recent release of Python provides before moving on to the next version this fall.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:02:06 &amp;ndash; Ways to Pass Code to Python From the Terminal&lt;/li&gt;
&lt;li&gt;00:05:54 &amp;ndash; The PEPs of Python 3.9&lt;/li&gt;
&lt;li&gt;00:10:54 &amp;ndash; Creating and Modifying PDF Files in Python&lt;/li&gt;
&lt;li&gt;00:18:51 &amp;ndash; Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:19:56 &amp;ndash; An Overview of Python Dependency Tools&lt;/li&gt;
&lt;li&gt;00:26:55 &amp;ndash; Stop Using &lt;code&gt;datetime.now&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;00:31:44 &amp;ndash; Build Physical Projects With Python on the Raspberry Pi&lt;/li&gt;
&lt;li&gt;00:38:18 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:42:29 &amp;ndash; What do you want to learn next in Python?&lt;/li&gt;
&lt;li&gt;00:44:31 &amp;ndash; Thanks and Good Bye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Topic Links:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pycoders.com&quot;&gt;PyCoder&amp;rsquo;s Weekly&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://snarky.ca/the-many-ways-to-pass-code-to-python-from-the-terminal/&quot;&gt;The Many Ways to Pass Code to Python From the Terminal&lt;/a&gt; &amp;ndash; You might know about pointing Python to a file path, or using &lt;code&gt;-m&lt;/code&gt; to execute a module. But did you know that Python can execute a directory? Or a &lt;code&gt;.zip&lt;/code&gt; file?&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lwn.net/Articles/819853/&quot;&gt;The PEPs of Python 3.9&lt;/a&gt; &amp;ndash; The first Python 3.9 beta release is upon us! Learn what to expect in the final October release by taking a tour of the Python Enhancement Proposals (PEPs) that were accepted for Python 3.9.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/creating-modifying-pdf/&quot;&gt;Creating and Modifying PDF Files in Python&lt;/a&gt; &amp;ndash; Explore the different ways of creating and modifying PDF files in Python. You&amp;rsquo;ll learn how to read and extract text, merge and concatenate files, crop and rotate pages, encrypt and decrypt files, and even create PDFs from scratch.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://modelpredict.com/python-dependency-management-tools&quot;&gt;Overview of Python Dependency Management Tools&lt;/a&gt; &amp;ndash; While &lt;code&gt;pip&lt;/code&gt; is often considered the &lt;em&gt;de facto&lt;/em&gt; Python package manager, the dependency management ecosystem has really grown over that last few years. Learn about the different tools available and how they fit into this ecosystem.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hakibenita.com/python-dependency-injection&quot;&gt;Stop Using &lt;code&gt;datetime.now&lt;/code&gt;! (With Dependency Injection)&lt;/a&gt; &amp;ndash; How do you test a function that relies on &lt;code&gt;datetime.now()&lt;/code&gt; or &lt;code&gt;date.today()&lt;/code&gt;? You could use libraries like &lt;a href=&quot;https://pypi.org/project/freezegun/&quot;&gt;FreezeGun&lt;/a&gt; or &lt;a href=&quot;https://pypi.org/project/libfaketime/&quot;&gt;libfaketime&lt;/a&gt;, but not every project can afford the luxury of reaching for third-party solutions. Learn how dependency injection can help you write code that is more testable, maintainable, and practical.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://realpython.com/python-raspberry-pi/&quot;&gt;Build Physical Projects With Python on the Raspberry Pi&lt;/a&gt; &amp;ndash; In this tutorial, you&amp;rsquo;ll learn to use Python on the Raspberry Pi. The Raspberry Pi is one of the leading physical computing boards on the market and a great way to get started using Python to interact with the physical world.&lt;/p&gt;
&lt;p&gt;Additional Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/products/python-basics-book/&quot;&gt;Python Basics: A Practical Introduction to Python 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@gvanrossum_83706/peg-parsers-7ed72462f97c&quot;&gt;PEG Parsers -Guido van Rossum -  Medium article &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https:/codewith.mu&quot;&gt;Code with Mu: a simple Python editor for beginner programmers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ssh.com/ssh/&quot;&gt;SSH (Secure Shell)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com&quot;&gt;Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/docs/remote/ssh&quot;&gt;VSCode - Remote Development using SSH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/vim-and-python-a-match-made-in-heaven/&quot;&gt;VIM and Python – A Match Made in Heaven - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-gui-with-wxpython/&quot;&gt;How to Build a Python GUI Application With wxPython - Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Xbl7XjFYsN4&amp;amp;t=12s&quot;&gt;import asyncio: Learn Python&amp;rsquo;s AsyncIO #1 - The Async Ecosystem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/python-rtmidi/&quot;&gt;python-rtmidi - A Python binding for the RtMidi C++ library &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/arduino-python/&quot;&gt;Arduino With Python: Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-38/&quot;&gt;Cool New Features in Python 3.8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E013_David_Amos2.978ff52fb879.mp3" type="audio/mpeg" length="32733744"/>
        <guid isPermaLink="false">4de8034f-891f-4c48-b8e5-096fa1b56476</guid>
        <pubDate>Fri, 12 Jun 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2717</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“PDFs in Python and Projects on the Raspberry Pi”</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>12</itunes:episode>
        <title>Web Scraping in Python: Tools, Techniques, and Legality</title>
        <itunes:title>Web Scraping in Python: Tools, Techniques, and Legality</itunes:title>
        <link>https://realpython.com/podcasts/rpp/12/</link>
        <description>Do you want to get started with web scraping using Python? Are you concerned about the potential legal implications? What are the tools required and what are some of the best practices? This week on the show we have Kimberly Fessel to discuss her excellent tutorial created for PyCon 2020 online titled &quot;It&#x27;s Officially Legal so Let&#x27;s Scrape the Web.&quot;</description>
        <content:encoded>&lt;p&gt;Do you want to get started with web scraping using Python? Are you concerned about the potential legal implications? What are the tools required and what are some of the best practices? This week on the show we have Kimberly Fessel to discuss her excellent tutorial created for PyCon 2020 online titled &amp;ldquo;It&amp;rsquo;s Officially Legal so Let&amp;rsquo;s Scrape the Web.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We discuss getting started with web scraping, and cover tools and techniques. Kimberly gives advice on finding elements inside of the html, and techniques for cleaning your data. She also notes a recent change to the legal landscape regarding scraping the web.&lt;/p&gt;
&lt;p&gt;Kimberly is a Senior Data Scientist at Metis Data Science Bootcamp in New York City. She holds a Ph.D. in applied mathematics. We talk about her switch from academia to data science, and discuss her passion for data storytelling and visualizations.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-main-function/&quot;&gt;Defining Main Functions in Python&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course will get you up to speed with defining a starting point for the execution of a program, and helps you to understand what goes into the &lt;code&gt;main()&lt;/code&gt; function. Prepare for a deep dive as you go through the sections. It&amp;rsquo;s a worthy investment of your time to understand this vital entry point for your Python scripts and applications!&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:31 &amp;ndash; Kimberly&amp;rsquo;s background and Metis Data Science Bootcamp&lt;/li&gt;
&lt;li&gt;00:02:19 &amp;ndash; NLP and work in advertising&lt;/li&gt;
&lt;li&gt;00:03:27 &amp;ndash; Changes in the legality of web scraping&lt;/li&gt;
&lt;li&gt;00:06:12 &amp;ndash; What are good projects for web scraping?&lt;/li&gt;
&lt;li&gt;00:06:56 &amp;ndash; Tools to start web scraping&lt;/li&gt;
&lt;li&gt;00:07:51 &amp;ndash; How to find the elements you want?&lt;/li&gt;
&lt;li&gt;00:09:00 &amp;ndash; How much HTML should you know?&lt;/li&gt;
&lt;li&gt;00:10:49 &amp;ndash; Inspecting elements in the browser&lt;/li&gt;
&lt;li&gt;00:14:30 &amp;ndash; What are good sites to practice on?&lt;/li&gt;
&lt;li&gt;00:16:20 &amp;ndash; Pausing between requests&lt;/li&gt;
&lt;li&gt;00:19:02 &amp;ndash; Saving as you go&lt;/li&gt;
&lt;li&gt;00:20:54 &amp;ndash; Real Python Video Course Spotlight &lt;/li&gt;
&lt;li&gt;00:21:55 &amp;ndash; Navigating the DOM&lt;/li&gt;
&lt;li&gt;00:23:10 &amp;ndash; Data cleaning and formatting&lt;/li&gt;
&lt;li&gt;00:28:26 &amp;ndash; Dynamic sites and Selenium&lt;/li&gt;
&lt;li&gt;00:32:16 &amp;ndash; Scrapy&lt;/li&gt;
&lt;li&gt;00:33:55 &amp;ndash; PyOhio 2020&lt;/li&gt;
&lt;li&gt;00:35:40 &amp;ndash; Transition out of academia&lt;/li&gt;
&lt;li&gt;00:38:40 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:41:05 &amp;ndash; What do you want to learn next in Python?&lt;/li&gt;
&lt;li&gt;00:48:00 &amp;ndash; What is a less known Python tip or trick? &lt;/li&gt;
&lt;li&gt;00:49:17 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://kimberlyfessel.com/&quot;&gt;Kimberly Fessel, PHD - Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.thisismetis.com/&quot;&gt;Metis: Data Science Training&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=RUQWPJ1T6Zc&amp;amp;t=190s&quot;&gt;It&amp;rsquo;s Officially Legal so Let&amp;rsquo;s Scrape the Web: PyCon 2020 online - Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.eff.org/deeplinks/2019/09/victory-ruling-hiq-v-linkedin-protects-scraping-public-data&quot;&gt;Victory! Ruling in hiQ v. Linkedin Protects Scraping of Public Data: EFF.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act&quot;&gt;Computer Fraud and Abuse Act - Wikipedia Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.boxofficemojo.com&quot;&gt;Box Office Mojo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sports-reference.com&quot;&gt;Sports Reference | Sports Stats, fast, easy, and up-to-date&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/20140906195615/http://www.springfieldspringfield.co.uk/&quot;&gt;Springfield! Springfield! - TV &amp;amp; Movie Scripts - Archive.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/jupyter-notebook-introduction/&quot;&gt;Jupyter Notebook: An Introduction - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-pickle-module/&quot;&gt;The Python pickle Module: How to Persist Objects in Python - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-web-scraping-practical-introduction/&quot;&gt;A Practical Introduction to Web Scraping in Python - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/beautiful-soup-web-scraper-python/&quot;&gt;Beautiful Soup: Build a Web Scraper With Python - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-requests/&quot;&gt;Making HTTP Requests With Python - Real Python Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/natural-language-processing-spacy-python/&quot;&gt;Natural Language Processing With spaCy in Python - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/Delorean/&quot;&gt;Delorean: Time Travel Made Easy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/maya/&quot;&gt;Maya: Datetimes for Humans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/regex-python/&quot;&gt;Regular Expressions: Regexes in Python (Part 1) - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.selenium.dev/&quot;&gt;Selenium: Automates browsers. That&amp;rsquo;s it!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scrapy.org&quot;&gt;Scrapy: Framework for extracting the data you need from websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pyohio.org/2020/&quot;&gt;PyOhio 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://odsc.com&quot;&gt;ODSC: Open Data Science Conference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/kimfetti/Conferences/tree/master/ODSC_East_2020&quot;&gt;Slides from Kimberly&amp;rsquo;s talk - Level Up: Fancy NLP with Straightforward Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/tonks/&quot;&gt;Tonks: A general purpose deep learning library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/shoprunner/tonks-building-one-multi-task-model-to-rule-them-all-3e5d020f1f2b&quot;&gt;Tonks: Building One (Multi-Task) Model to Rule Them All! - Medium Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dash.plotly.com&quot;&gt;Plotly | Dash&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/andrea-cuttone/geoplotlib&quot;&gt;geoplotlib: Python toolbox for visualizing geographical data and making map&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://geopandas.org&quot;&gt;GeoPandas: Make working with geospatial data in Python easier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://altair-viz.github.io&quot;&gt;Altair: Declarative Visualization in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pbpython.com/pandas_transform.html&quot;&gt;Understanding the Transform Function in Pandas: Practical Business Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;JavaScript charting detour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://kimberlyfessel.com/visualizations/puzzles/down-and-up/&quot;&gt;Down and Up: A Puzzle Illustrated with D3.js - Kimberly&amp;rsquo;s blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://d3js.org&quot;&gt;d3js -  Data-Driven Documents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://crossfilter.github.io/crossfilter/&quot;&gt;Crossfilter: Fast Multidimensional Filtering for Coordinated Views&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://dc-js.github.io/dc.js/&quot;&gt;dc.js - Dimensional Charting JavaScript Library&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-main-function/&quot;&gt;Defining Main Functions in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-requests/&quot;&gt;Making HTTP Requests With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-strings/&quot;&gt;Strings and Character Data in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E012_Kimberly_Fessel.0950de8a00d7.mp3" type="audio/mpeg" length="36248668"/>
        <guid isPermaLink="false">9fc870b5-0634-405a-889d-c95369c9858d</guid>
        <pubDate>Fri, 05 Jun 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3010</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        <itunes:image href="https://files.realpython.com/media/SQ_E_012_Podcast.3d20e1003d68.jpg"/>
        <rp:twitter-handles>@kimberlyfessel</rp:twitter-handles>
        <rp:twitter-title>“Web Scraping in Python: Tools, Techniques, and Legality” with @kimberlyfessel</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>11</itunes:episode>
        <title>Advice on Getting Started With Testing in Python</title>
        <itunes:title>Advice on Getting Started With Testing in Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/11/</link>
        <description>Have you wanted to get started with testing in Python? Maybe you feel a little nervous about diving in deeper than just confirming your code runs. What are the tools needed and what would be the next steps to level up your Python testing? This week on the show we have Anthony Shaw to discuss his article on this subject. Anthony is a member of the Real Python team and has written several articles for the site.</description>
        <content:encoded>&lt;p&gt;Have you wanted to get started with testing in Python? Maybe you feel a little nervous about diving in deeper than just confirming your code runs. What are the tools needed and what would be the next steps to level up your Python testing? This week on the show we have Anthony Shaw to discuss his article on this subject. Anthony is a member of the Real Python team and has written several articles for the site.&lt;/p&gt;
&lt;p&gt;We discuss getting started with built-in Python features for testing and the advantages of a tool like pytest. Anthony talks about his plug-ins for pytest, and we touch on the next level of testing involving continuous integration.&lt;/p&gt;
&lt;p&gt;Anthony recently finished a talk for PyCon 2020 Online, titled &amp;ldquo;Why is Python Slow?&amp;rdquo; He had the idea for the talk while he was working on his upcoming book about the CPython source code. &lt;/p&gt;
&lt;p&gt;I also want to give an update on last weeks episode with Kyle Stratis, where we discussed Kyle being let go from his job due to the pandemic. Here&amp;rsquo;s some good news, Kyle will be joining a Boston startup called Vizit, as a senior data engineer. Congratulations Kyle!&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Course Spotlight:&lt;/strong&gt; &lt;a href=&quot;https://realpython.com/courses/python-print/&quot;&gt;The Python &lt;code&gt;print()&lt;/code&gt; Function: Go Beyond the Basics&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course will get you up to speed with using Python &lt;code&gt;print()&lt;/code&gt; effectively. Prepare for a deep dive as you go through the sections. You may be surprised how much &lt;code&gt;print()&lt;/code&gt; has to offer!&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:46 &amp;ndash; PyCon 2020 Online Talk - Why is Python slow?&lt;/li&gt;
&lt;li&gt;00:04:05 &amp;ndash; CPython Internals Book&lt;/li&gt;
&lt;li&gt;00:07:08 &amp;ndash; Attending Conferences&lt;/li&gt;
&lt;li&gt;00:09:01 &amp;ndash; Getting Started with Testing in Python&lt;/li&gt;
&lt;li&gt;00:12:32 &amp;ndash; Unittest&lt;/li&gt;
&lt;li&gt;00:17:16 &amp;ndash; What does a tool like pytest add?&lt;/li&gt;
&lt;li&gt;00:19:53 &amp;ndash; pytest plugins&lt;/li&gt;
&lt;li&gt;00:21:03 &amp;ndash; Anthony&amp;rsquo;s pytest plugins&lt;/li&gt;
&lt;li&gt;00:21:58 &amp;ndash; What does coverage mean?&lt;/li&gt;
&lt;li&gt;00:25:23 &amp;ndash; Test runners &lt;/li&gt;
&lt;li&gt;00:27:12 &amp;ndash; Testing environments with Tox&lt;/li&gt;
&lt;li&gt;00:30:50 &amp;ndash; Real Python Video Course Spotlight&lt;/li&gt;
&lt;li&gt;00:31:49 &amp;ndash; More on continuous integration (CI)&lt;/li&gt;
&lt;li&gt;00:37:21 &amp;ndash; Recent changes to GitHub&lt;/li&gt;
&lt;li&gt;00:38:21 &amp;ndash; PSF to move issue tracker to GitHub&lt;/li&gt;
&lt;li&gt;00:41:01 &amp;ndash; DRY (Don&amp;rsquo;t Repeat Yourself)&lt;/li&gt;
&lt;li&gt;00:43:46 &amp;ndash; Benefits of linters and code formatting&lt;/li&gt;
&lt;li&gt;00:48:00 &amp;ndash; What is a little known part of Python?&lt;/li&gt;
&lt;li&gt;00:52:16 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:56:06 &amp;ndash; What is something you thought you knew about Python, but were wrong about it?&lt;/li&gt;
&lt;li&gt;00:57:27 &amp;ndash; Goodbye and thanks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=I4nkgJdVZFA&quot;&gt;Why is Python slow?: PyCon 2020 Online Talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/cpython-source-code-guide/&quot;&gt;Your Guide to the CPython Source Code: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://talkpython.fm/episodes/show/265/why-is-python-slow&quot;&gt;TalkPython Podcast Episode #265: Why is Python slow?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-testing/&quot;&gt;Getting Started With Testing in Python: Real Python article &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.pytest.org/en/latest/&quot;&gt;pytest: helps you write better programs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tonybaloney/pytest-azurepipelines&quot;&gt;pytest-azurepipelines: Plugin for pytest that makes it simple to work with Azure Pipelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pytest-python-testing/&quot;&gt;Effective Python Testing With Pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/tox/&quot;&gt;tox automation project: Command line driven CI frontend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/features/actions&quot;&gt;GitHub Actions: Automate your workflow from idea to production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-continuous-integration/&quot;&gt;Continuous Integration With Python: An Introduction: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=2R1HELARjUk&quot;&gt;Brian K Okken - Multiply your Testing Effectiveness with Parameterized Testing: PyCon 2020 Online Talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pragprog.com/book/bopytest/python-testing-with-pytest&quot;&gt;Python Testing with pytest: Brian Okken - The Pragmatic Bookshelf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://testandcode.com&quot;&gt;Test &amp;amp; Code: Python Testing for Software Engineering: Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2020/05/pythons-migration-to-github-request-for.html&quot;&gt;Python’s migration to GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-refactoring/&quot;&gt;Refactoring Python Applications for Simplicity: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://black.readthedocs.io/en/stable/&quot;&gt;Black: The uncompromising code formatter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/wily/&quot;&gt;Wily: A command-line application for tracking, reporting on complexity of Python tests and applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0554/&quot;&gt;PEP 554 &amp;ndash; Multiple Interpreters in the Stdlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.python.org&quot;&gt;Python Insider: Python core development news and information&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-continuous-integration/&quot;&gt;Continuous Integration With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-print/&quot;&gt;The Python print() Function: Go Beyond the Basics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E011_Anthony_Shaw.3096b7fcac33.mp3" type="audio/mpeg" length="42168035"/>
        <guid isPermaLink="false">5c40ba2c-f605-4804-88ec-d8ded11f2968</guid>
        <pubDate>Fri, 29 May 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3503</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@anthonypjshaw</rp:twitter-handles>
        <rp:twitter-title>“Advice on Getting Started With Testing in Python” with @anthonypjshaw</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>10</itunes:episode>
        <title>Python Job Hunting in a Pandemic</title>
        <itunes:title>Python Job Hunting in a Pandemic</itunes:title>
        <link>https://realpython.com/podcasts/rpp/10/</link>
        <description>Do you know someone in the Python community who recently was let go from their job due to the pandemic? What does the job landscape currently look like? What are skills and techniques that will help you in your job search? This week we have Kyle Stratis on the show to discuss how he is managing his job search after just being let go from his data engineering job. Kyle is a member of the Real Python team and has written several articles for the site.</description>
        <content:encoded>&lt;p&gt;Do you know someone in the Python community who recently was let go from their job due to the pandemic? What does the job landscape currently look like? What are skills and techniques that will help you in your job search? This week we have Kyle Stratis on the show to discuss how he is managing his job search after just being let go from his data engineering job. Kyle is a member of the Real Python team and has written several articles for the site.&lt;/p&gt;
&lt;p&gt;We discuss Kyle&amp;rsquo;s career and the skills that he&amp;rsquo;s developed, which are currently helping him in his job search. Kyle left academia to work as a data engineer. His background helps him to communicate between teams of scientists and engineers.&lt;/p&gt;
&lt;p&gt;We also talk about Kyle&amp;rsquo;s recent article on combining data in Pandas. Kyle shares a tip on Pandas efficiency, and hints at some lesser known features of Python generators.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:27 &amp;ndash; Kyle&amp;rsquo;s background on being let go&lt;/li&gt;
&lt;li&gt;00:04:17 &amp;ndash; Programming background and building connections&lt;/li&gt;
&lt;li&gt;00:10:18 &amp;ndash; Becoming a Data Engineer&lt;/li&gt;
&lt;li&gt;00:15:59 &amp;ndash; Translating between science and data teams&lt;/li&gt;
&lt;li&gt;00:20:35 &amp;ndash; Every job has different language requirements&lt;/li&gt;
&lt;li&gt;00:23:44 &amp;ndash; Getting out of your Python language comfort zone &lt;/li&gt;
&lt;li&gt;00:27:08 &amp;ndash; NASDANQ project - a stockmarket for Memes&lt;/li&gt;
&lt;li&gt;00:30:34 &amp;ndash; Learning the power of building a network&lt;/li&gt;
&lt;li&gt;00:35:13 &amp;ndash; Using skills developed in outside projects&lt;/li&gt;
&lt;li&gt;00:38:45 &amp;ndash; What does the job landscape look like currently?&lt;/li&gt;
&lt;li&gt;00:49:52 &amp;ndash; Writing for Real Python&lt;/li&gt;
&lt;li&gt;00:52:53 &amp;ndash; Combining data in Pandas article&lt;/li&gt;
&lt;li&gt;00:55:22 &amp;ndash; Merging in Pandas&lt;/li&gt;
&lt;li&gt;01:03:05 &amp;ndash; Feedback and community &lt;/li&gt;
&lt;li&gt;01:10:37 &amp;ndash; What are you excited ab out in the world of Python?&lt;/li&gt;
&lt;li&gt;01:12:12 &amp;ndash; What is something you thought you knew about Python but were wrong about it?&lt;/li&gt;
&lt;li&gt;01:14:01 &amp;ndash; What is a little known Python trick or tip?&lt;/li&gt;
&lt;li&gt;01:14:33 &amp;ndash; More efficient Pandas &lt;/li&gt;
&lt;li&gt;01:15:52 &amp;ndash; Using more of the advanced features of generators&lt;/li&gt;
&lt;li&gt;01:18:55 &amp;ndash; Thanks and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show Links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://kylestratis.com/&quot;&gt;Kyle&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/kylestratis/&quot;&gt;Kyle&amp;rsquo;s LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://kylestratis.com/2017/10/29/mongodb-aggregation-pipelines/&quot;&gt;A MongoDB Optimization: Kyle Stratis&amp;rsquo; Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cnet.com/news/memes-are-serious-business-with-their-own-stock-exchange/&quot;&gt;Memes are serious business with their own stock exchange: CNET&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.theverge.com/2017/1/10/14223264/meme-economy-reddit-stock-market&quot;&gt;How a group of Redditors is creating a fake stock market to figure out the value of memes: The Verge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.avclub.com/the-joke-meme-economy-is-a-now-real-thing-called-nasdan-1798256124&quot;&gt;The joke Meme Economy is a now real thing called NASDANQ: AV Club&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pedestrian.tv/money/forbes-did-a-v-serious-analysis-of-nasdanq-the-stock-market-for-memes/&quot;&gt;Forbes Did A V. Serious Analysis Of NASDANQ, The Stock Market For Memes: Pedestrian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.domistation.org/&quot;&gt;Domi Station in Tallahassee&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pandas-merge-join-and-concat/&quot;&gt;Combining Data in Pandas With merge(), .join(), and concat(): Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/&quot;&gt;A Visual Explanation of SQL Joins: Coding Horror&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tonybaloney/wily&quot;&gt;Wily: A command-line application for tracking, reporting on complexity of Python tests and applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-refactoring/#using-wily-to-capture-and-track-your-projects-complexity&quot;&gt;Refactoring Python Applications for Simplicity: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/fast-flexible-pandas/#pandas-apply&quot;&gt;Fast, Flexible, Easy and Intuitive: How to Speed Up Your Pandas Projects: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/introduction-to-python-generators/&quot;&gt;How to Use Generators and yield in Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-coding-interviews-tips-best-practices/&quot;&gt;Python Coding Interviews: Tips &amp;amp; Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-sorting-data/&quot;&gt;Sorting Data With Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/idiomatic-pandas-tricks-features-you-may-not-know/&quot;&gt;Idiomatic pandas: Tricks &amp;amp; Features You May Not Know&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E010_Kyle_Stratis.a41437d21ced.mp3" type="audio/mpeg" length="57667378"/>
        <guid isPermaLink="false">c9bf019c-5c85-42c3-a2ed-dcac09c6d0fb</guid>
        <pubDate>Fri, 22 May 2020 12:00:00 +0000</pubDate>
        <itunes:duration>4794</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@kylestratis</rp:twitter-handles>
        <rp:twitter-title>“Python Job Hunting in a Pandemic” with @kylestratis</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>9</itunes:episode>
        <title>Leveling Up Your Python Literacy and Finding Python Projects to Study</title>
        <itunes:title>Leveling Up Your Python Literacy and Finding Python Projects to Study</itunes:title>
        <link>https://realpython.com/podcasts/rpp/9/</link>
        <description>In your quest to become a better developer, how do you find Python code that is at your reading level? What are good code bases or projects to study? What are the things holding you back from leveling up your Python literacy? This week we have Cecil Phillip on the show to discuss all of these common questions. Cecil is a Senior Cloud Advocate at Microsoft.</description>
        <content:encoded>&lt;p&gt;In your quest to become a better developer, how do you find Python code that is at your reading level? What are good code bases or projects to study? What are the things holding you back from leveling up your Python literacy? This week we have Cecil Phillip on the show to discuss all of these common questions. Cecil is a Senior Cloud Advocate at Microsoft.&lt;/p&gt;
&lt;p&gt;Cecil has been learning Python in the open on Twitch with Brian Clark. They run a weekly event on Twitch, where they are live-streaming an interactive Python course. Cecil has a background in multiple languages and technologies, and now he&amp;rsquo;s learning Python, bringing an audience along the way!&lt;/p&gt;
&lt;p&gt;We start things off with a listener question and jump into a conversation about building up your Python skills. Then we&amp;rsquo;ll discuss common Python language stumbling blocks. Next we consider the importance of making personal projects, and documenting that code.&lt;/p&gt;
&lt;p&gt;We also touch on some unique skills employers are looking for. And we discuss working through impostor syndrome. Cecil talks about his podcast &amp;ldquo;Away from the Keyboard&amp;rdquo; and his plans to start it back up.&lt;/p&gt;
&lt;p&gt;In the show notes this week you&amp;rsquo;ll find links to resources we discuss, and several more that we didn&amp;rsquo;t have time to cover individually.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Want your question featured on the show?&lt;/strong&gt; Send us your question at &lt;a href=&quot;https://realpython.com/podcast-question&quot;&gt;realpython.com/podcast-question&lt;/a&gt; and we might feature it on a future episode of the show.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Intro&lt;/li&gt;
&lt;li&gt;00:01:52 &amp;ndash; Cecil&amp;rsquo;s role at Microsoft&lt;/li&gt;
&lt;li&gt;00:03:35 &amp;ndash; Twitch Stream with Brian Clark&lt;/li&gt;
&lt;li&gt;00:05:07 &amp;ndash; Learning in front of an audience&lt;/li&gt;
&lt;li&gt;00:13:05 &amp;ndash; Listener&amp;rsquo;s question&lt;/li&gt;
&lt;li&gt;00:14:46 &amp;ndash; Finding code that&amp;rsquo;s at your level&lt;/li&gt;
&lt;li&gt;00:20:31 &amp;ndash; Understanding more complex syntax in Python &lt;/li&gt;
&lt;li&gt;00:23:40 &amp;ndash; Breaking down complexity&lt;/li&gt;
&lt;li&gt;00:29:17 &amp;ndash; Translation of code&lt;/li&gt;
&lt;li&gt;00:31:55 &amp;ndash; Importance of making projects and comments&lt;/li&gt;
&lt;li&gt;00:36:28 &amp;ndash; Finding community&lt;/li&gt;
&lt;li&gt;00:41:23 &amp;ndash; Open source contributing&lt;/li&gt;
&lt;li&gt;00:42:25 &amp;ndash; Dealing with impostor syndrome &lt;/li&gt;
&lt;li&gt;00:49:09 &amp;ndash; Looking for that first position&lt;/li&gt;
&lt;li&gt;01:00:58 &amp;ndash; More project resources in show notes &lt;/li&gt;
&lt;li&gt;01:02:55 &amp;ndash; Cecil&amp;rsquo;s podcast - Away from the keyboard&lt;/li&gt;
&lt;li&gt;01:08:29 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:10:14 &amp;ndash; What is something you thought you knew about Python but were wrong about it? &lt;/li&gt;
&lt;li&gt;01:12:01 &amp;ndash; What&amp;rsquo;s the next thing you want to learn in Python?&lt;/li&gt;
&lt;li&gt;01:13:37 &amp;ndash; Read the actual Python docs&lt;/li&gt;
&lt;li&gt;01:15:24 &amp;ndash; Thanks and goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://channel9.msdn.com&quot;&gt;Microsoft Developer Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/cecilphillip&quot;&gt;Cecil Phillip&amp;rsquo;s Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cecilphillip&quot;&gt;Cecil&amp;rsquo;s Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/microsoftdeveloper&quot;&gt;Microsoft Developer Twitch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aka.ms/python-discord-invite&quot;&gt;Official Microsoft Python Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://awayfromthekeyboard.com&quot;&gt;Away from the Keyboard: Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101: Real Python video course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking: Real Python video course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/intermediate-python-project-ideas/&quot;&gt;13 Project Ideas for Intermediate Python Developers: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Suggested project reading list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pallets/flask&quot;&gt;Flask: The Python micro framework for building web applications.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/django/django&quot;&gt;Django: The Web framework for perfectionists with deadlines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/gleitz/howdoi&quot;&gt;Howdoi: instant coding answers via the command line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/dabeaz/curio&quot;&gt;Curio: A coroutine-based library for concurrent Python systems programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/scikit-learn/scikit-learn&quot;&gt;scikit-learn: machine learning in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sqlalchemy/sqlalchemy&quot;&gt;SQLAlchemy: The Database Toolkit for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/psf/requests&quot;&gt;Requests: A simple, yet elegant HTTP library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pallets/markupsafe&quot;&gt;Markupsafe: Safely add untrusted strings to HTML/XML markup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=9896369&quot;&gt;Ask HN: Good Python codebases to read?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python-guide.org/writing/reading/&quot;&gt;The Hitchhiker&amp;rsquo;s Guide to Python: Reading Great Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3.8/&quot;&gt;Welcome! This is the documentation for Python 3.8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming-oop-python/&quot;&gt;A Conceptual Primer on OOP in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E009_Cecil_Phillip.c68d808f67e2.mp3" type="audio/mpeg" length="55112449"/>
        <guid isPermaLink="false">d587be96-dc64-473c-9ac5-1c2fe7faf957</guid>
        <pubDate>Fri, 15 May 2020 12:00:00 +0000</pubDate>
        <itunes:duration>4587</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@cecilphillip</rp:twitter-handles>
        <rp:twitter-title>“Leveling Up Your Python Literacy and Finding Python Projects to Study” with @cecilphillip</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>8</itunes:episode>
        <title>Docker + Python for Data Science and Machine Learning</title>
        <itunes:title>Docker + Python for Data Science and Machine Learning</itunes:title>
        <link>https://realpython.com/podcasts/rpp/8/</link>
        <description>Docker is a common tool for Python developers creating and deploying applications, but what do you need to know if you want to use Docker for data science and machine learning? What are the best practices if you want to start using containers for your scientific projects? This week we have Tania Allard on the show. She is a Sr. Developer Advocate at Microsoft focusing on Machine Learning, scientific computing, research and open source.</description>
        <content:encoded>&lt;p&gt;Docker is a common tool for Python developers creating and deploying applications, but what do you need to know if you want to use Docker for data science and machine learning? What are the best practices if you want to start using containers for your scientific projects? This week we have Tania Allard on the show. She is a Sr. Developer Advocate at Microsoft focusing on Machine Learning, scientific computing, research and open source.&lt;/p&gt;
&lt;p&gt;Tania has created a talk for the PyCon US 2020 which is now online. The talk is titled “Docker and Python: Making them Play Nicely and Securely for Data Science and ML.” Her talk draws on her expertise in the improvement of processes, reproducibility and transparency in research and data science. We discuss a variety of tools for making your containers more secure and results reproducible.&lt;/p&gt;
&lt;p&gt;Tania is passionate about mentoring, open-source, and its community. She is an organizer for Mentored Sprints for Diverse Beginners, and she talks about the upcoming online sprints for PyCon US 2020. We also discuss her plans to start a podcast.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:43 &amp;ndash; Microsoft Senior Developer Advocate Role&lt;/li&gt;
&lt;li&gt;00:04:07 &amp;ndash; PyCon 2020 Talk - Docker and Python: making them play nicely&lt;/li&gt;
&lt;li&gt;00:05:34 &amp;ndash; What is Docker?&lt;/li&gt;
&lt;li&gt;00:10:08 &amp;ndash; Reproducibility of project results&lt;/li&gt;
&lt;li&gt;00:12:03 &amp;ndash; What are the challenges of using Docker for machine learning?&lt;/li&gt;
&lt;li&gt;00:15:06 &amp;ndash; Getting started suggestions&lt;/li&gt;
&lt;li&gt;00:16:26 &amp;ndash; What metadata should be included?&lt;/li&gt;
&lt;li&gt;00:17:48 &amp;ndash; Creating images through stages&lt;/li&gt;
&lt;li&gt;00:21:16 &amp;ndash; What about your data?&lt;/li&gt;
&lt;li&gt;00:22:40 &amp;ndash; Kubernetes: Orchestrating containers&lt;/li&gt;
&lt;li&gt;00:24:37 &amp;ndash; Continuing stages into testing&lt;/li&gt;
&lt;li&gt;00:25:37 &amp;ndash; What are tools for testing security?&lt;/li&gt;
&lt;li&gt;00:27:07 &amp;ndash; Challenges in using containers for ML&lt;/li&gt;
&lt;li&gt;00:28:52 &amp;ndash; What types of databases?&lt;/li&gt;
&lt;li&gt;00:29:39 &amp;ndash; Are you doing initial research on a local machine?&lt;/li&gt;
&lt;li&gt;00:30:59 &amp;ndash; An example of a recent ML project&lt;/li&gt;
&lt;li&gt;00:32:16 &amp;ndash; Papermill: parameterizing and executing notebooks&lt;/li&gt;
&lt;li&gt;00:33:16 &amp;ndash; NLP: Natural Language Processing&lt;/li&gt;
&lt;li&gt;00:33:58 &amp;ndash; Kaggle: Help us better understand COVID-19&lt;/li&gt;
&lt;li&gt;00:34:42 &amp;ndash; What are other best practices for data intensive projects?&lt;/li&gt;
&lt;li&gt;00:39:13 &amp;ndash; Resources to get started in machine learning?&lt;/li&gt;
&lt;li&gt;00:40:30 &amp;ndash; Mentored Sprints for Diverse Beginners &lt;/li&gt;
&lt;li&gt;00:45:34 &amp;ndash; Tania&amp;rsquo;s upcoming podcast&lt;/li&gt;
&lt;li&gt;00:48:38 &amp;ndash; A visiting fellow at the Alan Turing Institute&lt;/li&gt;
&lt;li&gt;00:49:08 &amp;ndash; Weight lifting&lt;/li&gt;
&lt;li&gt;00:50:16 &amp;ndash; Craft beer&lt;/li&gt;
&lt;li&gt;00:52:09 &amp;ndash; What is something you thought you knew in Python but were wrong about?&lt;/li&gt;
&lt;li&gt;00:53:50 &amp;ndash; What are excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:54:42 &amp;ndash; Thank you and Goodbye&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.trallard.dev&quot;&gt;Tania Allard: Personal site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Jq68axbKIbg&amp;amp;feature=youtu.be&quot;&gt;Docker and Python: making them play nicely and securely for Data Science and ML - Tania Allard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://speakerdeck.com/trallard/docker-and-python-making-them-play-nicely-and-securely-for-data-science-and-machine-learning&quot;&gt;Slides for Docker and Python Talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.docker.com&quot;&gt;Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://xkcd.com/1987/&quot;&gt;XKCD: Python Superfund Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.docker.com/develop/develop-images/dockerfile_best-practices/&quot;&gt;Best practices for writing Dockerfiles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-versions-docker/&quot;&gt;Run Python Versions in Docker: How to Try the Latest Python Release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://kubernetes.io&quot;&gt;Kubernetes: Production-Grade Container Orchestration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snyk.io&quot;&gt;Snyk: Securing open source and containers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://papermill.readthedocs.io/en/latest/&quot;&gt;papermill: A tool for parameterizing and executing Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Natural_language_processing&quot;&gt;Natural Language Processing: Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/natural-language-processing-spacy-python/&quot;&gt;Natural Language Processing With spaCy in Python: Real Python article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.kaggle.com/covid19&quot;&gt;Kaggle: Help us better understand COVID-19&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.datree.io/product&quot;&gt;datree.io: Scale Engineering organization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://repo2docker.readthedocs.io/en/latest/&quot;&gt;repo2docker: Build, Run, and Push Docker Images from Source Code Repositories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jupyter-docker-stacks.readthedocs.io/en/latest/index.html&quot;&gt;Jupyter Docker Stacks: A set of ready-to-run Docker images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mybinder.org/&quot;&gt;binder: Turn a Git Repo into a Collection of Interactive Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/hands-on-machine-learning/9781491962282/&quot;&gt;Hands-On Machine Learning with Scikit-Learn and TensorFlow: O&amp;rsquo;Reilly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.oreilly.com/library/view/data-science-from/9781491901410/&quot;&gt;Data Science from Scratch: O&amp;rsquo;Reilly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wesmckinney.com/pages/book.html&quot;&gt;Python for Data Analysis: Wes McKinney - Creator of Pandas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2020/hatchery/mentoredsprints/&quot;&gt;Mentored Sprints for Diverse Beginners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.turing.ac.uk&quot;&gt;The Alan Turing Institute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=PV7iy6FPjAY&quot;&gt;Easy Data Processing With Azure Fun - Tania Allard - PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0581/&quot;&gt;PEP 581 &amp;ndash; Using GitHub Issues for CPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://t.co/bfSZvZFkw7?amp=1&quot;&gt;Python&amp;rsquo;s migration to GitHub - Request for Project Manager Resumes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-histograms/&quot;&gt;Histogram Plotting in Python: NumPy, Matplotlib, Pandas &amp;amp; Seaborn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/idiomatic-pandas-tricks-features-you-may-not-know/&quot;&gt;Idiomatic pandas: Tricks &amp;amp; Features You May Not Know&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E008_Tania_Allard.d9d985170b01.mp3" type="audio/mpeg" length="40136703"/>
        <guid isPermaLink="false">4a26336a-e91e-4baf-9c52-f04a2acc8d73</guid>
        <pubDate>Fri, 08 May 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3333</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@ixek</rp:twitter-handles>
        <rp:twitter-title>“Docker + Python for Data Science and Machine Learning” with @ixek</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>7</itunes:episode>
        <title>AsyncIO + Music, Origins of Black, and Managing Python Releases</title>
        <itunes:title>AsyncIO + Music, Origins of Black, and Managing Python Releases</itunes:title>
        <link>https://realpython.com/podcasts/rpp/7/</link>
        <description>Want to learn more about AsyncIO in Python, with an example where you can see and hear events being triggered in real-time? This week we have Łukasz Langa on the show. Łukasz has created a talk for PyCon 2020 online about using AsyncIO with Music.</description>
        <content:encoded>&lt;p&gt;Want to learn more about AsyncIO in Python, with an example where you can see and hear events being triggered in real-time? This week we have Łukasz Langa on the show. Łukasz has created a talk for PyCon 2020 online about using AsyncIO with Music.&lt;/p&gt;
&lt;p&gt;In his talk he shows live examples of coroutines, gathering, the event loop and events being triggered to create a piece of music. We also talk about his role as the release manager for Python 3.8 and 3.9. Łukasz provides background on the origins of his very popular, uncompromising code formatter, Black, and the types of problems it can solve inside of an organization.&lt;/p&gt;
&lt;p&gt;Łukasz previously worked for Facebook, which is where he started Black. He talks about recently moving back to Poland. We discuss his current work for Edge DB, building a new generation object-relational database.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:32 &amp;ndash; Łukasz&amp;rsquo;s background&lt;/li&gt;
&lt;li&gt;00:03:22 &amp;ndash; Leaving Facebook and moving back to Poland &lt;/li&gt;
&lt;li&gt;00:05:26 &amp;ndash; Starting work with EdgeDB&lt;/li&gt;
&lt;li&gt;00:06:07 &amp;ndash; What is Edge DB?&lt;/li&gt;
&lt;li&gt;00:12:28 &amp;ndash; AsyncIO + Music PyCon 2020 talk&lt;/li&gt;
&lt;li&gt;00:18:56 &amp;ndash; More AsyncIO resources &lt;/li&gt;
&lt;li&gt;00:23:36 &amp;ndash; Comparing the event loop to a game loop&lt;/li&gt;
&lt;li&gt;00:27:12 &amp;ndash; Coroutines and gather&lt;/li&gt;
&lt;li&gt;00:30:00 &amp;ndash; A conversation with Glyph&lt;/li&gt;
&lt;li&gt;00:33:40 &amp;ndash; Bigger ideas for the AsyncIO MIDI sequencer &lt;/li&gt;
&lt;li&gt;00:35:41 &amp;ndash; Using uvloop as a replacement for the built-in reference AsyncIO loop&lt;/li&gt;
&lt;li&gt;00:39:13 &amp;ndash; Thoughts on MIDI 2.0&lt;/li&gt;
&lt;li&gt;00:46:30 &amp;ndash; Origins of Black &lt;/li&gt;
&lt;li&gt;00:53:51 &amp;ndash; Black grows in popularity &lt;/li&gt;
&lt;li&gt;00:58:35 &amp;ndash; What is involved in being the Python 3.9 release manager?&lt;/li&gt;
&lt;li&gt;01:02:22 &amp;ndash; The Python language summit&lt;/li&gt;
&lt;li&gt;01:07:44 &amp;ndash; Is the beta on schedule?&lt;/li&gt;
&lt;li&gt;01:09:27 &amp;ndash; How did you get the role of Release Manager?&lt;/li&gt;
&lt;li&gt;01:15:09 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;01:19:02 &amp;ndash; If you were learning Python from scratch, what would do differently?&lt;/li&gt;
&lt;li&gt;01:22:18 &amp;ndash; What is something you thought you knew about Python, but were wrong about?&lt;/li&gt;
&lt;li&gt;01:26:05 &amp;ndash; Goodbye and Thanks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=02CLD-42VdI&quot;&gt;Łukasz Langa - AsyncIO + Music - PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://edgedb.com&quot;&gt;Edge DB: The next generation database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/channel/UCRF82wX0EPwqvKMBwvB4fQg&quot;&gt;Edge DB YouTube Channel - Learn Python&amp;rsquo;s AsyncIO - Series&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pycon.blogspot.com/2020/04/pycon-2020-online-launch_15.html&quot;&gt;PyCon 2020 Online Launch!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=cvwrkOnn9xo&quot;&gt;code::dive 2017 – Łukasz Langa – Thinking in coroutines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=4DkMQRc4Iuc&quot;&gt;code::dive 2019 - Łukasz Langa - AsyncIO and Music - Earlier version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pcgamesn.com/john-carmack-its-time-start-pushing-forward-these-higher-frame-rate-lower-latency&quot;&gt;John Carmack: “it’s time to start pushing forward on higher frame-rate, lower latency” - PCGamesN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Glyph_Lefkowitz&quot;&gt;Glyph Lefkowitz: Wikipedia Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/hundredrabbits/Orca&quot;&gt;Orca: an esoteric programming language designed to quickly create procedural sequencer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://uvloop.readthedocs.io&quot;&gt;uvloop: an ultra fast implementation of the asyncio event loop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.soundonsound.com/music-business/introducing-midi-20&quot;&gt;Introducing MIDI 2.0 - Sound on Sound&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://polyend.com/tracker/&quot;&gt;Polyend Tracker: Break the pattern&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/google/yapf&quot;&gt;YAPF: Python code formatter from Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://black.readthedocs.io/en/stable/&quot;&gt;Black: The uncompromising Python code formatter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=esZLCuWs_2Y&amp;amp;feature=youtu.be&quot;&gt;Łukasz Langa - Life Is Better Painted Black, or: How to Stop Worrying and Embrace Auto-Formatting - PyCon 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyfound.blogspot.com/2020/04/the-2020-python-language-summit.html&quot;&gt;The 2020 Python Language Summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://winterbloom.com&quot;&gt;Winterbloom: Synth Modules You Can Make Your Own&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.starlette.io&quot;&gt;Starlette: ✨ The little ASGI framework that shines. ✨&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org&quot;&gt;CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/ambv&quot;&gt;ambv - Łukasz Langa&amp;rsquo;s GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-3-concurrency-asyncio-module/&quot;&gt;Hands-On Python 3 Concurrency With the asyncio Module&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-38/&quot;&gt;Cool New Features in Python 3.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/RPP_E007_Lukasz_Langa_1.caf0294b2ab5.mp3" type="audio/mpeg" length="62813740"/>
        <guid isPermaLink="false">89ac5c07-6e80-4468-bbf4-7a0180e530ed</guid>
        <pubDate>Fri, 01 May 2020 12:00:00 +0000</pubDate>
        <itunes:duration>5224</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@llanga</rp:twitter-handles>
        <rp:twitter-title>“AsyncIO + Music, Origins of Black, and Managing Python Releases” with @llanga</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>6</itunes:episode>
        <title>Python REST APIs and The Well-Grounded Python Developer</title>
        <itunes:title>Python REST APIs and The Well-Grounded Python Developer</itunes:title>
        <link>https://realpython.com/podcasts/rpp/6/</link>
        <description>Are you interested in building REST APIs with Flask and SQLAlchemy? This week we have Doug Farrell on the show. We talk about his four-part Real Python article series on Python REST APIs.</description>
        <content:encoded>&lt;p&gt;Are you interested in building REST APIs with Flask and SQLAlchemy? This week we have Doug Farrell on the show. We talk about his four-part Real Python article series on Python REST APIs.&lt;/p&gt;
&lt;p&gt;We discuss the various Python tools and libraries used in the series. Doug also shares his practices for continuous learning. Doug has worked in process control, embedded systems, and has a long background in software development. &lt;/p&gt;
&lt;p&gt;He&amp;rsquo;s currently a developer at ShutterFly, and discusses developing tools for his internal customers. He also teaches Python to kids at a STEM school near where he lives. &lt;/p&gt;
&lt;p&gt;Doug is writing a book for Manning Publications, &amp;ldquo;The Well-Grounded Python Developer&amp;rdquo;. The book is currently available in an early access state.  And as always please check out all the additional resources and tools that Doug discusses, they are all gathered for you in the show notes.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:30 &amp;ndash; Doug&amp;rsquo;s programming background&lt;/li&gt;
&lt;li&gt;00:06:16 &amp;ndash; Building a Polargraph&lt;/li&gt;
&lt;li&gt;00:08:51 &amp;ndash; When did you get into Python?&lt;/li&gt;
&lt;li&gt;00:10:43 &amp;ndash; Working at Shutterfly&lt;/li&gt;
&lt;li&gt;00:13:45 &amp;ndash; How does Python help at Shutterfly?&lt;/li&gt;
&lt;li&gt;00:16:21 &amp;ndash; Difficulties for a self-taught developer&lt;/li&gt;
&lt;li&gt;00:18:58 &amp;ndash; How do you keep honing your skills? &lt;/li&gt;
&lt;li&gt;00:20:32 &amp;ndash; Writing articles&lt;/li&gt;
&lt;li&gt;00:22:04 &amp;ndash; Python REST APIs With Flask, Connexion, and SQLAlchemy Series &lt;/li&gt;
&lt;li&gt;00:27:54 &amp;ndash; Picking tools for REST APIs&lt;/li&gt;
&lt;li&gt;00:36:27 &amp;ndash; The Well-Ground Python Developer Book &lt;/li&gt;
&lt;li&gt;00:39:27 &amp;ndash; What topic are you most interested in covering?&lt;/li&gt;
&lt;li&gt;00:42:35 &amp;ndash; How has working with hardware helped you become a better programmer? &lt;/li&gt;
&lt;li&gt;00:45:36 &amp;ndash; Something you thought you knew about Python, but were wrong about?&lt;/li&gt;
&lt;li&gt;00:46:25 &amp;ndash; What&amp;rsquo;s a good tool to use for profiling?&lt;/li&gt;
&lt;li&gt;00:47:34 &amp;ndash; Getting up to speed on data science&lt;/li&gt;
&lt;li&gt;00:50:45 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:53:26 &amp;ndash; Contact info, thank you and sign off&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api-part-2/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-connexion-rest-api-part-3/&quot;&gt;Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/flask-javascript-frontend-for-rest-api/&quot;&gt;Build a JavaScript Front End for a Flask API (Previously Part 4)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/api-integration-in-python/&quot;&gt;API Integration in Python – Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/tutorials/flask/&quot;&gt;Flask Tutorials - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sqlalchemy.org&quot;&gt;SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://marshmallow.readthedocs.io/en/3.0/&quot;&gt;marshmallow: simplified object serialization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://swagger.io&quot;&gt;Swagger - API Development for Everyone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/zalando/connexion&quot;&gt;Connexion - Swagger/OpenAPI First framework for Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Serialization&quot;&gt;Serialization - Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-json/&quot;&gt;Working With JSON Data in Python - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Ajax_(programming)&quot;&gt;Ajax - Wikipedia article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.polargraph.co.uk/whats-a-polargraph/&quot;&gt;What&amp;rsquo;s a polargraph&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/brandonagr/gocupi&quot;&gt;Polargraph (vertical plotter / drawing machine) written in Go&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.python.org/3/library/profile.html&quot;&gt;The Python Profilers - docs.python.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-timer/&quot;&gt;Python Timer Functions: Three Ways to Monitor Your Code - Real Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://writeson.pythonanywhere.com&quot;&gt;Doug&amp;rsquo;s personal website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.manning.com/books/the-well-grounded-python-developer&quot;&gt;The Well-Grounded Python Developer - Early Access Book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/dougfarrell/&quot;&gt;Doug&amp;rsquo;s Linked-In Profile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/working-json-data-python/&quot;&gt;Working With JSON in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-data-types/&quot;&gt;Exploring Basic Data Types in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/E006_RPP_Doug_Farrell.d57920f6090b.mp3" type="audio/mpeg" length="39430036"/>
        <guid isPermaLink="false">f50ba929-35e3-4d3d-aa1b-97b83719912e</guid>
        <pubDate>Fri, 24 Apr 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3280</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@writeson</rp:twitter-handles>
        <rp:twitter-title>“Python REST APIs and The Well-Grounded Python Developer” with @writeson</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>5</itunes:episode>
        <title>Exploring CircuitPython</title>
        <itunes:title>Exploring CircuitPython</itunes:title>
        <link>https://realpython.com/podcasts/rpp/5/</link>
        <description>Have you ever wanted to explore using Python with electronics? CircuitPython is a great platform to get started with. This week we have Thea Flowers on the show. Thea has been creating several hardware projects based around CircuitPython, and she talks about getting started on the platform.</description>
        <content:encoded>&lt;p&gt;Have you ever wanted to explore using Python with electronics? CircuitPython is a great platform to get started with. This week we have Thea Flowers on the show. Thea has been creating several hardware projects based around CircuitPython, and she talks about getting started on the platform.&lt;/p&gt;
&lt;p&gt;She also answers questions about how she taught herself to design and prototype printed circuit boards. Thea discusses several of her open source projects, including Nox, ConductHotline, and getting involved with CircuitPython. &lt;/p&gt;
&lt;p&gt;Thea was the conference co-chair for PyCascades, and we talk about how someone could get involved in volunteering for conferences. We also discuss building diversity in the community. &lt;/p&gt;
&lt;p&gt;This episode was initially recorded at an earlier date, so we asked Thea to come back for a few minutes to discuss updates on her projects and about a recent honor she received.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:25 &amp;ndash; Thea&amp;rsquo;s programming background&lt;/li&gt;
&lt;li&gt;00:02:45 &amp;ndash; Working with Google Cloud Platform&lt;/li&gt;
&lt;li&gt;00:04:10 &amp;ndash; Flutter developer relations&lt;/li&gt;
&lt;li&gt;00:04:52 &amp;ndash; Learning Python&lt;/li&gt;
&lt;li&gt;00:06:07 &amp;ndash; Working on open source projects&lt;/li&gt;
&lt;li&gt;00:06:33 &amp;ndash; Nox - Automated Python testing&lt;/li&gt;
&lt;li&gt;00:07:03 &amp;ndash; ConductHotline&lt;/li&gt;
&lt;li&gt;00:07:38 &amp;ndash; Contributing to CircuitPython&lt;/li&gt;
&lt;li&gt;00:07:53 &amp;ndash; More background on Nox and Tox&lt;/li&gt;
&lt;li&gt;00:10:03 &amp;ndash; Getting involved with CircuitPython&lt;/li&gt;
&lt;li&gt;00:12:38 &amp;ndash; MicroPython and CircuitPython&lt;/li&gt;
&lt;li&gt;00:14:20 &amp;ndash; Suggestions for starter board or kit&lt;/li&gt;
&lt;li&gt;00:15:49 &amp;ndash; What are you excited about in CircuitPython?&lt;/li&gt;
&lt;li&gt;00:16:31 &amp;ndash; Nina Zakharenko CircuitPython project&lt;/li&gt;
&lt;li&gt;00:17:47 &amp;ndash; Things you&amp;rsquo;d like to see improved in CircuitPython?&lt;/li&gt;
&lt;li&gt;00:21:30 &amp;ndash; Working toward consensus in open source projects?&lt;/li&gt;
&lt;li&gt;00:25:41 &amp;ndash; Winterbloom - Big Honking Button&lt;/li&gt;
&lt;li&gt;00:30:25 &amp;ndash; Creating circuit boards &lt;/li&gt;
&lt;li&gt;00:34:32 &amp;ndash; Winterbloom - Sol&lt;/li&gt;
&lt;li&gt;00:38:49 &amp;ndash; Code editor for CircuitPython&lt;/li&gt;
&lt;li&gt;00:40:08 &amp;ndash; Something you thought you knew about Python, but were wrong about?&lt;/li&gt;
&lt;li&gt;00:42:14 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:44:21 &amp;ndash; Do you listen to music when coding?&lt;/li&gt;
&lt;li&gt;00:45:29 &amp;ndash; Being an organizer for PyCascades&lt;/li&gt;
&lt;li&gt;00:46:53 &amp;ndash; Getting involved and volunteering for events&lt;/li&gt;
&lt;li&gt;00:48:16 &amp;ndash; Ways to increase diversity &lt;/li&gt;
&lt;li&gt;00:53:51 &amp;ndash; Extended episode conversation&lt;/li&gt;
&lt;li&gt;00:54:25 &amp;ndash; Updates on the WInterbloom projects&lt;/li&gt;
&lt;li&gt;00:55:24 &amp;ndash; 2020 Q1 PSF Fellow Member!&lt;/li&gt;
&lt;li&gt;00:56:32 &amp;ndash; PyCon 2020 moves to online only&lt;/li&gt;
&lt;li&gt;00:58:45 &amp;ndash; How would you learn Python if starting from scratch?&lt;/li&gt;
&lt;li&gt;01:02:10 &amp;ndash; Thanks and ending&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://thea.codes&quot;&gt;Thea&amp;rsquo;s blog: thea.codes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://game-maker.en.uptodown.com/windows&quot;&gt;GameMaker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com&quot;&gt;Google Cloud platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://flutter.dev&quot;&gt;Flutter: UI toolkit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://nox.thea.codes/en/stable/&quot;&gt;Nox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=-BHverY7IwU&quot;&gt;Break the Cycle: Three excellent Python tools to automate repetitive tasks - Pycon 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://conducthotline.com/pages/about&quot;&gt;ConductHotline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=MPB7wqqpIKc&quot;&gt;Genesynth: Creating a Sega-inspired synthesizer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org&quot;&gt;Circuit Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://circuitpython.org/contributing&quot;&gt;Contributing to CircuitPython&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.thea.codes/lessons-learned-from-building-a-circuitpython-board/&quot;&gt;Lessons learned from building a custom CircuitPython board&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/3333&quot;&gt;Circuit Playground Express&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/nnjaio/videos&quot;&gt;Nina Zakharenko CircuitPython Twitch Streams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.thea.codes/thoughts-on-circuitpython-2020/&quot;&gt;Thea&amp;rsquo;s thoughts on CircuitPython: Blog post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://winterbloom.com/&quot;&gt;Winterbloom Store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://twitter.com/johnedgarpark/status/1223846637371478016&quot;&gt;John Edgar Parks: Sol quantizing demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.digikey.com/en/resources/design-tools/kicad&quot;&gt;DigiKey KiCad series&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codewith.mu&quot;&gt;Code with Mu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=2JsYHpiH2xs&quot;&gt;Celeste: video game soundtrack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2020.pycascades.com&quot;&gt;PyCascades&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/psf/fellows/&quot;&gt;PSF Fellows 2020 Q1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2020/online/&quot;&gt;PyCon 2020: Online&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/threading-python/&quot;&gt;Threading in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/arduino-python/&quot;&gt;Arduino With Python: Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/test-driven-development-pytest/&quot;&gt;Test-Driven Development With pytest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/E005_RPP_Thea_Flowers.e1bf63a4e89e.mp3" type="audio/mpeg" length="45520871"/>
        <guid isPermaLink="false">5d92f479-e0f6-43e5-80eb-17fb7f764a54</guid>
        <pubDate>Fri, 17 Apr 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3787</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@theavalkyrie</rp:twitter-handles>
        <rp:twitter-title>“Exploring CircuitPython” with @theavalkyrie</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>4</itunes:episode>
        <title>Learning Python Through Errors</title>
        <itunes:title>Learning Python Through Errors</itunes:title>
        <link>https://realpython.com/podcasts/rpp/4/</link>
        <description>Do you get upset and frustrated when you experience errors running your Python code? This week we have Martin Breuss on the show. We discuss how to learn Python *through* errors, and how errors really are your friends.</description>
        <content:encoded>&lt;p&gt;Do you get upset and frustrated when you experience errors running your Python code? This week we have Martin Breuss on the show. We discuss how to learn Python &lt;em&gt;through&lt;/em&gt; errors, and how errors really are your friends.&lt;/p&gt;
&lt;p&gt;Martin is a video course creator here at Real Python, and we talk briefly about several courses he&amp;rsquo;s created. We focus on his course about getting started with Django, as a jumping off point for the discussion.&lt;/p&gt;
&lt;p&gt;Martin talks about his work with Coding Nomads, and teaching Python around the world. He also provides some tips on debugging and writing good questions. &lt;/p&gt;
&lt;p&gt;This episode was recorded at an earlier date, and because of recent events Martin came back to discuss a new #StayAtHome Mentorship Program he&amp;rsquo;s working on. The program is meant not only for learners but also for those who want to try their hand at being a mentor. We also answer our first listener submitted question.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:18 &amp;ndash; Martin Breuss - Introduction&lt;/li&gt;
&lt;li&gt;00:04:52 &amp;ndash; Programming background and MOOCs&lt;/li&gt;
&lt;li&gt;00:10:17 &amp;ndash; Creating Courses for Real Python &lt;/li&gt;
&lt;li&gt;00:12:02 &amp;ndash; Real Python - Django Course  &lt;/li&gt;
&lt;li&gt;00:14:50 &amp;ndash; How can errors teach you?&lt;/li&gt;
&lt;li&gt;00:18:27 &amp;ndash; Reading errors from Django&lt;/li&gt;
&lt;li&gt;00:22:31 &amp;ndash; Working with Coding Nomads&lt;/li&gt;
&lt;li&gt;00:24:16 &amp;ndash; Common frustrations for students&lt;/li&gt;
&lt;li&gt;00:26:52 &amp;ndash; Comments and forums&lt;/li&gt;
&lt;li&gt;00:29:46 &amp;ndash; Asking good questions&lt;/li&gt;
&lt;li&gt;00:34:24 &amp;ndash; Debugging tips&lt;/li&gt;
&lt;li&gt;00:36:37 &amp;ndash; Course: Finding the right python code editor &lt;/li&gt;
&lt;li&gt;00:42:46 &amp;ndash; What are you excited about?&lt;/li&gt;
&lt;li&gt;00:46:05 &amp;ndash; MacOS Catalina Python issue&lt;/li&gt;
&lt;li&gt;00:47:30 &amp;ndash; Music for programming&lt;/li&gt;
&lt;li&gt;00:48:51 &amp;ndash; Extended episode details&lt;/li&gt;
&lt;li&gt;00:49:29 &amp;ndash; #StayAtHome Mentorship Program&lt;/li&gt;
&lt;li&gt;00:58:48 &amp;ndash; Listener submitted question&lt;/li&gt;
&lt;li&gt;00:59:17 &amp;ndash; How would you learn Python from scratch?&lt;/li&gt;
&lt;li&gt;01:09:39 &amp;ndash; Final thanks and links&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor - Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Get Started With Django: Build a Portfolio App - Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/get-started-with-django-1&quot;&gt;Get Started With Django Part 1: Build a Portfolio App - Original Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks - Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/variables-python/&quot;&gt;Variables in Python - Video Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/beautiful-soup-web-scraper-python&quot;&gt;Beautiful Soup: Build a Web Scraper With Python - Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codingnomads.co/&quot;&gt;CodingNomads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://platform.codingnomads.co/learn/&quot;&gt;CodingNomads Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.newworldai.com/artificial-intelligence-course-with-sebastian-thrun-and-peter-norvig-udacity-course/&quot;&gt;AI Course With Sebastian Thrun and Peter Norvig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.coursera.org/learn/interactive-python-1&quot;&gt;Rice University - An Introduction to Interactive Programming in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/58816345/osx-catalina-gcc-pip-issue&quot;&gt;MacOS Catalina Python/GCC compiler issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=7jiPeIFXb6U&quot;&gt;I don&amp;rsquo;t like notebooks - Jupyter Notebook talk by Joel Grus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://foxdot.org/&quot;&gt;FoxDot_ Live music coding with Python and SuperCollider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ultraleap.com/product/leap-motion-controller/&quot;&gt;Leap Motion Controller (The hand tracker)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://uwyn.com/geco/&quot;&gt;Geco - for making music with Leap Motion Controller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codingnomads.github.io/stayathome-mentorship/&quot;&gt;#StayAtHome Mentorship Program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.teachingpython.fm&quot;&gt;Teaching Python Podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.humblebundle.com&quot;&gt;Humble Bundle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pythonistacafe.com&quot;&gt;Pythonista Café&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/community/&quot;&gt;Real Python Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://projecteuler.net&quot;&gt;Project Euler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sololearn.com&quot;&gt;Sololearn - Code learning app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://getmimo.com&quot;&gt;m1m0 - Code learning app&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Music to code to links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=5qap5aO4i9A&quot;&gt;Chillhop (The eternally studying girl)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thehardtimes.net/harddrive/lofi-hip-hop-radio-girl-still-fails-test-after-four-years-of-studying/&quot;&gt;Related Article on Her Test Results&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.noisli.com/&quot;&gt;Noisli - Just Noises&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/results?search_query=classical+music&quot;&gt;Classical music playlists on youtube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/django-portfolio-project/&quot;&gt;Getting Started With Django: Building a Portfolio App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/finding-perfect-python-code-editor/&quot;&gt;Finding the Perfect Python Code Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/using-jupyter-notebooks/&quot;&gt;Using Jupyter Notebooks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/EP004_RPP_Martin_Breuss.afea464c3f22.mp3" type="audio/mpeg" length="50803927"/>
        <guid isPermaLink="false">3097d802-506d-4ae4-b632-237b992a2a61</guid>
        <pubDate>Fri, 10 Apr 2020 12:00:00 +0000</pubDate>
        <itunes:duration>4228</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@martinbreuss</rp:twitter-handles>
        <rp:twitter-title>“Learning Python Through Errors” with @martinbreuss</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>3</itunes:episode>
        <title>Effective Python and Python at Google Scale</title>
        <itunes:title>Effective Python and Python at Google Scale</itunes:title>
        <link>https://realpython.com/podcasts/rpp/3/</link>
        <description>Have you been using Python for a while, but want to be more effective with your code?  This week we have Brett Slatkin on the show. We talk about the 2nd edition of his book Effective Python.</description>
        <content:encoded>&lt;p&gt;Have you been using Python for a while, but want to be more effective with your code?  This week we have Brett Slatkin on the show. We talk about the 2nd edition of his book Effective Python.&lt;/p&gt;
&lt;p&gt;Brett talks about the revisions he made for the book, and updating it for the newest versions of Python 3. He answers questions about who is the intended developer for the book. &lt;/p&gt;
&lt;p&gt;Brett also discusses working on Google App Engine, and what it&amp;rsquo;s like to develop and maintain Python applications at Google Scale. Brett mentions a brief anecdote about working with Guido van Rossum, while they both worked at Google. He also provides advice about maintaining a large and aging Python code base.&lt;/p&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:13 &amp;ndash; Brett Slatkin - Programming background&lt;/li&gt;
&lt;li&gt;00:02:00 &amp;ndash; Python background and start at Google&lt;/li&gt;
&lt;li&gt;00:03:22 &amp;ndash; Working on Google infrastructure&lt;/li&gt;
&lt;li&gt;00:05:36 &amp;ndash; Is Python a good tool for infrastructure?&lt;/li&gt;
&lt;li&gt;00:07:28 &amp;ndash; PubSubHubbub&lt;/li&gt;
&lt;li&gt;00:09:06 &amp;ndash; Lobste.rs &lt;/li&gt;
&lt;li&gt;00:10:03 &amp;ndash; Starting to write Effective Python&lt;/li&gt;
&lt;li&gt;00:11:12 &amp;ndash; Who is the intended developer for the book?&lt;/li&gt;
&lt;li&gt;00:12:45 &amp;ndash; About the Effective series book structure&lt;/li&gt;
&lt;li&gt;00:14:39 &amp;ndash; What were the sections you were excited to rewrite?&lt;/li&gt;
&lt;li&gt;00:18:41 &amp;ndash; Moving away from Metaclasses in modern Python&lt;/li&gt;
&lt;li&gt;00:20:43 &amp;ndash; Python 3.8 in the book&lt;/li&gt;
&lt;li&gt;00:21:03 &amp;ndash; Using the walrus operator to build a switch/case statement&lt;/li&gt;
&lt;li&gt;00:23:22 &amp;ndash; Why did you feel Python made you a more productive developer?&lt;/li&gt;
&lt;li&gt;00:28:02 &amp;ndash; Working with Guido van Rossum&lt;/li&gt;
&lt;li&gt;00:31:15 &amp;ndash; What&amp;rsquo;s it like to work on the same code base for years?&lt;/li&gt;
&lt;li&gt;00:33:35 &amp;ndash; What is code rot? &lt;/li&gt;
&lt;li&gt;00:35:10 &amp;ndash; What would you put in a book about refactoring?&lt;/li&gt;
&lt;li&gt;00:37:06 &amp;ndash; What&amp;rsquo;s something you thought you knew about Python, but were wrong?&lt;/li&gt;
&lt;li&gt;00:38:42 &amp;ndash; What are you excited about in the world of Python?&lt;/li&gt;
&lt;li&gt;00:40:24 &amp;ndash; Do you listen to music when you code?&lt;/li&gt;
&lt;li&gt;00:42:00 &amp;ndash; End Credits&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.onebigfluke.com&quot;&gt;Brett&amp;rsquo;s Blog - One Big Fluke&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/interview-brett-slatkin/&quot;&gt;Real Python Community Interview with Brett Slatkin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pubsubhubbub/&quot;&gt;PubSubHubbub - An open, simple, web-scale and decentralized pubsub protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cloud.google.com/appengine/&quot;&gt;Google App Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Alex_Martelli&quot;&gt;Alex Martelli - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920012610.do&quot;&gt;Python in a Nutshell by Alex Martelli&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://effectivepython.com&quot;&gt;Effective Python - 2nd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/best-python-books/&quot;&gt;&amp;ldquo;The Best Python Books&amp;rdquo; - RP Review of &amp;ldquo;Effective Python&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gist.github.com/non/ec48b0a7343db8291b92&quot;&gt;What is the appeal of dynamically-typed languages?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/python-type-checking/&quot;&gt;Python Type Checking - Real Python Article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://effectivepython.com/2020/02/02/prevent-repetition-with-assignment-expressions&quot;&gt;Item 10: Prevent Repetition with Assignment Expressions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://lobste.rs&quot;&gt;Lobste.rs - Computing-focused community&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scottmeyers.blogspot.com/2013/01/effective-effective-books.html&quot;&gt;Scott Myers - Effective &lt;em&gt;Effective&lt;/em&gt; Books - Blog Post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vimeo.com/71278954&quot;&gt;Bret Victor - &amp;ldquo;The Future of Programming&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://worrydream.com/#!/dbx&quot;&gt;Bret Victor - References for &amp;ldquo;The Future of Programming&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=d46PjvFki38&quot;&gt;PyCon 2016: &amp;ldquo;Refactoring Python: Why and how to restructure your code&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What are you excited about in the world of Python?&lt;/p&gt;
&lt;p&gt;Brett&amp;rsquo;s Pick:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.python.org/dev/peps/pep-0554/&quot;&gt;PEP 554 &amp;ndash; Multiple Interpreters in the Stdlib&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/threading-python/&quot;&gt;Threading in Python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-38/&quot;&gt;Cool New Features in Python 3.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-type-checking/&quot;&gt;Python Type Checking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/003_RPP_BrettSlatkin.bb1510e45c64.mp3" type="audio/mpeg" length="30948307"/>
        <guid isPermaLink="false">b61a0de6-4717-476a-8e0f-bfdfe910b9ea</guid>
        <pubDate>Fri, 03 Apr 2020 12:00:00 +0000</pubDate>
        <itunes:duration>2568</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@haxor</rp:twitter-handles>
        <rp:twitter-title>“Effective Python and Python at Google Scale” with @haxor</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>2</itunes:episode>
        <title>Learn Python Skills While Creating Games</title>
        <itunes:title>Learn Python Skills While Creating Games</itunes:title>
        <link>https://realpython.com/podcasts/rpp/2/</link>
        <description>Is game programming a good way to develop your Python programming skills? This week we have Jon Fincher on the show. Jon is an author on the Real Python team, and we talk about his recent articles on PyGame and Arcade.</description>
        <content:encoded>&lt;p&gt;Is game programming a good way to develop your Python programming skills? This week we have Jon Fincher on the show. Jon is an author on the Real Python team, and we talk about his recent articles on PyGame and Arcade.&lt;/p&gt;
&lt;p&gt;Jon talks about his background working at Microsoft. We discuss if a game would make a good portfolio piece. We compare and contrasts the two popular Python game libraries of Arcade and PyGame. Jon also reveals ways to find assets for your own creations.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Want your question featured on the show?&lt;/strong&gt; Here&amp;rsquo;s a new thing we&amp;rsquo;re trying out. Send us your question at &lt;a href=&quot;https://realpython.com/podcast-question&quot;&gt;realpython.com/podcast-question&lt;/a&gt; and we might feature it on a future episode of the show.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:00:56 &amp;ndash; Jon Fincher&lt;/li&gt;
&lt;li&gt;00:05:17 &amp;ndash; Start with Real Python&lt;/li&gt;
&lt;li&gt;00:07:08 &amp;ndash; Is game programming a good way to learn?&lt;/li&gt;
&lt;li&gt;00:13:16 &amp;ndash; Setting specific goals and limits&lt;/li&gt;
&lt;li&gt;00:19:28 &amp;ndash; Is a game a good portfolio piece?&lt;/li&gt;
&lt;li&gt;00:21:07 &amp;ndash; PyWeek 29&lt;/li&gt;
&lt;li&gt;00:22:58 &amp;ndash; Al Sweigart books&lt;/li&gt;
&lt;li&gt;00:25:00 &amp;ndash; Comparing PyGame and Arcade&lt;/li&gt;
&lt;li&gt;00:37:34 &amp;ndash; Finding game art and other assets&lt;/li&gt;
&lt;li&gt;00:41:04 &amp;ndash; Licensing game assets&lt;/li&gt;
&lt;li&gt;00:44:29 &amp;ndash; Packaging your game and sharing&lt;/li&gt;
&lt;li&gt;00:47:34 &amp;ndash; What are you excited about in the world of Python&lt;/li&gt;
&lt;li&gt;00:50:20 &amp;ndash; Final Thoughts&lt;/li&gt;
&lt;li&gt;00:54:13 &amp;ndash; Conclusion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Show links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/teals&quot;&gt;TEALS: Help us close the computer science gap&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lifehack.org/articles/featured/scrum-for-one.html&quot;&gt;Scrum for One&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/oldnewthing/?p=27543&quot;&gt;Raymond Chen: The Old New Thing Blog - You don&amp;rsquo;t know what you do until you know what you don&amp;rsquo;t do&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pygame.org/news&quot;&gt;PyGame&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pygame-a-primer/&quot;&gt;Real Python Article - PyGame: A Primer on Game Programming in Python&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pygame-zero.readthedocs.io/en/sta&quot;&gt;Pygame Zero&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://arcade.academy&quot;&gt;Arcade&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/arcade-python-game-framework/&quot;&gt;Real Python Article - Arcade: A Primer on the Python Game Framework&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/pythonarcade/&quot;&gt;The Python Arcade Library: Reddit Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pyweek.org/29/&quot;&gt;PyWeek 29: March 22, 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/user/quill18creates&quot;&gt;Quill Creates&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/quill18&quot;&gt;Quill Twitch Stream&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.twitch.tv/alsweigart&quot;&gt;Al Sweigart Twitch Stream:&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://automatetheboringstuff.com/2e/chapter0/&quot;&gt;Al Sweigart: Automate the Boring Stuff With Python&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inventwithpython.com/pygame/&quot;&gt;Al Sweigart: Invent With Python &amp;amp; Pygame&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://scratch.mit.edu/&quot;&gt;Scratch (non-Python)&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://snap.berkeley.edu/&quot;&gt;Snap! (non-Python)&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://godotengine.org&quot;&gt;Godot Game engine (non-Python)&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://unity.com/&quot;&gt;Unity Game Engine (non-Python)&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.unrealengine.com/&quot;&gt;Unreal Game Engine (non-Python)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.mapeditor.org/&quot;&gt;Tiled Map Editor&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.pymunk.org/en/latest/&quot;&gt;Pymunk: Pythonic 2D Physics library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://opengameart.org/&quot;&gt;OpenGameArt&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dafont.com/&quot;&gt;Font assets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/pyinstaller-python/&quot;&gt;Distributing your Game: Real Python article on PyInstaller&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://beeware.org/&quot;&gt;Beeware: Write once. Deploy everywhere&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.audacityteam.org&quot;&gt;Audacity: Free, Open Source, Cross-platform audio software&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What are you excited about in the world of Python?&lt;/p&gt;
&lt;p&gt;Jon&amp;rsquo;s pick:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ursinaengine.org&quot;&gt;ursina 3D Engine: Open Source Game Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.panda3d.org&quot;&gt;Panda3D: The Open Source Framework for 3D Rendering and Games&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Chris&amp;rsquo;s pick:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/podcast-question&quot;&gt;Real Python Podcast: Submit a Question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/pygame-primer/&quot;&gt;Make a 2D Side-Scroller Game With PyGame&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/intro-object-oriented-programming-oop-python/&quot;&gt;A Conceptual Primer on OOP in Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/EP002_RPP_JonFincher.d861ea78aec6.mp3" type="audio/mpeg" length="40094020"/>
        <guid isPermaLink="false">49e6ad2b-2138-44be-a1a8-1f3678dc7fa3</guid>
        <pubDate>Fri, 27 Mar 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3313</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@icon_o_clast</rp:twitter-handles>
        <rp:twitter-title>“Learn Python Skills While Creating Games” with @icon_o_clast</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>full</itunes:episodeType>
        <itunes:episode>1</itunes:episode>
        <title>Python Decorators and Writing for Real Python</title>
        <itunes:title>Python Decorators and Writing for Real Python</itunes:title>
        <link>https://realpython.com/podcasts/rpp/1/</link>
        <description>Do you want to learn more about Python decorators? Have you ever wondered what goes on behind the scenes to create a Real Python article? In this first episode, We have Geir Arne Hjelle from the Real Python team on the show.</description>
        <content:encoded>&lt;p&gt;Do you want to learn more about Python decorators? Have you ever wondered what goes on behind the scenes to create a Real Python article? In this first episode, We have Geir Arne Hjelle from the Real Python team on the show.&lt;/p&gt;
&lt;p&gt;You’ll learn about Geir Arne’s background as a Pythonista and PyCon speaker, the tutorials he’s written for the site, how Python decorators can help you write better code, and what Real Python’s tutorial publishing process looks like behind the scenes.&lt;/p&gt;
&lt;div class=&quot;alert alert-primary&quot; role=&quot;alert&quot;&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This episode was recorded earlier. We discuss PyCon US 2020 and Geir Arne&amp;rsquo;s planned tutorial. At the time this episode was released &lt;a href=&quot;https://pycon.blogspot.com/2020/03/march-12-update-on-covid-19.html#more&quot;&gt;PyCon US 2020 was currently looking at re-scheduling or a potential cancelation&lt;/a&gt;. Updates will be provided in upcoming episodes.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;00:00:00 &amp;ndash; Introduction&lt;/li&gt;
&lt;li&gt;00:01:39 &amp;ndash; Geir Arne Python Background &lt;/li&gt;
&lt;li&gt;00:04:16 &amp;ndash; Real Python Background&lt;/li&gt;
&lt;li&gt;00:05:55 &amp;ndash; Real Python Editing Process&lt;/li&gt;
&lt;li&gt;00:09:00 &amp;ndash; Christopher&amp;rsquo;s Real Python Background&lt;/li&gt;
&lt;li&gt;00:10:45 &amp;ndash; Working on Decorators&lt;/li&gt;
&lt;li&gt;00:13:00 &amp;ndash; Decorators in the wild&lt;/li&gt;
&lt;li&gt;00:16:30 &amp;ndash; Pycon 2019 Talk - Plugins&lt;/li&gt;
&lt;li&gt;00:19:32 &amp;ndash; Pyplugs&lt;/li&gt;
&lt;li&gt;00:20:09 &amp;ndash; Links to talk materials&lt;/li&gt;
&lt;li&gt;00:20:29 &amp;ndash; Pycon 2020 Tutorial - Decorators&lt;/li&gt;
&lt;li&gt;00:22:59 &amp;ndash; Euro SciPy&lt;/li&gt;
&lt;li&gt;00:23:47 &amp;ndash; Real Python Meetup Pycon 2019&lt;/li&gt;
&lt;li&gt;00:25:05 &amp;ndash; More on the Decorators Article&lt;/li&gt;
&lt;li&gt;00:26:18 &amp;ndash; Slack Decorators Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;00:27:29 &amp;ndash; More on Euro SciPy&lt;/li&gt;
&lt;li&gt;00:28:12 &amp;ndash; Current Position at Amesto NextBridge&lt;/li&gt;
&lt;li&gt;00:32:09 &amp;ndash; Decorators Examples&lt;/li&gt;
&lt;li&gt;00:39:47 &amp;ndash; What are You Excited About in Python&lt;/li&gt;
&lt;li&gt;00:47:04 &amp;ndash; PyCon 2020 Tutorial on Decorators additional&lt;/li&gt;
&lt;li&gt;00:49:45 &amp;ndash; Conclusion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Links from the show:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Real Python Article: &lt;a href=&quot;https://realpython.com/primer-on-python-decorators/&quot;&gt;Primer on Python Decorators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Real Python Course: &lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Real Python Article: &lt;a href=&quot;https://realpython.com/python-timer/&quot;&gt;Python Timer Functions: Three Ways to Monitor Your Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Join the Real Python Team: &lt;a href=&quot;https://realpython.com/write-for-us/&quot;&gt;Apply to become a Tutorial Author&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/codetiming/&quot;&gt;Codetiming: PyPI Package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyplugs/&quot;&gt;PyPlugs: PyPI Package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pypi.org/project/pyconfs/&quot;&gt;PyConfs: PyPI Package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/gahjelle/talks/tree/master/20190505_pycon_plugins&quot;&gt;Geir Arne&amp;rsquo;s PyCon 2019 Talk on Plugins + Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ipython.org/&quot;&gt;IPython: Alternative REPL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bpython-interpreter.org&quot;&gt;bpython: Alternative REPL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/bpython-alternative-python-repl/&quot;&gt;Discover bpython: A Python REPL With IDE-Like Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/&quot;&gt;PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://us.pycon.org/2020/schedule/presentation/75/&quot;&gt;Geir Arne&amp;rsquo;s Decorators Tutorial at PyCon 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.euroscipy.org/&quot;&gt;EuroSciPy 2020&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/python-decorators-101/&quot;&gt;Python Decorators 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/writing-beautiful-python-code-pep-8/&quot;&gt;Writing Beautiful Pythonic Code With PEP 8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/cool-new-features-python-38/&quot;&gt;Cool New Features in Python 3.8&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/E001_RPP_GeirArneHjelle_Decorators.054d89382f7c.mp3" type="audio/mpeg" length="36401747"/>
        <guid isPermaLink="false">41a2cffb-b21a-4b06-9c98-634f91543efd</guid>
        <pubDate>Fri, 20 Mar 2020 12:00:00 +0000</pubDate>
        <itunes:duration>3028</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles>@gahjelle</rp:twitter-handles>
        <rp:twitter-title>“Python Decorators and Writing for Real Python” with @gahjelle</rp:twitter-title>
      </item>
    
      <item>
        <itunes:episodeType>trailer</itunes:episodeType>
        
        <title>About the Show</title>
        <itunes:title>About the Show</itunes:title>
        <link>https://realpython.com/podcasts/rpp/0/</link>
        <description>A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community.</description>
        <content:encoded>&lt;p&gt;A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community.&lt;/p&gt;
&lt;p&gt;The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics.&lt;/p&gt;
&lt;p&gt;Join us to hear what&amp;rsquo;s new in the world of Python programming and become a better coder.&lt;/p&gt;
&lt;p&gt;Level up your Python skills with our expert-led courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://realpython.com/courses/real-python-welcome/&quot;&gt;Welcome to Real Python!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;a rel=&quot;payment&quot; href=&quot;https://realpython.com/join&quot;&gt;Support the podcast &amp;amp; join our community of Pythonistas&lt;/a&gt;&lt;/p&gt;</content:encoded>
        <enclosure url="https://dts.podtrac.com/redirect.mp3/files.realpython.com/podcasts/EP000_RPP.2fa37bcc4604.mp3" type="audio/mpeg" length="1422486"/>
        <guid isPermaLink="false">e26cc3ff-b828-4974-898c-18afa41c2981</guid>
        <pubDate>Fri, 06 Mar 2020 12:00:00 +0000</pubDate>
        <itunes:duration>120</itunes:duration>
        <itunes:explicit>no</itunes:explicit>
        
        <rp:twitter-handles></rp:twitter-handles>
        <rp:twitter-title>“About the Show”</rp:twitter-title>
      </item>
    
  </channel>
</rss>
