A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.

Make Your Python App Interactive With a Text User Interface (TUI)

October 01, 2021 1:02:46 45.52 MB Downloads: 0

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’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.

Rich is a Python library for writing rich text to the terminal with color and style. It’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’s developed over the years.

We also talk about Will’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.

We also have a quick announcement at the top of the show from CPython Developer in Residence Łukasz Langa about next week’s release of Python 3.10.

Course Spotlight: Rock, Paper, Scissors With Python: A Command Line Game

In this course, you’ll learn to program rock paper scissors in Python from scratch. You’ll learn how to take in user input, make the computer choose a random action, determine a winner, and split your code into functions.

Topics:

  • 00:00:00 – Introduction
  • 00:02:08 – Python 3.10 Release Party - Announcement
  • 00:03:32 – Will McGugan and the background of the Rich library
  • 00:10:11 – Moya framework
  • 00:21:38 – Sponsor: DataStax Astra DB
  • 00:22:10 – The spark that started Textual
  • 00:26:31 – Needing AsyncIO for a TUI
  • 00:28:07 – Describing a TUI (Text User Interface)
  • 00:33:57 – Scrolling, resizing, and similarities with CSS
  • 00:36:37 – Video Course Spotlight
  • 00:38:03 – What areas were difficult in developing Textual?
  • 00:39:42 – Similarities to game development
  • 00:41:47 – Testing across different terminals
  • 00:45:01 – What were you excited to include in the project?
  • 00:47:04 – Are there particular uses you foresee for Textual?
  • 00:49:21 – Career changes and open source reviewing
  • 00:54:21 – Version numbers and Textual
  • 00:55:49 – What are you excited about in the world of Python?
  • 00:58:27 – What do you want to learn next?
  • 01:00:57 – Shoutouts and plugs
  • 01:01:47 – Thanks and goodbye

Show Links

Support the podcast & join our community of Pythonistas