Textual-PyFiglet is an implementation of PyFiglet for Textual.
It provides a FigletWidget
which makes it easy to add ASCII banners with colors and animating gradients.
This library is related to Rich-Pyfiglet, as well as utilizes Textual-Coloromatic to provide the Color/animation abilities.
- Full integration of Pyfiglet into Textual. Change the text or the font in real time - This can be connected to user input or modified programmatically.
- Color system built on Textual's color system. Thus, it can display any color in the truecolor/16-bit spectrum, and can take common formats such as hex code and RGB, or just a huge variety of named colors.
- Make a gradient automatically between any two colors.
- Animation system that's simple to use. Just make your gradient and toggle it on/off. It can also be started or stopped in real-time.
- The auto-size mode will re-size the widget with the new rendered ASCII output in real-time. It can also wrap to the parent container and be made to resize with your terminal.
- Animation settings can be modified to get different effects. Set a low amount of colors and a low speed for a very old-school retro look, set it to a high amount of colors and a high speed for a very smooth animation.
- The fonts are type-hinted to give you auto-completion in your code editor, eliminating the need to manually check what fonts are available.
- Included demo app to showcase the features.
If you have uv or Pipx, you can immediately try the demo app:
uvx textual-pyfiglet
pipx run textual-pyfiglet
Textual-Pyfiglet-0.9.0-handbrake.mp4
Feel free to post an issue.
Both Textual-Pyfiglet and the original PyFiglet are under MIT License. See LICENSE file.
FIGlet fonts have existed for a long time, and many people have contributed over the years.
Original creators of FIGlet:
https://www.figlet.org
The PyFiglet creators:
https://github.com/pwaller/pyfiglet
Textual:
https://github.com/Textualize/textual
And finally, thanks to the many hundreds of people that contributed to the fonts collection.