The Real Python Podcast

GUIs & TUIs: Choosing a User Interface for Your Python Project


Listen Later

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’s Weekly articles and projects.

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’s terminal. The tutorial covers organizing layouts of widgets, styling components, and handling events and user actions within an application.

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.

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’s online text-to-speech service from Python, and a project for reading and writing compressed JSON.

Course Spotlight: Building a Code Image Generator With Python

In this step-by-step video course, you’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.

Topics:

  • 00:00:00 – Introduction
  • 00:02:16 – PyCon US: Travel Grants & Refund Policy
  • 00:02:57 – PyCon US 2025 travel guidance?
  • 00:03:32 – Faster Branch Coverage Measurement
  • 00:04:11 – Python Release Python 3.14.0a6
  • 00:04:21 – Django 5.2 Release Candidate 1 Released
  • 00:04:30 – PyOhio July 26-27, Call for Papers
  • 00:04:59 – PEP 779: Criteria for Supported Status for Free-Threaded Python
  • 00:05:45 – Python Textual: Build Beautiful UIs in the Terminal
  • 00:11:32 – Bytes Objects: Handling Binary Data in Python
  • 00:16:41 – Video Course Spotlight
  • 00:18:01 – Which Python GUI Library Should You Use in 2025?
  • 00:32:08 – Real Python Workshops
  • 00:34:23 – “Rules” That Terminal Programs Follow
  • 00:40:29 – edge-tts: Use Microsoft Edge’s online text-to-speech service from Python
  • 00:44:07 – compress_json: Read and Write Compressed JSON
  • 00:45:34 – Thanks and goodbye
  • News:

    • PyCon US: Travel Grants & Refund Policy – PyCon US offers travel grants to visitors. This post explains how they’re decided. Also, with changing border requirements in the US, you may also be interested in the Refund Policy for International Attendees.
    • PyCon US 2025 travel guidance? - PSF / Ask the staff! - Discussions on Python.org
    • Faster Branch Coverage Measurement – After nearly two years, Ned thinks this is finally ready: coverage.py can use sys.monitoring to more efficiently measure branch coverage.
    • Python Release Python 3.14.0a6
    • Django 5.2 Release Candidate 1 Released
    • PyOhio July 26-27, Call for Papers
    • PEP 779: Criteria for Supported Status for Free-Threaded Python – PEP 703 (Making the Global Interpreter Lock Optional in CPython), described three phases of development. This PEP outlines the criteria to move between phases.
    • Show Links:

      • Python Textual: Build Beautiful UIs in the Terminal – 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.
      • Bytes Objects: Handling Binary Data in Python – In this tutorial, you’ll learn about Python’s bytes objects, which help you process low-level binary data. You’ll explore how to create and manipulate byte sequences in Python and how to convert between bytes and strings. Additionally, you’ll practice this knowledge by coding a few fun examples.
      • Which Python GUI Library Should You Use in 2025? – This post compares the Python GUI libraries available in 2025, including PyQT, PySide, TKinter, and Kivy.
      • “Rules” That Terminal Programs Follow – The conventions that most terminal programs follow mean that you can more easily know how to control them. Julia’s post talks about “rules” that terminal programs tend to follow, and so should yours.
      • Projects:

        • edge-tts: Use Microsoft Edge’s online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key
        • compress_json: Read and Write Compressed JSON
        • Additional Links:

          • Intermediate Python Deep Dive Course – Real Python
          • Episode #80: Make Your Python App Interactive With a Text User Interface (TUI)
          • Build a Contact Book App With Python, Textual, and SQLite
          • Binary, Bytes, and Bitwise Operators in Python – Video Course
          • Nibble (magazine) - Wikipedia
          • Python GUI Programming – Real Python
          • Python GUI Programming With Tkinter – Tutorial
          • Python and PyQt: Building a GUI Desktop Calculator – Tutorial
          • Build Cross-Platform GUI Apps With Kivy – Tutorial
          • How to Build a Python GUI Application With wxPython – Tutorial
          • Episode #182: Building a Python JSON Parser & Discussing Ideas for PEPs
          • Speech Synthesis Markup Language (SSML) overview - Speech service - Azure AI services | Microsoft Learn
          • Level up your Python skills with our expert-led courses:

            • Building a Python GUI Application With Tkinter
            • Build a GUI Calculator With PyQt and Python
            • Building a Code Image Generator With Python
            • Support the podcast & join our community of Pythonistas

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

              The Real Python PodcastBy Real Python

              • 4.7
              • 4.7
              • 4.7
              • 4.7
              • 4.7

              4.7

              134 ratings


              More shows like The Real Python Podcast

              View all
              Hanselminutes with Scott Hanselman by Scott Hanselman

              Hanselminutes with Scott Hanselman

              378 Listeners

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

              Software Engineering Radio - the podcast for professional software developers

              263 Listeners

              The Changelog: Software Development, Open Source by Changelog Media

              The Changelog: Software Development, Open Source

              285 Listeners

              LINUX Unplugged by Jupiter Broadcasting

              LINUX Unplugged

              264 Listeners

              Thoughtworks Technology Podcast by Thoughtworks

              Thoughtworks Technology Podcast

              43 Listeners

              Talk Python To Me by Michael Kennedy

              Talk Python To Me

              584 Listeners

              Software Engineering Daily by Software Engineering Daily

              Software Engineering Daily

              631 Listeners

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

              Super Data Science: ML & AI Podcast with Jon Krohn

              296 Listeners

              Python Bytes by Michael Kennedy and Brian Okken

              Python Bytes

              213 Listeners

              Data Engineering Podcast by Tobias Macey

              Data Engineering Podcast

              140 Listeners

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

              Syntax - Tasty Web Development Treats

              987 Listeners

              CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

              CoRecursive: Coding Stories

              185 Listeners

              DataFramed by DataCamp

              DataFramed

              267 Listeners

              Practical AI by Practical AI LLC

              Practical AI

              195 Listeners

              The Stack Overflow Podcast by The Stack Overflow Podcast

              The Stack Overflow Podcast

              63 Listeners