Visidata NG — мой форк Visidata с полезными улучшениями

Я люблю Visidata и изначально хотел контрибьютить прямо в основной проект. Но процесс принятия изменений не всегда быстрый, а пользоваться улучшениями хотелось уже сейчас — и поделиться ими с другими. Поэтому я сделал форк под названием Visidata NG (new generation) и развиваю его параллельно, предлагая самые удачные изменения в основной репозиторий.
Пока что пакет нельзя установить через pip/brew и другие менеджеры — это решение для энтузиастов, готовых попробовать свежие фичи.
Что я добавил
Подтверждение выхода на последнем уровне стека (
q)
Когда вы дошли до последней таблицы в стеке и нажимаетеq, появляется предупреждение о закрытии приложения и потере несохранённых изменений. Я часто случайно завершал сессию и терял разметку — теперь это не так.Быстрый «процент от общего» по
g+f
Нажатиеg+fдобавляет новый столбец на основе текущего (если его типintилиfloat), в котором считается процент от общего. Забавно, что похожая механика есть в frequency table (гистограмма + проценты), но не было простого хоткея, чтобы сделать отдельный столбец — теперь есть.Форматирование валют по
$(тип столбцаcurrency)
При нажатии$появляется окно выбора валюты, и столбец форматируется по её стандарту (префикс + значение + постфикс). Удобно, когда нужно быстро посчитать статистику и вставить её в красивую Markdown-таблицу.Быстрые форматы дат по
@(тип столбцаdate)
При нажатии@открывается окно выбора формата:datetime,date,month,year. Это ускоряет исследования — вместо длинных выражений всё делается в пару нажатий.
Планы
Дальше хочу углубиться в хранение и обработку данных: есть идеи о векторных преобразованиях, которые ускорят расчёты. Но сейчас я сфокусировался на практичных доработках, которые сам регулярно использую.
Как попробовать Visidata NG
- Клонируйте репозиторий:
git clone https://github.com/denisotree/visidata-ng - Перейдите в директорию и переключитесь на актуальную ветку:
cd visidata-ng git checkout develop-ng - Установите в editable-режиме:
pip install -e . - Бинарь установится в
binвашего текущего Python-окружения.
Нюансы установки
- Если у вас установлен Visidata не через
pip(например,brew,apt,pacman, и т. п.), версии могут конфликтовать — системную установку возможно придётся удалить. - Если Visidata был установлен через
pip, моя версия подменит основную, так как использует ту же мета‑информацию пакета.
Обратная связь
Если у вас есть идеи, что ещё улучшить, или вы нашли ошибки — напишите мне (LinkedIn / Instagram / Telegram).