Real Python Podcast E245 Title Image

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

The Real Python Podcast

Apr 04, 2025 46m

The Real Python Podcast
#245: GUIs & TUIs: Choosing a User Interface for Your Python Project
loading 00:0046:39
live

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.

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:

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:

Additional Links: