Visidata

Latest version: v3.1.1

Safety actively analyzes 682441 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 11

2.0

Not secure
Additions and Improvements
- [aggregators] allow custom aggregators in plugins/visidatarc (thanks geekscrapy for the feature request 651)
- [loaders xlsx] automatically clean sheet name when saving; warn if sheet name changes (thanks geekscrapy for the request 594)
- [columns] unhide height attribute by default (thanks frosencrantz for feature request 660)
- add .vcf (VCard) loader
- [sqlite] remove name of db from an **SqliteSheet**'s name, only tablename
- [syspaste] make `syspaste-` replayable and undoable (note that `syspaste-` value will be recorded in **CommandLog**)
- [savers] many text saver filetypes via tabulate library (thanks jsvine for original vdtabulate plugin)
- [calc] ExprColumn no longer cached by default
- [loaders rec] add new .rec file loader and multisheet saver (recutils)
- [savers] implemented multisheet saver for both json and jsonl
- [loaders eml] add new .eml file loader for email files with attachments

Options
- add `options.incr_base` (thanks chocolateboy for the suggestion 647)
- (former) `options.force_valid_colnames` renamed to `options.clean_names`
- applies to **Sheets** and **Columns** now (thanks geekscrapy for the request 594)
- for --X=Y, do not replace - with _ in Y (thanks forensicdave for bug report 657)
- add `options.default_height` for visibility toggle (thanks frosencrantz for feature request 660)
- add support for `--` option-ending option on CLI.
- [input] default now `fancy_chooser` = True
- when fancy_chooser enabled, aggregators and jointype are chosen with a ChoiceSheet.
- `s` to select, `Enter` to choose current row, `g Enter` to choose selected rows, `q` to not choose any
- numeric_binning is now True by default (enables numeric binning on **PivotSheet** and **FreqTable** for numeric columns

Command changes and additions
- (former) setcol-range (`gz=`) renamed to `setcol-iter`
- (former) `addcol-range-step` (`i`) renamed to `addcol-incr-step`
- (former) `setcol-range` (`gi`) renamed to `setcol-incr`
- (former) `addcol-range-step` (`zi`) renamed to `addcol-incr-step`
- (former) `setcol-range-step` (`gzi`) renamed to `setcol-incr-step`
- add `scroll-cells-*` to scroll display of cells while remaining in a Column; bind to [g]z{hjkl}
- (former) unbind z{hjkl} from `scroll-col` (thanks geekscrapy for feature request 662)
- add `type-floatsi` bound to `z%` (661)
- `reload-selected` now reloads all **Sheets** if none selected (thanks geekscrapy for PR 685)
- add customdate with fixed fmtstr for parsing (use `z` and input a fmtstr compatible with strptime (thanks suntzuisafterU for feature request 677)

Bugfixes
- [DirSheet] use changed ext as filetype when loading files (thanks frosencrantz for bug report 645)
- [slide] several major improvements to column sliding; key column sliding now works (thanks much to geekscrapy for bug hunting 640)
- [open-row] **Sheets Sheet** should be removed from stack upon `open-row` (thanks cwarden for the bug report)
- [cli] re-add --version (thanks mlawren for bug report 674)
- [open-config] fix `gO` (thanks geekscrapy for bug report 676)
- [splitwin] handle swap case for single sheet (thanks geekscrapy for bug report 679)
- [loaders xlsx] handle `None` column names for all **Sequence Sheet** loaders (thanks jsvine for bug report 680)
- [settings] retrieve from cache for top sheet if obj is None (thanks aborruso for the bug report 675)
- [settings] check if option is set on specific sheet before falling back to override
- [describe] have **DescribeSheet** use source column's sheet's `options.null_value` to calculate its null column (thanks aborruso for the bug report 675)
- [undo] ensure that undos for complex commands (like `expand-cols`) are set more frequently (thanks frosencrantz for the bug report 668)
- it is still possible to find race conditions if the user presses commands fast enough, however they should happen far less frequently
- [vlen] fix numeric binning for `vlen()` (thanks frosencrantz for bug report 690)
- [pivot] fix pivot case where no aggregator is set
- [pyobj] fix filtering for **PyobjSheet**
- [DirSheet] fix sorting for directory column of **DirSheet** (thanks frosencrantz for bug report 691)
- [json] fix bug saving cells with nested date values (thanks ajkerrigan for PR 709)
- [input] fix Ctrl+W bug when erasing word at beginning of line
- [plugins] import `.visidata/plugins` by default
- [pandas] use a safer `reset_index()` to avoid losing data when updating a pandas index (thanks ajkerrigan for PR 710)
- [threads] disable `add-row` on **ThreadsSheet** (thanks geekscrapy for bug report 713)

deprecated
- complete removal of `status` and `statuses` from deprecated (thanks frosencrantz for bug report 621)
- longnames are now `open-status` and `show-status`
- remove `cursorColIndex`

API and Interface
- `Sheet(*names, **kwargs)` autojoins list of name parts
- `openSource()`, `aggregator()`, and `aggregators` are now part of vdobj
- `set_option` is now `setOption`
- move `isError` to `Column.isError`
- deprecate `load_pyobj`, now **PyobjSheet**
- add `.getall('foo_')` which returns all options prefixed with `'foo_'`; deprecated `options('foo_')`
- `nSelected` is now `nSelectedRows`
- make `Column.width` property, so setting is same as `Column.setWidth`
- `evalexpr` is now `evalExpr`
- `format` is now `formatValue`
- `SettableColumn.cache` is now `._store`
- `vdtype()` is now `vd.addType()`
- add `addColumnAtCursor` (thanks geekscrapy for bug report 714)

Plugins
- update sparkline (thanks layertwo 696)
- plugin dependencies now install into `plugins-deps` (former plugin-deps)

Dev niceties
- Fully automate dev setup with Gitpod.io (thanks ajkerrigan for PR 673)

1.5.2

Not secure
Bugfixes
- [regex] fix `g*` 239 (thanks to jsvine for bug hunting)
- [editline] suspend during editline will resume in editline
- [editline] `Ctrl+W` on an empty value in editline now works

Docs
- [manpage] update the manpage to be more accurate for boolean command line options

1.5.1

Not secure
Bugfixes
- [canvas] fix mouse right-click and cursor movement on canvas
- [idle performance] fix regression
- [columns] fix editing of "value" column on ColumnsSheet
- [describe] fix colorizer inheritance
- [csv] always create at least one column
- [pandas] fix pandas eval (`=`, etc) 208 (thanks to nickray for suggesting)
- [pandas] preserve columns types from DataFrame 208 (thanks to nickray for suggesting)
- [pandas] remove data autodetect 208 (thanks to nickray for suggesting)

Additions and changes
- [selection] `options.bulk_select_clear` per 229 (thanks to aborruso for suggesting)
- [setcol-subst-all] add `gz*` to substitute over all visible cols (thanks to aborruso for suggesting)
- [options] Shift+O now global options (was sheet options); `zO` now sheet options; `gO` now opens .visidatarc which can be edited (was global options)
- [sort] orderBy now asynchronous 207 (thanks to apnewberry for suggesting)
- [fill] fill now async; uses previous non-null regardless of selectedness 217 (thanks to aborruso for suggesting)
- [pandas] `options.pandas_filetype_*` passed to `pandas.read_<filetype>` (like `csv_*` to Python `csv` module) 210 (thanks to pigmonkey for suggesting)
- [rename-col-selected] `z^` now renames the current column to contents of selected rows (previously `gz^`); `gz^` now renames all visible columns to contents of selected rows 220 (thanks to aborruso for suggesting)
- [vdtui null] show null display note in cells which match `options.null_value` (was only for None) 213 (thanksto aborruso for suggesting)
- [vdtui] visidata.loadConfigFile("~/.visidatarc") for use in REPL 211 (thanks to apnewberry for suggesting)
- [progress] include thread name on right status during async
- [progress] add gerund to display (instead of threadname)
- [http] user specified filetype overrieds mime type
- e.g. `vd https://url.com/data -f html`
- [clipboard] use `options.save_filetype` for default format

1.5

Not secure
Bugfixes
- [clipboard] fix broken `gzY` (syscopy-cells)
- [cmdlog] always encode .vd files in utf-8, regardless of options.encoding
- [tsv] major `save_tsv` performance improvement
- [tsv] make short rows missing entries editable
- [shp] reset columns on reload
- [graph] shift rightmost x-axis label to be visible
- [http] allow CLI urls to have `=` in them
- [fixed width] truncate cell edits on fixed width sheets
- [aggregators] ignore unknown aggregators
- `visidata.view(obj)`: obj no longer required to have a `__name__`

Additions and changes
- [save tsv json] errors are saved as `options.safe_error` (default `ERR`)
- if empty, error message is saved instead
- [plugins] `~/.visidata` added to sys.path on startup
- put plugin in `~/.visidata/vdfoo.py`
- put `import vdfoo` in `.visidatarc` to activate
- [aggregators] show-aggregate (`z+`) now aggregates selectedRows
- [tsv] add unnamed columns if extra cells in rows
- [diff] now based on display value (more intuitive)
- [mouse] move to column also
- [mouse] right-click to rename-col, rename-sheet, or edit-cell
- [cosmetic] addcol-new (`za`) input new column name on top of new column
- [cosmetic] include file iteration in progress meter
- [xls xlsx] use options.header to determine column names

1.4

Not secure
Bugfixes

- batch mode with no script should use implicit stdin only if no other files given (Closed 182)
- [pivot] pivot keycolumn copy was yielding strange nulls
- [join] fix extend join
- [csv] include first row in file even if `options.header` == 0
- [sysclip] fix bug where `gzY` did not copy selected rows (Closed 186)
- [motd] fix bug with disabling `options.motd_url` (Closed 190)

Additions and changes

- various improvements in performance and in CPU usage (Closed 184, 153)
- [pyobj] `visidata.view(obj)` and `visidata.view_pandas(df)`
- [pandas] `-f pandas` loads file with `pandas.read_<ext>`
- [TextSheet] wrap made consistent with new options
- [date] date minus date now gives float number of days instead of seconds
- [pcap] add support for reading pcapng (thanks layertwo!)
- [setcol] limit `gz=` range parameters to the number of rows selected to be filled (thanks ssiegel!)
- [anytype] format anytype with simple str()

1.3.1

Not secure
- [http] add `tab-seperated-values` to content_filetypes mapping
- [join] add `extend` join type to use keep all rows and retain **SheetType** from first selected sheet
- `rename-sheet` renames current sheet to input
- [json] add options.json_indent for pretty-printing
- [tsv json txt] add options.save_errors (default True) to include errors when saving
- remove all options.foo_is_null and fix according to 178-nulls.md
- add `z^C` and `gz^C` to cancel threads in current/selected row(s)
- [bugfix] `^R` (reload) on a filtered sheet (`"`) now reloads only the filtered rows
- [aggregators] fix summation with exceptions
- [DirSheet] add `gz^R` (reload-rows) to undo modifications on selected rows

Page 5 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.