visidata 2.11.1__tar.gz → 3.0.1__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.
- visidata-3.0.1/MANIFEST.in +14 -0
- {visidata-2.11.1/visidata.egg-info → visidata-3.0.1}/PKG-INFO +9 -6
- {visidata-2.11.1 → visidata-3.0.1}/README.md +7 -4
- visidata-3.0.1/bin/vd2to3.vdx +9 -0
- visidata-3.0.1/setup.py +95 -0
- visidata-3.0.1/visidata/__init__.py +157 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/_input.py +259 -42
- {visidata-2.11.1 → visidata-3.0.1}/visidata/_open.py +84 -29
- {visidata-2.11.1 → visidata-3.0.1}/visidata/_types.py +21 -3
- {visidata-2.11.1 → visidata-3.0.1}/visidata/_urlcache.py +17 -4
- {visidata-2.11.1 → visidata-3.0.1}/visidata/aggregators.py +78 -25
- visidata-3.0.1/visidata/apps/vdsql/__about__.py +8 -0
- visidata-3.0.1/visidata/apps/vdsql/__init__.py +5 -0
- visidata-3.0.1/visidata/apps/vdsql/__main__.py +27 -0
- visidata-3.0.1/visidata/apps/vdsql/_ibis.py +748 -0
- visidata-3.0.1/visidata/apps/vdsql/bigquery.py +61 -0
- visidata-3.0.1/visidata/apps/vdsql/clickhouse.py +53 -0
- visidata-3.0.1/visidata/apps/vdsql/setup.py +40 -0
- visidata-3.0.1/visidata/apps/vdsql/snowflake.py +67 -0
- visidata-3.0.1/visidata/apps/vgit/__init__.py +13 -0
- visidata-3.0.1/visidata/apps/vgit/__main__.py +3 -0
- visidata-3.0.1/visidata/apps/vgit/abort.py +23 -0
- visidata-3.0.1/visidata/apps/vgit/blame.py +76 -0
- visidata-3.0.1/visidata/apps/vgit/branch.py +153 -0
- visidata-3.0.1/visidata/apps/vgit/config.py +95 -0
- visidata-3.0.1/visidata/apps/vgit/diff.py +169 -0
- visidata-3.0.1/visidata/apps/vgit/gitsheet.py +161 -0
- visidata-3.0.1/visidata/apps/vgit/grep.py +37 -0
- visidata-3.0.1/visidata/apps/vgit/log.py +81 -0
- visidata-3.0.1/visidata/apps/vgit/main.py +55 -0
- visidata-3.0.1/visidata/apps/vgit/remote.py +57 -0
- visidata-3.0.1/visidata/apps/vgit/repos.py +71 -0
- visidata-3.0.1/visidata/apps/vgit/setup.py +37 -0
- visidata-3.0.1/visidata/apps/vgit/stash.py +69 -0
- visidata-3.0.1/visidata/apps/vgit/status.py +204 -0
- visidata-3.0.1/visidata/apps/vgit/statusbar.py +34 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/basesheet.py +63 -51
- {visidata-2.11.1 → visidata-3.0.1}/visidata/canvas.py +208 -93
- {visidata-2.11.1 → visidata-3.0.1}/visidata/choose.py +6 -6
- visidata-3.0.1/visidata/clean_names.py +29 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/clipboard.py +73 -17
- visidata-3.0.1/visidata/cliptext.py +357 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/cmdlog.py +88 -114
- visidata-3.0.1/visidata/color.py +245 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/column.py +121 -129
- visidata-3.0.1/visidata/ddw/input.ddw +82 -0
- visidata-3.0.1/visidata/ddw/regex.ddw +57 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/ddwplay.py +33 -14
- {visidata-2.11.1 → visidata-3.0.1}/visidata/deprecated.py +77 -3
- visidata-3.0.1/visidata/desktop/visidata.desktop +7 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/editor.py +12 -6
- {visidata-2.11.1 → visidata-3.0.1}/visidata/errors.py +6 -2
- visidata-3.0.1/visidata/experimental/diff_sheet.py +29 -0
- visidata-3.0.1/visidata/experimental/digit_autoedit.py +6 -0
- visidata-3.0.1/visidata/experimental/gdrive.py +89 -0
- visidata-3.0.1/visidata/experimental/google.py +37 -0
- visidata-3.0.1/visidata/experimental/gsheets.py +79 -0
- visidata-3.0.1/visidata/experimental/live_search.py +37 -0
- visidata-3.0.1/visidata/experimental/liveupdate.py +45 -0
- visidata-3.0.1/visidata/experimental/mark.py +133 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/__init__.py +1 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/clues.json +1 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/flame.ddw +324 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/menorah.ddw +838 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/noahs.sqlite +0 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle0.md +25 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle1.md +13 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle2.md +13 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle3.md +13 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle4.md +15 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle5.md +11 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle6.md +11 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle7.md +13 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/puzzle8.md +11 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/solutions.json +1 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/tapestry.ddw +2151 -0
- visidata-3.0.1/visidata/experimental/noahs_tapestry/tapestry.py +147 -0
- visidata-3.0.1/visidata/experimental/rownum.py +73 -0
- visidata-3.0.1/visidata/experimental/slide_cells.py +26 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/expr.py +8 -4
- {visidata-2.11.1 → visidata-3.0.1}/visidata/extensible.py +22 -4
- visidata-3.0.1/visidata/features/__init__.py +0 -0
- visidata-3.0.1/visidata/features/addcol_audiometadata.py +42 -0
- visidata-3.0.1/visidata/features/addcol_histogram.py +34 -0
- visidata-3.0.1/visidata/features/canvas_save_svg.py +69 -0
- visidata-3.0.1/visidata/features/change_precision.py +46 -0
- visidata-3.0.1/visidata/features/cmdpalette.py +197 -0
- visidata-3.0.1/visidata/features/colorbrewer.py +363 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/colorsheet.py +17 -16
- visidata-3.0.1/visidata/features/command_server.py +105 -0
- visidata-3.0.1/visidata/features/currency_to_usd.py +70 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/customdate.py +2 -0
- visidata-3.0.1/visidata/features/dedupe.py +132 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/describe.py +17 -15
- visidata-3.0.1/visidata/features/errors_guide.py +26 -0
- visidata-3.0.1/visidata/features/expand_cols.py +202 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/fill.py +3 -1
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/freeze.py +11 -6
- visidata-3.0.1/visidata/features/graph_seaborn.py +79 -0
- visidata-3.0.1/visidata/features/helloworld.py +10 -0
- visidata-3.0.1/visidata/features/hint_types.py +17 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/incr.py +5 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/join.py +107 -53
- visidata-3.0.1/visidata/features/known_cols.py +21 -0
- visidata-3.0.1/visidata/features/layout.py +62 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/melt.py +32 -21
- visidata-3.0.1/visidata/features/normcol.py +118 -0
- visidata-3.0.1/visidata/features/open_config.py +7 -0
- visidata-3.0.1/visidata/features/open_syspaste.py +18 -0
- visidata-3.0.1/visidata/features/ping.py +157 -0
- visidata-3.0.1/visidata/features/procmgr.py +208 -0
- visidata-3.0.1/visidata/features/random_sample.py +6 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/regex.py +47 -31
- visidata-3.0.1/visidata/features/reload_every.py +55 -0
- visidata-3.0.1/visidata/features/rename_col_cascade.py +30 -0
- visidata-3.0.1/visidata/features/scroll_context.py +60 -0
- visidata-3.0.1/visidata/features/select_equal_selected.py +11 -0
- visidata-3.0.1/visidata/features/setcol_fake.py +65 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/slide.py +77 -21
- visidata-3.0.1/visidata/features/sparkline.py +48 -0
- visidata-3.0.1/visidata/features/status_source.py +20 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/sysedit.py +2 -1
- visidata-3.0.1/visidata/features/sysopen_mailcap.py +46 -0
- visidata-3.0.1/visidata/features/term_extras.py +13 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/transpose.py +5 -4
- visidata-3.0.1/visidata/features/type_ipaddr.py +73 -0
- visidata-3.0.1/visidata/features/type_url.py +11 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/unfurl.py +9 -9
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/window.py +2 -2
- {visidata-2.11.1 → visidata-3.0.1}/visidata/form.py +50 -21
- visidata-3.0.1/visidata/freqtbl.py +164 -0
- visidata-3.0.1/visidata/fuzzymatch.py +414 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/graph.py +105 -33
- visidata-3.0.1/visidata/guide.py +200 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/help.py +75 -44
- visidata-3.0.1/visidata/hint.py +39 -0
- visidata-3.0.1/visidata/indexsheet.py +109 -0
- visidata-3.0.1/visidata/input_history.py +55 -0
- visidata-3.0.1/visidata/interface.py +58 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/keys.py +20 -16
- visidata-3.0.1/visidata/loaders/__init__.py +9 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/_pandas.py +61 -21
- visidata-3.0.1/visidata/loaders/api_airtable.py +70 -0
- visidata-3.0.1/visidata/loaders/api_matrix.py +148 -0
- visidata-3.0.1/visidata/loaders/api_reddit.py +306 -0
- visidata-3.0.1/visidata/loaders/api_zulip.py +249 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/archive.py +41 -7
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/arrow.py +7 -7
- visidata-3.0.1/visidata/loaders/conll.py +49 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/csv.py +25 -7
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/eml.py +3 -4
- visidata-3.0.1/visidata/loaders/f5log.py +1204 -0
- visidata-3.0.1/visidata/loaders/fec.py +325 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/fixed_width.py +2 -4
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/frictionless.py +3 -3
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/geojson.py +8 -5
- visidata-3.0.1/visidata/loaders/google.py +48 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/graphviz.py +4 -4
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/hdf5.py +4 -4
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/html.py +54 -12
- visidata-3.0.1/visidata/loaders/http.py +125 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/imap.py +20 -10
- visidata-3.0.1/visidata/loaders/jrnl.py +52 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/json.py +83 -29
- visidata-3.0.1/visidata/loaders/jsonla.py +74 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/lsv.py +15 -11
- visidata-3.0.1/visidata/loaders/mailbox.py +40 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/markdown.py +1 -3
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/mbtiles.py +4 -5
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/mysql.py +11 -13
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/npy.py +7 -7
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/odf.py +4 -1
- visidata-3.0.1/visidata/loaders/orgmode.py +428 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/pandas_freqtbl.py +14 -20
- visidata-3.0.1/visidata/loaders/parquet.py +84 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/pcap.py +3 -3
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/pdf.py +4 -3
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/png.py +19 -13
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/postgres.py +9 -8
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/rec.py +7 -3
- visidata-3.0.1/visidata/loaders/s3.py +342 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/sas.py +5 -5
- visidata-3.0.1/visidata/loaders/scrape.py +186 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/shp.py +6 -5
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/spss.py +5 -6
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/sqlite.py +68 -28
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/texttables.py +1 -1
- visidata-3.0.1/visidata/loaders/toml.py +60 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/tsv.py +61 -19
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/ttf.py +19 -7
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/unzip_http.py +6 -5
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/usv.py +1 -1
- visidata-3.0.1/visidata/loaders/vcf.py +41 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/vds.py +10 -7
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/vdx.py +30 -5
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/xlsb.py +8 -1
- visidata-3.0.1/visidata/loaders/xlsx.py +298 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/xml.py +6 -3
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/xword.py +4 -4
- {visidata-2.11.1 → visidata-3.0.1}/visidata/loaders/yaml.py +15 -5
- visidata-3.0.1/visidata/macros.py +178 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/main.py +119 -94
- visidata-3.0.1/visidata/mainloop.py +333 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/man/parse_options.py +2 -2
- {visidata-2.11.1 → visidata-3.0.1}/visidata/man/vd.1 +302 -149
- {visidata-2.11.1 → visidata-3.0.1}/visidata/man/vd.txt +291 -154
- {visidata-2.11.1 → visidata-3.0.1}/visidata/man/visidata.1 +302 -149
- {visidata-2.11.1 → visidata-3.0.1}/visidata/memory.py +3 -3
- visidata-3.0.1/visidata/menu.py +506 -0
- visidata-3.0.1/visidata/metasheets.py +166 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/modify.py +78 -23
- {visidata-2.11.1 → visidata-3.0.1}/visidata/motd.py +3 -3
- visidata-3.0.1/visidata/mouse.py +137 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/movement.py +43 -35
- visidata-3.0.1/visidata/optionssheet.py +99 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/path.py +113 -32
- {visidata-2.11.1 → visidata-3.0.1}/visidata/pivot.py +73 -47
- visidata-3.0.1/visidata/plugins.py +102 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/pyobj.py +55 -205
- visidata-3.0.1/visidata/rename_col.py +20 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/save.py +37 -20
- visidata-3.0.1/visidata/search.py +127 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/selection.py +84 -5
- {visidata-2.11.1 → visidata-3.0.1}/visidata/settings.py +162 -25
- {visidata-2.11.1 → visidata-3.0.1}/visidata/sheets.py +239 -260
- {visidata-2.11.1 → visidata-3.0.1}/visidata/shell.py +51 -21
- visidata-3.0.1/visidata/sidebar.py +162 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/sort.py +11 -4
- visidata-3.0.1/visidata/statusbar.py +246 -0
- visidata-3.0.1/visidata/stored_list.py +43 -0
- visidata-3.0.1/visidata/tests/__init__.py +0 -0
- visidata-3.0.1/visidata/tests/benchmark.csv +52 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/tests/conftest.py +3 -3
- visidata-3.0.1/visidata/tests/test_cliptext.py +39 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/tests/test_commands.py +65 -7
- {visidata-2.11.1 → visidata-3.0.1}/visidata/tests/test_edittext.py +2 -2
- visidata-3.0.1/visidata/tests/test_features.py +28 -0
- visidata-3.0.1/visidata/tests/test_menu.py +14 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/tests/test_path.py +13 -4
- visidata-3.0.1/visidata/text_source.py +53 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/textsheet.py +10 -3
- visidata-3.0.1/visidata/theme.py +44 -0
- visidata-3.0.1/visidata/themes/__init__.py +0 -0
- visidata-3.0.1/visidata/themes/ascii8.py +84 -0
- visidata-3.0.1/visidata/themes/asciimono.py +84 -0
- visidata-3.0.1/visidata/themes/light.py +17 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/threads.py +89 -40
- visidata-3.0.1/visidata/tuiwin.py +22 -0
- visidata-3.0.1/visidata/type_currency.py +35 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/type_date.py +31 -9
- {visidata-2.11.1 → visidata-3.0.1}/visidata/type_floatsi.py +5 -1
- {visidata-2.11.1 → visidata-3.0.1}/visidata/undo.py +17 -5
- visidata-3.0.1/visidata/utils.py +211 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/vdobj.py +28 -17
- visidata-3.0.1/visidata/windows.py +10 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/wrappers.py +9 -3
- {visidata-2.11.1 → visidata-3.0.1/visidata.egg-info}/PKG-INFO +9 -6
- visidata-3.0.1/visidata.egg-info/SOURCES.txt +273 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata.egg-info/requires.txt +4 -1
- visidata-2.11.1/MANIFEST.in +0 -7
- visidata-2.11.1/setup.py +0 -52
- visidata-2.11.1/visidata/__init__.py +0 -176
- visidata-2.11.1/visidata/cliptext.py +0 -183
- visidata-2.11.1/visidata/color.py +0 -159
- visidata-2.11.1/visidata/ddw/input.ddw +0 -87
- visidata-2.11.1/visidata/freqtbl.py +0 -116
- visidata-2.11.1/visidata/layout.py +0 -44
- visidata-2.11.1/visidata/loaders/http.py +0 -71
- visidata-2.11.1/visidata/loaders/parquet.py +0 -28
- visidata-2.11.1/visidata/loaders/vcf.py +0 -41
- visidata-2.11.1/visidata/loaders/xlsx.py +0 -178
- visidata-2.11.1/visidata/macros.py +0 -91
- visidata-2.11.1/visidata/mainloop.py +0 -387
- visidata-2.11.1/visidata/menu.py +0 -825
- visidata-2.11.1/visidata/metasheets.py +0 -248
- visidata-2.11.1/visidata/misc.py +0 -5
- visidata-2.11.1/visidata/plugins.py +0 -229
- visidata-2.11.1/visidata/search.py +0 -83
- visidata-2.11.1/visidata/statusbar.py +0 -236
- visidata-2.11.1/visidata/type_currency.py +0 -16
- visidata-2.11.1/visidata/utils.py +0 -128
- visidata-2.11.1/visidata.egg-info/SOURCES.txt +0 -145
- {visidata-2.11.1 → visidata-3.0.1}/LICENSE.gpl3 +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/bin/vd +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/setup.cfg +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/__main__.py +0 -0
- {visidata-2.11.1/visidata/loaders → visidata-3.0.1/visidata/apps}/__init__.py +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/bezier.py +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/canvas_text.py +0 -0
- {visidata-2.11.1/visidata/tests → visidata-3.0.1/visidata/experimental}/__init__.py +0 -0
- {visidata-2.11.1/visidata → visidata-3.0.1/visidata/features}/repeat.py +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/macos.py +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/tests/sample.tsv +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/tests/test_date.py +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata/vendor/appdirs.py +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata.egg-info/dependency_links.txt +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata.egg-info/entry_points.txt +0 -0
- {visidata-2.11.1 → visidata-3.0.1}/visidata.egg-info/top_level.txt +0 -0
@@ -0,0 +1,14 @@
|
|
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/tests/benchmark.csv
|
10
|
+
include visidata/desktop/visidata.desktop
|
11
|
+
include visidata/experimental/noahs_tapestry/*.json
|
12
|
+
include visidata/experimental/noahs_tapestry/*.md
|
13
|
+
include visidata/experimental/noahs_tapestry/*.ddw
|
14
|
+
include visidata/experimental/noahs_tapestry/*.sqlite
|
@@ -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,13 +26,14 @@ Requires-Python: >=3.7
|
|
26
26
|
Description-Content-Type: text/markdown
|
27
27
|
License-File: LICENSE.gpl3
|
28
28
|
|
29
|
+
# VisiData v3.0.1
|
29
30
|
|
30
|
-
# VisiData v2.11.1
|
31
|
-
|
32
|
-
[![twitter @VisiData][1.1]][1]
|
33
31
|
[](https://github.com/saulpw/visidata/actions/workflows/main.yml)
|
34
32
|
[](https://gitpod.io/#https://github.com/saulpw/visidata)
|
33
|
+
|
35
34
|
[](https://visidata.org/chat)
|
35
|
+
[![mastodon @visidata@fosstodon.org][2.1]][2]
|
36
|
+
[![twitter @VisiData][1.1]][1]
|
36
37
|
|
37
38
|
A terminal interface for exploring and arranging tabular data.
|
38
39
|
|
@@ -43,7 +44,7 @@ VisiData supports tsv, csv, sqlite, json, xlsx (Excel), hdf5, and [many other fo
|
|
43
44
|
## Platform requirements
|
44
45
|
|
45
46
|
- Linux, OS/X, or Windows (with WSL)
|
46
|
-
- Python 3.
|
47
|
+
- Python 3.8+
|
47
48
|
- additional Python modules are required for certain formats and sources
|
48
49
|
|
49
50
|
## Install
|
@@ -94,5 +95,7 @@ Many thanks to numerous other [contributors](https://visidata.org/credits/), and
|
|
94
95
|
|
95
96
|
[1.1]: http://i.imgur.com/tXSoThF.png
|
96
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
|
97
100
|
|
98
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
|
1
2
|
|
2
|
-
# VisiData v2.11.1
|
3
|
-
|
4
|
-
[![twitter @VisiData][1.1]][1]
|
5
3
|
[](https://github.com/saulpw/visidata/actions/workflows/main.yml)
|
6
4
|
[](https://gitpod.io/#https://github.com/saulpw/visidata)
|
5
|
+
|
7
6
|
[](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.
|
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 -->
|
visidata-3.0.1/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.1"
|
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", "benchmark.csv"],
|
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.1'
|
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())
|