#Textual
To TUI or not to TUI. That is the question.
I blogged about our recent experiences releasing two TUI projects.
https://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/
I have the two issues resolved in piplist that was causing me some problems showing the correct data.
If you want to have a look at it you can find it here:
https://codeberg.org/lolbat/piplist
Still very basic at the moment. Will be adding a loading screen etc now that it at least shows the correct data.

I've bumped textual-astview up to v0.7.0: https://pypi.org/project/textual-astview/0.7.0/
This version switches file opening to use my fspicker library.


Bumped textual-fspicker, fixing a cosmetic issue with text in #Textual light mode.


I just made the most amazing @textualize discovery. So I'm looking at the CSS live edit facility that we have, to make a change, and I was messing about. At one point I had a background set to "yellow 100%". Brain went "so what's yellow 101%?"
Is it an error?
Does it get clamped?
No.
None of those things.
It's much more epic.
Do you know what's more yellow than yellow?
And do you know the best part? Well, I'll let my t-shirt speak for itself...



Textual 0.27.0 has landed.
This is a surprisingly large release. Lots of threads came together at the same time. Check out the blog post for details...

#Textual v0.27.0 is out and about and it's got a *lot* of stuff in it!

New version of Textualize Trogon released.
This update adds a search function so you can quickly find options / arguments.
Trogon creates a TUI interface for Click / Type apps.
And another video about Frogmouth. It’s kinda fun discovering folk discovering your work!
v0.0.5 of textual-fspicker is now up on PyPi; tonight’s bit of mucking about adds a `FileSave` dialog: https://pypi.org/project/textual-fspicker/0.0.5/
Did a wee bit of hacking on `textual-fspicker` this evening; made a bunch of internal changes and added a directory selection dialog: https://www.youtube.com/watch?v=fBeMWvsz2LU
v0.0.4 is a thing now: https://pypi.org/project/textual-fspicker/0.0.4/
Released Textualize Trogon.
Turn your Click CLI in to a beautiful TUI with a *two line* change.
Another bit of early morning tinkering with `textual-fspicker`, this time adding an optional file filter drop-down to the `FileOpen` dialog: https://www.youtube.com/watch?v=yBs3r_GLjWs
Bumped to v0.0.3: https://pypi.org/project/textual-fspicker/0.0.3/
Going to release Textualize Trogon tomorrow.
A tool to auto-generate TUIs for command line interfaces.
https://www.youtube.com/watch?v=JYxdhE_hp_0&ab_channel=WillMcGugan
Did a bit more tinkering with textual-fspicker this morning, mostly adding support for typing directories into the input box and having it change to there and carry on picking: https://www.youtube.com/watch?v=u946e91elY4
New #Textual tinker project is under way; I'm calling this one textual-fspicker; it's (going to grow into) a widget library for picking things within a file system. Right now it has a simple take on a good old FileOpen dialog.
https://pypi.org/project/textual-fspicker/0.0.1/
Finished the first How To for the Textual docs.
How To - design a layout
Over time, this should grow in to a handy resource for Textual devs.
Had to disable CSS validation while I am working on a Textual project. 22+ “errors” that weren’t actually errors.
From my diary - more on the textual criticism of John the Deacon
Last weekend I started reworking some code in QuickLatin, in order to allow me to add syntax notes on the fly, rather than having to break off and make code changes every time. This went well, but is only partly done. I had to break off early in the week to attend to other things, which left little time.
So I returned...
https://www.roger-pearse.com/weblog/2023/05/13/froom-my-diary/
You know that someone is a serious command line user when you see this in a Makefile
.PHONY: docs
docs:
open https://textual.textualize.io
Now and again I want a terminal's size or aspect ratio to be "just so", normally when taking a screenshot or making a screen recording. I just made a *very* simple #Textual app to help me do that quickly.
Here it is in action: https://www.youtube.com/watch?v=glOt_ub4Mww
Pretty much no docs yet, I'll fix that real soon now.
Textual 0.24.0 is out, with a new Select control.
See the blog post for details...
https://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/

We just released an update to Frogmouth, now v0.4.0. Just a small update to add some extra keys for navigating a document (hello vi(m) fans!), and also some changes to the internals to make better use of recent changes in #Textual.
In all my years of coding, I think this is the first time something I’ve written has had a video review: https://www.youtube.com/watch?v=I_ahA6NaX4o
(Although a point of sale system I wrote did appear on the BBC once as a sort of b-roll thing)
Added a help screen to uproot-browser. Only took about 15 real lines of code, and then imports, styling, and key bindings. And of course the markdown file with the help in it. Wow. #textual
Also added VIM keybindings for the tree and a custom header with close and help buttons.

So someone has built a MS Paint clone in @textualize O_o
Analysing the manuscripts of the Life of St Nicholas by John the Deacon - part 2 - the 12th c. manuscripts
In my last post, I analysed the 9-11th century manuscripts of John the Deacon, and found that they fell neatly into three families. These I have colour-coded as green, blue and purple. I've only...
So probably not a big deal but I am proud of myself. I am building an app in Textual that will have several different editing and display screens.
So I made a quick app that loads external screen classes and displays them so I can work on the css and layout without having to work through to the screens in the main app.
My ridiculous #textual iTunes-in-the-terminal clone is coming along nicely, especially the chonky album art! 😂
Yes! I get to claim the 1,000th closed @textualize PR!
My stupid terminal-based iTunes ripoff is starting to take shape.
Based on #Textual @textualize
The #Textual DataTable is a remarkably flexible widget, with devs building all sorts of things with it.
We've updated and expanded the docs with more examples, and detailed API. Check it out...
@davep Got a bit fed-up with an ongoing project, starting picking at an itch, so now I have yet another stupid project I want to finish... 😩 #textual @textualize
Over the last week or so I've been doing a bit of @textualize dog-fooding; building a terminal-based Markdown viewer/browser app. It will browse local and web-based files, has persistent history, bookmarking, etc.
Still a WiP but close to ready.
So I can’t get Textual’s current binding iteration to do what I want without accessing private variables so I am going to need to rework the structure of my Victor app to add a button bar to the app to allow me to enable or disable commands as needed.
Probably not a huge deal but I currently don’t have the code structured to handle messages in the correct directions.
I posted a brief update on the Textual app I am working on.
https://whatiswrongwithyourdog.netlify.app/posts/victorupdate/
I've pushed a new release of Textual.
Some really cool stuff in this release.
Multiple layers with an alpha channel, composited together. In a *terminal*?! 🤯
https://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/
This week's @textualize tinker project is now set to public on GitHub. It's far from being a "release", but there's enough there for me to scratch an itch I've been watching to scratch properly ever since I did the #Textual app from hell last year.
https://github.com/davep/textual-canvas
Lots more experimenting to happen yet, but so far it's working out okay. I'm now plotting an efficient Mandelbrot in the #terminal with #Python ;-)
hey #lazyMastodon I want to create a program with #python and #gtk (gtk3 in particular) that shows #markDown .. what library to use to take care of the markdown functionality? I was recently spoiled by #textual which builds in markdown at a pretty fundamental level.
I don't think that pango markup is going to fit my needs. Linkification is unimportant, and embedded html or images are not needed.
I posted "No async async with #Python"
It's about how #Textual manages to be an async-agnostic framework.
https://textual.textualize.io/blog/2023/03/15/no-async-async-with-python/
Chap, my commandline and terminal-based interface to #ChatGPT is now
on pypi (pip install chap)
able to use a local instance of https://github.com/oobabooga/text-generation-webui aka #textgen
and all set to add support for additional back-ends
Implemented in #python and using #textual and rich for the advanced terminal features.
@elijahmanor @davep @textualize @willmcgugan You are on fire! 🔥
If you have any burning #Textual questions @willmcgugan is kicking off an AMA on r/python on reddit
https://www.reddit.com/r/Python/comments/11qe2uv/asks_the_textualize_developers_anything/
It's just non-stop grind at @textualize HQ. Not even a week has gone by and there's a new #Textual with even more widget goodness!
https://textual.textualize.io/blog/2023/03/13/textual-0150-adds-a-tabs-widget/
It's finally happening, after a few months of tinkering in the internals and stuff, I'm playing with my first home-grown hand-crafted @textualize widgets!
Still testing and dialling in the final design, but I think it's getting there...
Possibly *the* most important issue ever raised for @textualize
And obviously, mad props to @willmcgugan for building #Textual! It’s very cool. I’ve been hearing so much about it and now I understand what all the fuss is about!
Success! Introducing my first #Textual app, Deebs: a #Python #TUI for browsing a database. For this initial POC it just lists the tables in a sqlite database and shows the selected table's data.
I'm very impressed with how compact the code is with Textual. This POC only took 100 LOC!
Next features up include showing table metadata and adding better cursors & keyboard navigation. I'm pretty happy with it for one day's effort!
Thanks to @davep for some pointers.
I've published version 0.9.0 of Textual! 😎🎉
This version is all about speed. Next year we will be back to flesh out the widgets. Expect a lot more functionality in the DataTable and Tree.
@darrenburns blogged about "A year of building for the terminal" and its amazing! 🤯🤩👏
There is some output here that I wouldn't have believe could be done in the terminal even six months ago.
https://textual.textualize.io/blog/2022/12/20/a-year-of-building-for-the-terminal/