visidata 2.11.1__py3-none-any.whl → 3.0.1__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 (256) hide show
  1. visidata/__init__.py +72 -91
  2. visidata/_input.py +259 -42
  3. visidata/_open.py +84 -29
  4. visidata/_types.py +21 -3
  5. visidata/_urlcache.py +17 -4
  6. visidata/aggregators.py +78 -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. {vgit → visidata/apps/vgit}/blame.py +5 -2
  18. {vgit → visidata/apps/vgit}/branch.py +31 -16
  19. {vgit → visidata/apps/vgit}/config.py +3 -3
  20. visidata/apps/vgit/diff.py +169 -0
  21. visidata/apps/vgit/gitsheet.py +161 -0
  22. {vgit → visidata/apps/vgit}/grep.py +6 -5
  23. visidata/apps/vgit/log.py +81 -0
  24. {vgit → visidata/apps/vgit}/main.py +18 -5
  25. {vgit → visidata/apps/vgit}/remote.py +8 -4
  26. visidata/apps/vgit/repos.py +71 -0
  27. {vgit → visidata/apps/vgit}/setup.py +6 -4
  28. visidata/apps/vgit/stash.py +69 -0
  29. visidata/apps/vgit/status.py +204 -0
  30. {vgit → visidata/apps/vgit}/statusbar.py +2 -0
  31. visidata/basesheet.py +63 -51
  32. visidata/canvas.py +208 -93
  33. visidata/choose.py +6 -6
  34. visidata/clean_names.py +29 -0
  35. visidata/clipboard.py +73 -17
  36. visidata/cliptext.py +220 -46
  37. visidata/cmdlog.py +88 -114
  38. visidata/color.py +142 -56
  39. visidata/column.py +121 -129
  40. visidata/ddw/input.ddw +74 -79
  41. visidata/ddw/regex.ddw +57 -0
  42. visidata/ddwplay.py +33 -14
  43. visidata/deprecated.py +77 -3
  44. visidata/desktop/visidata.desktop +7 -0
  45. visidata/editor.py +12 -6
  46. visidata/errors.py +6 -2
  47. visidata/experimental/__init__.py +0 -0
  48. visidata/experimental/diff_sheet.py +29 -0
  49. visidata/experimental/digit_autoedit.py +6 -0
  50. visidata/experimental/gdrive.py +89 -0
  51. visidata/experimental/google.py +37 -0
  52. visidata/experimental/gsheets.py +79 -0
  53. visidata/experimental/live_search.py +37 -0
  54. visidata/experimental/liveupdate.py +45 -0
  55. visidata/experimental/mark.py +133 -0
  56. visidata/experimental/noahs_tapestry/__init__.py +1 -0
  57. visidata/experimental/noahs_tapestry/tapestry.py +147 -0
  58. visidata/experimental/rownum.py +73 -0
  59. visidata/experimental/slide_cells.py +26 -0
  60. visidata/expr.py +8 -4
  61. visidata/extensible.py +22 -4
  62. visidata/features/__init__.py +0 -0
  63. visidata/features/addcol_audiometadata.py +42 -0
  64. visidata/features/addcol_histogram.py +34 -0
  65. visidata/features/canvas_save_svg.py +69 -0
  66. visidata/features/change_precision.py +46 -0
  67. visidata/features/cmdpalette.py +197 -0
  68. visidata/features/colorbrewer.py +363 -0
  69. visidata/{colorsheet.py → features/colorsheet.py} +17 -16
  70. visidata/features/command_server.py +105 -0
  71. visidata/features/currency_to_usd.py +70 -0
  72. visidata/{customdate.py → features/customdate.py} +2 -0
  73. visidata/features/dedupe.py +132 -0
  74. visidata/{describe.py → features/describe.py} +17 -15
  75. visidata/features/errors_guide.py +26 -0
  76. visidata/features/expand_cols.py +202 -0
  77. visidata/{fill.py → features/fill.py} +3 -1
  78. visidata/{freeze.py → features/freeze.py} +11 -6
  79. visidata/features/graph_seaborn.py +79 -0
  80. visidata/features/helloworld.py +10 -0
  81. visidata/features/hint_types.py +17 -0
  82. visidata/{incr.py → features/incr.py} +5 -0
  83. visidata/{join.py → features/join.py} +107 -53
  84. visidata/features/known_cols.py +21 -0
  85. visidata/features/layout.py +62 -0
  86. visidata/{melt.py → features/melt.py} +32 -21
  87. visidata/features/normcol.py +118 -0
  88. visidata/features/open_config.py +7 -0
  89. visidata/features/open_syspaste.py +18 -0
  90. visidata/features/ping.py +157 -0
  91. visidata/features/procmgr.py +208 -0
  92. visidata/features/random_sample.py +6 -0
  93. visidata/{regex.py → features/regex.py} +47 -31
  94. visidata/features/reload_every.py +55 -0
  95. visidata/features/rename_col_cascade.py +30 -0
  96. visidata/features/scroll_context.py +60 -0
  97. visidata/features/select_equal_selected.py +11 -0
  98. visidata/features/setcol_fake.py +65 -0
  99. visidata/{slide.py → features/slide.py} +77 -21
  100. visidata/features/sparkline.py +48 -0
  101. visidata/features/status_source.py +20 -0
  102. visidata/{sysedit.py → features/sysedit.py} +2 -1
  103. visidata/features/sysopen_mailcap.py +46 -0
  104. visidata/features/term_extras.py +13 -0
  105. visidata/{transpose.py → features/transpose.py} +5 -4
  106. visidata/features/type_ipaddr.py +73 -0
  107. visidata/features/type_url.py +11 -0
  108. visidata/{unfurl.py → features/unfurl.py} +9 -9
  109. visidata/{window.py → features/window.py} +2 -2
  110. visidata/form.py +50 -21
  111. visidata/freqtbl.py +81 -33
  112. visidata/fuzzymatch.py +414 -0
  113. visidata/graph.py +105 -33
  114. visidata/guide.py +200 -0
  115. visidata/help.py +75 -44
  116. visidata/hint.py +39 -0
  117. visidata/indexsheet.py +109 -0
  118. visidata/input_history.py +55 -0
  119. visidata/interface.py +58 -0
  120. visidata/keys.py +20 -16
  121. visidata/loaders/__init__.py +9 -0
  122. visidata/loaders/_pandas.py +61 -21
  123. visidata/loaders/api_airtable.py +70 -0
  124. visidata/loaders/api_bitio.py +102 -0
  125. visidata/loaders/api_matrix.py +148 -0
  126. visidata/loaders/api_reddit.py +306 -0
  127. visidata/loaders/api_zulip.py +249 -0
  128. visidata/loaders/archive.py +41 -7
  129. visidata/loaders/arrow.py +7 -7
  130. visidata/loaders/conll.py +49 -0
  131. visidata/loaders/csv.py +25 -7
  132. visidata/loaders/eml.py +3 -4
  133. visidata/loaders/f5log.py +1204 -0
  134. visidata/loaders/fec.py +325 -0
  135. visidata/loaders/fixed_width.py +2 -4
  136. visidata/loaders/frictionless.py +3 -3
  137. visidata/loaders/geojson.py +8 -5
  138. visidata/loaders/google.py +48 -0
  139. visidata/loaders/graphviz.py +4 -4
  140. visidata/loaders/hdf5.py +4 -4
  141. visidata/loaders/html.py +54 -12
  142. visidata/loaders/http.py +84 -30
  143. visidata/loaders/imap.py +20 -10
  144. visidata/loaders/jrnl.py +52 -0
  145. visidata/loaders/json.py +83 -29
  146. visidata/loaders/jsonla.py +74 -0
  147. visidata/loaders/lsv.py +15 -11
  148. visidata/loaders/mailbox.py +40 -0
  149. visidata/loaders/markdown.py +1 -3
  150. visidata/loaders/mbtiles.py +4 -5
  151. visidata/loaders/mysql.py +11 -13
  152. visidata/loaders/npy.py +7 -7
  153. visidata/loaders/odf.py +4 -1
  154. visidata/loaders/orgmode.py +428 -0
  155. visidata/loaders/pandas_freqtbl.py +14 -20
  156. visidata/loaders/parquet.py +62 -6
  157. visidata/loaders/pcap.py +3 -3
  158. visidata/loaders/pdf.py +4 -3
  159. visidata/loaders/png.py +19 -13
  160. visidata/loaders/postgres.py +9 -8
  161. visidata/loaders/rec.py +7 -3
  162. visidata/loaders/s3.py +342 -0
  163. visidata/loaders/sas.py +5 -5
  164. visidata/loaders/scrape.py +186 -0
  165. visidata/loaders/shp.py +6 -5
  166. visidata/loaders/spss.py +5 -6
  167. visidata/loaders/sqlite.py +68 -28
  168. visidata/loaders/texttables.py +1 -1
  169. visidata/loaders/toml.py +60 -0
  170. visidata/loaders/tsv.py +61 -19
  171. visidata/loaders/ttf.py +19 -7
  172. visidata/loaders/unzip_http.py +6 -5
  173. visidata/loaders/usv.py +1 -1
  174. visidata/loaders/vcf.py +16 -16
  175. visidata/loaders/vds.py +10 -7
  176. visidata/loaders/vdx.py +30 -5
  177. visidata/loaders/xlsb.py +8 -1
  178. visidata/loaders/xlsx.py +145 -25
  179. visidata/loaders/xml.py +6 -3
  180. visidata/loaders/xword.py +4 -4
  181. visidata/loaders/yaml.py +15 -5
  182. visidata/macros.py +129 -42
  183. visidata/main.py +119 -94
  184. visidata/mainloop.py +101 -155
  185. visidata/man/parse_options.py +2 -2
  186. visidata/man/vd.1 +302 -149
  187. visidata/man/vd.txt +291 -154
  188. visidata/memory.py +3 -3
  189. visidata/menu.py +104 -423
  190. visidata/metasheets.py +59 -141
  191. visidata/modify.py +78 -23
  192. visidata/motd.py +3 -3
  193. visidata/mouse.py +137 -0
  194. visidata/movement.py +43 -35
  195. visidata/optionssheet.py +99 -0
  196. visidata/path.py +113 -32
  197. visidata/pivot.py +73 -47
  198. visidata/plugins.py +65 -192
  199. visidata/pyobj.py +55 -205
  200. visidata/rename_col.py +20 -0
  201. visidata/save.py +37 -20
  202. visidata/search.py +54 -10
  203. visidata/selection.py +84 -5
  204. visidata/settings.py +162 -25
  205. visidata/sheets.py +239 -260
  206. visidata/shell.py +51 -21
  207. visidata/sidebar.py +162 -0
  208. visidata/sort.py +11 -4
  209. visidata/statusbar.py +114 -104
  210. visidata/stored_list.py +43 -0
  211. visidata/stored_prop.py +38 -0
  212. visidata/tests/benchmark.csv +52 -0
  213. visidata/tests/conftest.py +3 -3
  214. visidata/tests/test_cliptext.py +39 -0
  215. visidata/tests/test_commands.py +65 -7
  216. visidata/tests/test_edittext.py +2 -2
  217. visidata/tests/test_features.py +28 -0
  218. visidata/tests/test_menu.py +14 -0
  219. visidata/tests/test_path.py +13 -4
  220. visidata/text_source.py +53 -0
  221. visidata/textsheet.py +10 -3
  222. visidata/theme.py +44 -0
  223. visidata/themes/__init__.py +0 -0
  224. visidata/themes/ascii8.py +84 -0
  225. visidata/themes/asciimono.py +84 -0
  226. visidata/themes/light.py +17 -0
  227. visidata/threads.py +89 -40
  228. visidata/tuiwin.py +22 -0
  229. visidata/type_currency.py +22 -3
  230. visidata/type_date.py +31 -9
  231. visidata/type_floatsi.py +5 -1
  232. visidata/undo.py +17 -5
  233. visidata/utils.py +106 -23
  234. visidata/vdobj.py +28 -17
  235. visidata/windows.py +10 -0
  236. visidata/wrappers.py +9 -3
  237. visidata-3.0.1.data/data/share/applications/visidata.desktop +7 -0
  238. {visidata-2.11.1.data → visidata-3.0.1.data}/data/share/man/man1/vd.1 +302 -149
  239. {visidata-2.11.1.data → visidata-3.0.1.data}/data/share/man/man1/visidata.1 +302 -149
  240. visidata-3.0.1.data/scripts/vd2to3.vdx +9 -0
  241. {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/METADATA +12 -8
  242. visidata-3.0.1.dist-info/RECORD +258 -0
  243. {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/WHEEL +1 -1
  244. vgit/__init__.py +0 -1
  245. vgit/gitsheet.py +0 -164
  246. visidata/layout.py +0 -44
  247. visidata/misc.py +0 -5
  248. visidata-2.11.1.data/scripts/vgit +0 -9
  249. visidata-2.11.1.dist-info/RECORD +0 -155
  250. {vgit → visidata/apps/vgit}/__main__.py +0 -0
  251. {vgit → visidata/apps/vgit}/abort.py +0 -0
  252. /visidata/{repeat.py → features/repeat.py} +0 -0
  253. {visidata-2.11.1.data → visidata-3.0.1.data}/scripts/vd +0 -0
  254. {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/LICENSE.gpl3 +0 -0
  255. {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/entry_points.txt +0 -0
  256. {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env -S vd -p
2
+ # VisiData v3.0dev
3
+ open-file ~/.visidata/macros.tsv
4
+ col command
5
+ rename-col binding
6
+ col filename
7
+ rename-col source
8
+ save-sheet ~/.visidata/macros.jsonl
9
+ quit-all
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: visidata
3
- Version: 2.11.1
3
+ Version: 3.0.1
4
4
  Summary: terminal interface for exploring and arranging tabular data
5
5
  Home-page: https://visidata.org
6
- Download-URL: https://github.com/saulpw/visidata/tarball/2.11.1
6
+ Download-URL: https://github.com/saulpw/visidata/tarball/3.0.1
7
7
  Author: Saul Pwanson
8
8
  Author-email: visidata@saul.pw
9
9
  License: GPLv3
@@ -26,16 +26,18 @@ Requires-Python: >=3.7
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE.gpl3
28
28
  Requires-Dist: python-dateutil
29
- Requires-Dist: importlib-metadata (>=3.6)
30
- Requires-Dist: windows-curses ; platform_system == "Windows"
29
+ Requires-Dist: importlib-metadata >=3.6
30
+ Requires-Dist: windows-curses !=2.3.1 ; platform_system == "Windows"
31
+ Requires-Dist: importlib-resources ; python_version < "3.9"
31
32
 
33
+ # VisiData v3.0.1
32
34
 
33
- # VisiData v2.11.1
34
-
35
- [![twitter @VisiData][1.1]][1]
36
35
  [![Tests](https://github.com/saulpw/visidata/workflows/visidata-ci-build/badge.svg)](https://github.com/saulpw/visidata/actions/workflows/main.yml)
37
36
  [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/saulpw/visidata)
37
+
38
38
  [![discord](https://img.shields.io/discord/880915750007750737?label=discord)](https://visidata.org/chat)
39
+ [![mastodon @visidata@fosstodon.org][2.1]][2]
40
+ [![twitter @VisiData][1.1]][1]
39
41
 
40
42
  A terminal interface for exploring and arranging tabular data.
41
43
 
@@ -46,7 +48,7 @@ VisiData supports tsv, csv, sqlite, json, xlsx (Excel), hdf5, and [many other fo
46
48
  ## Platform requirements
47
49
 
48
50
  - Linux, OS/X, or Windows (with WSL)
49
- - Python 3.7+
51
+ - Python 3.8+
50
52
  - additional Python modules are required for certain formats and sources
51
53
 
52
54
  ## Install
@@ -97,5 +99,7 @@ Many thanks to numerous other [contributors](https://visidata.org/credits/), and
97
99
 
98
100
  [1.1]: http://i.imgur.com/tXSoThF.png
99
101
  [1]: http://www.twitter.com/VisiData
102
+ [2.1]: https://raw.githubusercontent.com/mastodon/mastodon/main/app/javascript/images/logo.svg
103
+ [2]: https://fosstodon.org/@visidata
100
104
 
101
105
  <!-- Please don't remove this: Grab your social icons from https://github.com/carlsednaoui/gitsocial -->
@@ -0,0 +1,258 @@
1
+ visidata/__init__.py,sha256=9JiVRPtEmg4-DTZcTvSCMdu3e0hOBlmsDBck7bralGc,3760
2
+ visidata/__main__.py,sha256=0j8M0MpINzX0XXcVj1lSDpDfol1qexKU2xZ6qiRoE_U,35
3
+ visidata/_input.py,sha256=JJuC68jrIrT6l8Ie1rgUQnBJBFzKQ_Ft-WZ7Vmd9R8Q,22091
4
+ visidata/_open.py,sha256=mRm4BAi6p9sNf3-N4soDzCopzfVWJBfW6Wu5H4RFY4U,6521
5
+ visidata/_types.py,sha256=C51-686HvTOvbOmDktTJvvtKvONKOZsWii-2UJgxN_Q,4660
6
+ visidata/_urlcache.py,sha256=J0SRElN9uYgMsVKwJP7HUmqaT89mBg9JUJ5OvYgr11o,1393
7
+ visidata/aggregators.py,sha256=I2dILOo0dzs_F2AERJ-AUhSKjbATvdFLH1Z9f_aAHTQ,8792
8
+ visidata/basesheet.py,sha256=nsMPr_y-68SzYqU9YIfyobv3KhJSYoetsT-S8vhOLQQ,10360
9
+ visidata/bezier.py,sha256=_owa8IVyLJ-ok2BAwZf7m_knou6m9ALDH8mk7Ru2BGM,2060
10
+ visidata/canvas.py,sha256=GvVuN_ll9mS0nA6038Fbj-pJ3O7NsjIivNJ4L8_l3ps,36608
11
+ visidata/canvas_text.py,sha256=-IXLmnk3d2U3dijYtlpZLvUJnDmfF83AVkPkXO3hiAU,7882
12
+ visidata/choose.py,sha256=zVNIInLfpjLHwFrYjR_-1o3s7QrpPPKjR7mRq98gVZo,2950
13
+ visidata/clean_names.py,sha256=_cWnjKKa-yoeSJJOYWi2BfqVVoUdNnrm2pywIBXS7Qg,800
14
+ visidata/clipboard.py,sha256=FP_8JclOSvlRVRPpjBjYL9AoRrm64-Q2z4hp3u_nuI8,9670
15
+ visidata/cliptext.py,sha256=RZL5NNVXLkV54PjVxkwM2-k3Ud1ssObDqA99pCHx7XY,11380
16
+ visidata/cmdlog.py,sha256=53zJJeAD6f0r7Aqe6tfa5JFa_eFBRwJ4n77k0Enl21Q,16430
17
+ visidata/color.py,sha256=nR3QD4_RmOd74jgOvHuDXCH6KSJInrqBM8fF3QUbbVo,8393
18
+ visidata/column.py,sha256=E2uT81_I2hpMTy-dB6_zaaaRo9cpTJZm2JnJT7q9yHE,22294
19
+ visidata/ddwplay.py,sha256=gX4hvHB66nVOo6n-lfc4TytNLRrLnmM9PLOSEk3JmTU,5227
20
+ visidata/deprecated.py,sha256=5eFrguxfYB3CsfshMQHMUVYN1S503Iw73U543EJSn8M,8795
21
+ visidata/editor.py,sha256=3Q100m4zjqAXMFGw_a75xM_f-EEdVvwGJ2_jCXtPiAI,2953
22
+ visidata/errors.py,sha256=04mNostkCLFxgGW7pjdCf40ZmDsZvY9vrj0WFzb7RLI,1111
23
+ visidata/expr.py,sha256=8_Ylr4QadNz1LD7NiYMBaKph-B4IJxoR5vzk4aNZrlU,3085
24
+ visidata/extensible.py,sha256=z4KHpYp2DFcuZ3F9r1bSI5Whwb17aIZs5yJW6cCu3aA,5478
25
+ visidata/form.py,sha256=wdRHoKw9ogLEBpy_hfRhELhbmJKK15taY78yfah57FY,4588
26
+ visidata/freqtbl.py,sha256=LnXgOYb2hxRXdevXToRQcQsDZDuwqp-RyVaVvfx_BrM,6862
27
+ visidata/fuzzymatch.py,sha256=nb6G_9mfkgo_hjp7pJ3QtcmnxJVUiFc9gslJFYIX82w,13511
28
+ visidata/graph.py,sha256=r9XXyLSz6SJ4x4Og2BTqTKeHYBJxOVVD8PAdjDSHNs8,10816
29
+ visidata/guide.py,sha256=HXe4m6hWNssJWo3XbFKaKn45Zuv6yakX1Z6uZI9jc3E,7163
30
+ visidata/help.py,sha256=ugPDJGe0-59X2hF76lzaxmEmMyz5wLxp5f7XWOItccQ,6493
31
+ visidata/hint.py,sha256=WmX0Kjnd0fM0cX1EaC5xdxzYvRVz6h3Zcc_enOr8t-A,1071
32
+ visidata/indexsheet.py,sha256=MoCKsTygG9xNKV9cWlxO_FKDoCxheDsOHb_eMBy_yxo,4227
33
+ visidata/input_history.py,sha256=cdERtLKU8aLiDbxYKmFqEz0O40_hpoDOUE08kvAGgQ4,1468
34
+ visidata/interface.py,sha256=azeeFIa_lRx2JpRAJEKPmDbNoL8QA0DKNH-t3aut6yw,4386
35
+ visidata/keys.py,sha256=pyFT5IbeWmW_7yP1kwYKF3i9Cd-TUcpPq9YG1XV1YbM,2544
36
+ visidata/macos.py,sha256=bqH73E27j8qDRtXsHPcUyQNFTAzD5Ki5QU6LjSUnnOI,3339
37
+ visidata/macros.py,sha256=5-HUcEIlDwDzuXNe0i6pOraab-_4QDA94EGHybcNi8E,5700
38
+ visidata/main.py,sha256=OjdAmSFYRJ3Pa3OAs1lZIRFqqxNBqGHyzALNbwSqL60,13203
39
+ visidata/mainloop.py,sha256=tAzCvbdawvqvrZRDuI7iaTjWMwP7FlaFgo4Bg7XeiHw,9803
40
+ visidata/memory.py,sha256=VRTP9R3Fig4p7h7uekX7dPI8XA576Wza0cbGEoswYKI,1098
41
+ visidata/menu.py,sha256=wZJMcI4f8JwjES1d_kmBBLePDIdaUcBzO4ncEzJCV3c,16501
42
+ visidata/metasheets.py,sha256=_v-VGMXmmc8h6W5qQ80yLBW_-tMglSYV2TmCEgTZLZU,7648
43
+ visidata/modify.py,sha256=tlrHSLdfFUaAyx0DuQZvduHXfuznnTAXj_Au-Ukx4Ts,11687
44
+ visidata/motd.py,sha256=NJG47Uh4sMH9bU-b06AgINna1W1C2BuB-WCl6VCLXu4,919
45
+ visidata/mouse.py,sha256=RnkKbwqzOnyhIeiORw2Zhzg_85XzhT_RIrNYKVn7iVE,4552
46
+ visidata/movement.py,sha256=HtTEJnCDaAPyAdxeKB4hvv3M1RvbYvwho6S4W5drrrQ,12084
47
+ visidata/optionssheet.py,sha256=lj2D-p_EnwMvs6tWXtf-SmVYwKr0ZsYblGSWRl5tvx0,3967
48
+ visidata/path.py,sha256=n6Loh3PJHcPxy3SwRxnsDTelX8QG2zfhHPsOsr5yFXc,16022
49
+ visidata/pivot.py,sha256=G_lnrduulCEF_MPGzYMBWu_AQ3bAU3yyAMf0DXISXl0,12561
50
+ visidata/plugins.py,sha256=hp7z7_mCi88bN_s30mZTTOXd48vclEsKiU6EfUDArY8,3496
51
+ visidata/pyobj.py,sha256=f36KXcQDQNR8snD_4JH97ZjT-XkCmQWteKSg2MmwDms,11882
52
+ visidata/rename_col.py,sha256=wUuhUkmwLxzyhS-OpDKExGTivQhmVdZ1XGBNy_FWVaE,1477
53
+ visidata/save.py,sha256=ND36ycPXQn_smD2ckM0kjLmvvEc2lq0tZ990jBh9kUs,8256
54
+ visidata/search.py,sha256=c5lWoTdunJAKiCFC_Oq8LutdQWKg__9n7djlhXCUQK0,6137
55
+ visidata/selection.py,sha256=LvYjVMmoT5oL9sb_gXNZz8_u-yAGPVsiRO3VJa6ilYY,11948
56
+ visidata/settings.py,sha256=Q-x6vjq_WKsh6xMumgNwStiqefkJIJ8zZ-Xj9w7Ep6k,20249
57
+ visidata/sheets.py,sha256=PxzyEcBPV1XqtYq5Zdtw4xX47eTmwz7tDjTBJOQhg7A,46668
58
+ visidata/shell.py,sha256=UAyLBArvKlK3lJo8RhY17W4i1noJOHHHMQlU658uxy4,10350
59
+ visidata/sidebar.py,sha256=XY9qnrnrJxiqaDtWA3Q3yGtixxcz34aSxjJSFTkGnbI,5678
60
+ visidata/sort.py,sha256=ZBE8h9xn6gq-ODMcwLbc4xmi5UZGUjFLP4_7sGWHsvo,3489
61
+ visidata/statusbar.py,sha256=GCfPb0heP4pU7WTfLqm1zsQeIgHMyzFH_ywp6ST-dbE,7961
62
+ visidata/stored_list.py,sha256=3yy1uUjp5NQHcRgnhIbQGmjFWJW294UMQ4iALDgF84I,1183
63
+ visidata/stored_prop.py,sha256=TNBq1bZuRr5lzxLU9khs-WwZdQdnIKVbmzwHcD6hy9k,1130
64
+ visidata/text_source.py,sha256=Wdd6n6pKMLeM4UsAb-BsO4zlY6haw3I7UpbRyRgVezY,1503
65
+ visidata/textsheet.py,sha256=qJq_YBWzKVwyhmtBSabwz91uw5cM_6xN8YMrVM_ZcYo,3518
66
+ visidata/theme.py,sha256=v9XoPeRQ-NhAKTux2zSxOiWWDL-FGfez7BPVqKitFGY,1152
67
+ visidata/threads.py,sha256=YgL_EZSXWw0Xah8qUsdDwv_r4xuGZCv3cV54WUG8jOk,16377
68
+ visidata/tuiwin.py,sha256=5CjXglD2JI9He1PiAxVdOi-hFRe9IokEGDuGaoBZQJ4,616
69
+ visidata/type_currency.py,sha256=Hys7wPwk5dmkHyyGmcJNOg2-JW_AzpLBIIgxH1hwhxk,1035
70
+ visidata/type_date.py,sha256=iVz6UDysmEkt5WQ4FumwKqi_wXylj3N6Me4QnOl41Xo,4737
71
+ visidata/type_floatsi.py,sha256=bRJt0GoTUwNTvPNqRII-vf_pF3PI7xbeVc7AP1YsmCQ,943
72
+ visidata/undo.py,sha256=kUGkYe4EcRwFiW_69DrFYiZ_5wgl05sJdOKhN_EPlt4,4052
73
+ visidata/utils.py,sha256=KspbO9dUIDSflKHu6Fy_885PVhX2Aa6ZNlbA77uIT9E,6001
74
+ visidata/vdobj.py,sha256=s48Cy-pcuYq6TrCBAQM8sT6xVWH5M8oxLT1eKcM2gDc,5503
75
+ visidata/windows.py,sha256=t096b2VDbTEZCVoV6L_UszHOhANUUW-uEwHKMcRu2b0,155
76
+ visidata/wrappers.py,sha256=yuuRYFbVCT05rMITHFBhU2hc8CKrRv4EvKBID7NgAaM,3291
77
+ visidata/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ visidata/apps/vdsql/__about__.py,sha256=zoLUUMF61C22Cb74CngA6kJD0nE9mfAzUDDmmMuahE0,323
79
+ visidata/apps/vdsql/__init__.py,sha256=bxTr4Rry5O3Ao4bamk1_Bcm69C8lsWyOeawVf9-PRY4,121
80
+ visidata/apps/vdsql/__main__.py,sha256=qgjuPRdBVUK-UMRE_bVCmg1YE_DrLvct7suJ1OT3UxM,774
81
+ visidata/apps/vdsql/_ibis.py,sha256=jgyW8C_9WW4d0fARfTymFoTqPABcMEk7ZHo0tJMD7n8,27730
82
+ visidata/apps/vdsql/bigquery.py,sha256=NwtVZeZtAXEL-b7jYEx0_AwWwyeMCwGXd9O9ZUiir5Y,1907
83
+ visidata/apps/vdsql/clickhouse.py,sha256=z4h0gkhAh9VYrv6f7gUrfWJSUZD21tWuaxznSoknADM,1805
84
+ visidata/apps/vdsql/setup.py,sha256=QqQCdJrxcGFhmqBEj2wEP7yIEmKg6VCZgyxvCOX8gZw,1098
85
+ visidata/apps/vdsql/snowflake.py,sha256=3_9V41kOdT4iAsXnzLmulP4f2au9q5kNluep6BvS_Qg,2186
86
+ visidata/apps/vgit/__init__.py,sha256=pojOWzO9_6vLgG8X7cPwIOf3k9ZrCcsvXr9MALpj9IA,159
87
+ visidata/apps/vgit/__main__.py,sha256=OiJygxYMyerRcRsj1A_BJsLOzYIM-bdyU1WvB40yy4w,39
88
+ visidata/apps/vgit/abort.py,sha256=hLo5Poj3zVlbmZ36LORG56jLAz1UYKqPAkYNplDWzdM,691
89
+ visidata/apps/vgit/blame.py,sha256=4kiXrBQxzMoVFhSo5DjeShCkqyBd0-TmjfAWRrKo-AQ,2488
90
+ visidata/apps/vgit/branch.py,sha256=CyoP9lacpj42-StJUN7sIodE7ARedoAiwYKMz6poV1M,5809
91
+ visidata/apps/vgit/config.py,sha256=iy1483RsWAMrf3YpWIEhexJFPIfm0dLdQxOKzgOU3Uc,2658
92
+ visidata/apps/vgit/diff.py,sha256=G2jtHL8DzHXxw7z_tz-osoGwtkX-DAoQV1SvoF_dODg,6408
93
+ visidata/apps/vgit/gitsheet.py,sha256=zyybjcx7HP-GZgVqt-4f83-HvVvJwpUg-AaJQjRE8Hw,5335
94
+ visidata/apps/vgit/grep.py,sha256=SdQ1Vnerr9utDQEqoBHn9XUTVfmrH32DOyFcOCzw5tA,1564
95
+ visidata/apps/vgit/log.py,sha256=_l-oT15-Fuq6mfYmlAN6izXT3zC0rPS5sj62izjruOY,3020
96
+ visidata/apps/vgit/main.py,sha256=JKakepDcJmpVLhK3xXiObqJqu_tqvG5fjpzjfKIoXlg,1427
97
+ visidata/apps/vgit/remote.py,sha256=8fY_Ta9FXyqJ6irT-iYLveFhz5G8IfTItdsfSvN5Bj8,1802
98
+ visidata/apps/vgit/repos.py,sha256=NAUM7m-imCU1Oc6pZbUCxI4HB086gaPdlJ_c3-p8kp4,2128
99
+ visidata/apps/vgit/setup.py,sha256=MPJqUoxGwh6hBqeddnApwW3kwbx9uM0REFLmB9QlZDY,1398
100
+ visidata/apps/vgit/stash.py,sha256=iLSsGvu-kDqmRCwaIuuapUoQCNh2boWwXqDN4-9f7DA,2551
101
+ visidata/apps/vgit/status.py,sha256=XWpXxwVJQFsyd70E7Qi1nUpr79jiXG8VXeZHUFX8x9I,8915
102
+ visidata/apps/vgit/statusbar.py,sha256=x5hoiSqpAwe3vJqh_OmUGqmsJa8W0jFYlc5UOnM9uVM,915
103
+ visidata/ddw/input.ddw,sha256=Y9Ah21ZGStgliC40fRa5R294--mZ5xw0wMCFmmsQPOU,6902
104
+ visidata/ddw/regex.ddw,sha256=xBrqffGO8LRf1STUu6G6nMSM_I19F6Zju-Dt7QxqewA,4808
105
+ visidata/desktop/visidata.desktop,sha256=ZYnMeeSig9Y17lt2Oo4noQPiuweSDhLkXl_EX5EvGSg,133
106
+ visidata/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ visidata/experimental/diff_sheet.py,sha256=l_Ngbz5vod5XWLSzZy_kpGugyktVsLNOH99XtNMMMnk,1099
108
+ visidata/experimental/digit_autoedit.py,sha256=ab2j4fvKf8LOXzkjLXVlhHYDg-9M8tYygOhoGQLVthI,304
109
+ visidata/experimental/gdrive.py,sha256=IvU531fUi2HSyNBxiumYDCcpN6h1hBvvz4r6rBuoHFk,2901
110
+ visidata/experimental/google.py,sha256=DfPalJ_f142UReDqUqfkUtGFbFnT_Nf2QPEYJXEkiso,1477
111
+ visidata/experimental/gsheets.py,sha256=acSXoWYUbUQEYlsWedLQwV3cvZhElOwhFzhzqV_3APs,2870
112
+ visidata/experimental/live_search.py,sha256=W9NF_RIKlZtDpbYuH84F35pB-EFt-rZhxl9r088mPxA,1223
113
+ visidata/experimental/liveupdate.py,sha256=kNj8k4RgTjsNAEf1yoVffNjx6hfQVXOW8uky7bRgl9Q,1576
114
+ visidata/experimental/mark.py,sha256=JKA7VZpTJ-5mlDUsZuo74hhOT6GNUVg70CdxL9-fqYw,4856
115
+ visidata/experimental/rownum.py,sha256=9CHF80aecm3r4MLvIvet_Qmm7CViwrroXTce7Za9SjE,2057
116
+ visidata/experimental/slide_cells.py,sha256=s7_RBJtPgKrNMtW5f7P4N7hpkY9-gQoKr3NXij2FzhY,722
117
+ visidata/experimental/noahs_tapestry/__init__.py,sha256=l_R6tUCT3vXHxfCtKUCHE5xJtzCsBaDrfueIxkSK7CQ,23
118
+ visidata/experimental/noahs_tapestry/tapestry.py,sha256=JWb5f7BZPZRWJAYBlDy4m7zAdKpb2A1h2FMFJG8AJrQ,5096
119
+ visidata/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
+ visidata/features/addcol_audiometadata.py,sha256=a8801aTjUKv0VvwfW8TkMkTaXW7f3bn44Sr1JCb_KCo,1161
121
+ visidata/features/addcol_histogram.py,sha256=vPXpsQXTHRclGYgrSSOsIQTgcpQGNpL1lYMRfO-CoE0,1058
122
+ visidata/features/canvas_save_svg.py,sha256=azsh4xbewRhqPBRAncyh5amNut2htRg4hGefUC9EPhk,2130
123
+ visidata/features/change_precision.py,sha256=fxAnWGETuCA-qqLh68p--Y4pe25Dnj_marqefIxMteg,1369
124
+ visidata/features/cmdpalette.py,sha256=fP5Nl3zEtDuJ2umgdg4tEoqB-RJm-wVf8ExIrmYD6ss,6638
125
+ visidata/features/colorbrewer.py,sha256=FpprltrQwLvpR1BQnbcWUhPwowQmhHaygrUHGziJXZw,10536
126
+ visidata/features/colorsheet.py,sha256=1bojnBeGDxF_LIZ9b3y92ijI8dV8OkNGspSUPCEBTF8,1497
127
+ visidata/features/command_server.py,sha256=Y_jkEqzlYUxsp_ZV6cnPQ_UGNr6xeWH06f5nIw7-ut8,3131
128
+ visidata/features/currency_to_usd.py,sha256=BCmhWN5ZmWlgjVZY5CGRpG_iDDnTYk9twIrVgGeqAnc,2399
129
+ visidata/features/customdate.py,sha256=0VL9JzcphaTY8pToN9GizV3jfAIV1xTllFPGeQPmnr8,1191
130
+ visidata/features/dedupe.py,sha256=4yb13dIJOiuMH4jLXQur9IfswzgJ1lxuvOKlgnF_HWo,3583
131
+ visidata/features/describe.py,sha256=p2b_d7AVpu0Zcaf2eGgTqSEAEj_4BMpuFIuaqYHiZ_s,5065
132
+ visidata/features/errors_guide.py,sha256=mkLXQYVcErP6ptRs8Oi_SbGwbYy2zirhbqstQQpIWUk,801
133
+ visidata/features/expand_cols.py,sha256=d9qm-uTvPrtP6BclHqlMSfJNtJWT8_Yi06i50k59DRw,7588
134
+ visidata/features/fill.py,sha256=_ZLb-ArfQ6vbcalpuTV8QYHhNEbZsj5cMmukLQ6DW6A,1127
135
+ visidata/features/freeze.py,sha256=Et-of6xca3sbx110RWwfSeJ5Y4RdnyrPH63jwoUlxm0,2488
136
+ visidata/features/graph_seaborn.py,sha256=WuhTtP5zbPQzsLTm6bHufNgzTB-rSycmgYwRJc00jK8,2705
137
+ visidata/features/helloworld.py,sha256=E0dvM-dSIaJvl8_Fr0S95NsnYYztRh6cALMglmOT_mM,353
138
+ visidata/features/hint_types.py,sha256=OUge1X2jUFLCmXPLpi0J5UbAEpsbFcaZI7eVYh4VQyg,589
139
+ visidata/features/incr.py,sha256=hcsS-rzFP9hBkPazQxucf9Gz-BYxrd6GOydcfWDmX84,1470
140
+ visidata/features/join.py,sha256=gdUYa15Ft3Ho59orgHe-3BgrHnCYWma3RTh5LjoiWSM,15133
141
+ visidata/features/known_cols.py,sha256=2MF1fzhe-kMYWL3WQfVl-7oIA2574Zij9wlEKJKtUr8,425
142
+ visidata/features/layout.py,sha256=5PWXxQGRxKQb8hJTT2GbMZ5t27IeiWTjYuMErxAaE4E,3095
143
+ visidata/features/melt.py,sha256=EuKeb6MenvgOdegDw7E6p7Ly6sdRS02D0E_AJYV8w7Q,4085
144
+ visidata/features/normcol.py,sha256=R3cO9E6pTlHPPBI6cdMjSsP2PaDXe7eXOA93H1a38Io,2972
145
+ visidata/features/open_config.py,sha256=rEgliwfnp0ewdKLuu3YPh6BJVefEAXLi9bF5WVhTy-M,236
146
+ visidata/features/open_syspaste.py,sha256=1f2-U27wrp-7mJaDTweMBvIEoqWkz86PpLNgOZu7y5E,508
147
+ visidata/features/ping.py,sha256=FGl7xUBaNaT9_pY4uNUBBLzQkg6wmiOil8482PUzxLE,5812
148
+ visidata/features/procmgr.py,sha256=3ixPaXQpsiTFZmCZmTeW9jyxnX3rGHxF7wOwek9OPic,9297
149
+ visidata/features/random_sample.py,sha256=oSZs4PEkx3_Ik7SI4ieDbhq16wImO9jW_kZERLPRUvg,528
150
+ visidata/features/regex.py,sha256=0umL98EOQB0aAQae-KEMQZj2A6Evop9bkS2EXJM5VxU,5722
151
+ visidata/features/reload_every.py,sha256=F_-zhvTfNrrg-Nzp9XU-EZgTtDlAL2EaGbSEiRd7NsE,1716
152
+ visidata/features/rename_col_cascade.py,sha256=WQgAuZiYZDHPy71muguXNzduReT8xb-A4verF8fkiLU,909
153
+ visidata/features/repeat.py,sha256=qJIPccmoRIzBxYVW6ye2At2nlUCDFy-p5CqVVFJMiAM,1180
154
+ visidata/features/scroll_context.py,sha256=XBohcurnkdNK3MPLaWPKXHJ2pfUVrooX6T4PL7DyOQw,2221
155
+ visidata/features/select_equal_selected.py,sha256=Uz3oTT3y1_B31r8fRDx-XMXOfV5NbVZp2jLb310xjrQ,471
156
+ visidata/features/setcol_fake.py,sha256=CWJlDTe9Bmgq1lnfCUxfhePnrY5t1vzqbi1SiaD-VwM,2625
157
+ visidata/features/slide.py,sha256=ErO9RHy7mv0L18hP8AdHRYMJIHl_ftKbsGGQHEgdfzU,7181
158
+ visidata/features/sparkline.py,sha256=o7hgT-VQHZmrU40yhHazeAQ5zABoE93js2trV7Sr84c,1286
159
+ visidata/features/status_source.py,sha256=AmreK9h8YrOXwi5QU33S1OA8cIzUlirkEbStPg7PCk0,567
160
+ visidata/features/sysedit.py,sha256=MzdJCJz94qkavLNtaCfXsjmOcV4KkXZNcOeFXaeO83Q,1433
161
+ visidata/features/sysopen_mailcap.py,sha256=4m0iRcts4iHHtLKi9CG_tf-7uZVhe2IJVAB8f0q4IJk,1646
162
+ visidata/features/term_extras.py,sha256=O14bf7hm89mF5PPHgIEWQqx-0HcB0LwGhpJIaYzz1EA,228
163
+ visidata/features/transpose.py,sha256=XChWg9d6qUqRPG1IFq_lXR9lr4g10KRQl6ylVXg77YA,1008
164
+ visidata/features/type_ipaddr.py,sha256=LC3B_FqbD5-dCOMsLQEozDhiZJMDAsn95Fq-B_ITpjs,1922
165
+ visidata/features/type_url.py,sha256=HRg0B5fdLWWT8OizNfJDVmB89cYk6N4wPfiT6LgwxqA,441
166
+ visidata/features/unfurl.py,sha256=3_DhxXy6Lc_ZuivqALRKI4jhGGNwY-bSkSCzA5W3eZI,2916
167
+ visidata/features/window.py,sha256=8aWtnOZbkNOsflcWKaHO7TerI4S4EUKg5FiFlaw5i4c,2231
168
+ visidata/loaders/__init__.py,sha256=oN_f4sosOdLzKcPH_KWm8r53g4xdzL9KtsEUAliTZRM,314
169
+ visidata/loaders/_pandas.py,sha256=bY4bOZhDDsSsb6hddlSRYC4KCNQ1-zhf09Ks3fTk4cY,16293
170
+ visidata/loaders/api_airtable.py,sha256=5ae0aayYsHxSP6WnqLwZ81A03Nk-77Rqi2GMasSpZ6o,2218
171
+ visidata/loaders/api_bitio.py,sha256=oWP5ougl6ijAqXNE0ZBtR3ortcNdvcLVSXq2lVgpMT8,3274
172
+ visidata/loaders/api_matrix.py,sha256=eGIT6fuk1MDdf56Or3df9TNrVvXAcH1YkpBnkAH3UPw,5205
173
+ visidata/loaders/api_reddit.py,sha256=B76dKwowV1huDRZ8HZJKkq_n-9fESMSGHMJ-abM0nLw,12569
174
+ visidata/loaders/api_zulip.py,sha256=VQhc3D44DAZag4JS12n5IQMIoHaxLdFQ1jvuUthD8UY,9411
175
+ visidata/loaders/archive.py,sha256=fDaMhgLXlvP4wUg_4bZ6xcGTZFckRoasRNOd0D0YFL0,5949
176
+ visidata/loaders/arrow.py,sha256=Ha4aKsMt-vLMQH9spWZSG-NCIGN1hEql6FHhnHL66k0,4062
177
+ visidata/loaders/conll.py,sha256=3EmzwevnL-9NxhEmRFn3T9JoEHcj3KxBpu5n-1DhAPc,1767
178
+ visidata/loaders/csv.py,sha256=T05eHRjVBb-cj28iGuQl9k7aTT7emNkwXDqfU8Sct8M,2793
179
+ visidata/loaders/eml.py,sha256=SLpmGXZIdn3gUMSBjzD0c6xdxTLCccDYUaZ8iSdwrWk,1944
180
+ visidata/loaders/f5log.py,sha256=pUzuz2Fl_Mz5w088NT99OjL3JnhxQplzCvpq-yHE8wA,46239
181
+ visidata/loaders/fec.py,sha256=pln6F0cx4ON4fx6dV34mVQ69jSuLmP-oLQnl5na9rhY,8939
182
+ visidata/loaders/fixed_width.py,sha256=vrHrYPRCT2hBHzGgGflIdO0EN3yT7OumEGLr828Ye8I,3159
183
+ visidata/loaders/frictionless.py,sha256=s7gof4Dj4MiFYhPmKjbCZbTOYZMHrf0yal_kgiFYa3I,522
184
+ visidata/loaders/geojson.py,sha256=HMRtdL-wiv7pufrbLs61Mxq3xrDLwXrbP6z7vmwxV94,5582
185
+ visidata/loaders/google.py,sha256=UVZDAs6lZIhTupBz7BEtMuQ0JUmZlfyfXSHQt6viKFY,1648
186
+ visidata/loaders/graphviz.py,sha256=_GBVswzYeClbgy_GBz6PXebX1BLwRRCqRoJEOTSVYsw,2195
187
+ visidata/loaders/hdf5.py,sha256=edYXVDtQtSOEb19ppk74SRudlxPf-CRUtzeFp3jxxOc,2497
188
+ visidata/loaders/html.py,sha256=dPiWBq92zHiO9VcEdCX17A1H9XCfXcG7wInQU498XhQ,7977
189
+ visidata/loaders/http.py,sha256=QiM72Zz6mGfRsP3-66A6h7xA4WtiRMxI8AP2phr572Y,4345
190
+ visidata/loaders/imap.py,sha256=7HimvfCfL-d04ZF9ulvUgC4R2yWSXWMozhrLZS9Vb6A,2517
191
+ visidata/loaders/jrnl.py,sha256=8Y4YrS6R0JPMxsM4MXIadu8IVOcueo9GJS0maeXvhos,1462
192
+ visidata/loaders/json.py,sha256=uUjFyE0RW59yjVjttIh9ji8v9uAphj5Vfv0KfMB_dMU,6309
193
+ visidata/loaders/jsonla.py,sha256=BlYmt0KxVrFHu-ZfcpeSIb2YeW2Qwnz6j_AZvnS0Nmw,2005
194
+ visidata/loaders/lsv.py,sha256=MtyRr4AVtOGnta2BLwjD-VE-V2HqBDEGQ-ma3UHmioo,1361
195
+ visidata/loaders/mailbox.py,sha256=hixlHAYS0Msb4x8XVIqXKBwy-pCtAsM9g7EH_F36WKI,1099
196
+ visidata/loaders/markdown.py,sha256=OKLSlwEuICEkvKayr8C61O0q1ma8Ge1EmqYUss899KY,1661
197
+ visidata/loaders/mbtiles.py,sha256=pXTY1LbW8pO-xUv2f4NS0WWj4r6AG94ItHe6qSWGYS4,4720
198
+ visidata/loaders/mysql.py,sha256=5vgnuAIkDaYn8kVs8WEjhFWtXDMYghCQzk8WdSNnzrs,3974
199
+ visidata/loaders/npy.py,sha256=TymJ2gAY0fNqKLcIOJYXdc9vflRDuN5STdbkN0ztm_k,3048
200
+ visidata/loaders/odf.py,sha256=mo6qqEL0Pvo7xr7ByCYOoWv6UFKSn8NfpkQbqHbe4Y4,2698
201
+ visidata/loaders/orgmode.py,sha256=hMT2XF5lJ_1OGJ9GOLO2YUyZNKM1HCNgoNP5krG3qcM,13316
202
+ visidata/loaders/pandas_freqtbl.py,sha256=WjnRcOCfT6spdskcqeSn9wcPBUtU2OYrjsclJ8GmqS4,8198
203
+ visidata/loaders/parquet.py,sha256=UiUBOGb_RGelWO5Iac76lFeUIaNAMnog92RZ3nh924U,2583
204
+ visidata/loaders/pcap.py,sha256=fx-7SMT5t01m8HQso4w6M-g-vp83Z2RsbY9vlCmzmc4,14199
205
+ visidata/loaders/pdf.py,sha256=EvHk6XbHGGrLw2PNqERcVLG4LzavxPeKjhXGvRFptQc,1772
206
+ visidata/loaders/png.py,sha256=4O0Fmg5Mgu_bHvn9Oxg3YZi3JYDbBTq7bzXMWxvu5vk,2806
207
+ visidata/loaders/postgres.py,sha256=JMsZdmLdcswTw6_RYvvqC4JfwLqNWh73tflFq9wTyNo,4315
208
+ visidata/loaders/rec.py,sha256=TOJbaxvH3heq24njNdZoSefxkurmWotFtWxsCpwa8Vo,4961
209
+ visidata/loaders/s3.py,sha256=S6V5_n9VGgllLN_VKqECDILJMB4kafYHwYgluA-ZZqQ,10629
210
+ visidata/loaders/sas.py,sha256=cYV2aZjD7fFfjQvad3n-nml4sQJkKUKTg6LV6K7ek3c,1176
211
+ visidata/loaders/scrape.py,sha256=AOq4k_mV1dxmLhxKUxR_MnN0z4VmAXxLPo5_cAFm-r0,6209
212
+ visidata/loaders/shp.py,sha256=yjE_tXVWIkguYuy-mOb72r6oXulxoBIXFZjkP0c0tTw,3572
213
+ visidata/loaders/spss.py,sha256=ieXqsDFcco22X-h2eSTS2pbQcWBajbtU4TOPTdWu6kA,765
214
+ visidata/loaders/sqlite.py,sha256=DUFLdFNGYHrlwR-O0Bw5giY7bKDjKDKLPG05gpjfI9w,11424
215
+ visidata/loaders/texttables.py,sha256=Ip0IfYxkSlcVB4yBXkSAGA2kZecKfKhHMWBMx0YpOg4,676
216
+ visidata/loaders/toml.py,sha256=WJdajaoq1BMiyhac9u8iDlcxt1JDCEdPd7psBhusnw4,1751
217
+ visidata/loaders/tsv.py,sha256=Q3sRITVPEjhPKZCCCKHZ-15ACl3QqCTlMhLEsGgRSRU,4820
218
+ visidata/loaders/ttf.py,sha256=Xm99Vw8p7oNUx30FHGxZPgQSOGc3gPeGxCgqQly5o1g,3381
219
+ visidata/loaders/unzip_http.py,sha256=D5CqICk9eLnnJEriWK-X3lISlxUF4K2zofCiM40lii8,9021
220
+ visidata/loaders/usv.py,sha256=uY1kWrF6VcMTwpmFWv8G4Sc36_x0Lm2KPQ10jqsx4Fc,313
221
+ visidata/loaders/vcf.py,sha256=WY982daT_vP_tdvad6vtFkYnIc1oH6lYBpnIiDR5X_8,1224
222
+ visidata/loaders/vds.py,sha256=WxqueQ1y5jzVTXGZoXE8FGY27uqtUPtHipYLGpg2CrY,2878
223
+ visidata/loaders/vdx.py,sha256=77rPmjBGJlC6DEMB1JJS02-Lsf_CRO8S9x8ktkuLvps,2425
224
+ visidata/loaders/xlsb.py,sha256=sLG9s7Va27I91FHIIaq_rtDcHjwzHj1GdUfUi5doc4I,655
225
+ visidata/loaders/xlsx.py,sha256=DaIB0R9oIEWyEuCBmkkjENi7Z6Axlr0qha3ESviGsgE,10990
226
+ visidata/loaders/xml.py,sha256=3tt8RKgfmWbqz8GW_hg7aJmJNMJ6M1B45b01ODvBazI,3207
227
+ visidata/loaders/xword.py,sha256=FCoye38YPUmAG7nKA5uDQSxFbUXgqQkEaiflih6A-1U,3521
228
+ visidata/loaders/yaml.py,sha256=BEbL7b7xF82WnWbtKyMN3mIFf5R3m27aWxFMafkizqQ,1756
229
+ visidata/man/parse_options.py,sha256=QP6TDVb4ZxPLOfQvJIcq8eKrlUTdDb4WLE6-veuMZgg,3213
230
+ visidata/man/vd.1,sha256=Wc6nSidRWM-7U1kLRgIPVnsQaJfY9J14TvkRsZly_9o,57560
231
+ visidata/man/vd.txt,sha256=sICbLRFfnTnQggaBt04WgE5NQR4CSKoAQY4terGz3c8,66454
232
+ visidata/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
233
+ visidata/tests/benchmark.csv,sha256=ZX_-M4QitNvBSir-JbsUhX_rqGASZAfH7o3X7v9kejs,4668
234
+ visidata/tests/conftest.py,sha256=JrIAbZQ6x5IdlImPKS2zaZ79AAC3hBp2q9RzcfYh53I,528
235
+ visidata/tests/sample.tsv,sha256=PpOOwpDffq6UzYUH0HlVoXwUvXA9q4ADRs64KPf6M4w,2046
236
+ visidata/tests/test_cliptext.py,sha256=w8aroRn2yPm0IjKr_L2eDmc709Q7mNSx0ZLO1omOqqQ,1173
237
+ visidata/tests/test_commands.py,sha256=I39vWDWONZtDFB9WtDdLNHOs7Cj44a0NDFIwxbrWkc4,6623
238
+ visidata/tests/test_date.py,sha256=_goZr5nUoqWB5IZRBp7G9hnfoJtDDIkkajArjHmNazs,253
239
+ visidata/tests/test_edittext.py,sha256=spyDhEKzI3qOQN3EUwOQBOVF1N5_TywdLfyPE3JWSnk,1932
240
+ visidata/tests/test_features.py,sha256=M4vcoD5o7DkUV33SLqmJj1C7RfKx4Xz75Y9G0QZlGFU,839
241
+ visidata/tests/test_menu.py,sha256=CQms1LTkPKvLpkrSnLG5GlDbGOsq1cu3UQ29bKNOs94,378
242
+ visidata/tests/test_path.py,sha256=1OLSPTSkWvNdc2GKZysqOhnzDdtrIpvfrOucAsQGCxQ,1467
243
+ visidata/themes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
+ visidata/themes/ascii8.py,sha256=c0sgoYKr5fo-pVF0rf4XC4R0dN6UwIEWPcZEFikfEuQ,2366
245
+ visidata/themes/asciimono.py,sha256=ylvfYgQixg1erKQVHX36wjYqLLbJ_XB4L8DTFZsa5y0,2219
246
+ visidata/themes/light.py,sha256=ciE-CPLalaMjKv-0alIPe4rPU_j-lBxpH9g7W-xNGqk,761
247
+ visidata/vendor/appdirs.py,sha256=bv3lwBYfZNtNPOva2Kg1hB-p2oyp8XXQnOtAGe662ps,24527
248
+ visidata-3.0.1.data/data/share/applications/visidata.desktop,sha256=ZYnMeeSig9Y17lt2Oo4noQPiuweSDhLkXl_EX5EvGSg,133
249
+ visidata-3.0.1.data/data/share/man/man1/vd.1,sha256=Wc6nSidRWM-7U1kLRgIPVnsQaJfY9J14TvkRsZly_9o,57560
250
+ visidata-3.0.1.data/data/share/man/man1/visidata.1,sha256=Wc6nSidRWM-7U1kLRgIPVnsQaJfY9J14TvkRsZly_9o,57560
251
+ visidata-3.0.1.data/scripts/vd,sha256=1K_G6-qHOHs5JK6-wfraGXNnAyujDaDJGlw04WXPkQE,86
252
+ visidata-3.0.1.data/scripts/vd2to3.vdx,sha256=NdyyINfa8vvg2LgKfIohMMGcJOCjpx7hqZWv0bUF3EU,183
253
+ visidata-3.0.1.dist-info/LICENSE.gpl3,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
254
+ visidata-3.0.1.dist-info/METADATA,sha256=UsCKCHbwwRYnqsW52K_jxhzss8K8KPO1q2Bwr3j60Q8,4397
255
+ visidata-3.0.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
256
+ visidata-3.0.1.dist-info/entry_points.txt,sha256=kji--8O48AhK0K4Z74s9b6Ve32kBD-0StD8imzzs12s,50
257
+ visidata-3.0.1.dist-info/top_level.txt,sha256=v2FzJlcgz-eSZeFIviYkZacHZJ8K3fjGbmj2B8QqyNc,9
258
+ visidata-3.0.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.1)
2
+ Generator: bdist_wheel (0.41.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
vgit/__init__.py DELETED
@@ -1 +0,0 @@
1
- from visidata.apps.vgit import grep, abort, statusbar, config, branch, remote, blame
vgit/gitsheet.py DELETED
@@ -1,164 +0,0 @@
1
- import io
2
-
3
- from visidata import AttrDict, vd, Path, asyncthread, BaseSheet, Sheet
4
-
5
- vd.option('vgit_logfile', '', 'file to log all git commands run by vgit')
6
-
7
-
8
- class GitContext:
9
- def _git_args(self):
10
- 'Return list of extra args to all git commands'
11
-
12
- def _getRepoPath(p):
13
- 'Return path at p or above which has .git subdir'
14
- if p.joinpath('.git').exists():
15
- return p
16
- if getattr(p, 'given', None) in ['/','']:
17
- return None
18
- return _getRepoPath(p.resolve().parent)
19
-
20
- worktree = _getRepoPath(self.gitRootSheet.source) # Path
21
- if not worktree:
22
- return []
23
-
24
- return [
25
- '--git-dir', str(worktree.joinpath('.git')),
26
- '--work-tree', str(worktree),
27
- ]
28
-
29
- def debugloggit(self, *args, **kwargs):
30
- sh = vd.importExternal('sh')
31
- return self.loggit(*args, logger=vd.debug, **kwargs)
32
-
33
- def loggit(self, *args, logger=vd.status, **kwargs):
34
- sh = vd.importExternal('sh')
35
- cmdstr = 'git ' + ' '.join(str(x) for x in args)
36
-
37
- vd.warning(cmdstr)
38
-
39
- if self.options.vgit_logfile:
40
- with open(self.options.vgit_logfile, 'a') as fp:
41
- fp.write(cmdstr + '\n')
42
-
43
- return sh.git(*args, **kwargs)
44
-
45
- def git_all(self, *args, git=None, **kwargs):
46
- 'Return entire output of git command.'
47
- sh = vd.importExternal('sh')
48
- git = git or self.loggit
49
- try:
50
- cmd = git('--no-pager',
51
- *self._git_args(),
52
- *args,
53
- _decode_errors='replace',
54
- **kwargs)
55
- out = cmd.stdout
56
- except sh.ErrorReturnCode as e:
57
- vd.status('git '+' '.join(args), 'error=%s' % e.exit_code)
58
- out = e.stdout
59
-
60
- out = out.decode('utf-8')
61
-
62
- return out
63
-
64
- def git_lines(self, *args, **kwargs):
65
- 'Generator of stdout lines from given git command'
66
- sh = vd.importExternal('sh')
67
- err = io.StringIO()
68
- git = self.loggit
69
- try:
70
- for line in git('--no-pager',
71
- *self._git_args(),
72
- *args,
73
- _decode_errors='replace',
74
- _iter=True,
75
- _bg_exc=False,
76
- _err=err,
77
- **kwargs):
78
- yield line[:-1] # remove EOL
79
-
80
- except sh.ErrorReturnCode as e:
81
- vd.error('git '+' '.join(args), 'error=%s' % e.exit_code)
82
-
83
- errlines = err.getvalue().splitlines()
84
- if errlines:
85
- vd.warning('git stderr: ' + '\n'.join(errlines))
86
-
87
- def git_iter(self, *args, sep='\0', **kwargs):
88
- 'Generator of chunks of stdout from given git command, delineated by sep character'
89
- sh = vd.importExternal('sh')
90
- err = io.StringIO()
91
- git = self.loggit
92
-
93
- bufsize = 512
94
- chunks = []
95
- try:
96
- for data in git('--no-pager',
97
- *self._git_args(),
98
- *args,
99
- _decode_errors='replace',
100
- _out_bufsize=bufsize,
101
- _iter=True,
102
- _err=err,
103
- **kwargs):
104
- while True:
105
- i = data.find(sep)
106
- if i < 0:
107
- break
108
- chunks.append(data[:i])
109
- data = data[i+1:]
110
- yield ''.join(chunks)
111
- chunks.clear()
112
-
113
- chunks.append(data)
114
- except sh.ErrorReturnCode as e:
115
- vd.error('git '+' '.join(args), 'error=%s' % e.exit_code)
116
-
117
- if chunks:
118
- yield ''.join(chunks)
119
-
120
- errlines = err.getvalue().splitlines()
121
- if errlines:
122
- vd.warning('git stderr: ' + '\n'.join(errlines))
123
-
124
- @asyncthread
125
- def modifyGit(self, *args, **kwargs):
126
- 'Run git command that modifies the repo'
127
- for line in self.git_lines(*args, **kwargs):
128
- vd.status(line)
129
-
130
- if isinstance(self.source, GitSheet):
131
- self.source.reload()
132
-
133
- self.reload()
134
-
135
- @property
136
- def gitRootSheet(self):
137
- if isinstance(self.source, GitSheet):
138
- return self.source.gitRootSheet
139
- return self
140
-
141
- @property
142
- def gitPath(self):
143
- return Path('.git') # XXX from git root
144
-
145
-
146
- class GitSheet(GitContext, Sheet):
147
- def git_exec(self, cmdstr):
148
- vd.push(TextSheet(cmdstr, source=sheet.git_lines(*cmdstr.split())))
149
-
150
- @GitSheet.lazy_property
151
- def branch(self):
152
- return self.git_all('rev-parse', '--abbrev-ref', 'HEAD').strip()
153
-
154
-
155
-
156
- GitSheet.options.disp_note_none = ''
157
- GitSheet.options.disp_status_fmt = '{sheet.progressStatus}‹{sheet.branchStatus}› {sheet.name}| '
158
- BaseSheet.addCommand('gi', 'git-exec', 'sheet.git_exec(input("gi", type="git"))')
159
-
160
- GitSheet.addCommand('Alt+g', 'menu-git', 'pressMenu("Git")', '')
161
-
162
- vd.addMenuItems('''
163
- Git > Execute command > git-exec
164
- ''')
visidata/layout.py DELETED
@@ -1,44 +0,0 @@
1
- from visidata import VisiData, vd, Column, Sheet, Fanout
2
-
3
- @Column.api
4
- def setWidth(self, w):
5
- if self.width != w:
6
- if self.width == 0 or w == 0: # hide/unhide
7
- vd.addUndo(setattr, self, '_width', self.width)
8
- self._width = w
9
-
10
-
11
- @Column.api
12
- def toggleWidth(self, width):
13
- 'Change column width to either given `width` or default value.'
14
- if self.width != width:
15
- self.width = width
16
- else:
17
- self.width = int(self.sheet.options.default_width)
18
-
19
-
20
- @Column.api
21
- def toggleVisibility(self):
22
- if self.height == 1:
23
- self.height = self.sheet.options.default_height
24
- else:
25
- self.height = 1
26
-
27
- @VisiData.api
28
- def unhide_cols(vd, cols, rows):
29
- 'sets appropriate width if column was either hidden (0) or unseen (None)'
30
- for c in cols:
31
- c.setWidth(abs(c.width or 0) or c.getMaxWidth(rows))
32
-
33
-
34
- Sheet.addCommand('_', 'resize-col-max', 'cursorCol.toggleWidth(cursorCol.getMaxWidth(visibleRows))', 'toggle width of current column between full and default width'),
35
- Sheet.addCommand('z_', 'resize-col-input', 'width = int(input("set width= ", value=cursorCol.width)); cursorCol.setWidth(width)', 'adjust width of current column to N')
36
- Sheet.addCommand('g_', 'resize-cols-max', 'for c in visibleCols: c.setWidth(c.getMaxWidth(visibleRows))', 'toggle widths of all visible columns between full and default width'),
37
- Sheet.addCommand('gz_', 'resize-cols-input', 'width = int(input("set width= ", value=cursorCol.width)); Fanout(visibleCols).setWidth(width)', 'adjust widths of all visible columns to N')
38
-
39
- Sheet.addCommand('-', 'hide-col', 'cursorCol.hide()', 'Hide current column')
40
- Sheet.addCommand('z-', 'resize-col-half', 'cursorCol.setWidth(cursorCol.width//2)', 'reduce width of current column by half'),
41
-
42
- Sheet.addCommand('gv', 'unhide-cols', 'unhide_cols(columns, visibleRows)', 'Show all columns')
43
- Sheet.addCommand('v', 'visibility-sheet', 'for c in visibleCols: c.toggleVisibility()')
44
- Sheet.addCommand('zv', 'visibility-col', 'cursorCol.toggleVisibility()')
visidata/misc.py DELETED
@@ -1,5 +0,0 @@
1
- import random
2
-
3
- from visidata import Sheet
4
-
5
- Sheet.addCommand(None, 'random-rows', 'nrows=int(input("random number to select: ", value=nRows)); vs=copy(sheet); vs.name=name+"_sample"; vs.rows=random.sample(rows, nrows or nRows); vd.push(vs)', 'open duplicate sheet with a random population subset of N rows')
@@ -1,9 +0,0 @@
1
- #!/home/anja/anaconda3/envs/visidata/bin/python3
2
-
3
- import sys
4
- from visidata.apps.vgit.main import vgit_cli
5
-
6
-
7
- if __name__ == '__main__':
8
- rc = vgit_cli()
9
- sys.exit(rc)