Skip to main content

visidata_pdr: Load tabular data into VisiData using PDR

This VisiData plugin adds a loader that can load any type of tabular data understood by the Planetary Data Reader (PDR).

Installation

It is necessary to install PDR and its dependencies as well as the plugin’s own code. The easiest way to do this is to install the plugin package, visidata_pdr, using pip, into the Python runtime context where VisiData looks for its libraries. For example, if VisiData is installed via pipx,

pipx inject visidata visidata_pdr

will do the job. If you have installed VisiData some other way, you will need to use different commands (please suggest additional examples for this section).

Copying visidata_pdr.py into VisiData’s local plugins directory is not recommended, as this will not install PDR.

Usage

After installing the plugin and its dependencies, the pdr loader can open any PDS product pdr.open() understands. It cannot retrieve a product’s files from the network; you must have all the files locally available before you begin. (It is easy to forget to download external table format files, or to download only some of the data files associated with a label.)

Loading PDS data into VisiData is probably most useful for tables of records, but you can also load images; these will be presented as a matrix of the image pixels’ values.

For example, suppose you have downloaded the Mars Global Surveyor’s Thermal Emission Spectrometer data set and you want to look at the first batch of data (MY24; 1999-02-28T21):

vd -f pdr TES_COD_IR_MY24_Ls090_Ls120.xml

It would also work to specify the .dat file for this product. Either way, the loader will create one sheet for the label itself, and another sheet for each data object described by the label (whether or not it is stored in the files on the command line). The sheet for the label itself will be selected initially; use standard VisiData sheet navigation to reach other sheets.

Data sheets are lazily loaded; each actual data file will not be opened until the sheet for one of its data objects is selected. Therefore, if you are missing some of the data files or external format files associated with a label, you won’t be notified until you try to access one of the sheets for which data is missing. However, if you start by telling VisiData to load one of the data files associated with a label, VisiData core requires that that file exists, before giving the pdr loader a chance to look at it.

The plugin does provide a “guess” function that tries to identify files that pdr.open would understand, but its guesses are treated as lower priority than all of the built-in loaders for specific file formats, so, for example, omitting the -f pdr from the above command will cause TES_COD_IR_MY24_Ls090_Ls120.xml to be loaded as a generic XML file, not a PDS4 label. (We hope to improve this in the future.)

Comments, suggestions, bug reports, etc.

We are actively looking for feedback on the user experience of this plugin. Please file all commentary, suggestions, etc. as GitHub issues: https://github.com/MillionConcepts/visidata-pdr/issues

Licensing

Copyright 2026, Million Concepts LLC.

Redistribution and use are permitted under the terms of the 3-clause BSD license; see LICENSE.md for exact terms.

Metadata

Release files for visidata-pdr 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for visidata-pdr 0.1.1
File Size Uploaded
visidata_pdr-0.1.1.tar.gz 17.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for visidata-pdr 0.1.1
File Interpreter ABI Platform
visidata_pdr-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.1 kB

Release files / visidata_pdr-0.1.1.tar.gz

Download URL visidata_pdr-0.1.1.tar.gz
Size 17.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7d3f2f84973288ab40bd1ded1a9a3bc91beb76f8f79dce57e0fa3b57dc737dbf
BLAKE2b-256 checksum
How to use checksums
19f6ef7c9375939bc5557950aa3a1328dc65360a0062e8fdbd3a64f2016ca4f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / visidata_pdr-0.1.1-py3-none-any.whl

Download URL visidata_pdr-0.1.1-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2efaf58782b26806b043a3c09d249c5b9ae644c577b8770e43493db55f5806ae
BLAKE2b-256 checksum
How to use checksums
e243a4cbe56ef15f9b2305dd18f8335a89580f3550692c832b017005140db49f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page