visidata 2.11.dev0__py3-none-any.whl → 3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. visidata/__init__.py +72 -91
  2. visidata/_input.py +263 -44
  3. visidata/_open.py +84 -29
  4. visidata/_types.py +22 -4
  5. visidata/_urlcache.py +17 -4
  6. visidata/aggregators.py +65 -25
  7. visidata/apps/__init__.py +0 -0
  8. visidata/apps/vdsql/__about__.py +8 -0
  9. visidata/apps/vdsql/__init__.py +5 -0
  10. visidata/apps/vdsql/__main__.py +27 -0
  11. visidata/apps/vdsql/_ibis.py +748 -0
  12. visidata/apps/vdsql/bigquery.py +61 -0
  13. visidata/apps/vdsql/clickhouse.py +53 -0
  14. visidata/apps/vdsql/setup.py +40 -0
  15. visidata/apps/vdsql/snowflake.py +67 -0
  16. visidata/apps/vgit/__init__.py +13 -0
  17. visidata/apps/vgit/__main__.py +3 -0
  18. visidata/apps/vgit/abort.py +23 -0
  19. visidata/apps/vgit/blame.py +76 -0
  20. visidata/apps/vgit/branch.py +153 -0
  21. visidata/apps/vgit/config.py +95 -0
  22. visidata/apps/vgit/diff.py +169 -0
  23. visidata/apps/vgit/gitsheet.py +161 -0
  24. visidata/apps/vgit/grep.py +37 -0
  25. visidata/apps/vgit/log.py +81 -0
  26. visidata/apps/vgit/main.py +55 -0
  27. visidata/apps/vgit/remote.py +57 -0
  28. visidata/apps/vgit/repos.py +71 -0
  29. visidata/apps/vgit/setup.py +37 -0
  30. visidata/apps/vgit/stash.py +69 -0
  31. visidata/apps/vgit/status.py +204 -0
  32. visidata/apps/vgit/statusbar.py +34 -0
  33. visidata/basesheet.py +59 -50
  34. visidata/canvas.py +251 -99
  35. visidata/choose.py +15 -11
  36. visidata/clean_names.py +29 -0
  37. visidata/clipboard.py +84 -18
  38. visidata/cliptext.py +220 -46
  39. visidata/cmdlog.py +89 -114
  40. visidata/color.py +142 -56
  41. visidata/column.py +134 -131
  42. visidata/ddw/input.ddw +74 -79
  43. visidata/ddw/regex.ddw +57 -0
  44. visidata/ddwplay.py +33 -14
  45. visidata/deprecated.py +77 -3
  46. visidata/desktop/visidata.desktop +7 -0
  47. visidata/editor.py +12 -6
  48. visidata/errors.py +5 -1
  49. visidata/experimental/__init__.py +0 -0
  50. visidata/experimental/diff_sheet.py +29 -0
  51. visidata/experimental/digit_autoedit.py +6 -0
  52. visidata/experimental/gdrive.py +89 -0
  53. visidata/experimental/google.py +37 -0
  54. visidata/experimental/gsheets.py +79 -0
  55. visidata/experimental/live_search.py +37 -0
  56. visidata/experimental/liveupdate.py +45 -0
  57. visidata/experimental/mark.py +133 -0
  58. visidata/experimental/noahs_tapestry/__init__.py +1 -0
  59. visidata/experimental/noahs_tapestry/tapestry.py +147 -0
  60. visidata/experimental/rownum.py +73 -0
  61. visidata/experimental/slide_cells.py +26 -0
  62. visidata/expr.py +8 -4
  63. visidata/extensible.py +32 -6
  64. visidata/features/__init__.py +0 -0
  65. visidata/features/addcol_audiometadata.py +42 -0
  66. visidata/features/addcol_histogram.py +34 -0
  67. visidata/features/canvas_save_svg.py +69 -0
  68. visidata/features/change_precision.py +46 -0
  69. visidata/features/cmdpalette.py +163 -0
  70. visidata/features/colorbrewer.py +363 -0
  71. visidata/{colorsheet.py → features/colorsheet.py} +17 -16
  72. visidata/features/command_server.py +105 -0
  73. visidata/features/currency_to_usd.py +70 -0
  74. visidata/{customdate.py → features/customdate.py} +2 -0
  75. visidata/features/dedupe.py +132 -0
  76. visidata/{describe.py → features/describe.py} +17 -15
  77. visidata/features/errors_guide.py +26 -0
  78. visidata/features/expand_cols.py +202 -0
  79. visidata/{fill.py → features/fill.py} +4 -2
  80. visidata/{freeze.py → features/freeze.py} +11 -6
  81. visidata/features/graph_seaborn.py +79 -0
  82. visidata/features/helloworld.py +10 -0
  83. visidata/features/hint_types.py +17 -0
  84. visidata/{incr.py → features/incr.py} +5 -0
  85. visidata/{join.py → features/join.py} +107 -53
  86. visidata/features/known_cols.py +21 -0
  87. visidata/features/layout.py +62 -0
  88. visidata/{melt.py → features/melt.py} +33 -21
  89. visidata/features/normcol.py +118 -0
  90. visidata/features/open_config.py +7 -0
  91. visidata/features/open_syspaste.py +18 -0
  92. visidata/features/ping.py +157 -0
  93. visidata/features/procmgr.py +208 -0
  94. visidata/features/random_sample.py +6 -0
  95. visidata/{regex.py → features/regex.py} +47 -31
  96. visidata/features/reload_every.py +55 -0
  97. visidata/features/rename_col_cascade.py +30 -0
  98. visidata/features/scroll_context.py +60 -0
  99. visidata/features/select_equal_selected.py +11 -0
  100. visidata/features/setcol_fake.py +65 -0
  101. visidata/{slide.py → features/slide.py} +75 -21
  102. visidata/features/sparkline.py +48 -0
  103. visidata/features/status_source.py +20 -0
  104. visidata/{sysedit.py → features/sysedit.py} +2 -1
  105. visidata/features/sysopen_mailcap.py +46 -0
  106. visidata/features/term_extras.py +13 -0
  107. visidata/{transpose.py → features/transpose.py} +5 -4
  108. visidata/features/type_ipaddr.py +73 -0
  109. visidata/features/type_url.py +11 -0
  110. visidata/{unfurl.py → features/unfurl.py} +9 -9
  111. visidata/{window.py → features/window.py} +2 -2
  112. visidata/form.py +50 -21
  113. visidata/freqtbl.py +81 -33
  114. visidata/fuzzymatch.py +414 -0
  115. visidata/graph.py +105 -33
  116. visidata/guide.py +180 -0
  117. visidata/help.py +75 -44
  118. visidata/hint.py +39 -0
  119. visidata/indexsheet.py +109 -0
  120. visidata/input_history.py +55 -0
  121. visidata/interface.py +58 -0
  122. visidata/keys.py +17 -16
  123. visidata/loaders/__init__.py +9 -0
  124. visidata/loaders/_pandas.py +61 -21
  125. visidata/loaders/api_airtable.py +70 -0
  126. visidata/loaders/api_bitio.py +102 -0
  127. visidata/loaders/api_matrix.py +148 -0
  128. visidata/loaders/api_reddit.py +306 -0
  129. visidata/loaders/api_zulip.py +249 -0
  130. visidata/loaders/archive.py +41 -7
  131. visidata/loaders/arrow.py +7 -7
  132. visidata/loaders/conll.py +49 -0
  133. visidata/loaders/csv.py +25 -7
  134. visidata/loaders/eml.py +3 -4
  135. visidata/loaders/f5log.py +1204 -0
  136. visidata/loaders/fec.py +325 -0
  137. visidata/loaders/fixed_width.py +3 -5
  138. visidata/loaders/frictionless.py +3 -3
  139. visidata/loaders/geojson.py +8 -5
  140. visidata/loaders/google.py +48 -0
  141. visidata/loaders/graphviz.py +4 -4
  142. visidata/loaders/hdf5.py +4 -4
  143. visidata/loaders/html.py +48 -10
  144. visidata/loaders/http.py +84 -30
  145. visidata/loaders/imap.py +20 -10
  146. visidata/loaders/jrnl.py +52 -0
  147. visidata/loaders/json.py +83 -29
  148. visidata/loaders/jsonla.py +74 -0
  149. visidata/loaders/lsv.py +15 -11
  150. visidata/loaders/mailbox.py +40 -0
  151. visidata/loaders/markdown.py +1 -3
  152. visidata/loaders/mbtiles.py +4 -5
  153. visidata/loaders/mysql.py +11 -13
  154. visidata/loaders/npy.py +7 -7
  155. visidata/loaders/odf.py +4 -1
  156. visidata/loaders/orgmode.py +428 -0
  157. visidata/loaders/pandas_freqtbl.py +14 -20
  158. visidata/loaders/parquet.py +62 -6
  159. visidata/loaders/pcap.py +3 -3
  160. visidata/loaders/pdf.py +4 -3
  161. visidata/loaders/png.py +19 -13
  162. visidata/loaders/postgres.py +9 -8
  163. visidata/loaders/rec.py +7 -3
  164. visidata/loaders/s3.py +342 -0
  165. visidata/loaders/sas.py +5 -5
  166. visidata/loaders/scrape.py +186 -0
  167. visidata/loaders/shp.py +6 -5
  168. visidata/loaders/spss.py +5 -6
  169. visidata/loaders/sqlite.py +68 -28
  170. visidata/loaders/texttables.py +1 -1
  171. visidata/loaders/toml.py +60 -0
  172. visidata/loaders/tsv.py +61 -19
  173. visidata/loaders/ttf.py +19 -7
  174. visidata/loaders/unzip_http.py +6 -5
  175. visidata/loaders/usv.py +1 -1
  176. visidata/loaders/vcf.py +16 -16
  177. visidata/loaders/vds.py +10 -7
  178. visidata/loaders/vdx.py +30 -5
  179. visidata/loaders/xlsb.py +8 -1
  180. visidata/loaders/xlsx.py +145 -25
  181. visidata/loaders/xml.py +6 -3
  182. visidata/loaders/xword.py +4 -4
  183. visidata/loaders/yaml.py +15 -5
  184. visidata/macos.py +1 -1
  185. visidata/macros.py +130 -41
  186. visidata/main.py +119 -94
  187. visidata/mainloop.py +101 -154
  188. visidata/man/parse_options.py +2 -2
  189. visidata/man/vd.1 +302 -147
  190. visidata/man/vd.txt +291 -151
  191. visidata/memory.py +3 -3
  192. visidata/menu.py +104 -423
  193. visidata/metasheets.py +59 -141
  194. visidata/modify.py +79 -23
  195. visidata/motd.py +3 -3
  196. visidata/mouse.py +137 -0
  197. visidata/movement.py +43 -35
  198. visidata/optionssheet.py +99 -0
  199. visidata/path.py +131 -43
  200. visidata/pivot.py +74 -47
  201. visidata/plugins.py +65 -192
  202. visidata/pyobj.py +50 -201
  203. visidata/rename_col.py +20 -0
  204. visidata/save.py +42 -20
  205. visidata/search.py +54 -10
  206. visidata/selection.py +84 -5
  207. visidata/settings.py +162 -24
  208. visidata/sheets.py +229 -257
  209. visidata/shell.py +51 -21
  210. visidata/sidebar.py +162 -0
  211. visidata/sort.py +11 -4
  212. visidata/statusbar.py +113 -104
  213. visidata/stored_list.py +43 -0
  214. visidata/stored_prop.py +38 -0
  215. visidata/tests/conftest.py +3 -3
  216. visidata/tests/test_cliptext.py +39 -0
  217. visidata/tests/test_commands.py +62 -7
  218. visidata/tests/test_edittext.py +2 -2
  219. visidata/tests/test_features.py +17 -0
  220. visidata/tests/test_menu.py +14 -0
  221. visidata/tests/test_path.py +13 -4
  222. visidata/text_source.py +53 -0
  223. visidata/textsheet.py +10 -3
  224. visidata/theme.py +44 -0
  225. visidata/themes/__init__.py +0 -0
  226. visidata/themes/ascii8.py +84 -0
  227. visidata/themes/asciimono.py +84 -0
  228. visidata/themes/light.py +17 -0
  229. visidata/threads.py +87 -39
  230. visidata/tuiwin.py +22 -0
  231. visidata/type_currency.py +22 -3
  232. visidata/type_date.py +31 -9
  233. visidata/type_floatsi.py +5 -1
  234. visidata/undo.py +18 -6
  235. visidata/utils.py +106 -23
  236. visidata/vdobj.py +28 -17
  237. visidata/windows.py +10 -0
  238. visidata/wrappers.py +9 -3
  239. visidata-3.0.data/data/share/applications/visidata.desktop +7 -0
  240. {visidata-2.11.dev0.data → visidata-3.0.data}/data/share/man/man1/vd.1 +302 -147
  241. {visidata-2.11.dev0.data → visidata-3.0.data}/data/share/man/man1/visidata.1 +302 -147
  242. visidata-3.0.data/scripts/vd2to3.vdx +9 -0
  243. {visidata-2.11.dev0.dist-info → visidata-3.0.dist-info}/METADATA +13 -11
  244. visidata-3.0.dist-info/RECORD +257 -0
  245. {visidata-2.11.dev0.dist-info → visidata-3.0.dist-info}/WHEEL +1 -1
  246. {visidata-2.11.dev0.dist-info → visidata-3.0.dist-info}/entry_points.txt +0 -1
  247. visidata/layout.py +0 -44
  248. visidata/misc.py +0 -5
  249. visidata-2.11.dev0.dist-info/RECORD +0 -142
  250. /visidata/{repeat.py → features/repeat.py} +0 -0
  251. {visidata-2.11.dev0.data → visidata-3.0.data}/scripts/vd +0 -0
  252. {visidata-2.11.dev0.dist-info → visidata-3.0.dist-info}/LICENSE.gpl3 +0 -0
  253. {visidata-2.11.dev0.dist-info → visidata-3.0.dist-info}/top_level.txt +0 -0
visidata/man/vd.txt CHANGED
@@ -5,7 +5,7 @@ NAME
5
5
 
6
6
  SYNOPSIS
7
7
  vd [options] [input ...]
8
- vd [options] --play cmdlog [-w waitsecs] [--batch] [-o output]
8
+ vd [options] --play cmdlog [-w waitsecs] [--batch] [-i] [-o output]
9
9
  [field=value]
10
10
  vd [options] [input ...] +toplevel:subsheet:col:row
11
11
 
@@ -20,13 +20,11 @@ DESCRIPTION
20
20
  -w, --replay-wait=seconds
21
21
  wait seconds between commands
22
22
  -b, --batch replay in batch mode (with no interface)
23
+ -i, --interactive launch VisiData in interactive mode after batch
23
24
  -o, --output=file save final visible sheet to file as .tsv
24
- --replay-movement toggle --play to move cursor cell-by-cell
25
25
  field=value replace "{field}" in cmdlog contents with value
26
26
 
27
27
  Commands During Replay
28
- ^U pause/resume replay
29
- ^N execute next row in replaying sheet
30
28
  ^K cancel current replay
31
29
 
32
30
  GLOBAL COMMANDS
@@ -41,18 +39,27 @@ DESCRIPTION
41
39
  Q quit current sheet and free associated memory
42
40
  gq quit all sheets (clean exit)
43
41
 
44
- ^H activate help menu (Enter/left-mouse to expand submenu
42
+ Alt+H activate help menu (Enter/left-mouse to expand submenu
45
43
  or execute command)
46
44
  g^H view this man page
47
45
  z^H view sheet of command longnames and keybindings for cur‐
48
46
  rent sheet
49
- Space longname execute command by its longname
47
+
48
+ gb open sidebar in a new sheet
49
+ b toggle sidebar
50
50
 
51
51
  U undo the most recent modification (requires enabled
52
52
  options.undo)
53
53
  R redo the most recent undo (requires enabled
54
54
  options.undo)
55
55
 
56
+ Space longname open command palette; execute command by its longname
57
+
58
+ Command Palette
59
+ Tab Move to command palette, and cycle through commands
60
+ 0-9 Execute numbered command
61
+ Enter Execute highlighted command
62
+
56
63
  Cursor Movement
57
64
  Arrow PgUp go as expected
58
65
  h j k l go left/down/up/right
@@ -105,6 +112,7 @@ DESCRIPTION
105
112
  ~ # % $ @ z#
106
113
  set type of current column to str/int/float/cur‐
107
114
  rency/date/len
115
+ Alt++ Alt+- show more/less precision in current numerical column
108
116
  ^ rename current column
109
117
  g^ rename all unnamed visible columns to contents of se‐
110
118
  lected rows (or current row)
@@ -150,8 +158,10 @@ DESCRIPTION
150
158
  or dicts (e.g. {3}) one level
151
159
  z( gz( depth expand current/all visible column(s) of lists (e.g. [3])
152
160
  or dicts (e.g. {3}) to given depth (0= fully)
153
- ) unexpand current column; restore original column and re‐
154
- move other columns at this level
161
+ ) g( unexpand current/all visible column(s); restore original
162
+ column and remove other columns at this level
163
+ z) gz) depth contract current/all visible column(s) of former lists
164
+ (e.g. [3]) or dicts (e.g. {3}) to given depth (0= fully)
155
165
  zM row-wise expand current column of lists (e.g. [3]) or
156
166
  dicts (e.g. {3}) within that column
157
167
 
@@ -235,7 +245,7 @@ DESCRIPTION
235
245
  Backspace Del delete previous/current character
236
246
  Insert toggle insert mode
237
247
  Up Down set contents to previous/next in history
238
- Tab Shift+Tab autocomplete input (when available)
248
+ Tab Shift+Tab move cursor left/right and re-enter edit mode
239
249
  Shift+Arrow move cursor in direction of Arrow and re-enter edit
240
250
  mode
241
251
 
@@ -342,9 +352,8 @@ DESCRIPTION
342
352
 
343
353
  Internal Sheets List
344
354
  . Directory Sheet browse properties of files in a directory
345
- . Plugins Sheet browse, install, and (de)activate plugins
346
- . Memory Sheet (Alt+Shift+M) browse saved values, including
347
- clipboard
355
+ . Guide Index read documentation from within VisiData
356
+ . Memory Sheet (Alt+Shift+M) browse saved values, including clipboard
348
357
 
349
358
  Metasheets
350
359
  . Columns Sheet (Shift+C) edit column properties
@@ -385,16 +394,14 @@ DESCRIPTION
385
394
  ` (backtick) open parent directory
386
395
  z^S commit changes to file system
387
396
 
388
- Plugins Sheet
389
- Browse through a list of available plugins. VisiData needs to be
390
- restarted before plugin activation takes effect. Installation may require
391
- internet access.
397
+ Guide Index
398
+ Browse through a list of available guides. Each guide shows you how to
399
+ use a particular feature. Gray guides have not been written yet.
392
400
  (global commands)
393
- Space open-plugins
394
- open the Plugins Sheet
401
+ Space open-guide-index
402
+ open the Guide Index
395
403
  (sheet-specific commands)
396
- a install and activate current plugin
397
- d deactivate current plugin
404
+ Enter open a guide
398
405
 
399
406
  Memory Sheet
400
407
  Browse through a list of stored values, referanceable in expressions
@@ -457,9 +464,9 @@ DESCRIPTION
457
464
  . extend copy first selected sheet, keeping all rows
458
465
  and sheet type, and extend with columns from other
459
466
  sheets
460
- . merge mostly keep all rows from first selected
461
- sheet, except prioritise cells with non-null/non-
462
- error values
467
+ . merge keep all rows from first sheet, updating
468
+ any False-y cells with non-False-y values from
469
+ second sheet; add unique rows from second sheet
463
470
 
464
471
  Options Sheet (Shift+O)
465
472
  (global commands)
@@ -558,44 +565,26 @@ COMMANDLINE OPTIONS
558
565
  +toplevel:subsheet:col:row launch vd with subsheet of toplevel at
559
566
  top-of-stack, and cursor at col and row; all
560
567
  arguments are optional
568
+ --overwrite=c Overwrite with confirmation
561
569
 
562
570
  -f, --filetype=filetype tsv set loader to use for
563
571
  filetype instead of file extension
564
572
  -d, --delimiter=delimiter \t field delimiter to use
565
573
  for tsv/usv filetype
566
- -y, --confirm-overwrite=F True overwrite existing files
574
+ -y, --overwrite=y y overwrite existing files
567
575
  without confirmation
568
- -N, --nothing=T False disable loading
576
+ -ro, --overwrite=n n do not overwrite existing
577
+ files
578
+ -N, --nothing=T False disable loading
569
579
  .visidatarc and plugin addons
570
580
  --visidata-dir=str ~/.visidata/ directory to load and
571
581
  store additional files
572
- --mouse-interval=int 1 max time between
573
- press/release for click
574
- (ms)
575
- --null-value=NoneType None a value to be counted as
576
- null
582
+ --debug False exit on error and display
583
+ stacktrace
577
584
  --undo=bool True enable undo/redo
578
585
  --col-cache-size=int 0 max number of cache en‐
579
586
  tries in each cached col‐
580
587
  umn
581
- --clean-names False clean column/sheet names
582
- to be valid Python iden‐
583
- tifiers
584
- --default-width=int 20 default column width
585
- --default-height=int 4 default column height
586
- --textwrap-cells=bool True wordwrap text for multi‐
587
- line rows
588
- --quitguard False confirm before quitting
589
- modified sheet
590
- --debug False exit on error and display
591
- stacktrace
592
- --skip=int 0 skip N rows before header
593
- --header=int 1 parse first N rows as
594
- column names
595
- --load-lazy False load subsheets always
596
- (False) or lazily (True)
597
- --force-256-colors False use 256 colors even if
598
- curses reports fewer
599
588
  --note-pending=str ⌛ note to display for pend‐
600
589
  ing cells
601
590
  --note-format-exc=str ? cell note for an excep‐
@@ -607,6 +596,14 @@ COMMANDLINE OPTIONS
607
596
  sion
608
597
  --scroll-incr=int -3 amount to scroll with
609
598
  scrollwheel
599
+ --force-256-colors False use 256 colors even if
600
+ curses reports fewer
601
+ --quitguard False confirm before quitting
602
+ modified sheet
603
+ --default-width=int 20 default column width
604
+ --default-height=int 4 default column height
605
+ --textwrap-cells=bool True wordwrap text for multi‐
606
+ line rows
610
607
  --name-joiner=str _ string to join sheet or
611
608
  column names
612
609
  --value-joiner=str string to join display
@@ -620,18 +617,29 @@ COMMANDLINE OPTIONS
620
617
  --min-memory-mb=int 0 minimum memory to con‐
621
618
  tinue loading and async
622
619
  processing
623
- --encoding=str utf-8 encoding passed to
624
- codecs.open
620
+ --encoding=str utf-8-sig encoding passed to
621
+ codecs.open when reading
622
+ a file
625
623
  --encoding-errors=str surrogateescape encoding_errors passed to
626
624
  codecs.open
627
- --input-history=str basename of file to store
628
- persistent input history
625
+ --mouse-interval=int 1 max time between
626
+ press/release for click
627
+ (ms)
629
628
  --bulk-select-clear False clear selected rows be‐
630
629
  fore new bulk selections
631
630
  --some-selected-rows False if no rows selected, if
632
631
  True, someSelectedRows
633
632
  returns all rows; if
634
633
  False, fails
634
+ --regex-skip=str regex of lines to skip in
635
+ text sources
636
+ --regex-flags=str I flags to pass to re.com‐
637
+ pile() [AILMSUX]
638
+ --load-lazy False load subsheets always
639
+ (False) or lazily (True)
640
+ --skip=int 0 skip N rows before header
641
+ --header=int 1 parse first N rows as
642
+ column names
635
643
  --delimiter=str field delimiter to use
636
644
  for tsv/usv filetype
637
645
  --row-delimiter=str " row delimiter to use
@@ -641,8 +649,7 @@ COMMANDLINE OPTIONS
641
649
  tsv
642
650
  --tsv-safe-tab=str replacement for tab char‐
643
651
  acter when saving to tsv
644
- --visibility=int 0 visibility level (0=low,
645
- 1=high)
652
+ --visibility=int 0 visibility level
646
653
  --default-sample-size=int 100 number of rows to sample
647
654
  for regex.split (0=all)
648
655
  --fmt-expand-dict=str %s.%s format str to use for
@@ -656,23 +663,24 @@ COMMANDLINE OPTIONS
656
663
  json
657
664
  --json-sort-keys False sort object keys when
658
665
  saving to json
666
+ --json-ensure-ascii=bool True ensure ascii encode when
667
+ saving json
659
668
  --default-colname=str column name to use for
660
669
  non-dict rows
661
670
  --filetype=str specify file type
671
+ --safe-error=str #ERR error string to use while
672
+ saving
673
+ --save-encoding=str utf-8 encoding passed to
674
+ codecs.open when saving a
675
+ file
676
+ --clean-names False clean column/sheet names
677
+ to be valid Python iden‐
678
+ tifiers
662
679
  --replay-wait=float 0.0 time to wait between re‐
663
680
  played commands, in sec‐
664
681
  onds
665
- --replay-movement False insert movements during
666
- replay
667
682
  --rowkey-prefix=str キ string prefix for rowkey
668
683
  in the cmdlog
669
- --cmdlog-histfile=str file to autorecord each
670
- cmdlog action to
671
- --confirm-overwrite=bool True whether to prompt for
672
- overwrite confirmation on
673
- save
674
- --safe-error=str #ERR error string to use while
675
- saving
676
684
  --clipboard-copy-cmd=str xclip -selection clipboard -filter
677
685
  command to copy stdin to
678
686
  system clipboard
@@ -683,35 +691,25 @@ COMMANDLINE OPTIONS
683
691
  --fancy-chooser False a nicer selection inter‐
684
692
  face for aggregators and
685
693
  jointype
686
- --describe-aggrs=str mean stdev numeric aggregators to
687
- calculate on Describe
688
- sheet
694
+ --null-value=NoneType None a value to be counted as
695
+ null
689
696
  --histogram-bins=int 0 number of bins for his‐
690
697
  togram of numeric columns
691
698
  --numeric-binning False bin numeric columns into
692
699
  ranges
693
- --regex-flags=str I flags to pass to re.com‐
694
- pile() [AILMSUX]
695
- --regex-maxsplit=int 0 maxsplit to pass to
696
- regex.split
697
- --show-graph-labels=bool True show axes and legend on
698
- graph
699
700
  --plot-colors=str list of distinct colors
700
701
  to use for plotting dis‐
701
702
  tinct objects
702
- --zoom-incr=float 2.0 amount to multiply cur‐
703
- rent zoomlevel when zoom‐
704
- ing
705
703
  --motd-url=str source of randomized
706
704
  startup messages
707
- --dir-recurse False walk source path recur‐
708
- sively on DirSheet
705
+ --dir-depth=int 0 folder recursion depth on
706
+ DirSheet
709
707
  --dir-hidden False load hidden files on
710
708
  DirSheet
711
- --config=Path /home/kefala/.visidatarc
709
+ --config=Path ~/.visidatarc
712
710
  config file to exec in
713
711
  Python
714
- --play=str file.vd to replay
712
+ --play=str file.vdj to replay
715
713
  --batch False replay in batch mode
716
714
  (with no interface and
717
715
  all status sent to std‐
@@ -726,10 +724,37 @@ COMMANDLINE OPTIONS
726
724
  only)
727
725
  --nothing False no config, no plugins,
728
726
  nothing extra
729
- --unfurl-empty False if unfurl includes rows
730
- for empty containers
731
- --incr-base=float 1.0 start value for column
732
- increments
727
+ --interactive False run interactive mode af‐
728
+ ter batch replay
729
+ --overwrite=str c overwrite existing files
730
+ {y=yes|c=confirm|n=no}
731
+ --plugins-autoload=bool True do not autoload plugins
732
+ if False
733
+ --theme=str display/color theme to
734
+ use
735
+ --airtable-auth-token=str Airtable API key from
736
+ https://airtable.com/ac‐
737
+ count
738
+ --matrix-token=str matrix API token
739
+ --matrix-user-id=str matrix user ID associated
740
+ with token
741
+ --matrix-device-id=str VisiData device ID associated with
742
+ matrix login
743
+ --reddit-client-id=str client_id for reddit api
744
+ --reddit-client-secret=str client_secret for reddit
745
+ api
746
+ --reddit-user-agent=str 3.0 user_agent for reddit api
747
+ --zulip-batch-size=int -100 number of messages to
748
+ fetch per call (<0 to
749
+ fetch before anchor)
750
+ --zulip-anchor=int 1000000000 message id to start
751
+ fetching from
752
+ --zulip-delay-s=float 1e-05 seconds to wait between
753
+ calls (0 to stop after
754
+ first)
755
+ --zulip-api-key=str Zulip API key
756
+ --zulip-email=str Email for use with Zulip
757
+ API key
733
758
  --csv-dialect=str excel dialect passed to
734
759
  csv.reader
735
760
  --csv-delimiter=str , delimiter passed to
@@ -745,52 +770,140 @@ COMMANDLINE OPTIONS
745
770
  --safety-first False sanitize input/output to
746
771
  handle edge cases, with a
747
772
  performance cost
748
- --xlsx-meta-columns False include columns for cell
749
- objects, font colors, and
750
- fill colors
773
+ --f5log-object-regex=NoneType None A regex to perform on the
774
+ object name, useful where
775
+ object names have a
776
+ structure to extract. Use
777
+ the (?P<foo>...) named
778
+ groups form to get column
779
+ names.
780
+ --f5log-log-year=NoneType None Override the default year
781
+ used for log parsing. Use
782
+ all four digits of the
783
+ year (e.g., 2022). By de‐
784
+ fault (None) use the year
785
+ from the ctime of the
786
+ file, or failing that the
787
+ current year.
788
+ --f5log-log-timezone=str UTC The timezone the source
789
+ file is in, by default
790
+ UTC.
751
791
  --fixed-rows=int 1000 number of rows to check
752
792
  for fixed width columns
753
793
  --fixed-maxcols=int 0 max number of fixed-width
754
794
  columns to create (0 is
755
795
  no max)
756
- --postgres-schema=str public The desired schema for
757
- the Postgres database
796
+ --graphviz-edge-labels=bool True whether to include edge
797
+ labels on graphviz dia‐
798
+ grams
799
+ --html-title=str <h2>{sheet.name}</h2>
800
+ table header when saving
801
+ to html
758
802
  --http-max-next=int 0 max next.url pages to
759
803
  follow in http response
760
804
  --http-req-headers=dict {} http headers to send to
761
805
  requests
762
- --html-title=str <h2>{sheet.name}</h2>
763
- table header when saving
764
- to html
806
+ --http-ssl-verify=bool True verify host and certifi‐
807
+ cates for https
808
+ --npy-allow-pickle False numpy allow unpickling
809
+ objects (unsafe)
765
810
  --pcap-internet=str n (y/s/n) if save_dot in‐
766
811
  cludes all internet hosts
767
812
  separately (y), combined
768
813
  (s), or does not include
769
814
  the internet (n)
770
- --xml-parser-huge-tree=bool True allow very deep trees and
771
- very long text content
772
- --graphviz-edge-labels=bool True whether to include edge
773
- labels on graphviz dia‐
774
- grams
775
- --npy-allow-pickle False numpy allow unpickling
776
- objects (unsafe)
777
815
  --pdf-tables False parse PDF for tables in‐
778
816
  stead of pages of text
779
- --plugins-url=str https://visidata.org/plugins/plugins.jsonl
780
- source of plugins sheet
781
- --plugins-autoload=bool True do not autoload plugins
782
- if False
817
+ --postgres-schema=str public The desired schema for
818
+ the Postgres database
819
+ --s3-endpoint=str alternate S3 endpoint,
820
+ used for local testing or
821
+ alternative S3-compatible
822
+ services
823
+ --s3-glob=bool True enable glob-matching for
824
+ S3 paths
825
+ --s3-version-aware False show all object versions
826
+ in a versioned bucket
827
+ --sqlite-onconnect=str sqlite statement to exe‐
828
+ cute after opening a con‐
829
+ nection
830
+ --xlsx-meta-columns False include columns for cell
831
+ objects, font colors, and
832
+ fill colors
833
+ --xml-parser-huge-tree=bool True allow very deep trees and
834
+ very long text content
835
+ --plt-marker=str . matplotlib.markers
836
+ --plot-palette=str Set3 colorbrewer palette to
837
+ use
838
+ --server-addr=str 127.0.0.1 IP address to listen for
839
+ commands
840
+ --server-port=int 0 port to listen for com‐
841
+ mands
842
+ --fixer-api-key=str API Key for api.api‐
843
+ layer.com/fixer
844
+ --fixer-cache-days=int 1 Cache days for currency
845
+ conversions
846
+ --describe-aggrs=str mean stdev numeric aggregators to
847
+ calculate on Describe
848
+ sheet
849
+ --hello-world=str ¡Hola mundo! shown by the hello-world
850
+ command
851
+ --incr-base=float 1.0 start value for column
852
+ increments
853
+ --ping-count=int 3 send this many pings to
854
+ each host
855
+ --ping-interval=float 0.1 wait between ping rounds,
856
+ in seconds
857
+ --regex-maxsplit=int 0 maxsplit to pass to
858
+ regex.split
859
+ --rename-cascade False cascade column renames
860
+ into expressions
861
+ --faker-locale=str en_US default locale to use for
862
+ Faker
863
+ --faker-extra-providers=NoneType None list of additional
864
+ Provider classes to load
865
+ via add_provider()
866
+ --faker-salt=str Use a non-empty string to
867
+ enable deterministic
868
+ fakes
869
+ --mailcap-mimetype=str force mimetype for
870
+ sysopen-mailcap
871
+ --unfurl-empty False if unfurl includes rows
872
+ for empty containers
783
873
 
784
874
  DISPLAY OPTIONS
785
875
  Display options can only be set via the Options Sheet or a .visidatarc
786
876
  (see FILES).
787
877
 
788
- disp_splitwin_pct 0 height of second sheet on screen
789
- color_sidebar black on 114 blue color of sidebar
790
- disp_float_fmt {:.02f} default fmtstr to format for
791
- float values
792
- disp_int_fmt {:.0f} default fmtstr to format for int
878
+ disp_menu True show menu on top line when not
879
+ active
880
+ disp_menu_keys True show keystrokes inline in sub‐
881
+ menus
882
+ color_menu black on 68 blue color of menu items in general
883
+ color_menu_active 223 yellow on black
884
+ color of active menu items
885
+ color_menu_spec black on 34 green color of sheet-specific menu
886
+ items
887
+ color_menu_help black italic on 68 blue
888
+ color of helpbox
889
+ disp_menu_boxchars ││──┌┐└┘├┤ box characters to use for menus
890
+ disp_menu_more » command submenu indicator
891
+ disp_menu_push ⎘ indicator if command pushes sheet
892
+ onto sheet stack
893
+ disp_menu_input … indicator if input required for
894
+ command
895
+ disp_menu_fmt | VisiData {vd.version} | Alt+H for help menu
896
+ right-side menu format string
897
+ disp_float_fmt {:.02f} default fmtstr to format float
793
898
  values
899
+ disp_int_fmt {:d} default fmtstr to format int val‐
900
+ ues
901
+ disp_formatter generic formatter to create the text in
902
+ each cell (also used by text
903
+ savers)
904
+ disp_displayer generic displayer to render the text in
905
+ each cell
906
+ disp_splitwin_pct 0 height of second sheet on screen
794
907
  disp_note_none ⌀ visible contents of a cell whose
795
908
  value is None
796
909
  disp_truncator … indicator that the contents are
@@ -832,6 +945,9 @@ COMMANDLINE OPTIONS
832
945
  color_bottom_hdr underline color of the bottom header row
833
946
  color_current_row reverse color of the cursor row
834
947
  color_current_col bold color of the cursor column
948
+ color_current_cell color of current cell, if differ‐
949
+ ent from color_cur‐
950
+ rent_row+color_current_col
835
951
  color_current_hdr bold reverse color of the header for the cur‐
836
952
  sor column
837
953
  color_column_sep 246 blue color of column separators
@@ -839,78 +955,102 @@ COMMANDLINE OPTIONS
839
955
  color_hidden_col 8 color of hidden columns on
840
956
  metasheets
841
957
  color_selected_row 215 yellow color of selected rows
842
- disp_rstatus_fmt {sheet.longname} {sheet.nRows:9d} {sheet.rowtype}
843
- {sheet.modifiedStatus}
844
- {sheet.options.disp_selected_note}{sheet.nSelectedRows}
958
+ color_clickable underline color of internally clickable
959
+ item
960
+ color_code bold white on 237 color of code sample
961
+ color_heading bold 200 color of header
962
+ color_guide_unwritten 243 on black color of unwritten guides in
963
+ GuideGuide
964
+ disp_rstatus_fmt {sheet.threadStatus} {sheet.keystrokeStatus}
965
+ {sheet.longname}
966
+ {sheet.nRows:9d} {sheet.rowtype}
967
+ {sheet.modifiedStatus}{sheet.selectedStatus}{vd.replayStatus}
845
968
  right-side status format string
846
- disp_status_fmt {sheet.shortcut}› {sheet.name}|
969
+ disp_status_fmt [:onclick sheets-stack]{sheet.shortcut}›
970
+ {sheet.name}[/]|
847
971
  status line prefix
848
972
  disp_lstatus_max 0 maximum length of left status
849
973
  line
850
- disp_status_sep separator between statuses
851
- color_keystrokes bold 233 black on 110 cyan
852
- color of input keystrokes on sta‐
974
+ disp_status_sep separator between statuses
975
+ color_keystrokes bold white on 237 color of input keystrokes on sta‐
853
976
  tus line
854
- color_status bold black on 110 cyan
855
- status line color
856
- color_error red error message color
857
- color_warning yellow warning message color
977
+ color_keys bold color of keystrokes in help
978
+ color_status bold on 238 status line color
979
+ color_error 202 1 error message color
980
+ color_warning 166 15 warning message color
858
981
  color_top_status underline top window status bar color
859
- color_active_status black on 110 cyan active window status bar color
982
+ color_active_status black on 68 blue active window status bar color
860
983
  color_inactive_status 8 on black inactive window status bar color
861
- color_working green color of system running smoothly
862
- color_edit_cell white cell color to use when editing
984
+ color_highlight_status black on green color of highlighted elements in
985
+ statusbar
986
+ color_working 118 5 color of system running smoothly
987
+ color_edit_unfocused 238 on 110 display color for unfocused input
988
+ in form
989
+ color_edit_cell 233 on 110 cell color to use when editing
863
990
  cell
864
991
  disp_edit_fill _ edit field fill character
865
992
  disp_unprintable · substitute character for unprint‐
866
993
  ables
994
+ disp_date_fmt %Y-%m-%d default fmtstr passed to strftime
995
+ for date values
867
996
  disp_currency_fmt %.02f default fmtstr to format for cur‐
868
997
  rency values
869
- disp_date_fmt %Y-%m-%d default fmtstr to strftime for
870
- date values
998
+ color_currency_neg red color for negative values in cur‐
999
+ rency displayer
871
1000
  disp_replay_play ▶ status indicator for active re‐
872
1001
  play
873
- disp_replay_pause ‖ status indicator for paused re‐
874
- play
875
1002
  color_status_replay green color of replay status indicator
876
- disp_formatter generic formatter to use for display and
877
- saving
878
- disp_menu True show menu on top line when not
879
- active
880
- disp_menu_keys True show keystrokes inline in sub‐
881
- menus
882
- color_menu black on 110 cyan color of menu items in general
883
- color_menu_active 223 yellow on black
884
- color of active menu items
885
- color_menu_spec black on 34 green color of sheet-specific menu
886
- items
887
- color_menu_help black italic on 110 cyan
888
- color of helpbox
889
- disp_menu_boxchars ││──┌┐└┘├┤ box characters to use for menus
890
- disp_menu_more » command submenu indicator
891
- disp_menu_push ⎘ indicator if command pushes sheet
892
- onto sheet stack
893
- disp_menu_input … indicator if input required for
894
- command
895
- disp_menu_fmt Ctrl+H for help menu
896
- right-side menu format string
897
- disp_histogram * histogram element character
898
- disp_histolen 50 width of histogram column
1003
+ disp_histogram ■ histogram element character
1004
+ disp_graph_labels True show axes and legend on graph
899
1005
  disp_canvas_charset
900
1006
  ⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋⢌⢍⢎⢏⢐⢑⢒⢓⢔⢕⢖⢗⢘⢙⢚⢛⢜⢝⢞⢟⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿⣀⣁⣂⣃⣄⣅⣆⣇⣈⣉⣊⣋⣌⣍⣎⣏⣐⣑⣒⣓⣔⣕⣖⣗⣘⣙⣚⣛⣜⣝⣞⣟⣠⣡⣢⣣⣤⣥⣦⣧⣨⣩⣪⣫⣬⣭⣮⣯⣰⣱⣲⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿
901
1007
  charset to render 2x4 blocks on
902
1008
  canvas
903
1009
  disp_pixel_random False randomly choose attr from set of
904
1010
  pixels instead of most common
1011
+ disp_zoom_incr 2.0 amount to multiply current zoom‐
1012
+ level when zooming
905
1013
  color_graph_hidden 238 blue color of legend for hidden attri‐
906
1014
  bute
907
1015
  color_graph_selected bold color of selected graph points
908
1016
  color_graph_axis bold color for graph axis labels
1017
+ disp_graph_tick_x ╵ character for graph x-axis ticks
1018
+ disp_help 2 show help panel during input
909
1019
  color_add_pending green color for rows pending add
910
1020
  color_change_pending reverse yellow color for cells pending modifica‐
911
1021
  tion
912
1022
  color_delete_pending red color for rows pending delete
1023
+ disp_sidebar True whether to display sidebar
1024
+ disp_sidebar_fmt {guide} format string for default sidebar
1025
+ disp_sidebar_width 0 max width for sidebar
1026
+ disp_sidebar_height 0 max height for sidebar
1027
+ color_sidebar black on 114 blue base color of sidebar
1028
+ color_sidebar_title black on yellow color of sidebar title
1029
+ color_match red color for matching chars in pal‐
1030
+ ette chooser
1031
+ color_f5log_mon_up green color of f5log monitor status up
1032
+ color_f5log_mon_down red color of f5log monitor status
1033
+ down
1034
+ color_f5log_mon_unknown blue color of f5log monitor status un‐
1035
+ known
1036
+ color_f5log_mon_checking magenta color of monitor status checking
1037
+ color_f5log_mon_disabled black color of monitor status disabled
1038
+ color_f5log_logid_alarm red color of alarms
1039
+ color_f5log_logid_warn yellow color of warnings
1040
+ color_f5log_logid_notice cyan color of notice
1041
+ color_f5log_logid_info green color of info
913
1042
  color_xword_active green color of active clue
1043
+ color_cmdpalette black on 72 base color of command palette
1044
+ disp_cmdpal_max 10 max number of suggestions for
1045
+ command palette
1046
+ color_shellcmd 21 on 114 green
1047
+ color_colname underline
1048
+ color_longname bold 52 on 114 green
1049
+
1050
+ disp_scroll_context 0 minimum number of lines to keep
1051
+ visible above/below cursor when
1052
+ scrolling
1053
+ disp_sparkline ▁▂▃▄▅▆▇ characters to display sparkline
914
1054
 
915
1055
  EXAMPLES
916
1056
  vd
@@ -941,8 +1081,8 @@ EXAMPLES
941
1081
  vd postgres://username:password@hostname:port/database
942
1082
  open a connection to the given postgres database
943
1083
 
944
- vd --play tests/pivot.vd --replay-wait 1 --output tests/pivot.tsv
945
- replay tests/pivot.vd, waiting 1 second between commands, and output the
1084
+ vd --play tests/pivot.vdj --replay-wait 1 --output tests/pivot.tsv
1085
+ replay tests/pivot.vdj, waiting 1 second between commands, and output the
946
1086
  final sheet to test/pivot.tsv
947
1087
 
948
1088
  ls -l | vd -f fixed --skip 1 --header 0
@@ -1017,4 +1157,4 @@ SUPPORTED SOURCES
1017
1157
  AUTHOR
1018
1158
  VisiData was made by Saul Pwanson <vd@saul.pw>.
1019
1159
 
1020
- Linux/MacOS January 11, 2023 Linux/MacOS
1160
+ Linux/MacOS December 29, 2023 Linux/MacOS