Skip to main content

Load tabular data understood by PDR into VisiData

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

visidata_pdr-0.1.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

visidata_pdr-0.1.1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file visidata_pdr-0.1.1.tar.gz.

File metadata

  • Download URL: visidata_pdr-0.1.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for visidata_pdr-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7d3f2f84973288ab40bd1ded1a9a3bc91beb76f8f79dce57e0fa3b57dc737dbf
MD5 a55d40a3a0d26c6b26daff29ef27a81c
BLAKE2b-256 19f6ef7c9375939bc5557950aa3a1328dc65360a0062e8fdbd3a64f2016ca4f8

See more details on using hashes here.

File details

Details for the file visidata_pdr-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: visidata_pdr-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for visidata_pdr-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2efaf58782b26806b043a3c09d249c5b9ae644c577b8770e43493db55f5806ae
MD5 fe756367aaadcca208a0669e937b494c
BLAKE2b-256 e243a4cbe56ef15f9b2305dd18f8335a89580f3550692c832b017005140db49f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page