visidata 2.11.1__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 (255) 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 +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. {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 +59 -50
  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 +5 -1
  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 +30 -5
  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 +163 -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} +75 -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 +180 -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 +17 -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 +48 -10
  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 +301 -148
  187. visidata/man/vd.txt +290 -153
  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 +50 -201
  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 +229 -257
  206. visidata/shell.py +51 -21
  207. visidata/sidebar.py +162 -0
  208. visidata/sort.py +11 -4
  209. visidata/statusbar.py +113 -104
  210. visidata/stored_list.py +43 -0
  211. visidata/stored_prop.py +38 -0
  212. visidata/tests/conftest.py +3 -3
  213. visidata/tests/test_cliptext.py +39 -0
  214. visidata/tests/test_commands.py +62 -7
  215. visidata/tests/test_edittext.py +2 -2
  216. visidata/tests/test_features.py +17 -0
  217. visidata/tests/test_menu.py +14 -0
  218. visidata/tests/test_path.py +13 -4
  219. visidata/text_source.py +53 -0
  220. visidata/textsheet.py +10 -3
  221. visidata/theme.py +44 -0
  222. visidata/themes/__init__.py +0 -0
  223. visidata/themes/ascii8.py +84 -0
  224. visidata/themes/asciimono.py +84 -0
  225. visidata/themes/light.py +17 -0
  226. visidata/threads.py +87 -39
  227. visidata/tuiwin.py +22 -0
  228. visidata/type_currency.py +22 -3
  229. visidata/type_date.py +31 -9
  230. visidata/type_floatsi.py +5 -1
  231. visidata/undo.py +17 -5
  232. visidata/utils.py +106 -23
  233. visidata/vdobj.py +28 -17
  234. visidata/windows.py +10 -0
  235. visidata/wrappers.py +9 -3
  236. visidata-3.0.data/data/share/applications/visidata.desktop +7 -0
  237. {visidata-2.11.1.data → visidata-3.0.data}/data/share/man/man1/vd.1 +301 -148
  238. {visidata-2.11.1.data → visidata-3.0.data}/data/share/man/man1/visidata.1 +301 -148
  239. visidata-3.0.data/scripts/vd2to3.vdx +9 -0
  240. {visidata-2.11.1.dist-info → visidata-3.0.dist-info}/METADATA +12 -8
  241. visidata-3.0.dist-info/RECORD +257 -0
  242. {visidata-2.11.1.dist-info → visidata-3.0.dist-info}/WHEEL +1 -1
  243. vgit/__init__.py +0 -1
  244. vgit/gitsheet.py +0 -164
  245. visidata/layout.py +0 -44
  246. visidata/misc.py +0 -5
  247. visidata-2.11.1.data/scripts/vgit +0 -9
  248. visidata-2.11.1.dist-info/RECORD +0 -155
  249. {vgit → visidata/apps/vgit}/__main__.py +0 -0
  250. {vgit → visidata/apps/vgit}/abort.py +0 -0
  251. /visidata/{repeat.py → features/repeat.py} +0 -0
  252. {visidata-2.11.1.data → visidata-3.0.data}/scripts/vd +0 -0
  253. {visidata-2.11.1.dist-info → visidata-3.0.dist-info}/LICENSE.gpl3 +0 -0
  254. {visidata-2.11.1.dist-info → visidata-3.0.dist-info}/entry_points.txt +0 -0
  255. {visidata-2.11.1.dist-info → visidata-3.0.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
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
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
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,257 @@
1
+ visidata/__init__.py,sha256=iAL5x6sINNkIf54THX-pfsGy9doNpzT2o_mUReFyRdY,3758
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=YQ24iktvF_fee1JvKnm7nfH9mD3ekpUHAgfzY2ypvKY,8421
8
+ visidata/basesheet.py,sha256=wN6PwMJagQVAZWdXYnXpujpuxjxUFqBa7myrLSqUlvA,10295
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=KEYIAvWtvoNHOUgaE6SnLBCLKIljNkkDJRK9dtq8pOg,22284
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=Llwh9huzsgsabcHZNCPvANQZkfR5-nRScZQhlOX9kj8,1120
23
+ visidata/expr.py,sha256=8_Ylr4QadNz1LD7NiYMBaKph-B4IJxoR5vzk4aNZrlU,3085
24
+ visidata/extensible.py,sha256=tWDVWnve5i7x4jF5wOo_ITw8aM2eSPtrTLKKWXjaStY,5613
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=aQ0pF8e9N8R3B7jimktw3uTcZImH04N-Q8K1WnyceCA,6437
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=r5dFajqLjFdm2FHAVaEOsms-jAk3pyB_-qjQ9MjQ_Q0,2418
36
+ visidata/macos.py,sha256=bqH73E27j8qDRtXsHPcUyQNFTAzD5Ki5QU6LjSUnnOI,3339
37
+ visidata/macros.py,sha256=5-HUcEIlDwDzuXNe0i6pOraab-_4QDA94EGHybcNi8E,5700
38
+ visidata/main.py,sha256=AeXhPW5SKNhRlbSojHSYxVVjU08ct81m7JLhQbOThYU,13201
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=aUs7eAIQsDj4guUmxuadLzxUC_jNHNDE1bH1zzc4ASM,11486
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=OHdaLlwUDRx233RslgfVaGflCsLdV9gg1n7Ooy0J11Y,46549
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=kC1aKTR86AkLkv6Y-BGq2-ke2e52afZkuPFvQ4YVniI,7893
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=oas59W-6exCDRzQkK1FDJWaJeM9MJ1SnKopxL7awFqw,16341
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=G5J_gj6P-i4C6D37XeLxkwavU6odH4p6Gkw0NaUputQ,5533
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=17TWwJidz6G2MR13exY-n9WlnBPBOD1OqYh_AiLZW9c,7063
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=P0NfADjnd1BDeKplbeKvGYRPGlVzrUfH1jaEIfADJhY,12539
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=8L5aY_30xHHjOqPMKItu-anB9OEe5Jb1-LZd4o4tjVk,7850
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=zbBMHES_47quWyWTkfhu3CtfeBe7iTRDhuSxbzynxGs,57516
231
+ visidata/man/vd.txt,sha256=KTcc58l9IXxm37JWBGMSCd91jzYYn9ii9YRjCKoON2k,66398
232
+ visidata/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
233
+ visidata/tests/conftest.py,sha256=JrIAbZQ6x5IdlImPKS2zaZ79AAC3hBp2q9RzcfYh53I,528
234
+ visidata/tests/sample.tsv,sha256=PpOOwpDffq6UzYUH0HlVoXwUvXA9q4ADRs64KPf6M4w,2046
235
+ visidata/tests/test_cliptext.py,sha256=w8aroRn2yPm0IjKr_L2eDmc709Q7mNSx0ZLO1omOqqQ,1173
236
+ visidata/tests/test_commands.py,sha256=V7RVv-QPBOJRXmRJKLe6s5eq_KLjA651lEmeMKux88s,6467
237
+ visidata/tests/test_date.py,sha256=_goZr5nUoqWB5IZRBp7G9hnfoJtDDIkkajArjHmNazs,253
238
+ visidata/tests/test_edittext.py,sha256=spyDhEKzI3qOQN3EUwOQBOVF1N5_TywdLfyPE3JWSnk,1932
239
+ visidata/tests/test_features.py,sha256=_rJOWBxEzipy8FbdCuhcGx3vLInerSDN8wT0CHmkuZo,533
240
+ visidata/tests/test_menu.py,sha256=CQms1LTkPKvLpkrSnLG5GlDbGOsq1cu3UQ29bKNOs94,378
241
+ visidata/tests/test_path.py,sha256=1OLSPTSkWvNdc2GKZysqOhnzDdtrIpvfrOucAsQGCxQ,1467
242
+ visidata/themes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
+ visidata/themes/ascii8.py,sha256=c0sgoYKr5fo-pVF0rf4XC4R0dN6UwIEWPcZEFikfEuQ,2366
244
+ visidata/themes/asciimono.py,sha256=ylvfYgQixg1erKQVHX36wjYqLLbJ_XB4L8DTFZsa5y0,2219
245
+ visidata/themes/light.py,sha256=ciE-CPLalaMjKv-0alIPe4rPU_j-lBxpH9g7W-xNGqk,761
246
+ visidata/vendor/appdirs.py,sha256=bv3lwBYfZNtNPOva2Kg1hB-p2oyp8XXQnOtAGe662ps,24527
247
+ visidata-3.0.data/data/share/applications/visidata.desktop,sha256=ZYnMeeSig9Y17lt2Oo4noQPiuweSDhLkXl_EX5EvGSg,133
248
+ visidata-3.0.data/data/share/man/man1/vd.1,sha256=zbBMHES_47quWyWTkfhu3CtfeBe7iTRDhuSxbzynxGs,57516
249
+ visidata-3.0.data/data/share/man/man1/visidata.1,sha256=zbBMHES_47quWyWTkfhu3CtfeBe7iTRDhuSxbzynxGs,57516
250
+ visidata-3.0.data/scripts/vd,sha256=1K_G6-qHOHs5JK6-wfraGXNnAyujDaDJGlw04WXPkQE,86
251
+ visidata-3.0.data/scripts/vd2to3.vdx,sha256=NdyyINfa8vvg2LgKfIohMMGcJOCjpx7hqZWv0bUF3EU,183
252
+ visidata-3.0.dist-info/LICENSE.gpl3,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
253
+ visidata-3.0.dist-info/METADATA,sha256=I5R55OuXZtuueIRvbVb35lflqxt7FIrFjrJZfbO4lWI,4391
254
+ visidata-3.0.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
255
+ visidata-3.0.dist-info/entry_points.txt,sha256=kji--8O48AhK0K4Z74s9b6Ve32kBD-0StD8imzzs12s,50
256
+ visidata-3.0.dist-info/top_level.txt,sha256=v2FzJlcgz-eSZeFIviYkZacHZJ8K3fjGbmj2B8QqyNc,9
257
+ visidata-3.0.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)