VisiData v0.98, now with graphs and maps (experimental)
When I announced that v0.97 was "feature complete", I must have been talking about vdtui.
vdtui has been pretty stable, even as VisiData has added a low-resolution pixel canvas
(using Braille unicode characters) to draw graphs and maps. In fact, apart from a few bug
fixes and small API changes, the only addition to vdtui in v0.98 is basic mouse support.
Here's a list of what's new in VisiData v0.98:
-
visidata.org revamp
-
[canvas] graphs and maps!
.
org.
to push a graph or a map from the current sheet (dot=plot)- supports .shp and vector .mbtiles
- mouse left-click/drag to set cursor
- mouse right-click/drag to scroll canvas
- scrollwheel to zoom in/out on a canvas
s
/u
to select/unselect rows at canvas cursorENTER
to push source sheet with only rows at canvas cursor- 1-9 to toggle display of 'layers' (colors)
_
to zoom out to full widthdisp_pixel_random
option chooses pixel attrs at random (weighted), instead of most common+
/-
to zoom in/out via keyboard
-
Updates to commands
- Remove ` (backtick) command
- Remove most zscroll commands (
zs
/ze
)zz
moves cursor to center, uncertain about the future ofzt
due to conflict witht
for toggle
ga
adds N new rowsgz=
sets value for selected/all rows to a Python sequence in this columnz_
sets column width to given valuez-
cuts column width in halfP
is now "paste before" (like vim);R
now pushes a random sample^Z
now sends SIGSTOP;^O
"opens" the external $EDITOR (from builtin line editor)- [ColumnsSheet] Added
~!@#$
commands back, to set type of source columns w
is becoming a more universal "visibility toggle"- [TextSheet]
w
toggles wordwrap - [canvas]
w
toggles display of the labels - [pyobj]
w
toggles hidden properties and methods
- [TextSheet]
-
Updates to command line args and options
- set initial row/col with
+<row#>:<col#>
(numeric only) --delimiter
/-d
option (separate from--csv-delimiter
) sets delimiter for tsv filetype--replay-wait
/-w
renamed from--delay
/-d
disp_date_fmt
option for date display format string (default is date-only)zero_is_null
/empty_is_null
/none_is_null
/false_is_null
set which values are considered null (previously wasaggr_null_filter
)--skiplines
option renamed to--skip
, and--headerlines
to--header
- set initial row/col with
-
Design improvements
- Add specific rowtype for each sheet (see right status)
- dates are a kind of numeric type (useful for graphing as the x-axis)
use_default_colors
(at behest of @wavexx)- more robust Progress indicator
- populate DescribeSheet in async thread
- remove default names for unnamed columns
- history up/down in edit widget now feels right
-
API changes
- change main Column API to getter(col, row) and setter(col, row, val)
- move Path and subclasses out of vdtui
- TextSheet source is any iterable of strings
- Sheet.filetype provides default save filename extension