Skip to content

Commit 63f78c5

Browse files
committed
#157 Update OptionedClass
1 parent 4fa7e00 commit 63f78c5

File tree

2 files changed

+6
-24
lines changed

2 files changed

+6
-24
lines changed

xarray_dataclasses/dataarray.py

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,7 @@
55
# standard library
66
from functools import partial, wraps
77
from types import MethodType
8-
from typing import (
9-
Any,
10-
Callable,
11-
ClassVar,
12-
Dict,
13-
Optional,
14-
Type,
15-
TypeVar,
16-
Union,
17-
overload,
18-
)
8+
from typing import Any, Callable, Optional, Type, TypeVar, Union, overload
199

2010

2111
# dependencies
@@ -28,21 +18,17 @@
2818
# submodules
2919
from .datamodel import DataModel
3020
from .dataoptions import DataOptions
31-
from .typing import AnyArray, AnyField, AnyXarray, DataClass, Order, Shape, Sizes
21+
from .typing import AnyArray, AnyXarray, DataClass, Order, Shape, Sizes
3222

3323

3424
# type hints
3525
PInit = ParamSpec("PInit")
3626
TDataArray = TypeVar("TDataArray", bound=xr.DataArray)
3727

3828

39-
class OptionedClass(Protocol[PInit, TDataArray]):
29+
class OptionedClass(DataClass[PInit], Protocol[PInit, TDataArray]):
4030
"""Type hint for dataclass objects with options."""
4131

42-
def __init__(self, *args: PInit.args, **kwargs: PInit.kwargs) -> None:
43-
...
44-
45-
__dataclass_fields__: ClassVar[Dict[str, AnyField]]
4632
__dataoptions__: DataOptions[TDataArray]
4733

4834

xarray_dataclasses/dataset.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# standard library
66
from functools import partial, wraps
77
from types import MethodType
8-
from typing import Any, Callable, ClassVar, Dict, Optional, Type, TypeVar, overload
8+
from typing import Any, Callable, Dict, Optional, Type, TypeVar, overload
99

1010

1111
# dependencies
@@ -18,21 +18,17 @@
1818
# submodules
1919
from .datamodel import DataModel
2020
from .dataoptions import DataOptions
21-
from .typing import AnyArray, AnyField, AnyXarray, DataClass, Order, Shape, Sizes
21+
from .typing import AnyArray, AnyXarray, DataClass, Order, Shape, Sizes
2222

2323

2424
# type hints
2525
PInit = ParamSpec("PInit")
2626
TDataset = TypeVar("TDataset", bound=xr.Dataset)
2727

2828

29-
class OptionedClass(Protocol[PInit, TDataset]):
29+
class OptionedClass(DataClass[PInit], Protocol[PInit, TDataset]):
3030
"""Type hint for dataclass objects with options."""
3131

32-
def __init__(self, *args: PInit.args, **kwargs: PInit.kwargs) -> None:
33-
...
34-
35-
__dataclass_fields__: ClassVar[Dict[str, AnyField]]
3632
__dataoptions__: DataOptions[TDataset]
3733

3834

0 commit comments

Comments
 (0)