22import os
33import pathlib
44import typing
5- from typing import Any
5+ from typing import Any , ClassVar
66
77import pystac
88import xarray as xr
99import yaml
10- from typing import ClassVar
1110
1211LOGGER = logging .getLogger (__name__ )
1312logging .basicConfig (level = logging .INFO )
@@ -24,7 +23,7 @@ class NotebookParameters:
2423 def __init__ (
2524 self ,
2625 params : dict [str , tuple [type , Any ]],
27- config : dict [str , Any ] = None ,
26+ config : dict [str , Any ] | None = None ,
2827 ):
2928 self .params = params
3029 self .config = {} if config is None else config
@@ -73,7 +72,7 @@ def extract_variables(
7372 cls , code : str , setup_code : str | None = None
7473 ) -> dict [str , tuple [type , Any ]]:
7574 if setup_code is None :
76- locals_ = {}
75+ locals_ : dict [ str , object ] = {}
7776 old_locals = {}
7877 else :
7978 exec (setup_code , globals (), locals_ := {})
@@ -135,13 +134,13 @@ def to_yaml(self) -> str:
135134
136135 def read_params_combined (
137136 self , cli_args : list [str ] | None
138- ) -> dict [str , str ]:
137+ ) -> dict [str , Any ]:
139138 params = self .read_params_from_env ()
140139 if cli_args :
141140 params .update (self .read_params_from_cli (cli_args ))
142141 return params
143142
144- def read_params_from_env (self ) -> dict [str , str ]:
143+ def read_params_from_env (self ) -> dict [str , Any ]:
145144 values = {}
146145 for param_name , (type_ , _ ) in self .params .items ():
147146 env_var_name = "xce_" + param_name
@@ -154,7 +153,7 @@ def read_params_from_env(self) -> dict[str, str]:
154153 )
155154 return values
156155
157- def read_params_from_cli (self , args : list [str ]) -> dict [str , str ]:
156+ def read_params_from_cli (self , args : list [str ]) -> dict [str , Any ]:
158157 values = {}
159158 for param_name , (type_ , _ ) in self .params .items ():
160159 arg_name = "--" + param_name .replace ("_" , "-" )
@@ -216,7 +215,7 @@ def read_staged_in_dataset(
216215 ),
217216 )
218217 )
219- asset = next (a for a in item .assets .values () if "data" in a .roles )
218+ asset = next (a for a in item .assets .values () if "data" in ( a .roles or []) )
220219 return xr .open_dataset (stage_in_path / asset .href )
221220
222221 @staticmethod
0 commit comments