visidata: Import visidata-1.5.2 as wip/visidata
A curses interface for exploring and arranging tabular data usable via any remote shell which has Python3 installed. A few interesting commands: - Shift-F pushes a frequency analysis of the current column - = creates a new column from the given Python expression (use column names to refer to their contents) - . creates new columns from the match groups of the given regex Still not working with NetBSD curses(3) due get_wch(3) usage, probably exposes a more general devel/py-curses problem.
This commit is contained in:
parent
765c04ff08
commit
87667c8739
1
Makefile
1
Makefile
|
@ -4926,6 +4926,7 @@ SUBDIR+= virtualjaguar-git
|
|||
SUBDIR+= virus
|
||||
SUBDIR+= vis
|
||||
SUBDIR+= vis-editor
|
||||
SUBDIR+= visidata
|
||||
SUBDIR+= vista-fonts
|
||||
SUBDIR+= vkeybd
|
||||
SUBDIR+= vlevel
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
A curses interface for exploring and arranging tabular data
|
||||
usable via any remote shell which has Python3 installed.
|
||||
|
||||
A few interesting commands:
|
||||
- Shift-F pushes a frequency analysis of the current column
|
||||
- = creates a new column from the given Python expression (use column names to
|
||||
refer to their contents)
|
||||
- . creates new columns from the match groups of the given regex
|
|
@ -0,0 +1,29 @@
|
|||
# $NetBSD$
|
||||
|
||||
DISTNAME= visidata-1.5.2
|
||||
CATEGORIES= textproc
|
||||
MASTER_SITES= ${MASTER_SITE_PYPI:=v/visidata/}
|
||||
|
||||
MAINTAINER= pkgsrc-users@NetBSD.org
|
||||
HOMEPAGE= https://visidata.org/
|
||||
COMMENT= curses interface for exploring and arranging tabular data
|
||||
LICENSE= gnu-gpl-v3
|
||||
|
||||
DEPENDS+= ${PYPKGPREFIX}-curses-[0-9]*:../../devel/py-curses
|
||||
DEPENDS+= ${PYPKGPREFIX}-dateutil-[0-9]*:../../time/py-dateutil
|
||||
DEPENDS+= ${PYPKGPREFIX}-openpyxl-[0-9]*:../../textproc/py-openpyxl
|
||||
|
||||
SUBST_CLASSES+= setuppy
|
||||
SUBST_STAGE.setuppy= pre-configure
|
||||
SUBST_MESSAGE.setuppy= Adjusting hard-coded man path
|
||||
SUBST_FILES.setuppy= setup.py
|
||||
SUBST_SED.setuppy+= -e 's,share/man,${PKGMANDIR},g'
|
||||
|
||||
USE_LANGUAGES= # none
|
||||
|
||||
# Only for Python 3.x
|
||||
PYTHON_VERSIONS_INCOMPATIBLE= 27
|
||||
|
||||
.include "../../lang/python/application.mk"
|
||||
.include "../../lang/python/egg.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
|
@ -0,0 +1,193 @@
|
|||
@comment $NetBSD$
|
||||
bin/vd
|
||||
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
|
||||
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
|
||||
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
|
||||
${PYSITELIB}/${EGG_INFODIR}/requires.txt
|
||||
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
|
||||
${PYSITELIB}/visidata/__init__.py
|
||||
${PYSITELIB}/visidata/__init__.pyc
|
||||
${PYSITELIB}/visidata/__init__.pyo
|
||||
${PYSITELIB}/visidata/_profile.py
|
||||
${PYSITELIB}/visidata/_profile.pyc
|
||||
${PYSITELIB}/visidata/_profile.pyo
|
||||
${PYSITELIB}/visidata/_types.py
|
||||
${PYSITELIB}/visidata/_types.pyc
|
||||
${PYSITELIB}/visidata/_types.pyo
|
||||
${PYSITELIB}/visidata/aggregators.py
|
||||
${PYSITELIB}/visidata/aggregators.pyc
|
||||
${PYSITELIB}/visidata/aggregators.pyo
|
||||
${PYSITELIB}/visidata/asyncthread.py
|
||||
${PYSITELIB}/visidata/asyncthread.pyc
|
||||
${PYSITELIB}/visidata/asyncthread.pyo
|
||||
${PYSITELIB}/visidata/canvas.py
|
||||
${PYSITELIB}/visidata/canvas.pyc
|
||||
${PYSITELIB}/visidata/canvas.pyo
|
||||
${PYSITELIB}/visidata/clipboard.py
|
||||
${PYSITELIB}/visidata/clipboard.pyc
|
||||
${PYSITELIB}/visidata/clipboard.pyo
|
||||
${PYSITELIB}/visidata/cmdlog.py
|
||||
${PYSITELIB}/visidata/cmdlog.pyc
|
||||
${PYSITELIB}/visidata/cmdlog.pyo
|
||||
${PYSITELIB}/visidata/colors.py
|
||||
${PYSITELIB}/visidata/colors.pyc
|
||||
${PYSITELIB}/visidata/colors.pyo
|
||||
${PYSITELIB}/visidata/commands.tsv
|
||||
${PYSITELIB}/visidata/data.py
|
||||
${PYSITELIB}/visidata/data.pyc
|
||||
${PYSITELIB}/visidata/data.pyo
|
||||
${PYSITELIB}/visidata/describe.py
|
||||
${PYSITELIB}/visidata/describe.pyc
|
||||
${PYSITELIB}/visidata/describe.pyo
|
||||
${PYSITELIB}/visidata/dev.py
|
||||
${PYSITELIB}/visidata/dev.pyc
|
||||
${PYSITELIB}/visidata/dev.pyo
|
||||
${PYSITELIB}/visidata/diff.py
|
||||
${PYSITELIB}/visidata/diff.pyc
|
||||
${PYSITELIB}/visidata/diff.pyo
|
||||
${PYSITELIB}/visidata/errors.py
|
||||
${PYSITELIB}/visidata/errors.pyc
|
||||
${PYSITELIB}/visidata/errors.pyo
|
||||
${PYSITELIB}/visidata/freeze.py
|
||||
${PYSITELIB}/visidata/freeze.pyc
|
||||
${PYSITELIB}/visidata/freeze.pyo
|
||||
${PYSITELIB}/visidata/freqtbl.py
|
||||
${PYSITELIB}/visidata/freqtbl.pyc
|
||||
${PYSITELIB}/visidata/freqtbl.pyo
|
||||
${PYSITELIB}/visidata/graph.py
|
||||
${PYSITELIB}/visidata/graph.pyc
|
||||
${PYSITELIB}/visidata/graph.pyo
|
||||
${PYSITELIB}/visidata/join.py
|
||||
${PYSITELIB}/visidata/join.pyc
|
||||
${PYSITELIB}/visidata/join.pyo
|
||||
${PYSITELIB}/visidata/loaders/__init__.py
|
||||
${PYSITELIB}/visidata/loaders/__init__.pyc
|
||||
${PYSITELIB}/visidata/loaders/__init__.pyo
|
||||
${PYSITELIB}/visidata/loaders/_pandas.py
|
||||
${PYSITELIB}/visidata/loaders/_pandas.pyc
|
||||
${PYSITELIB}/visidata/loaders/_pandas.pyo
|
||||
${PYSITELIB}/visidata/loaders/csv.py
|
||||
${PYSITELIB}/visidata/loaders/csv.pyc
|
||||
${PYSITELIB}/visidata/loaders/csv.pyo
|
||||
${PYSITELIB}/visidata/loaders/fixed_width.py
|
||||
${PYSITELIB}/visidata/loaders/fixed_width.pyc
|
||||
${PYSITELIB}/visidata/loaders/fixed_width.pyo
|
||||
${PYSITELIB}/visidata/loaders/graphviz.py
|
||||
${PYSITELIB}/visidata/loaders/graphviz.pyc
|
||||
${PYSITELIB}/visidata/loaders/graphviz.pyo
|
||||
${PYSITELIB}/visidata/loaders/hdf5.py
|
||||
${PYSITELIB}/visidata/loaders/hdf5.pyc
|
||||
${PYSITELIB}/visidata/loaders/hdf5.pyo
|
||||
${PYSITELIB}/visidata/loaders/html.py
|
||||
${PYSITELIB}/visidata/loaders/html.pyc
|
||||
${PYSITELIB}/visidata/loaders/html.pyo
|
||||
${PYSITELIB}/visidata/loaders/http.py
|
||||
${PYSITELIB}/visidata/loaders/http.pyc
|
||||
${PYSITELIB}/visidata/loaders/http.pyo
|
||||
${PYSITELIB}/visidata/loaders/json.py
|
||||
${PYSITELIB}/visidata/loaders/json.pyc
|
||||
${PYSITELIB}/visidata/loaders/json.pyo
|
||||
${PYSITELIB}/visidata/loaders/markdown.py
|
||||
${PYSITELIB}/visidata/loaders/markdown.pyc
|
||||
${PYSITELIB}/visidata/loaders/markdown.pyo
|
||||
${PYSITELIB}/visidata/loaders/mbtiles.py
|
||||
${PYSITELIB}/visidata/loaders/mbtiles.pyc
|
||||
${PYSITELIB}/visidata/loaders/mbtiles.pyo
|
||||
${PYSITELIB}/visidata/loaders/pcap.py
|
||||
${PYSITELIB}/visidata/loaders/pcap.pyc
|
||||
${PYSITELIB}/visidata/loaders/pcap.pyo
|
||||
${PYSITELIB}/visidata/loaders/png.py
|
||||
${PYSITELIB}/visidata/loaders/png.pyc
|
||||
${PYSITELIB}/visidata/loaders/png.pyo
|
||||
${PYSITELIB}/visidata/loaders/postgres.py
|
||||
${PYSITELIB}/visidata/loaders/postgres.pyc
|
||||
${PYSITELIB}/visidata/loaders/postgres.pyo
|
||||
${PYSITELIB}/visidata/loaders/sas.py
|
||||
${PYSITELIB}/visidata/loaders/sas.pyc
|
||||
${PYSITELIB}/visidata/loaders/sas.pyo
|
||||
${PYSITELIB}/visidata/loaders/shp.py
|
||||
${PYSITELIB}/visidata/loaders/shp.pyc
|
||||
${PYSITELIB}/visidata/loaders/shp.pyo
|
||||
${PYSITELIB}/visidata/loaders/spss.py
|
||||
${PYSITELIB}/visidata/loaders/spss.pyc
|
||||
${PYSITELIB}/visidata/loaders/spss.pyo
|
||||
${PYSITELIB}/visidata/loaders/sqlite.py
|
||||
${PYSITELIB}/visidata/loaders/sqlite.pyc
|
||||
${PYSITELIB}/visidata/loaders/sqlite.pyo
|
||||
${PYSITELIB}/visidata/loaders/tsv.py
|
||||
${PYSITELIB}/visidata/loaders/tsv.pyc
|
||||
${PYSITELIB}/visidata/loaders/tsv.pyo
|
||||
${PYSITELIB}/visidata/loaders/ttf.py
|
||||
${PYSITELIB}/visidata/loaders/ttf.pyc
|
||||
${PYSITELIB}/visidata/loaders/ttf.pyo
|
||||
${PYSITELIB}/visidata/loaders/xlsx.py
|
||||
${PYSITELIB}/visidata/loaders/xlsx.pyc
|
||||
${PYSITELIB}/visidata/loaders/xlsx.pyo
|
||||
${PYSITELIB}/visidata/loaders/xml.py
|
||||
${PYSITELIB}/visidata/loaders/xml.pyc
|
||||
${PYSITELIB}/visidata/loaders/xml.pyo
|
||||
${PYSITELIB}/visidata/loaders/yaml.py
|
||||
${PYSITELIB}/visidata/loaders/yaml.pyc
|
||||
${PYSITELIB}/visidata/loaders/yaml.pyo
|
||||
${PYSITELIB}/visidata/loaders/zip.py
|
||||
${PYSITELIB}/visidata/loaders/zip.pyc
|
||||
${PYSITELIB}/visidata/loaders/zip.pyo
|
||||
${PYSITELIB}/visidata/man/vd.1
|
||||
${PYSITELIB}/visidata/metasheets.py
|
||||
${PYSITELIB}/visidata/metasheets.pyc
|
||||
${PYSITELIB}/visidata/metasheets.pyo
|
||||
${PYSITELIB}/visidata/motd.py
|
||||
${PYSITELIB}/visidata/motd.pyc
|
||||
${PYSITELIB}/visidata/motd.pyo
|
||||
${PYSITELIB}/visidata/movement.py
|
||||
${PYSITELIB}/visidata/movement.pyc
|
||||
${PYSITELIB}/visidata/movement.pyo
|
||||
${PYSITELIB}/visidata/namedlist.py
|
||||
${PYSITELIB}/visidata/namedlist.pyc
|
||||
${PYSITELIB}/visidata/namedlist.pyo
|
||||
${PYSITELIB}/visidata/path.py
|
||||
${PYSITELIB}/visidata/path.pyc
|
||||
${PYSITELIB}/visidata/path.pyo
|
||||
${PYSITELIB}/visidata/pivot.py
|
||||
${PYSITELIB}/visidata/pivot.pyc
|
||||
${PYSITELIB}/visidata/pivot.pyo
|
||||
${PYSITELIB}/visidata/pyobj.py
|
||||
${PYSITELIB}/visidata/pyobj.pyc
|
||||
${PYSITELIB}/visidata/pyobj.pyo
|
||||
${PYSITELIB}/visidata/regex.py
|
||||
${PYSITELIB}/visidata/regex.pyc
|
||||
${PYSITELIB}/visidata/regex.pyo
|
||||
${PYSITELIB}/visidata/search.py
|
||||
${PYSITELIB}/visidata/search.pyc
|
||||
${PYSITELIB}/visidata/search.pyo
|
||||
${PYSITELIB}/visidata/selection.py
|
||||
${PYSITELIB}/visidata/selection.pyc
|
||||
${PYSITELIB}/visidata/selection.pyo
|
||||
${PYSITELIB}/visidata/shell.py
|
||||
${PYSITELIB}/visidata/shell.pyc
|
||||
${PYSITELIB}/visidata/shell.pyo
|
||||
${PYSITELIB}/visidata/slide.py
|
||||
${PYSITELIB}/visidata/slide.pyc
|
||||
${PYSITELIB}/visidata/slide.pyo
|
||||
${PYSITELIB}/visidata/tidydata.py
|
||||
${PYSITELIB}/visidata/tidydata.pyc
|
||||
${PYSITELIB}/visidata/tidydata.pyo
|
||||
${PYSITELIB}/visidata/transpose.py
|
||||
${PYSITELIB}/visidata/transpose.pyc
|
||||
${PYSITELIB}/visidata/transpose.pyo
|
||||
${PYSITELIB}/visidata/urlcache.py
|
||||
${PYSITELIB}/visidata/urlcache.pyc
|
||||
${PYSITELIB}/visidata/urlcache.pyo
|
||||
${PYSITELIB}/visidata/utils.py
|
||||
${PYSITELIB}/visidata/utils.pyc
|
||||
${PYSITELIB}/visidata/utils.pyo
|
||||
${PYSITELIB}/visidata/vdtui.py
|
||||
${PYSITELIB}/visidata/vdtui.pyc
|
||||
${PYSITELIB}/visidata/vdtui.pyo
|
||||
${PYSITELIB}/visidata/vimkeys.py
|
||||
${PYSITELIB}/visidata/vimkeys.pyc
|
||||
${PYSITELIB}/visidata/vimkeys.pyo
|
||||
${PYSITELIB}/visidata/zscroll.py
|
||||
${PYSITELIB}/visidata/zscroll.pyc
|
||||
${PYSITELIB}/visidata/zscroll.pyo
|
||||
man/man1/vd.1
|
|
@ -0,0 +1,6 @@
|
|||
- Running `vd' ends up with a:
|
||||
|
||||
AttributeError: '_curses.window' object has no attribute 'get_wch'
|
||||
|
||||
It seems that curses(3) has a get_wch(3) but py-curses does not recognize it.
|
||||
Investigate further (that's probably a general py-curses problem)!
|
|
@ -0,0 +1,7 @@
|
|||
$NetBSD$
|
||||
|
||||
SHA1 (visidata-1.5.2.tar.gz) = 67ae888ef6f7a385bb5f8bf2bd446252ba9959e8
|
||||
RMD160 (visidata-1.5.2.tar.gz) = fa08b1d1434f1624bbe0789cd5725c0bff20c407
|
||||
SHA512 (visidata-1.5.2.tar.gz) = df236bb74909b3d0bbff012d20b01546ca9058038877a12e94fd2274d7b6465e68c0b652e37776e0b693916070c7185a773d54ead291c996bbb32625897bd4df
|
||||
Size (visidata-1.5.2.tar.gz) = 123785 bytes
|
||||
SHA1 (patch-visidata_vdtui.py) = 714357a9b384329b8527f0d98a469e04afa8303d
|
|
@ -0,0 +1,23 @@
|
|||
$NetBSD$
|
||||
|
||||
- Make curses(3) mouse support optional
|
||||
|
||||
--- visidata/vdtui.py.orig 2019-01-13 00:28:25.000000000 +0000
|
||||
+++ visidata/vdtui.py
|
||||
@@ -2817,9 +2817,13 @@ colors = ColorMaker()
|
||||
def setupcolors(stdscr, f, *args):
|
||||
curses.raw() # get control keys instead of signals
|
||||
curses.meta(1) # allow "8-bit chars"
|
||||
- curses.mousemask(-1) # even more than curses.ALL_MOUSE_EVENTS
|
||||
- curses.mouseinterval(0) # very snappy but does not allow for [multi]click
|
||||
- curses.mouseEvents = {}
|
||||
+
|
||||
+ try:
|
||||
+ curses.mousemask(-1) # even more than curses.ALL_MOUSE_EVENTS
|
||||
+ curses.mouseinterval(0) # very snappy but does not allow for [multi]click
|
||||
+ curses.mouseEvents = {}
|
||||
+ except:
|
||||
+ pass
|
||||
|
||||
for k in dir(curses):
|
||||
if k.startswith('BUTTON') or k == 'REPORT_MOUSE_POSITION':
|
Loading…
Reference in New Issue