This is the website for an older EuroPython. Looking for the latest EuroPython? Click here!
Skip to main content

Build a terminal TODO app with Textual

Level:
beginner
Room:
club h
Start:
Duration:
180 minutes

Abstract

Learn how to build powerful terminal-based user interfaces (TUIs) with ease using Textual - an open-source Python framework.

Throughout this tutorial, you'll learn how to use Textual's built-in widgets, reactive features, and message-passing system to create a dynamic and user-friendly TODO app that's perfect for managing your daily tasks.

From creating and displaying tasks to editing and deleting them, you'll cover all the essential features needed to make a functional TODO app.

You'll also learn how to use Textual CSS to style your TUI for a polished and elegant look, together with some tips and tricks to make it even easier to develop your TUIs in Textual.

This tutorial provides everything you need to get started with building TUIs in Python. By the end of the tutorial, you'll have a fully functional and stylish TODO app that showcases Textual's versatility and useful features.

TutorialPython Libraries

Description

[Instructions below!]

During this tutorial, we will build a terminal-user interface for a TODO app. This will showcase all the essential features that make Textual a very interesting Python framework to build terminal user interfaces.

Topics covered in this tutorial include:

  • the vast built-in widget gallery;
  • reactive attributes;
  • handling messages;
  • key bindings and action methods;
  • Textual CSS;
  • the Textual developer console; and
  • creation of custom widgets.

Attendees are not expected to have prior Textual experience but they are expected to have a working knowledge of classes, methods, and attributes.

If you want to attend the workshop, please follow the instructions in this GitHub repo: https://github.com/Textualize/TODO-tutorial.


The speaker

Rodrigo Girão Serrão

Rodrigo Girão Serrão

Rodrigo has always been fascinated by problem solving and that is why he picked up programming – so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog mathspp.com/blog, writing on Twitter @mathsppblog, and giving workshops and courses.

His main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.

All materials can be accessed from this GH repo.


← Back to schedule