Text-based user interfaces (TUIs) are making a BIG comeback. Many developers of today need to easy-to-use applications to configure and run jobs on headless servers. You can make your own life and the lives of your team so much easier by learning how to create a TUI yourself.
Textual is a rapid application development framework for your terminal or web browser that is written in Python. You can build complex, sophisticated applications in your terminal. While terminal applications are text-based rather than pixel-based, they still provide fantastic user interfaces.
Back the Kickstarter Now!
The Textual package allows you to create widgets in your terminal that mimic those used in a web or GUI application.
Creating TUI Applications with Textual and Python is to teach you how to use Textual to make striking applications of your own. The book’s first half will teach you everything you need to know to develop a terminal application.
The book’s second half has many small applications you will learn how to create. Each chapter also includes challenges to complete to help cement what you learn or give you ideas for continued learning.
Here are some of the applications you will create:
- A basic calculator
- A CSV viewer
- A Text Editor
- An MP3 player
- An ID3 Editor
- A Weather application
- A TUI for pre-commit
- RSS Reader
- and more!
Calculator
CSV Viewer
MP3 Player
Weather Application
Text Editor
What You’ll Learn
In this book, you will learn about the following:
- Chapter 1 – Application Basics
- Chapter 2 – Adding Styles in Textual
- Chapter 3 – Using CSS in Textual
- Chapter 4 – Content Markup
- Chapter 5 – Working with DOM Queries
- Chapter 6 – Laying Out Your Widgets
- Chapter 7 – Textual Events and Messages
- Chapter 8 – Key and Mouse Events
- Chapter 9 – Reactive Attributes
- Chapter 10 – Screens
- Chapter 11 – Textual Dev Tools
- Chapter 12 – Creating a Calculator
- Chapter 13 – Viewing Tabular Data with Textual
- Chapter 14 – Creating a Text Editor
- Chapter 15 – Creating an MP3 Player
- Chapter 16 – Creating an ID3 Editor
- Chapter 17 – Creating a Weather App
- Chapter 18 – pre-commit TUI
- Chapter 19 – RSS Reader TUI
- Chapter 20 – SMTP Client
- Chapter 21 – SQLite Viewer/Editor
Rewards to Choose From
As a backer of this Kickstarter, you have some choices to make. You can receive one or more of the following, depending on which level you choose when backing the project:
- An early copy of Creating TUI Applications with Textual and Python + all updates including the final version (ALL BACKERS)
- A signed paperback copy (If you choose the appropriate perk)
- Get all by Python courses (If you choose the appropriate perk)
- Get all TEN of my other Python eBooks (if you choose the appropriate perk)
- T-shirt with the book cover (If you choose the appropriate perk)
Writing Style
This book will be written in my conversational style. Creating TUI Applications with Textual and Python is over 400 pages long and will teach you all you need to know to be able to use the Textual package effectively.
If you’ve never read anything of mine before, you can download the original Python 101 for free or read it online. You can also check out this blog for writing examples.
About the Author
My name is Michael Driscoll, and I am a professional full-time Python programmer by day and Python blogger by night. I have been programming almost exclusively in Python for almost 15 years. I am also a contributor to Real Python. My previous successful campaigns include these other books:
- Python 101 (1st Edition)
- Python 201: Intermediate Python
- ReportLab: PDF Processing with Python
- Jupyter Notebook 101
- Creating GUI Applications with wxPython
- Pillow: Image Processing with Python
- Automating Excel with Python
- and more!
I also have two books that are published by Apress and Packt Publishing:
- wxPython Recipes (Apress)
- Python Interviews (Packt)
Book formats
The finished book will be made available in the following formats:
- paperback (at the appropriate reward level)
- epub
The paperback is a 8.5″ x 11″ book and approximately 450+ pages in length.