Skip to content

Commit 699f961

Browse files
juhi24mgrover1
andauthored
FIX: Ensure backwards compatibility with datatree/new versions of xarray (#1681)
* try to use datatree from xarray * FIX: Fix some small linting errors * FIX: Fix the import of register datatree accessor * DEP: Update dependencies to work with newer versions of xarray/xradar * FIX: Update CI to only run for 3.10+ * FIX: Fix bad version in requirements --------- Co-authored-by: Max Grover <maxi2312@gmail.com> Co-authored-by: mgrover1 <mgroverwx@gmail.com>
1 parent 24478b2 commit 699f961

File tree

5 files changed

+23
-11
lines changed

5 files changed

+23
-11
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
strategy:
2828
fail-fast: false
2929
matrix:
30-
python-version: ["3.9", "3.10", "3.11", "3.12"]
30+
python-version: ["3.10", "3.11", "3.12"]
3131
os: [macos, ubuntu, windows]
3232

3333
steps:

continuous_integration/environment-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ dependencies:
1212
- wradlib
1313
- cartopy
1414
- cvxopt
15-
- xarray<=2024.9.0
15+
- xarray>=2024.10.0
1616
- metpy
1717
- pytest-cov
1818
- pytest-mpl
@@ -25,7 +25,7 @@ dependencies:
2525
- shapely
2626
- ruff
2727
- mda-xdrlib
28-
- xradar<=0.7.0
28+
- xradar>=0.8.0
2929
- pooch
3030
- versioneer
3131
- black

doc/environment.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ dependencies:
1313
- metpy
1414
- cartopy
1515
- cvxopt
16-
- xarray<=2024.9.0
16+
- xarray>=2024.10.0
1717
- sphinx<7.2
1818
- ipython
1919
- pandoc
@@ -34,7 +34,7 @@ dependencies:
3434
- pre_commit
3535
- cmweather
3636
- mda-xdrlib
37-
- xradar<=0.7.0
37+
- xradar>=0.8.0
3838
- dask
3939
- pip
4040
- pip:

pyart/xradar/accessor.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,23 @@
55

66
import copy
77

8-
import datatree
98
import numpy as np
109
import pandas as pd
11-
from datatree import DataTree, formatting, formatting_html
12-
from datatree.treenode import NodePath
10+
11+
try:
12+
from xarray.core import formatting, formatting_html
13+
from xarray.core.datatree import DataTree
14+
from xarray.core.extensions import register_datatree_accessor
15+
from xarray.core.treenode import NodePath
16+
except ImportError:
17+
from datatree import (
18+
DataTree,
19+
formatting,
20+
formatting_html,
21+
)
22+
from datatree.extensions import register_datatree_accessor
23+
from datatree.treenode import NodePath
24+
1325
from xarray import DataArray, Dataset, concat
1426
from xarray.core import utils
1527
from xradar.accessors import XradarAccessor
@@ -807,7 +819,7 @@ def _point_altitude_data():
807819
return _point_altitude_data
808820

809821

810-
@datatree.register_datatree_accessor("pyart")
822+
@register_datatree_accessor("pyart")
811823
class XradarDataTreeAccessor(XradarAccessor):
812824
"""Adds a number of pyart specific methods to datatree.DataTree objects."""
813825

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ cftime
77
fsspec
88
s3fs
99
open_radar_data
10-
xradar<=0.7.0
10+
xradar>=0.8.0
1111
pandas
1212
mda-xdrlib
13-
xarray<=2024.9.0
13+
xarray>=2024.10.0
1414
cartopy
1515
pint

0 commit comments

Comments
 (0)