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.
- visidata/__init__.py +72 -91
- visidata/_input.py +259 -42
- visidata/_open.py +84 -29
- visidata/_types.py +21 -3
- visidata/_urlcache.py +17 -4
- visidata/aggregators.py +78 -25
- visidata/apps/__init__.py +0 -0
- visidata/apps/vdsql/__about__.py +8 -0
- visidata/apps/vdsql/__init__.py +5 -0
- visidata/apps/vdsql/__main__.py +27 -0
- visidata/apps/vdsql/_ibis.py +748 -0
- visidata/apps/vdsql/bigquery.py +61 -0
- visidata/apps/vdsql/clickhouse.py +53 -0
- visidata/apps/vdsql/setup.py +40 -0
- visidata/apps/vdsql/snowflake.py +67 -0
- visidata/apps/vgit/__init__.py +13 -0
- {vgit → visidata/apps/vgit}/blame.py +5 -2
- {vgit → visidata/apps/vgit}/branch.py +31 -16
- {vgit → visidata/apps/vgit}/config.py +3 -3
- visidata/apps/vgit/diff.py +169 -0
- visidata/apps/vgit/gitsheet.py +161 -0
- {vgit → visidata/apps/vgit}/grep.py +6 -5
- visidata/apps/vgit/log.py +81 -0
- {vgit → visidata/apps/vgit}/main.py +18 -5
- {vgit → visidata/apps/vgit}/remote.py +8 -4
- visidata/apps/vgit/repos.py +71 -0
- {vgit → visidata/apps/vgit}/setup.py +6 -4
- visidata/apps/vgit/stash.py +69 -0
- visidata/apps/vgit/status.py +204 -0
- {vgit → visidata/apps/vgit}/statusbar.py +2 -0
- visidata/basesheet.py +63 -51
- visidata/canvas.py +208 -93
- visidata/choose.py +6 -6
- visidata/clean_names.py +29 -0
- visidata/clipboard.py +73 -17
- visidata/cliptext.py +220 -46
- visidata/cmdlog.py +88 -114
- visidata/color.py +142 -56
- visidata/column.py +121 -129
- visidata/ddw/input.ddw +74 -79
- visidata/ddw/regex.ddw +57 -0
- visidata/ddwplay.py +33 -14
- visidata/deprecated.py +77 -3
- visidata/desktop/visidata.desktop +7 -0
- visidata/editor.py +12 -6
- visidata/errors.py +6 -2
- visidata/experimental/__init__.py +0 -0
- visidata/experimental/diff_sheet.py +29 -0
- visidata/experimental/digit_autoedit.py +6 -0
- visidata/experimental/gdrive.py +89 -0
- visidata/experimental/google.py +37 -0
- visidata/experimental/gsheets.py +79 -0
- visidata/experimental/live_search.py +37 -0
- visidata/experimental/liveupdate.py +45 -0
- visidata/experimental/mark.py +133 -0
- visidata/experimental/noahs_tapestry/__init__.py +1 -0
- visidata/experimental/noahs_tapestry/tapestry.py +147 -0
- visidata/experimental/rownum.py +73 -0
- visidata/experimental/slide_cells.py +26 -0
- visidata/expr.py +8 -4
- visidata/extensible.py +22 -4
- visidata/features/__init__.py +0 -0
- visidata/features/addcol_audiometadata.py +42 -0
- visidata/features/addcol_histogram.py +34 -0
- visidata/features/canvas_save_svg.py +69 -0
- visidata/features/change_precision.py +46 -0
- visidata/features/cmdpalette.py +197 -0
- visidata/features/colorbrewer.py +363 -0
- visidata/{colorsheet.py → features/colorsheet.py} +17 -16
- visidata/features/command_server.py +105 -0
- visidata/features/currency_to_usd.py +70 -0
- visidata/{customdate.py → features/customdate.py} +2 -0
- visidata/features/dedupe.py +132 -0
- visidata/{describe.py → features/describe.py} +17 -15
- visidata/features/errors_guide.py +26 -0
- visidata/features/expand_cols.py +202 -0
- visidata/{fill.py → features/fill.py} +3 -1
- visidata/{freeze.py → features/freeze.py} +11 -6
- visidata/features/graph_seaborn.py +79 -0
- visidata/features/helloworld.py +10 -0
- visidata/features/hint_types.py +17 -0
- visidata/{incr.py → features/incr.py} +5 -0
- visidata/{join.py → features/join.py} +107 -53
- visidata/features/known_cols.py +21 -0
- visidata/features/layout.py +62 -0
- visidata/{melt.py → features/melt.py} +32 -21
- visidata/features/normcol.py +118 -0
- visidata/features/open_config.py +7 -0
- visidata/features/open_syspaste.py +18 -0
- visidata/features/ping.py +157 -0
- visidata/features/procmgr.py +208 -0
- visidata/features/random_sample.py +6 -0
- visidata/{regex.py → features/regex.py} +47 -31
- visidata/features/reload_every.py +55 -0
- visidata/features/rename_col_cascade.py +30 -0
- visidata/features/scroll_context.py +60 -0
- visidata/features/select_equal_selected.py +11 -0
- visidata/features/setcol_fake.py +65 -0
- visidata/{slide.py → features/slide.py} +77 -21
- visidata/features/sparkline.py +48 -0
- visidata/features/status_source.py +20 -0
- visidata/{sysedit.py → features/sysedit.py} +2 -1
- visidata/features/sysopen_mailcap.py +46 -0
- visidata/features/term_extras.py +13 -0
- visidata/{transpose.py → features/transpose.py} +5 -4
- visidata/features/type_ipaddr.py +73 -0
- visidata/features/type_url.py +11 -0
- visidata/{unfurl.py → features/unfurl.py} +9 -9
- visidata/{window.py → features/window.py} +2 -2
- visidata/form.py +50 -21
- visidata/freqtbl.py +81 -33
- visidata/fuzzymatch.py +414 -0
- visidata/graph.py +105 -33
- visidata/guide.py +200 -0
- visidata/help.py +75 -44
- visidata/hint.py +39 -0
- visidata/indexsheet.py +109 -0
- visidata/input_history.py +55 -0
- visidata/interface.py +58 -0
- visidata/keys.py +20 -16
- visidata/loaders/__init__.py +9 -0
- visidata/loaders/_pandas.py +61 -21
- visidata/loaders/api_airtable.py +70 -0
- visidata/loaders/api_bitio.py +102 -0
- visidata/loaders/api_matrix.py +148 -0
- visidata/loaders/api_reddit.py +306 -0
- visidata/loaders/api_zulip.py +249 -0
- visidata/loaders/archive.py +41 -7
- visidata/loaders/arrow.py +7 -7
- visidata/loaders/conll.py +49 -0
- visidata/loaders/csv.py +25 -7
- visidata/loaders/eml.py +3 -4
- visidata/loaders/f5log.py +1204 -0
- visidata/loaders/fec.py +325 -0
- visidata/loaders/fixed_width.py +2 -4
- visidata/loaders/frictionless.py +3 -3
- visidata/loaders/geojson.py +8 -5
- visidata/loaders/google.py +48 -0
- visidata/loaders/graphviz.py +4 -4
- visidata/loaders/hdf5.py +4 -4
- visidata/loaders/html.py +54 -12
- visidata/loaders/http.py +84 -30
- visidata/loaders/imap.py +20 -10
- visidata/loaders/jrnl.py +52 -0
- visidata/loaders/json.py +83 -29
- visidata/loaders/jsonla.py +74 -0
- visidata/loaders/lsv.py +15 -11
- visidata/loaders/mailbox.py +40 -0
- visidata/loaders/markdown.py +1 -3
- visidata/loaders/mbtiles.py +4 -5
- visidata/loaders/mysql.py +11 -13
- visidata/loaders/npy.py +7 -7
- visidata/loaders/odf.py +4 -1
- visidata/loaders/orgmode.py +428 -0
- visidata/loaders/pandas_freqtbl.py +14 -20
- visidata/loaders/parquet.py +62 -6
- visidata/loaders/pcap.py +3 -3
- visidata/loaders/pdf.py +4 -3
- visidata/loaders/png.py +19 -13
- visidata/loaders/postgres.py +9 -8
- visidata/loaders/rec.py +7 -3
- visidata/loaders/s3.py +342 -0
- visidata/loaders/sas.py +5 -5
- visidata/loaders/scrape.py +186 -0
- visidata/loaders/shp.py +6 -5
- visidata/loaders/spss.py +5 -6
- visidata/loaders/sqlite.py +68 -28
- visidata/loaders/texttables.py +1 -1
- visidata/loaders/toml.py +60 -0
- visidata/loaders/tsv.py +61 -19
- visidata/loaders/ttf.py +19 -7
- visidata/loaders/unzip_http.py +6 -5
- visidata/loaders/usv.py +1 -1
- visidata/loaders/vcf.py +16 -16
- visidata/loaders/vds.py +10 -7
- visidata/loaders/vdx.py +30 -5
- visidata/loaders/xlsb.py +8 -1
- visidata/loaders/xlsx.py +145 -25
- visidata/loaders/xml.py +6 -3
- visidata/loaders/xword.py +4 -4
- visidata/loaders/yaml.py +15 -5
- visidata/macros.py +129 -42
- visidata/main.py +119 -94
- visidata/mainloop.py +101 -155
- visidata/man/parse_options.py +2 -2
- visidata/man/vd.1 +302 -149
- visidata/man/vd.txt +291 -154
- visidata/memory.py +3 -3
- visidata/menu.py +104 -423
- visidata/metasheets.py +59 -141
- visidata/modify.py +78 -23
- visidata/motd.py +3 -3
- visidata/mouse.py +137 -0
- visidata/movement.py +43 -35
- visidata/optionssheet.py +99 -0
- visidata/path.py +113 -32
- visidata/pivot.py +73 -47
- visidata/plugins.py +65 -192
- visidata/pyobj.py +55 -205
- visidata/rename_col.py +20 -0
- visidata/save.py +37 -20
- visidata/search.py +54 -10
- visidata/selection.py +84 -5
- visidata/settings.py +162 -25
- visidata/sheets.py +239 -260
- visidata/shell.py +51 -21
- visidata/sidebar.py +162 -0
- visidata/sort.py +11 -4
- visidata/statusbar.py +114 -104
- visidata/stored_list.py +43 -0
- visidata/stored_prop.py +38 -0
- visidata/tests/benchmark.csv +52 -0
- visidata/tests/conftest.py +3 -3
- visidata/tests/test_cliptext.py +39 -0
- visidata/tests/test_commands.py +65 -7
- visidata/tests/test_edittext.py +2 -2
- visidata/tests/test_features.py +28 -0
- visidata/tests/test_menu.py +14 -0
- visidata/tests/test_path.py +13 -4
- visidata/text_source.py +53 -0
- visidata/textsheet.py +10 -3
- visidata/theme.py +44 -0
- visidata/themes/__init__.py +0 -0
- visidata/themes/ascii8.py +84 -0
- visidata/themes/asciimono.py +84 -0
- visidata/themes/light.py +17 -0
- visidata/threads.py +89 -40
- visidata/tuiwin.py +22 -0
- visidata/type_currency.py +22 -3
- visidata/type_date.py +31 -9
- visidata/type_floatsi.py +5 -1
- visidata/undo.py +17 -5
- visidata/utils.py +106 -23
- visidata/vdobj.py +28 -17
- visidata/windows.py +10 -0
- visidata/wrappers.py +9 -3
- visidata-3.0.1.data/data/share/applications/visidata.desktop +7 -0
- {visidata-2.11.1.data → visidata-3.0.1.data}/data/share/man/man1/vd.1 +302 -149
- {visidata-2.11.1.data → visidata-3.0.1.data}/data/share/man/man1/visidata.1 +302 -149
- visidata-3.0.1.data/scripts/vd2to3.vdx +9 -0
- {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/METADATA +12 -8
- visidata-3.0.1.dist-info/RECORD +258 -0
- {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/WHEEL +1 -1
- vgit/__init__.py +0 -1
- vgit/gitsheet.py +0 -164
- visidata/layout.py +0 -44
- visidata/misc.py +0 -5
- visidata-2.11.1.data/scripts/vgit +0 -9
- visidata-2.11.1.dist-info/RECORD +0 -155
- {vgit → visidata/apps/vgit}/__main__.py +0 -0
- {vgit → visidata/apps/vgit}/abort.py +0 -0
- /visidata/{repeat.py → features/repeat.py} +0 -0
- {visidata-2.11.1.data → visidata-3.0.1.data}/scripts/vd +0 -0
- {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/LICENSE.gpl3 +0 -0
- {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/entry_points.txt +0 -0
- {visidata-2.11.1.dist-info → visidata-3.0.1.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: visidata
|
3
|
-
Version:
|
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/
|
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
|
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
|
[](https://github.com/saulpw/visidata/actions/workflows/main.yml)
|
37
36
|
[](https://gitpod.io/#https://github.com/saulpw/visidata)
|
37
|
+
|
38
38
|
[](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.
|
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,,
|
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')
|