1212except ImportError :
1313 xlsxwriter = None
1414
15+ from typing import List , Tuple
16+
1517from larray .core .array import Array , asarray
1618from larray .core .constants import nan
1719from larray .core .group import _translate_sheet_name
@@ -243,10 +245,10 @@ def _open_for_write(self):
243245 engine = 'xlsxwriter' if ext == '.xlsx' and xlsxwriter is not None else None
244246 self .handle = pd .ExcelWriter (self .fname , engine = engine )
245247
246- def list_items (self ):
248+ def list_items (self ) -> List [ Tuple [ str , str ]] :
247249 return [(name , 'Array' ) for name in self .handle .sheet_names if name != '__metadata__' ]
248250
249- def _read_item (self , key , type , * args , ** kwargs ):
251+ def _read_item (self , key , type , * args , ** kwargs ) -> Array :
250252 if type == 'Array' :
251253 df = self .handle .parse (key , * args , ** kwargs )
252254 return df_asarray (df , raw = True )
@@ -260,7 +262,7 @@ def _dump_item(self, key, value, *args, **kwargs):
260262 else :
261263 raise TypeError ()
262264
263- def _read_metadata (self ):
265+ def _read_metadata (self ) -> Metadata :
264266 sheet_meta = '__metadata__'
265267 if sheet_meta in self .handle .sheet_names :
266268 meta = read_excel (self .handle , sheet_meta , engine = self .handle .engine , wide = False )
@@ -298,10 +300,10 @@ def _open_for_read(self):
298300 def _open_for_write (self ):
299301 self .handle = open_excel (self .fname , overwrite_file = self .overwrite_file )
300302
301- def list_items (self ):
303+ def list_items (self ) -> List [ Tuple [ str , str ]] :
302304 return [(name , 'Array' ) for name in self .handle .sheet_names () if name != '__metadata__' ]
303305
304- def _read_item (self , key , type , * args , ** kwargs ):
306+ def _read_item (self , key , type , * args , ** kwargs ) -> Array :
305307 if type == 'Array' :
306308 return self .handle [key ].load (* args , ** kwargs )
307309 else :
@@ -313,7 +315,7 @@ def _dump_item(self, key, value, *args, **kwargs):
313315 else :
314316 raise TypeError ()
315317
316- def _read_metadata (self ):
318+ def _read_metadata (self ) -> Metadata :
317319 sheet_meta = '__metadata__'
318320 if sheet_meta in self .handle :
319321 meta = self .handle [sheet_meta ].load (wide = False )
0 commit comments