YouPlot
libsixel
YouPlot | libsixel | |
---|---|---|
11 | 23 | |
3,953 | 2,402 | |
1.3% | - | |
4.5 | 0.0 | |
3 months ago | 9 months ago | |
Ruby | C | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
YouPlot
-
Plotille: Plot in the terminal using Braille dots
I think matplotlib's overwhelming API surface motivates a lot of work in the plotting space. I personally find that I need to relearn/recopy the API every time I need to use it, and I could never whip something up on a whim.
I actually use youplot[1] for this very reason so I can pipe small datasets into an exploratory visualization straight from the command line.
[1]https://github.com/red-data-tools/YouPlot
-
The Awk Programming Language, Second Edition
Neat! Once you're installing something to do terminal plots though, https://github.com/red-data-tools/YouPlot looks the nicest I've seen
- YouPlot
-
YouPlot is a command line tool that draws plots on the terminal
gem install youplot
- FLiP Stack Weekly for 15-Jan-2023
- red-data-tools/YouPlot: A command line tool that draw plots on the terminal.
- A command line tool that draw plots on the terminal
libsixel
- GNU/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way
-
VT330/VT340 Sixel Graphics
Library you can use to generate these images:
https://github.com/saitoha/libsixel
Plenty of links to other projects.
- UnicodePlots
-
Forking Chrome to Render in a Terminal
Sixels are pixels and enjoy a wide support due to how old it is.
Kitty protocol is PNG or primitives - which BTW would make it great for a GUI library.
Different tools for different needs, but if you are going for a wide support you want something simple that doesn't have 5 different types you have to separately implement and test:
> d: Direct (the data is transmitted within the escape code itself)
> f: A simple file (regular files only, not named pipes or similar)
> t: A temporary file, the terminal emulator will delete the file after reading the pixel data. For security reasons the terminal emulator should only delete the file if it is in a known temporary directory, such as /tmp, /dev/shm, TMPDIR env var if present and any platform specific temporary directories and the file has the string tty-graphics-protocol in its full file path.
> s: A shared memory object, which on POSIX systems is a POSIX shared memory object and on Windows is a Named shared memory object. The terminal emulator must read the data from the memory object and then unlink and close it on POSIX and just close it on Windows.
> What nonsense, it takes literally 15 lines of code without using anything beyond the standard library to write a client
Conveniently taking a preencoded PNG and assuming away the necessary queries of supported protocol:
> Since a client has no a-priori knowledge of whether it shares a filesystem/shared memory with the terminal emulator, it can send an id with the control data, using the i key (which can be an arbitrary positive integer up to 4294967295, it must not be zero).
> for the kitty graphics protocol. I challenge you to match that for sixel
https://github.com/saitoha/libsixel/tree/master/perl
use Image::LibSIXEL;
-
A command line tool that draw plots on the terminal
Also:
https://github.com/saitoha/libsixel
contains img2sixel, which lets you dump images to the terminal. It can also do animated GIFs.
Video:
https://github.com/saitoha/FFmpeg-SIXEL
GUI apps:
https://github.com/saitoha/SDL1.2-SIXEL
and more, linked from the libsixel repository.
-
Emacs on an iPad
Not sure of Terminal emulator capabilities on Apple devices, but thanks to https://github.com/saitoha/libsixel , several applications, including emacs very much support image output in terminals.
- Libsixel
-
What color do you use for your terminal?
You don't have multi-colored terminal output? Even legacy systems have long had Sixel support.
-
Are We Sixel Yet?
> SIXEL is one of image formats for printer and terminal imaging introduced by Digital Equipment Corp. (DEC). Its data scheme is represented as a terminal-friendly escape sequence. So if you want to view a SIXEL image file, all you have to do is "cat" it to your terminal
https://github.com/saitoha/libsixel
- Saw a few console apps and thought I might pitch in/show my own graphics library for the C# Console: The BasicRender Suite
What are some alternatives?
feedgnuplot - Tool to plot realtime and stored data from the commandline, using gnuplot.
sixvid - Simple script for animated GIF viewing using sixels
plotext - plotting on terminal
mpv - π₯ Command line video player
plotille - Plot in the terminal using braille dots.
chafa - πΊπΏ Terminal graphics for the 21st century.
chronicle-etl - π A CLI toolkit for extracting and working with your digital history
xterm-addon-image - Image addon for xterm.js
KittyTerminalImages.jl - A package that allows Julia to display images in the kitty terminal editor
urxvt-perls - Perl extensions for the rxvt-unicode terminal emulator
mortgage-and-investments - Estimate mortgage and investments
urxvt-perls - Perl extensions for the rxvt-unicode terminal emulator