visidata 2.11.dev0__tar.gz → 3.0__tar.gz

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 (299) hide show
  1. visidata-3.0/MANIFEST.in +13 -0
  2. visidata-3.0/PKG-INFO +101 -0
  3. {visidata-2.11.dev0 → visidata-3.0}/README.md +7 -4
  4. visidata-3.0/bin/vd2to3.vdx +9 -0
  5. visidata-3.0/setup.py +95 -0
  6. visidata-3.0/visidata/__init__.py +157 -0
  7. {visidata-2.11.dev0 → visidata-3.0}/visidata/_input.py +263 -44
  8. {visidata-2.11.dev0 → visidata-3.0}/visidata/_open.py +84 -29
  9. {visidata-2.11.dev0 → visidata-3.0}/visidata/_types.py +22 -4
  10. {visidata-2.11.dev0 → visidata-3.0}/visidata/_urlcache.py +17 -4
  11. {visidata-2.11.dev0 → visidata-3.0}/visidata/aggregators.py +65 -25
  12. visidata-3.0/visidata/apps/vdsql/__about__.py +8 -0
  13. visidata-3.0/visidata/apps/vdsql/__init__.py +5 -0
  14. visidata-3.0/visidata/apps/vdsql/__main__.py +27 -0
  15. visidata-3.0/visidata/apps/vdsql/_ibis.py +748 -0
  16. visidata-3.0/visidata/apps/vdsql/bigquery.py +61 -0
  17. visidata-3.0/visidata/apps/vdsql/clickhouse.py +53 -0
  18. visidata-3.0/visidata/apps/vdsql/setup.py +40 -0
  19. visidata-3.0/visidata/apps/vdsql/snowflake.py +67 -0
  20. visidata-3.0/visidata/apps/vgit/__init__.py +13 -0
  21. visidata-3.0/visidata/apps/vgit/__main__.py +3 -0
  22. visidata-3.0/visidata/apps/vgit/abort.py +23 -0
  23. visidata-3.0/visidata/apps/vgit/blame.py +76 -0
  24. visidata-3.0/visidata/apps/vgit/branch.py +153 -0
  25. visidata-3.0/visidata/apps/vgit/config.py +95 -0
  26. visidata-3.0/visidata/apps/vgit/diff.py +169 -0
  27. visidata-3.0/visidata/apps/vgit/gitsheet.py +161 -0
  28. visidata-3.0/visidata/apps/vgit/grep.py +37 -0
  29. visidata-3.0/visidata/apps/vgit/log.py +81 -0
  30. visidata-3.0/visidata/apps/vgit/main.py +55 -0
  31. visidata-3.0/visidata/apps/vgit/remote.py +57 -0
  32. visidata-3.0/visidata/apps/vgit/repos.py +71 -0
  33. visidata-3.0/visidata/apps/vgit/setup.py +37 -0
  34. visidata-3.0/visidata/apps/vgit/stash.py +69 -0
  35. visidata-3.0/visidata/apps/vgit/status.py +204 -0
  36. visidata-3.0/visidata/apps/vgit/statusbar.py +34 -0
  37. {visidata-2.11.dev0 → visidata-3.0}/visidata/basesheet.py +59 -50
  38. {visidata-2.11.dev0 → visidata-3.0}/visidata/canvas.py +251 -99
  39. {visidata-2.11.dev0 → visidata-3.0}/visidata/choose.py +15 -11
  40. visidata-3.0/visidata/clean_names.py +29 -0
  41. {visidata-2.11.dev0 → visidata-3.0}/visidata/clipboard.py +84 -18
  42. visidata-3.0/visidata/cliptext.py +357 -0
  43. {visidata-2.11.dev0 → visidata-3.0}/visidata/cmdlog.py +89 -114
  44. visidata-3.0/visidata/color.py +245 -0
  45. {visidata-2.11.dev0 → visidata-3.0}/visidata/column.py +134 -131
  46. visidata-3.0/visidata/ddw/input.ddw +82 -0
  47. visidata-3.0/visidata/ddw/regex.ddw +57 -0
  48. {visidata-2.11.dev0 → visidata-3.0}/visidata/ddwplay.py +33 -14
  49. {visidata-2.11.dev0 → visidata-3.0}/visidata/deprecated.py +77 -3
  50. visidata-3.0/visidata/desktop/visidata.desktop +7 -0
  51. {visidata-2.11.dev0 → visidata-3.0}/visidata/editor.py +12 -6
  52. {visidata-2.11.dev0 → visidata-3.0}/visidata/errors.py +5 -1
  53. visidata-3.0/visidata/experimental/diff_sheet.py +29 -0
  54. visidata-3.0/visidata/experimental/digit_autoedit.py +6 -0
  55. visidata-3.0/visidata/experimental/gdrive.py +89 -0
  56. visidata-3.0/visidata/experimental/google.py +37 -0
  57. visidata-3.0/visidata/experimental/gsheets.py +79 -0
  58. visidata-3.0/visidata/experimental/live_search.py +37 -0
  59. visidata-3.0/visidata/experimental/liveupdate.py +45 -0
  60. visidata-3.0/visidata/experimental/mark.py +133 -0
  61. visidata-3.0/visidata/experimental/noahs_tapestry/__init__.py +1 -0
  62. visidata-3.0/visidata/experimental/noahs_tapestry/clues.json +1 -0
  63. visidata-3.0/visidata/experimental/noahs_tapestry/flame.ddw +324 -0
  64. visidata-3.0/visidata/experimental/noahs_tapestry/menorah.ddw +838 -0
  65. visidata-3.0/visidata/experimental/noahs_tapestry/noahs.sqlite +0 -0
  66. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle0.md +25 -0
  67. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle1.md +13 -0
  68. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle2.md +13 -0
  69. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle3.md +13 -0
  70. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle4.md +15 -0
  71. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle5.md +11 -0
  72. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle6.md +11 -0
  73. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle7.md +13 -0
  74. visidata-3.0/visidata/experimental/noahs_tapestry/puzzle8.md +11 -0
  75. visidata-3.0/visidata/experimental/noahs_tapestry/solutions.json +1 -0
  76. visidata-3.0/visidata/experimental/noahs_tapestry/tapestry.ddw +2151 -0
  77. visidata-3.0/visidata/experimental/noahs_tapestry/tapestry.py +147 -0
  78. visidata-3.0/visidata/experimental/rownum.py +73 -0
  79. visidata-3.0/visidata/experimental/slide_cells.py +26 -0
  80. {visidata-2.11.dev0 → visidata-3.0}/visidata/expr.py +8 -4
  81. {visidata-2.11.dev0 → visidata-3.0}/visidata/extensible.py +32 -6
  82. visidata-3.0/visidata/features/__init__.py +0 -0
  83. visidata-3.0/visidata/features/addcol_audiometadata.py +42 -0
  84. visidata-3.0/visidata/features/addcol_histogram.py +34 -0
  85. visidata-3.0/visidata/features/canvas_save_svg.py +69 -0
  86. visidata-3.0/visidata/features/change_precision.py +46 -0
  87. visidata-3.0/visidata/features/cmdpalette.py +163 -0
  88. visidata-3.0/visidata/features/colorbrewer.py +363 -0
  89. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/colorsheet.py +17 -16
  90. visidata-3.0/visidata/features/command_server.py +105 -0
  91. visidata-3.0/visidata/features/currency_to_usd.py +70 -0
  92. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/customdate.py +2 -0
  93. visidata-3.0/visidata/features/dedupe.py +132 -0
  94. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/describe.py +17 -15
  95. visidata-3.0/visidata/features/errors_guide.py +26 -0
  96. visidata-3.0/visidata/features/expand_cols.py +202 -0
  97. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/fill.py +4 -2
  98. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/freeze.py +11 -6
  99. visidata-3.0/visidata/features/graph_seaborn.py +79 -0
  100. visidata-3.0/visidata/features/helloworld.py +10 -0
  101. visidata-3.0/visidata/features/hint_types.py +17 -0
  102. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/incr.py +5 -0
  103. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/join.py +107 -53
  104. visidata-3.0/visidata/features/known_cols.py +21 -0
  105. visidata-3.0/visidata/features/layout.py +62 -0
  106. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/melt.py +33 -21
  107. visidata-3.0/visidata/features/normcol.py +118 -0
  108. visidata-3.0/visidata/features/open_config.py +7 -0
  109. visidata-3.0/visidata/features/open_syspaste.py +18 -0
  110. visidata-3.0/visidata/features/ping.py +157 -0
  111. visidata-3.0/visidata/features/procmgr.py +208 -0
  112. visidata-3.0/visidata/features/random_sample.py +6 -0
  113. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/regex.py +47 -31
  114. visidata-3.0/visidata/features/reload_every.py +55 -0
  115. visidata-3.0/visidata/features/rename_col_cascade.py +30 -0
  116. visidata-3.0/visidata/features/scroll_context.py +60 -0
  117. visidata-3.0/visidata/features/select_equal_selected.py +11 -0
  118. visidata-3.0/visidata/features/setcol_fake.py +65 -0
  119. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/slide.py +75 -21
  120. visidata-3.0/visidata/features/sparkline.py +48 -0
  121. visidata-3.0/visidata/features/status_source.py +20 -0
  122. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/sysedit.py +2 -1
  123. visidata-3.0/visidata/features/sysopen_mailcap.py +46 -0
  124. visidata-3.0/visidata/features/term_extras.py +13 -0
  125. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/transpose.py +5 -4
  126. visidata-3.0/visidata/features/type_ipaddr.py +73 -0
  127. visidata-3.0/visidata/features/type_url.py +11 -0
  128. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/unfurl.py +9 -9
  129. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/window.py +2 -2
  130. {visidata-2.11.dev0 → visidata-3.0}/visidata/form.py +50 -21
  131. visidata-3.0/visidata/freqtbl.py +164 -0
  132. visidata-3.0/visidata/fuzzymatch.py +414 -0
  133. {visidata-2.11.dev0 → visidata-3.0}/visidata/graph.py +105 -33
  134. visidata-3.0/visidata/guide.py +180 -0
  135. {visidata-2.11.dev0 → visidata-3.0}/visidata/help.py +75 -44
  136. visidata-3.0/visidata/hint.py +39 -0
  137. visidata-3.0/visidata/indexsheet.py +109 -0
  138. visidata-3.0/visidata/input_history.py +55 -0
  139. visidata-3.0/visidata/interface.py +58 -0
  140. {visidata-2.11.dev0 → visidata-3.0}/visidata/keys.py +17 -16
  141. visidata-3.0/visidata/loaders/__init__.py +9 -0
  142. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/_pandas.py +61 -21
  143. visidata-3.0/visidata/loaders/api_airtable.py +70 -0
  144. visidata-3.0/visidata/loaders/api_matrix.py +148 -0
  145. visidata-3.0/visidata/loaders/api_reddit.py +306 -0
  146. visidata-3.0/visidata/loaders/api_zulip.py +249 -0
  147. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/archive.py +41 -7
  148. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/arrow.py +7 -7
  149. visidata-3.0/visidata/loaders/conll.py +49 -0
  150. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/csv.py +25 -7
  151. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/eml.py +3 -4
  152. visidata-3.0/visidata/loaders/f5log.py +1204 -0
  153. visidata-3.0/visidata/loaders/fec.py +325 -0
  154. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/fixed_width.py +3 -5
  155. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/frictionless.py +3 -3
  156. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/geojson.py +8 -5
  157. visidata-3.0/visidata/loaders/google.py +48 -0
  158. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/graphviz.py +4 -4
  159. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/hdf5.py +4 -4
  160. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/html.py +48 -10
  161. visidata-3.0/visidata/loaders/http.py +125 -0
  162. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/imap.py +20 -10
  163. visidata-3.0/visidata/loaders/jrnl.py +52 -0
  164. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/json.py +83 -29
  165. visidata-3.0/visidata/loaders/jsonla.py +74 -0
  166. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/lsv.py +15 -11
  167. visidata-3.0/visidata/loaders/mailbox.py +40 -0
  168. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/markdown.py +1 -3
  169. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/mbtiles.py +4 -5
  170. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/mysql.py +11 -13
  171. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/npy.py +7 -7
  172. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/odf.py +4 -1
  173. visidata-3.0/visidata/loaders/orgmode.py +428 -0
  174. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/pandas_freqtbl.py +14 -20
  175. visidata-3.0/visidata/loaders/parquet.py +84 -0
  176. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/pcap.py +3 -3
  177. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/pdf.py +4 -3
  178. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/png.py +19 -13
  179. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/postgres.py +9 -8
  180. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/rec.py +7 -3
  181. visidata-3.0/visidata/loaders/s3.py +342 -0
  182. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/sas.py +5 -5
  183. visidata-3.0/visidata/loaders/scrape.py +186 -0
  184. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/shp.py +6 -5
  185. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/spss.py +5 -6
  186. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/sqlite.py +68 -28
  187. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/texttables.py +1 -1
  188. visidata-3.0/visidata/loaders/toml.py +60 -0
  189. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/tsv.py +61 -19
  190. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/ttf.py +19 -7
  191. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/unzip_http.py +6 -5
  192. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/usv.py +1 -1
  193. visidata-3.0/visidata/loaders/vcf.py +41 -0
  194. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/vds.py +10 -7
  195. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/vdx.py +30 -5
  196. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/xlsb.py +8 -1
  197. visidata-3.0/visidata/loaders/xlsx.py +298 -0
  198. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/xml.py +6 -3
  199. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/xword.py +4 -4
  200. {visidata-2.11.dev0 → visidata-3.0}/visidata/loaders/yaml.py +15 -5
  201. {visidata-2.11.dev0 → visidata-3.0}/visidata/macos.py +1 -1
  202. visidata-3.0/visidata/macros.py +178 -0
  203. {visidata-2.11.dev0 → visidata-3.0}/visidata/main.py +119 -94
  204. visidata-3.0/visidata/mainloop.py +333 -0
  205. {visidata-2.11.dev0 → visidata-3.0}/visidata/man/parse_options.py +2 -2
  206. {visidata-2.11.dev0 → visidata-3.0}/visidata/man/vd.1 +302 -147
  207. {visidata-2.11.dev0 → visidata-3.0}/visidata/man/vd.txt +291 -151
  208. {visidata-2.11.dev0 → visidata-3.0}/visidata/man/visidata.1 +302 -147
  209. {visidata-2.11.dev0 → visidata-3.0}/visidata/memory.py +3 -3
  210. visidata-3.0/visidata/menu.py +506 -0
  211. visidata-3.0/visidata/metasheets.py +166 -0
  212. {visidata-2.11.dev0 → visidata-3.0}/visidata/modify.py +79 -23
  213. {visidata-2.11.dev0 → visidata-3.0}/visidata/motd.py +3 -3
  214. visidata-3.0/visidata/mouse.py +137 -0
  215. {visidata-2.11.dev0 → visidata-3.0}/visidata/movement.py +43 -35
  216. visidata-3.0/visidata/optionssheet.py +99 -0
  217. {visidata-2.11.dev0 → visidata-3.0}/visidata/path.py +131 -43
  218. {visidata-2.11.dev0 → visidata-3.0}/visidata/pivot.py +74 -47
  219. visidata-3.0/visidata/plugins.py +102 -0
  220. {visidata-2.11.dev0 → visidata-3.0}/visidata/pyobj.py +50 -201
  221. visidata-3.0/visidata/rename_col.py +20 -0
  222. {visidata-2.11.dev0 → visidata-3.0}/visidata/save.py +42 -20
  223. visidata-3.0/visidata/search.py +127 -0
  224. {visidata-2.11.dev0 → visidata-3.0}/visidata/selection.py +84 -5
  225. {visidata-2.11.dev0 → visidata-3.0}/visidata/settings.py +162 -24
  226. {visidata-2.11.dev0 → visidata-3.0}/visidata/sheets.py +229 -257
  227. {visidata-2.11.dev0 → visidata-3.0}/visidata/shell.py +51 -21
  228. visidata-3.0/visidata/sidebar.py +162 -0
  229. {visidata-2.11.dev0 → visidata-3.0}/visidata/sort.py +11 -4
  230. visidata-3.0/visidata/statusbar.py +245 -0
  231. visidata-3.0/visidata/stored_list.py +43 -0
  232. visidata-3.0/visidata/tests/__init__.py +0 -0
  233. {visidata-2.11.dev0 → visidata-3.0}/visidata/tests/conftest.py +3 -3
  234. visidata-3.0/visidata/tests/test_cliptext.py +39 -0
  235. {visidata-2.11.dev0 → visidata-3.0}/visidata/tests/test_commands.py +62 -7
  236. {visidata-2.11.dev0 → visidata-3.0}/visidata/tests/test_edittext.py +2 -2
  237. visidata-3.0/visidata/tests/test_features.py +17 -0
  238. visidata-3.0/visidata/tests/test_menu.py +14 -0
  239. {visidata-2.11.dev0 → visidata-3.0}/visidata/tests/test_path.py +13 -4
  240. visidata-3.0/visidata/text_source.py +53 -0
  241. {visidata-2.11.dev0 → visidata-3.0}/visidata/textsheet.py +10 -3
  242. visidata-3.0/visidata/theme.py +44 -0
  243. visidata-3.0/visidata/themes/__init__.py +0 -0
  244. visidata-3.0/visidata/themes/ascii8.py +84 -0
  245. visidata-3.0/visidata/themes/asciimono.py +84 -0
  246. visidata-3.0/visidata/themes/light.py +17 -0
  247. {visidata-2.11.dev0 → visidata-3.0}/visidata/threads.py +87 -39
  248. visidata-3.0/visidata/tuiwin.py +22 -0
  249. visidata-3.0/visidata/type_currency.py +35 -0
  250. {visidata-2.11.dev0 → visidata-3.0}/visidata/type_date.py +31 -9
  251. {visidata-2.11.dev0 → visidata-3.0}/visidata/type_floatsi.py +5 -1
  252. {visidata-2.11.dev0 → visidata-3.0}/visidata/undo.py +18 -6
  253. visidata-3.0/visidata/utils.py +211 -0
  254. {visidata-2.11.dev0 → visidata-3.0}/visidata/vdobj.py +28 -17
  255. visidata-3.0/visidata/windows.py +10 -0
  256. {visidata-2.11.dev0 → visidata-3.0}/visidata/wrappers.py +9 -3
  257. visidata-3.0/visidata.egg-info/PKG-INFO +101 -0
  258. visidata-3.0/visidata.egg-info/SOURCES.txt +272 -0
  259. {visidata-2.11.dev0 → visidata-3.0}/visidata.egg-info/entry_points.txt +0 -1
  260. {visidata-2.11.dev0 → visidata-3.0}/visidata.egg-info/requires.txt +5 -2
  261. visidata-2.11.dev0/MANIFEST.in +0 -7
  262. visidata-2.11.dev0/PKG-INFO +0 -98
  263. visidata-2.11.dev0/setup.py +0 -52
  264. visidata-2.11.dev0/visidata/__init__.py +0 -176
  265. visidata-2.11.dev0/visidata/cliptext.py +0 -183
  266. visidata-2.11.dev0/visidata/color.py +0 -159
  267. visidata-2.11.dev0/visidata/ddw/input.ddw +0 -87
  268. visidata-2.11.dev0/visidata/freqtbl.py +0 -116
  269. visidata-2.11.dev0/visidata/layout.py +0 -44
  270. visidata-2.11.dev0/visidata/loaders/http.py +0 -71
  271. visidata-2.11.dev0/visidata/loaders/parquet.py +0 -28
  272. visidata-2.11.dev0/visidata/loaders/vcf.py +0 -41
  273. visidata-2.11.dev0/visidata/loaders/xlsx.py +0 -178
  274. visidata-2.11.dev0/visidata/macros.py +0 -89
  275. visidata-2.11.dev0/visidata/mainloop.py +0 -386
  276. visidata-2.11.dev0/visidata/menu.py +0 -825
  277. visidata-2.11.dev0/visidata/metasheets.py +0 -248
  278. visidata-2.11.dev0/visidata/misc.py +0 -5
  279. visidata-2.11.dev0/visidata/plugins.py +0 -229
  280. visidata-2.11.dev0/visidata/search.py +0 -83
  281. visidata-2.11.dev0/visidata/statusbar.py +0 -236
  282. visidata-2.11.dev0/visidata/type_currency.py +0 -16
  283. visidata-2.11.dev0/visidata/utils.py +0 -128
  284. visidata-2.11.dev0/visidata.egg-info/PKG-INFO +0 -98
  285. visidata-2.11.dev0/visidata.egg-info/SOURCES.txt +0 -145
  286. {visidata-2.11.dev0 → visidata-3.0}/LICENSE.gpl3 +0 -0
  287. {visidata-2.11.dev0 → visidata-3.0}/bin/vd +0 -0
  288. {visidata-2.11.dev0 → visidata-3.0}/setup.cfg +0 -0
  289. {visidata-2.11.dev0 → visidata-3.0}/visidata/__main__.py +0 -0
  290. {visidata-2.11.dev0/visidata/loaders → visidata-3.0/visidata/apps}/__init__.py +0 -0
  291. {visidata-2.11.dev0 → visidata-3.0}/visidata/bezier.py +0 -0
  292. {visidata-2.11.dev0 → visidata-3.0}/visidata/canvas_text.py +0 -0
  293. {visidata-2.11.dev0/visidata/tests → visidata-3.0/visidata/experimental}/__init__.py +0 -0
  294. {visidata-2.11.dev0/visidata → visidata-3.0/visidata/features}/repeat.py +0 -0
  295. {visidata-2.11.dev0 → visidata-3.0}/visidata/tests/sample.tsv +0 -0
  296. {visidata-2.11.dev0 → visidata-3.0}/visidata/tests/test_date.py +0 -0
  297. {visidata-2.11.dev0 → visidata-3.0}/visidata/vendor/appdirs.py +0 -0
  298. {visidata-2.11.dev0 → visidata-3.0}/visidata.egg-info/dependency_links.txt +0 -0
  299. {visidata-2.11.dev0 → visidata-3.0}/visidata.egg-info/top_level.txt +0 -0
@@ -0,0 +1,13 @@
1
+ include README.md
2
+ include LICENSE.gpl3
3
+ include visidata/man/vd.1
4
+ include visidata/man/vd.txt
5
+ include visidata/man/visidata.1
6
+ include visidata/ddw/input.ddw
7
+ include visidata/ddw/regex.ddw
8
+ include visidata/tests/sample.tsv
9
+ include visidata/desktop/visidata.desktop
10
+ include visidata/experimental/noahs_tapestry/*.json
11
+ include visidata/experimental/noahs_tapestry/*.md
12
+ include visidata/experimental/noahs_tapestry/*.ddw
13
+ include visidata/experimental/noahs_tapestry/*.sqlite
visidata-3.0/PKG-INFO ADDED
@@ -0,0 +1,101 @@
1
+ Metadata-Version: 2.1
2
+ Name: visidata
3
+ Version: 3.0
4
+ Summary: terminal interface for exploring and arranging tabular data
5
+ Home-page: https://visidata.org
6
+ Download-URL: https://github.com/saulpw/visidata/tarball/3.0
7
+ Author: Saul Pwanson
8
+ Author-email: visidata@saul.pw
9
+ License: GPLv3
10
+ Keywords: console tabular data spreadsheet terminal viewer textpunkcurses csv hdf5 h5 xlsx excel tsv
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Environment :: Console
13
+ Classifier: Environment :: Console :: Curses
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: Intended Audience :: System Administrators
17
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Topic :: Database :: Front-Ends
21
+ Classifier: Topic :: Scientific/Engineering
22
+ Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
23
+ Classifier: Topic :: Scientific/Engineering :: Visualization
24
+ Classifier: Topic :: Utilities
25
+ Requires-Python: >=3.7
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE.gpl3
28
+
29
+ # VisiData v3.0
30
+
31
+ [![Tests](https://github.com/saulpw/visidata/workflows/visidata-ci-build/badge.svg)](https://github.com/saulpw/visidata/actions/workflows/main.yml)
32
+ [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/saulpw/visidata)
33
+
34
+ [![discord](https://img.shields.io/discord/880915750007750737?label=discord)](https://visidata.org/chat)
35
+ [![mastodon @visidata@fosstodon.org][2.1]][2]
36
+ [![twitter @VisiData][1.1]][1]
37
+
38
+ A terminal interface for exploring and arranging tabular data.
39
+
40
+ ![Frequency table](http://visidata.org/freq-move-row.gif)
41
+
42
+ VisiData supports tsv, csv, sqlite, json, xlsx (Excel), hdf5, and [many other formats](https://visidata.org/formats).
43
+
44
+ ## Platform requirements
45
+
46
+ - Linux, OS/X, or Windows (with WSL)
47
+ - Python 3.8+
48
+ - additional Python modules are required for certain formats and sources
49
+
50
+ ## Install
51
+
52
+ To install the latest release from PyPi:
53
+
54
+ pip3 install visidata
55
+
56
+ To install the cutting edge `develop` branch (no warranty expressed or implied):
57
+
58
+ pip3 install git+https://github.com/saulpw/visidata.git@develop
59
+
60
+ See [visidata.org/install](https://visidata.org/install) for detailed instructions for all available platforms and package managers.
61
+
62
+ ### Usage
63
+
64
+ $ vd <input>
65
+ $ <command> | vd
66
+
67
+ Press `Ctrl+Q` to quit at any time.
68
+
69
+ Hundreds of other commands and options are also available; see the documentation.
70
+
71
+ ### Documentation
72
+
73
+ * [VisiData documentation](https://visidata.org/docs)
74
+ * [Plugin Author's Guide and API Reference](https://visidata.org/docs/api)
75
+ * [Quick reference](https://visidata.org/man) (available within `vd` with `Ctrl+H`), which has a list of commands and options.
76
+ * [Intro to VisiData Tutorial](https://jsvine.github.io/intro-to-visidata/) by [Jeremy Singer-Vine](https://www.jsvine.com/)
77
+
78
+ ### Help and Support
79
+
80
+ If you have a question, issue, or suggestion regarding VisiData, please [create an issue on Github](https://github.com/saulpw/visidata/issues) or chat with us at #visidata on [irc.libera.chat](https://libera.chat/).
81
+
82
+ If you use VisiData regularly, please [support me on Patreon](https://www.patreon.com/saulpw)!
83
+
84
+ ## License
85
+
86
+ Code in the `stable` branch of this repository, including the main `vd` application, loaders, and plugins, is available for use and redistribution under GPLv3.
87
+
88
+ ## Credits
89
+
90
+ VisiData is conceived and developed by Saul Pwanson `<vd@saul.pw>`.
91
+
92
+ Anja Kefala `<anja.kefala@gmail.com>` maintains the documentation and packages for all platforms.
93
+
94
+ Many thanks to numerous other [contributors](https://visidata.org/credits/), and to those wonderful users who provide feedback, for helping to make VisiData the awesome tool that it is.
95
+
96
+ [1.1]: http://i.imgur.com/tXSoThF.png
97
+ [1]: http://www.twitter.com/VisiData
98
+ [2.1]: https://raw.githubusercontent.com/mastodon/mastodon/main/app/javascript/images/logo.svg
99
+ [2]: https://fosstodon.org/@visidata
100
+
101
+ <!-- Please don't remove this: Grab your social icons from https://github.com/carlsednaoui/gitsocial -->
@@ -1,10 +1,11 @@
1
+ # VisiData v3.0
1
2
 
2
- # VisiData v2.10.2
3
-
4
- [![twitter @VisiData][1.1]][1]
5
3
  [![Tests](https://github.com/saulpw/visidata/workflows/visidata-ci-build/badge.svg)](https://github.com/saulpw/visidata/actions/workflows/main.yml)
6
4
  [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/saulpw/visidata)
5
+
7
6
  [![discord](https://img.shields.io/discord/880915750007750737?label=discord)](https://visidata.org/chat)
7
+ [![mastodon @visidata@fosstodon.org][2.1]][2]
8
+ [![twitter @VisiData][1.1]][1]
8
9
 
9
10
  A terminal interface for exploring and arranging tabular data.
10
11
 
@@ -15,7 +16,7 @@ VisiData supports tsv, csv, sqlite, json, xlsx (Excel), hdf5, and [many other fo
15
16
  ## Platform requirements
16
17
 
17
18
  - Linux, OS/X, or Windows (with WSL)
18
- - Python 3.7+
19
+ - Python 3.8+
19
20
  - additional Python modules are required for certain formats and sources
20
21
 
21
22
  ## Install
@@ -66,5 +67,7 @@ Many thanks to numerous other [contributors](https://visidata.org/credits/), and
66
67
 
67
68
  [1.1]: http://i.imgur.com/tXSoThF.png
68
69
  [1]: http://www.twitter.com/VisiData
70
+ [2.1]: https://raw.githubusercontent.com/mastodon/mastodon/main/app/javascript/images/logo.svg
71
+ [2]: https://fosstodon.org/@visidata
69
72
 
70
73
  <!-- Please don't remove this: Grab your social icons from https://github.com/carlsednaoui/gitsocial -->
@@ -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
visidata-3.0/setup.py ADDED
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/env python3
2
+
3
+ from setuptools import setup
4
+
5
+ # tox can't actually run python3 setup.py: https://github.com/tox-dev/tox/issues/96
6
+ # from visidata import __version__
7
+ __version__ = "3.0"
8
+
9
+ setup(
10
+ name="visidata",
11
+ version=__version__,
12
+ description="terminal interface for exploring and arranging tabular data",
13
+ long_description=open("README.md").read(),
14
+ long_description_content_type="text/markdown",
15
+ author="Saul Pwanson",
16
+ python_requires=">=3.7",
17
+ author_email="visidata@saul.pw",
18
+ url="https://visidata.org",
19
+ download_url="https://github.com/saulpw/visidata/tarball/" + __version__,
20
+ scripts=["bin/vd", "bin/vd2to3.vdx"],
21
+ entry_points={
22
+ "console_scripts": ["visidata=visidata.main:vd_cli"],
23
+ },
24
+ py_modules=["visidata"],
25
+ install_requires=[
26
+ "python-dateutil",
27
+ 'windows-curses != 2.3.1; platform_system == "Windows"', # 1841
28
+ "importlib-metadata >= 3.6",
29
+ 'importlib_resources; python_version<"3.9"',
30
+ ],
31
+ packages=[
32
+ "visidata",
33
+ "visidata.loaders",
34
+ "visidata.vendor",
35
+ "visidata.tests",
36
+ "visidata.ddw",
37
+ "visidata.man",
38
+ "visidata.themes",
39
+ "visidata.features",
40
+ "visidata.experimental",
41
+ "visidata.experimental.noahs_tapestry",
42
+ "visidata.apps",
43
+ "visidata.apps.vgit",
44
+ "visidata.apps.vdsql",
45
+ "visidata.desktop",
46
+ ],
47
+ data_files=[
48
+ ("share/man/man1", ["visidata/man/vd.1", "visidata/man/visidata.1"]),
49
+ ("share/applications", ["visidata/desktop/visidata.desktop"]),
50
+ ],
51
+ package_data={
52
+ "visidata.man": ["vd.1", "vd.txt"],
53
+ "visidata.ddw": ["input.ddw", "regex.ddw"],
54
+ "visidata.tests": ["sample.tsv"],
55
+ "visidata.desktop": ["visidata.desktop"],
56
+ "visidata.experimenta.noahs_tapestry": [
57
+ "clues.json",
58
+ "flames.ddw",
59
+ "menorah.ddw",
60
+ "noahs.sqlite",
61
+ "puzzle0.md",
62
+ "puzzle1.md",
63
+ "puzzle2.md",
64
+ "puzzle3.md",
65
+ "puzzle4.md",
66
+ "puzzle5.md",
67
+ "puzzle6.md",
68
+ "puzzle7.md",
69
+ "puzzle8.md",
70
+ "solutions.json",
71
+ "tapestry.ddw",
72
+ ],
73
+ },
74
+ license="GPLv3",
75
+ classifiers=[
76
+ "Development Status :: 5 - Production/Stable",
77
+ "Environment :: Console",
78
+ "Environment :: Console :: Curses",
79
+ "Intended Audience :: Developers",
80
+ "Intended Audience :: Science/Research",
81
+ "Intended Audience :: System Administrators",
82
+ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
83
+ "Operating System :: OS Independent",
84
+ "Programming Language :: Python :: 3",
85
+ "Topic :: Database :: Front-Ends",
86
+ "Topic :: Scientific/Engineering",
87
+ "Topic :: Office/Business :: Financial :: Spreadsheet",
88
+ "Topic :: Scientific/Engineering :: Visualization",
89
+ "Topic :: Utilities",
90
+ ],
91
+ keywords=(
92
+ "console tabular data spreadsheet terminal viewer textpunk"
93
+ "curses csv hdf5 h5 xlsx excel tsv"
94
+ ),
95
+ )
@@ -0,0 +1,157 @@
1
+ 'VisiData: a curses interface for exploring and arranging tabular data'
2
+
3
+ __version__ = '3.0'
4
+ __version_info__ = 'VisiData v' + __version__
5
+ __author__ = 'Saul Pwanson <vd@saul.pw>'
6
+ __status__ = 'Production/Stable'
7
+ __copyright__ = 'Copyright (c) 2016-2021 ' + __author__
8
+
9
+
10
+ class EscapeException(BaseException):
11
+ 'Inherits from BaseException to avoid "except Exception" clauses. Do not use a blanket "except:" or the task will be uncancelable.'
12
+ pass
13
+
14
+
15
+ def addGlobals(*args, **kwargs):
16
+ '''Update the VisiData globals dict with items from *args* and *kwargs*, which are mappings of names to functions.
17
+ Importers can call ``addGlobals(globals())`` to have their globals accessible to execstrings.
18
+
19
+ Dunder methods are ignored, to prevent accidentally overwriting housekeeping methods.'''
20
+ drop_dunder = lambda d: {k: v for k, v in d.items() if not k.startswith("__")}
21
+ for g in args:
22
+ globals().update(drop_dunder(g))
23
+ globals().update(drop_dunder(kwargs))
24
+
25
+
26
+ def getGlobals():
27
+ 'Return the VisiData globals dict.'
28
+ return globals()
29
+
30
+ from .utils import *
31
+
32
+ from .extensible import *
33
+ from .vdobj import *
34
+ vd = VisiData()
35
+
36
+ vd.version = __version__
37
+
38
+ vd.addGlobals = addGlobals
39
+ vd.getGlobals = getGlobals
40
+
41
+ import visidata.keys
42
+
43
+ from .basesheet import *
44
+
45
+ import visidata.settings
46
+
47
+ # importModule tracks where commands/options/etc are coming from (via vd.importingModule)
48
+ core_imports = '''
49
+ import visidata.errors
50
+ import visidata.editor
51
+ import visidata.color
52
+ import visidata.cliptext
53
+ import visidata.mainloop
54
+
55
+ import visidata.menu
56
+ import visidata.wrappers
57
+ import visidata.undo
58
+ import visidata._types
59
+ import visidata.column
60
+
61
+ import visidata.interface
62
+ import visidata.sheets
63
+ import visidata.rename_col
64
+ import visidata.indexsheet
65
+
66
+ import visidata.statusbar
67
+
68
+ import visidata.textsheet
69
+ import visidata.threads
70
+ import visidata.path
71
+ import visidata.guide
72
+
73
+ import visidata.stored_list
74
+ import visidata._input
75
+ import visidata.tuiwin
76
+ import visidata.mouse
77
+ import visidata.movement
78
+
79
+ import visidata.type_date
80
+
81
+ import visidata._urlcache
82
+ import visidata.selection
83
+ import visidata.text_source
84
+ import visidata.loaders
85
+ import visidata.loaders.tsv
86
+ import visidata.pyobj
87
+ import visidata.loaders.json
88
+ import visidata._open
89
+ import visidata.save
90
+ import visidata.search
91
+
92
+ import visidata.expr
93
+ import visidata.metasheets
94
+ import visidata.input_history
95
+ import visidata.optionssheet
96
+ import visidata.type_currency
97
+ import visidata.type_floatsi
98
+ import visidata.clean_names
99
+ import visidata.cmdlog
100
+ import visidata.clipboard
101
+ import visidata.choose
102
+ import visidata.aggregators
103
+ import visidata.pivot
104
+ import visidata.freqtbl
105
+ import visidata.canvas
106
+ import visidata.canvas_text
107
+ import visidata.graph
108
+ import visidata.motd
109
+ import visidata.shell
110
+ import visidata.main
111
+ import visidata.help
112
+ import visidata.modify
113
+ import visidata.sort
114
+ import visidata.memory
115
+ import visidata.macros
116
+
117
+ import visidata.macos
118
+ import visidata.windows
119
+
120
+ import visidata.form
121
+ import visidata.sidebar
122
+
123
+ import visidata.ddwplay
124
+ import visidata.plugins
125
+
126
+ import visidata.theme
127
+ import visidata.apps
128
+ import visidata.fuzzymatch
129
+ import visidata.hint
130
+ '''
131
+
132
+ for line in core_imports.splitlines():
133
+ if not line: continue
134
+ module = line[len('import '):]
135
+ vd.importModule(module)
136
+
137
+ vd.importSubmodules('visidata.loaders')
138
+
139
+ def importFeatures():
140
+ vd.importSubmodules('visidata.features')
141
+ vd.importSubmodules('visidata.themes')
142
+
143
+ vd.importStar('visidata.deprecated')
144
+
145
+ vd.importStar('builtins')
146
+ vd.importStar('copy')
147
+ vd.importStar('math')
148
+ vd.importStar('random')
149
+ vd.importStar('itertools')
150
+
151
+ import visidata.experimental # import nothing by default but make package accessible
152
+
153
+ vd.finalInit() # call all VisiData.init() from modules
154
+
155
+ importFeatures()
156
+
157
+ vd.addGlobals(globals())