Visidata NG — my Visidata fork with pragmatic improvements

I’m a long-time fan of Visidata. I initially planned to contribute directly upstream, but getting changes accepted can take time, while I wanted to use them myself and share sooner. That’s why I created a fork called Visidata NG (new generation). I’m developing it independently and proposing the most promising changes upstream in parallel.
At this point, it’s not published to pip/brew or other registries — it’s for enthusiasts who want to try new features early.
What I added
Exit confirmation on the last stack level (
q)
When you’re at the last table in the stack and pressq, Visidata NG now shows a confirmation dialog to prevent accidental exit and loss of unsaved changes. I used to lose my markup by mistake — not anymore.Quick “percent of total” via
g+f
Pressingg+fcreates a new column based on the current one (if its type isintorfloat) and calculates the percent of the total. Frequency tables do show percentages by default (as a histogram), but there was no one-shot hotkey to create a dedicated column — now there is.Currency formatting on
$(column typecurrency)
On$, a currency picker pops up, and the column is formatted according to the selected currency standard (prefix + value + suffix). Handy when you need quick stats and a neat Markdown table.Flexible date formats on
@(column typedate)
On@, you get a format picker withdatetime,date,month, andyear. This makes ad‑hoc exploration faster — no long expressions, just a couple of keystrokes.
Roadmap
Next, I’m considering going deeper into data storage/processing internals: vectorized operations could significantly speed up computations. For now, I focused on the practical tweaks I miss the most day-to-day.
How to try Visidata NG
- Clone the repository:
git clone https://github.com/denisotree/visidata-ng - Switch to the active development branch:
cd visidata-ng git checkout develop-ng - Install in editable mode:
pip install -e . - The executable will be installed into the
bindirectory of your current Python environment.
Installation caveats
- If you installed Visidata outside of
pip(e.g.,brew,apt,pacman, etc.), versions may conflict — you might need to remove the system-level package. - If Visidata was installed via
pip, my fork will replace the original since it shares the same package metadata.
Feedback
Have ideas for improvements or found a bug? Message me (LinkedIn / Instagram / Telegram).