Masthash

#Textual

Will McGugan
3 days ago

To TUI or not to TUI. That is the question.

I blogged about our recent experiences releasing two TUI projects.

#Python #Textual

https://textual.textualize.io/blog/2023/06/06/to-tui-or-not-to-tui/

Zac
5 days ago

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.

#Python #Textual #pip

A screenshot of a command line app built with Textual. It is showing a list of the locally available pip packages. In this instance it is showing the details for them frozenlist python package
Dave Pearson
5 days ago

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.

#Python #Textual #Terminal

Dave Pearson
5 days ago

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

https://pypi.org/project/textual-fspicker/0.0.6/

#Python #Terminal

Dave Pearson
6 days ago

Okay, fine, textual-fspicker miiiiiight need a tweak to make it more usable in light mode.

Or, you know, just don't light mode!

#Textual #Python #Terminal

Zac
1 week ago

Finally managed to crawl through the bugs in my app and get it running using a Tree instead of a dataTable.

There are still some issues that I need to work on but I have simplified the code which should make that a bit easier.

#Python #Textual #pip

A screenshot of a command line application that is displaying the package data for a pip package called multidict. The app is created with the Textual TUI library for python
Dave Pearson
1 week ago

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

#Python #Textual #Terminal

yellow 100% is yellow
yellow 101% is black
"Black is my happy colour"
Will McGugan
1 week ago

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

https://textual.textualize.io/blog/2023/06/01/textual-adds-sparklines-selection-list-input-validation-and-tool-tips/

#Python #Textual

Dave Pearson
1 week ago

Making a start on a bit of a revamp of the UI of my AST viewer by using textual-fspicker as the way to open a new file to view; makes more sense than the DirectoryTree widget.

#Textual #Python #Terminal

Zac
2 weeks ago

So the Textual project I was reworking to add a Tree control is now being rewritten to a) simplify the data structure and b) use datatypes.

At some point it might be working :-)

#Python #Textual

A screenshot of some python code being rendered in VS Code. The code is itself not relevant and just to illustrate the small post I made.
Will McGugan
2 weeks ago

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.

https://github.com/Textualize/trogon 😎

#Python #Textual #Trogon

Dave Pearson
2 weeks ago

Code reviews at @textualize are serious business!

#Python #Textual

Dave Pearson
2 weeks ago

And another video about Frogmouth. It’s kinda fun discovering folk discovering your work!

https://www.youtube.com/watch?v=JfUTDNN5XAo

#Python #Textual #Terminal

Dave Pearson
2 weeks ago

In documentation mode this morning…

#Python #Textual

Dave Pearson
2 weeks ago

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/

#Python #Textual #Terminal

Dave Pearson
2 weeks ago

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/

#Python #Textual #Terminal

Will McGugan
3 weeks ago

Released Textualize Trogon.

Turn your Click CLI in to a beautiful TUI with a *two line* change.

#Python #Textual

https://github.com/Textualize/trogon

Dave Pearson
3 weeks ago

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/

#Python #Textual #Terminal

Will McGugan
3 weeks ago

Going to release Textualize Trogon tomorrow.

A tool to auto-generate TUIs for command line interfaces.

#Textual #Python

https://www.youtube.com/watch?v=JYxdhE_hp_0&ab_channel=WillMcGugan

Dave Pearson
3 weeks ago

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

v0.0.2 https://pypi.org/project/textual-fspicker/

#Python #Textual #Terminal

Dave Pearson
3 weeks ago

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/

https://www.youtube.com/watch?v=_vSm3TNO0Ks

#Python #Terminal

Zac
3 weeks ago

I **just** got this initial version working and I realised how to make it not only better but to incorporate some features that I thought were going to be tricky to add.

#Textual #Python #pip

A screenshot of a Textual app showing the packages installed by pip in a virtual environment.

Pygments 
aiohttp 
aiosignal 
attrs 
click 
frozenlist 
idna 
mdurl 
msgpack 
multidict 
pip 
rich 
setuptools 
textual 
typing_extensions wheel
yarl
zipp
Will McGugan
3 weeks ago

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.

#Python #Textual

https://textual.textualize.io/how-to/design-a-layout/

Zac
3 weeks ago

Had to disable CSS validation while I am working on a Textual project. 22+ “errors” that weren’t actually errors.

#Textual

Noah Nonsense
4 weeks ago

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/

#Textual criticism #Nicholas of Myra

Zac
1 month ago

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

#textual #CLI #Makefile

Dave Pearson
1 month ago

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.

https://pypi.org/project/tdim/0.1.0/

#Python

Will McGugan
1 month ago

Textual 0.24.0 is out, with a new Select control.

See the blog post for details...

#Textual #Python

https://textual.textualize.io/blog/2023/05/08/textual-0240-adds-a-select-control/

Dave Pearson
1 month ago

Frogmouth has hit 1,000 stars on GitHub. And it turns out I know who star 1,000 was too… Guess having a kid paid off in the end!

#Python #Textual

Dave Pearson
1 month ago

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.

https://pypi.org/project/frogmouth/

#Python #Terminal #Markdown

Dave Pearson
1 month ago

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)

#Python #Textual #Terminal

Henry³
1 month ago

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.

Dave Pearson
1 month ago

Frogmouth has been out for about 24 hours now, almost it 640 stars on GitHub. Comparing that against #Textual itself I predict it'll have overtaken it by, like, I dunno, Thursday?

LINE GOES UP! 🚀

#Python

Will McGugan
1 month ago

I'd like to share a cool thing we've done. Credit to @davep who built this.

Frogmouth is a Markdown browser for your terminal.

Check it out! #Python #Textual

https://github.com/Textualize/frogmouth

Dave Pearson
1 month ago
Noah Nonsense
1 month ago

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

https://www.roger-pearse.com/weblog/2023/04/29/analysing-the-manuscripts-of-the-life-of-st-nicholas-by-john-the-deacon-part-2-the-12th-c-manuscripts/

#Textual criticism #St Nicholas of Myra

Dave Pearson
1 month ago

@chelnak Thanks.

If there’s a more general library or protocol out there, I imagine it would be easy to create a similar UI for it with #Textual - but this is written specifically for Python’s own AST.

Dave Pearson
1 month ago

Just released an update to my #Python AST viewer, mostly just to update it to the latest #Textual version and tidy a few things up.

https://pypi.org/project/textual-astview/

Henry³
1 month ago

New version of uproot-browser using modern #textual! New modern look, light/dark mode, plot matches interface colors, error traceback display is scrollable, tree nesting improvements, massive improvement in keyboard control, and tree left/right scrolling. Thanks Elie & Jose! #python #release

Zac
1 month ago

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.

#python #textual

A screenshot of a command line app in Textual that is showing several form fields.
Zac
1 month ago

My code currently runs and does absolutely nothing but since it isn’t generating any errors I am going to count this as a “win” and go have dinner

#python #textual

Dave Pearson
1 month ago

I don't know if I'll ever write a better #Textual app than this.

#Python

Dave Pearson
1 month ago

#Textual v0.21.0 heads out the door with a nice round number of commits behind it...

#Python

nullifidian
1 month ago

My ridiculous #textual iTunes-in-the-terminal clone is coming along nicely, especially the chonky album art! 😂

Screenshot of a terminal-based iTunes-like application that displays text-based album artwork, which is understandably very "pixelated".
Will McGugan
1 month ago

This is #Textual running within a #Jupyter notebook!

Still at the prototype stage, but this proves the concept. The goal is that Textual apps run *everywhere*. Terminal, Notebook, and Web. Did I miss anything?

Dave Pearson
1 month ago

Yes! I get to claim the 1,000th closed @textualize PR!

#Python #Textual #Terminal

nullifidian
2 months ago

My stupid terminal-based iTunes ripoff is starting to take shape.

Based on #Textual @textualize

Screenshot of a terminal-based music player.
Will McGugan
2 months ago

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

#Python

https://textual.textualize.io/widgets/data_table/

nullifidian
2 months ago

@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

Dave Pearson
2 months ago

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.

https://www.youtube.com/watch?v=iQgZDVIht08

#Python #Terminal #Textual #Markdown

Zac
2 months ago

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.

#python #textual

Zac
2 months ago

I posted a brief update on the Textual app I am working on.

#python #textual #rich

https://whatiswrongwithyourdog.netlify.app/posts/victorupdate/

Will McGugan
2 months ago

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*?! 🤯

#Textual #Python

https://textual.textualize.io/blog/2023/03/29/textual-0170-adds-translucent-screens-and-option-list/

Dave Pearson
2 months ago

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 ;-)

A Mandelbrot set plotted in a terminal.
Stylus 🦉
2 months ago

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.

codeismycanvas
3 months ago

Having fun with #textual in Python and threw together a text-based SQLite database viewer.

Once I figured out a few things in the textual API, I'm really starting to like how it works. My only problem is they keep pushing out releases faster than I can keep up...

#TUI #sqlite #python

Screenshot of a text-based user interface for viewing sqlite database tables. There's a Tree widget on the left side of the screen listing the tables in the database, and a Table widget filling the rest of the screen showing the first 26 rows of the "Customer" table in the Chinook example database.
Will McGugan
3 months ago

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/

Stylus 🦉
3 months ago

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.

https://github.com/jepler/chap

Animated terminal session shows ChatGPT answering the question "what advice do you have for an alien visiting earth for the first time".
Dave Pearson
3 months ago

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/

#Python

Dave Pearson
3 months ago

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/

#Python #Terminal #Textual

Dave Pearson
3 months ago

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

#Python #Terminal #Textual

Seth Michael Larson
4 months ago

Lovely article on "textmode", something that's very relevant to #Python in these days of #Rich and #Textual

http://polyducks.co.uk/what-is-textmode

Will McGugan
4 months ago

Last night I thought I was done with ordered lists, but nope.

If the items is in double digits, the numbers should right align in a neat column, which means I had to revisit how the Textual widgets were structured.

How does this look ?

#Textual #Python

Will McGugan
4 months ago

Did some work on the #Textual Markdown widget.

Added Horizontal rules, and improved styling of list items, with nested bullet.

#Python

Will McGugan
4 months ago

Lots of work lately on the #Textual docs.

I already think they are some of the best docs of any #Python project. Lots to do, but there is a tight feedback loop with the code. Docs improve code. Code improves docs.

https://textual.textualize.io/tutorial/

Dave Pearson
5 months ago

Possibly *the* most important issue ever raised for @textualize

https://github.com/Textualize/textual/issues/1490

#Textual #Python

JoshB :python:
5 months ago

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!

@davep

JoshB :python:
5 months ago

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.

https://github.com/joshburnett/deebs

A text-based user interface showing the contents of a database & a selected database table. There is a tree view on the left allowing selection of a database table, and a table view on the right showing the database table's in columns.
Will McGugan
5 months ago

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.

https://github.com/Textualize/textual/releases/tag/v0.9.0

#Python #Textual

Will McGugan
6 months ago

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

#Python #Textual

https://textual.textualize.io/blog/2022/12/20/a-year-of-building-for-the-terminal/

Will McGugan
6 months ago

Just released #Textual v0.6.0 Now available on PyPI

Textual is a async-powered TUI framework for #Python

With several new widgets. Number 3 will amaze you!

https://textual.textualize.io/blog/2022/12/11/version-060/