Skip to main content

A Textual User Interface (TUI) for exploring xarray Datasets.

Project description

xr-tui

CI GitHub stars GitHubIssues GitTutorial Ruff linting: pylint PyPI - Status

xr-tui is an interactive terminal user interface (TUI) for exploring and visualizing multi-dimensional datasets. It uses xarray to support loading NetCDF, Zarr and HDF5 tree structures, and provides a user-friendly interface for data exploration directly in the terminal.

Features

  • Interactive navigation through NetCDF, Zarr, and HDF5 datasets.
  • Visualization of 1D and 2D data using plotext for terminal-based plotting.
  • Support for slicing multi-dimensional data.
  • Easy-to-use command-line interface.
  • Displays dataset statistics and metadata.
  • Handles HDF5 files not formatted as xarray datasets.

Domain Specific Formats

xr-tui additionally supports domain specific formats such as the HDF5 NeXus format along with any custom xarray backends that supports datatrees. The list of actively supported xarray backends is as follows:

  • sdf-xarray - Used for loading the Particle-in-Cell code EPOCH's output files.

Installation

You can install xr-tui via pip:

pipx install xr-tui

Or as a uv tool:

uv tool install xr-tui

Usage

To start xr-tui, simply run the following command in your terminal:

xr <filename>

This will launch the TUI, allowing you to explore the contents of filename.

You can also specify a particular group within a file to load:

xr <filename> --group summary

xr-tui also works with remote datasets accessible via HTTP:

xr http://example.com/data.zarr

Key Command Reference

Key Action
q Quit the application.
h Show help menu.
e Expand all nodes in the dataset tree.
space Collapse all nodes in the dataset tree.
Arrow keys Navigate through the dataset.
Enter Select an item or open a variable
s Show statistics of the selected variable.
p Plot the selected variable.

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

xr_tui-0.2.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

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

xr_tui-0.2.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file xr_tui-0.2.0.tar.gz.

File metadata

  • Download URL: xr_tui-0.2.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xr_tui-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a6852b27aad4386546173612c7378d3caecb41bdd9cff5e6d6c06d983daad68a
MD5 80ca82dfba967c7afedfa2945dbd0965
BLAKE2b-256 d8ee124c220dd7baee276ce056155f7e44e70fc4805b0369ac41ffcfd0f36a62

See more details on using hashes here.

Provenance

The following attestation bundles were made for xr_tui-0.2.0.tar.gz:

Publisher: publish.yml on samueljackson92/xr-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xr_tui-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: xr_tui-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xr_tui-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 431626c983fca6ee26bfc43fd88e7c82324c24b00942ee4ff3b428ee6bde976d
MD5 3ea2079c0a873f17b89d612fdecb3b85
BLAKE2b-256 e1fd346f2291ead1b71a378014fc0f0d77f34cf81ef0c411f28249fe9492a797

See more details on using hashes here.

Provenance

The following attestation bundles were made for xr_tui-0.2.0-py3-none-any.whl:

Publisher: publish.yml on samueljackson92/xr-tui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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