-
portal
Portal is a quick and easy command-line file transfer utility from any computer to another. (by SpatiumPortae)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
questionary
Python library to build pretty command line user prompts ✨Easy to use multi-select lists, confirmations, free text prompts ...
-
textual
Discontinued Textual is a TUI (Text User Interface) framework for Python inspired by modern web development. [Moved to: https://github.com/Textualize/textual] (by willmcgugan)
-
mapscii
🗺 MapSCII is a Braille & ASCII world map renderer for your console - enter => telnet mapscii.me <= on Mac (brew install telnet) and Linux, connect with PuTTY on Windows
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Charm's libraries for the CLI are just awesome. I think these guys are really breathing new life into the CLI and make it look appealing for all kinds of applications. Chose their bubbletea library for a CLI file transfer tool (https://github.com/ZinoKader/portal) and found it a delight to work with. Super easy to make something that looks and works great.
ttyd is a nice little web terminal: https://github.com/tsl0922/ttyd Just small, fast, low fuss C-based executable.
wetty is another good option if you want to run a nodejs app: https://github.com/butlerx/wetty
Both use xterm.js for the client terminal, which is these days the only game in town for a web terminal (it's what VS code and many other electron apps use too). It's quite good.
Do be aware though that running a web-accessible terminal is a huge security headache. You're opening up a websocket to effectively allow commands and code to run on your server. Pay attention to security and authentication options any web terminal gives you, and use them. Most are not very secure out of the box or just following their readme examples.
ttyd is a nice little web terminal: https://github.com/tsl0922/ttyd Just small, fast, low fuss C-based executable.
wetty is another good option if you want to run a nodejs app: https://github.com/butlerx/wetty
Both use xterm.js for the client terminal, which is these days the only game in town for a web terminal (it's what VS code and many other electron apps use too). It's quite good.
Do be aware though that running a web-accessible terminal is a huge security headache. You're opening up a websocket to effectively allow commands and code to run on your server. Pay attention to security and authentication options any web terminal gives you, and use them. Most are not very secure out of the box or just following their readme examples.
, I like it, but I am not sure about diving into Golant again.
Any way to use it in other languages?
Or do I just keep poking at Rich[1] in Python?
[1] https://rich.readthedocs.io/en/latest/
These apps look wonderful, only taking a casual glance at the repo, has anyone used, or would one recommend using Skate (https://github.com/charmbracelet/skate) as a personal PW manager or even keychain?
You can configure kitty to open the entire scrollback buffer in an editor or a pager(less/nvim etc).
https://github.com/kovidgoyal/kitty/issues/719
Oh, do I have a terminal emulator to sell you:
https://hyper.is/
> Hyper is an Electron-based terminal
lipgloss, the ANSI color library from Charm, has support for specifying different colors for light and dark terminals.
https://github.com/charmbracelet/lipgloss#adaptive-colors
TUIs over ssh/telnet can be a lot of fun. Especially in cases where multiple people can interact with each other on the server. It simplifies the programming model as you only have one state on the backend that you render to multiple connections. Syncing up everyone becomes trivial. You can also use some React concepts, like rendering a virtual TUI and sending just the right set of minimal escape sequences back to the user to bring their display up to date.
A few months ago I implemented a telnet chat server[0] for fun and it was surprisingly easy to do so. Even by using a wasm vm that I was still working on at the same time.
[0]: https://github.com/lunatic-solutions/chat
It would work by the terminal API detecting file type and automatically rendering the markdown. Sort of like this:
https://github.com/alacritty/alacritty/blob/master/extra/ala...
Allowing for different sized headers and what not.
In that case, you can use something like Questionary.
https://github.com/tmbo/questionary
Sure, that's okay, it helps build TUIs rather than CLIs. I'll gladly take TUIs over their GUI counterparts in most cases except where it isn't practical such as image editing.
A good example is the lf file manager.
https://github.com/gokcehan/lf
I was using ranger before this but yeah, I have no reason to use GUI file managers anymore.
Rich is the low level part, for list select or viewports, you need the high level lib from the same author: textual (https://github.com/willmcgugan/textual).
Ah, good, thanks. Unfortunately, whoami.filippo.io is not resolving.
https://words.filippo.io/ssh-whoami-filippo-io/ and https://github.com/FiloSottile/whoami.filippo.io are useful. It suggests also adding the option IdentitiesOnly yes.