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
:bangbang: Note: The first time you run the app it may take 20-30 seconds to start due to loading 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.
: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
:bangbang: Note: The first time you run the app it may take 20-30 seconds to start due to loading of graphics libraries, so be patient. Subsequent runs should start in only a few seconds.
:construction: YouTube video
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!
Metadata
Release files for xarray-graph 2026.8.2.post2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xarray_graph-2026.8.2.post2.tar.gz | 113.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xarray_graph-2026.8.2.post2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 253.9 kB
Release files / xarray_graph-2026.8.2.post2.tar.gz
| Download URL | xarray_graph-2026.8.2.post2.tar.gz |
|---|---|
| Size | 113.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0bfa200558b40ff0f56644cacf9d925d234b9b9b27b10e84d6f97f5570739dd2
|
|
BLAKE2b-256 checksum How to use checksums |
137895aaef36d150e8545b5124eb15bb1d958ac9946acb4c755415fef58a121a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.8
|
Release files / xarray_graph-2026.8.2.post2-py3-none-any.whl
| Download URL | xarray_graph-2026.8.2.post2-py3-none-any.whl |
|---|---|
| Size | 140.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00b0dc0772a7004076bdb1d3737bdeaa62111265a840e49568ff7be79a3340a2
|
|
BLAKE2b-256 checksum How to use checksums |
92d2475762f9615a5e554d34295d452edfebe2886363e2e522037269477002f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.8
|