Use a graphical interface
Currently silkaj is using dirty one-shot os.system("clear")
then tabulate lib to display charts.
It's not possible to sort lines and to keep open all this charts. It could also be possible to see evolving charts.
The library should preferably be asynchronous.
Silkaj can be a multiple-gui client. Silkaj would stay a CLI client. Then, I would preferably go first for a console client using blessed
/curses
, then a GUI client using PyGObject
/GTK4
.
Curses libraries
All in Debian
- blessed − doc
- urwid
- curtisies
- terminaltables
- npyscreen − Blog article
- picotui
- asciimatics
- bitcoind-ncurses2
Curses
To do so, I suggest to use curses
lib.
We could takes example and use curses lib used on XMPP console client Poezio.
Inspiration
GTK/PyGObject
GTK4 could also be a solution, but it will needs too much works and will almost reproduce Sakia.
- Tutorial
- Could be a nice way to have it on the Librem 5/PinePhone
Modern Python applications which uses Python3/GTK+3: Lollypop. Pitivi, (Gajim, Deluge).
GUI Desktop frameworks
Terminal not based on Ncurses (in Debian)
Web framework
- Flask: click-web click module, would generate forms from CLI commands and options
- Sanic
Web/Multi-platform/Android
- GUY : un module python3 pour créer des GUI multiplateforme (android aussi!)
- wuy, guy
- Kivy
-
BeeWare:
- Toga, in alpha stage, based on GTK+3, https://toga.readthedocs.io/en/latest/
- Article
- Using Python for Mobile Development: Kivy vs BeeWare
GUI from the CLI
Aioconsole
-
https://github.com/vxgmichel/aioconsoleThis is anasync
/await
Python console