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!
Metadata
Release files for xarray-graph 2026.8.5
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.5.tar.gz | 118.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xarray_graph-2026.8.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 264.3 kB
Release files / xarray_graph-2026.8.5.tar.gz
| Download URL | xarray_graph-2026.8.5.tar.gz |
|---|---|
| Size | 118.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e471b92dadcb4646dd5929c21b776723bfecb8a7839a477c994a4d5f20e7fb2
|
|
BLAKE2b-256 checksum How to use checksums |
b340fbe7f863217ed08ed56823d10e7b4c0f84ad41f0911d6bfb86d2cb312c3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xarray_graph-2026.8.5-py3-none-any.whl
| Download URL | xarray_graph-2026.8.5-py3-none-any.whl |
|---|---|
| Size | 146.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47af6f7ee7f0d9b19261a745c28c2cceb41a575310cbfa87ece5f72326b5ee8f
|
|
BLAKE2b-256 checksum How to use checksums |
2f60c21593eabc067dabb1a9fb556a18c55e6e3e206637b3e3de0ed295b01fb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|