Development Status
- 4 - Beta
Environment
- X11 Applications :: Qt
Intended Audience
- Developers
- End Users/Desktop
- Science/Research
License
- OSI Approved :: MIT License
Programming Language
- Python :: 3 :: Only
Topic
- Scientific/Engineering :: Visualization
- Software Development :: User Interfaces
xarray-graph
PyQt UIs for Xarray DataTree including tree view and DataArray slice graphing and processing.
:construction: YouTube video for graph app coming soon...
Contents
- Install
- Apps
- XarrayDataTreeViewer: Tree UI for an Xarray DataTree.
- XarrayGraph: Graph/Iterate/Fit/Analyze (x,y) slices of DataArrays in an Xarray DataTree.
- Using Xarray DataTree model/view components in your own app
- Support
Install
Requires a PyQt package. Should work with PySide6 (the official Python Qt binding), PyQt6, or PyQt5 via the QtPy abstraction layer. Note: PySide6>=6.2.2 for Apple silicon support, and PySide6!=6.9.1 due to a bug that is incompatible with pyqtgraph.
Install with uv (recommended):
- Install the python package manager uv.
- Download the xarray-graph GitHub repository. For now, I suggest downloading the latest version of the repo as it has been under frequent development.
- In the downloaded repo directory, run the following commands (e.g., in a Terminal or shell):
uv sync
uv pip install "PySide6>=6.2.2,!=6.9.1"
Install with pip:
pip install xarray-graph
pip install "PySide6>=6.2.2,!=6.9.1"
XarrayDataTreeViewer
Tree UI for an Xarray DataTree.
:rocket: To launch the application, run the following command (e.g., in a Terminal or shell) in the downloaded repo directory:
uv run xarray-tree
:warning: If you installed with pip, omit uv run.
:bangbang: Note: The first time you run the app it may take 20-30 seconds to start due to loading/caching of graphics libraries, so be patient. Subsequent runs should start in only a few seconds.
XarrayGraph
Graph/Iterate/Fit/Analyze (x,y) slices of DataArrays in an Xarray DataTree.
:construction: YouTube video coming soon...
:rocket: To launch the application, run the following command (e.g., in a Terminal or shell) in the downloaded repo directory:
uv run xarray-graph
:warning: If you installed with pip, omit uv run.
:bangbang: Note: The first time you run the app it may take 20-30 seconds to start due to loading/caching of graphics libraries, so be patient. Subsequent runs should start in only a few seconds.
Using Xarray DataTree model/view components in your own app
import xarray as xr
from xarray_graph.tree.XarrayDataTreeModel import XarrayDataTreeModel
from xarray_graph.tree.XarrayDataTreeView import XarrayDataTreeView
dt = xr.DataTree(...)
model = XarrayDataTreeModel()
model.setDatatree(dt)
view = XarrayDataTreeView()
view.setModel(model)
# place view widget in your app as desired
Support
This is all done in my free time. If you find it useful, why not buy me a cup of coffee? Cheers!

