GUI presentation of data
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
opengridview
.gitignore
LICENSE.txt
Makefile
README.rst
changelog
setup.py

README.rst

Open-GridView

An application insipired by PowerShell's Out-GridView .

https://cloud.githubusercontent.com/assets/7194491/18807763/73f0c676-8258-11e6-9598-46c27488ffe9.png

Implemented on Gnome using GTK

Input is passed via STDIN or via filenames in argument. Every file is assigned a window and a thread in charge of reading that file and parsing it.

Also check out my post on it: http://blog.backslasher.net/open-gridview.html

Prerequisites

Since we rely on Gtk, we need the python GTK bindings (PyGobject). Compiling it as a Python package is annoying, so it's better to install the Distro-provided package (e.g. in Ubuntu - python-gi)

Basic usage

Either pipe input, or supply it as files.

Default parser is autosplit (re.split) with \s+ as separator

Change parser with --parser

Change separator where applicable using --separator

Column names are usually inferred from input. Use --headers to override.

Columns can be discarded by specifying an empty name, like --headers important,,also

Column types are usually inferred from first item in input. If overriding headers, follow a name with colons to force a specific type, like --headers col,othercol:int,thirdcol

Parsing

These different types of input formatting are currently supported:

  • autosplit (default), which uses re.split to create different columns from every row.

    Default separator is \s+ which is good for space-separated items.

    Separator can contains capturing groups for interesting results

  • csv, with configurable column separators

  • line_json, where every line is considered a single JSON object (Line delimited JSON)

Items are displayed immediately when parsed

Additional features

  • Clipboard support. Copies as CSV to allow easy pasting in spreadsheet software
  • Simple text filtering

TODO

  • act as pipeline middle (and not just terminator), meaning that you can select items and click "OK" to make it send the items to STDOUT
  • Support advanced filtering (e.g. regex, specific columns)
  • Support hiding and re-ordering columns
  • show progress icon when stdin isn't EOF yet