VisiData Plugin Authors Guide (v2.0)

VisiData is designed to be extensible. Anything that can be done with Python (which is basically everything) can be exposed in a VisiData interface with a minimal amount of code.

VisiData is also designed to be modular. Many of its features can exist in isolation, and can be enabled or disabled independently, without affecting other features. Modules should degrade or fail gracefully if they depend on another module which is not loaded.

Hello World

As a simple example, this code can be placed in ~/.visidatarc:

BaseSheet.addCommand('1', 'hello-world', 'status("Hello world!")')

This extends VisiData so that when 1 is pressed on any sheet, the command called hello-world with the Python code status("Hello world!") is executed, and this prints the string “Hello world!” on the status bar.

Toplevel functions