@@ -520,16 +520,16 @@ def root(self):
520
520
def filename (self ):
521
521
return self ._path
522
522
523
- def __getitem__ (self , key ):
523
+ def __getitem__ (self , key : str ):
524
524
return self .get (key )
525
525
526
- def __setitem__ (self , key , value ):
526
+ def __setitem__ (self , key : str , value ):
527
527
self .put (key , value )
528
528
529
- def __delitem__ (self , key ):
529
+ def __delitem__ (self , key : str ):
530
530
return self .remove (key )
531
531
532
- def __getattr__ (self , name ):
532
+ def __getattr__ (self , name : str ):
533
533
""" allow attribute access to get stores """
534
534
try :
535
535
return self .get (name )
@@ -791,7 +791,12 @@ def func(_start, _stop, _where):
791
791
return it .get_result ()
792
792
793
793
def select_as_coordinates (
794
- self , key : str , where = None , start = None , stop = None , ** kwargs
794
+ self ,
795
+ key : str ,
796
+ where = None ,
797
+ start : Optional [int ] = None ,
798
+ stop : Optional [int ] = None ,
799
+ ** kwargs ,
795
800
):
796
801
"""
797
802
return the selection as an Index
@@ -943,13 +948,13 @@ def func(_start, _stop, _where):
943
948
944
949
return it .get_result (coordinates = True )
945
950
946
- def put (self , key , value , format = None , append = False , ** kwargs ):
951
+ def put (self , key : str , value , format = None , append = False , ** kwargs ):
947
952
"""
948
953
Store object in HDFStore.
949
954
950
955
Parameters
951
956
----------
952
- key : object
957
+ key : str
953
958
value : {Series, DataFrame}
954
959
format : 'fixed(f)|table(t)', default is 'fixed'
955
960
fixed(f) : Fixed format
@@ -1028,15 +1033,22 @@ def remove(self, key: str, where=None, start=None, stop=None):
1028
1033
return s .delete (where = where , start = start , stop = stop )
1029
1034
1030
1035
def append (
1031
- self , key , value , format = None , append = True , columns = None , dropna = None , ** kwargs
1036
+ self ,
1037
+ key : str ,
1038
+ value ,
1039
+ format = None ,
1040
+ append = True ,
1041
+ columns = None ,
1042
+ dropna = None ,
1043
+ ** kwargs ,
1032
1044
):
1033
1045
"""
1034
1046
Append to Table in file. Node must already exist and be Table
1035
1047
format.
1036
1048
1037
1049
Parameters
1038
1050
----------
1039
- key : object
1051
+ key : str
1040
1052
value : {Series, DataFrame}
1041
1053
format : 'table' is the default
1042
1054
table(t) : table format
@@ -1077,7 +1089,14 @@ def append(
1077
1089
self ._write_to_group (key , value , append = append , dropna = dropna , ** kwargs )
1078
1090
1079
1091
def append_to_multiple (
1080
- self , d , value , selector , data_columns = None , axes = None , dropna = False , ** kwargs
1092
+ self ,
1093
+ d : Dict ,
1094
+ value ,
1095
+ selector ,
1096
+ data_columns = None ,
1097
+ axes = None ,
1098
+ dropna = False ,
1099
+ ** kwargs ,
1081
1100
):
1082
1101
"""
1083
1102
Append to multiple tables
@@ -1123,7 +1142,7 @@ def append_to_multiple(
1123
1142
1124
1143
# figure out how to split the value
1125
1144
remain_key = None
1126
- remain_values = []
1145
+ remain_values : List = []
1127
1146
for k , v in d .items ():
1128
1147
if v is None :
1129
1148
if remain_key is not None :
@@ -1871,7 +1890,7 @@ def validate(self, handler, append):
1871
1890
def validate_names (self ):
1872
1891
pass
1873
1892
1874
- def validate_and_set (self , handler , append ):
1893
+ def validate_and_set (self , handler : "AppendableTable" , append : bool ):
1875
1894
self .set_table (handler .table )
1876
1895
self .validate_col ()
1877
1896
self .validate_attr (append )
@@ -1901,7 +1920,7 @@ def validate_col(self, itemsize=None):
1901
1920
1902
1921
return None
1903
1922
1904
- def validate_attr (self , append ):
1923
+ def validate_attr (self , append : bool ):
1905
1924
# check for backwards incompatibility
1906
1925
if append :
1907
1926
existing_kind = getattr (self .attrs , self .kind_attr , None )
@@ -1967,7 +1986,7 @@ def read_metadata(self, handler):
1967
1986
""" retrieve the metadata for this columns """
1968
1987
self .metadata = handler .read_metadata (self .cname )
1969
1988
1970
- def validate_metadata (self , handler ):
1989
+ def validate_metadata (self , handler : "AppendableTable" ):
1971
1990
""" validate that kind=category does not change the categories """
1972
1991
if self .meta == "category" :
1973
1992
new_metadata = self .metadata
@@ -1982,7 +2001,7 @@ def validate_metadata(self, handler):
1982
2001
"different categories to the existing"
1983
2002
)
1984
2003
1985
- def write_metadata (self , handler ):
2004
+ def write_metadata (self , handler : "AppendableTable" ):
1986
2005
""" set the meta data """
1987
2006
if self .metadata is not None :
1988
2007
handler .write_metadata (self .cname , self .metadata )
@@ -1995,7 +2014,15 @@ class GenericIndexCol(IndexCol):
1995
2014
def is_indexed (self ) -> bool :
1996
2015
return False
1997
2016
1998
- def convert (self , values , nan_rep , encoding , errors , start = None , stop = None ):
2017
+ def convert (
2018
+ self ,
2019
+ values ,
2020
+ nan_rep ,
2021
+ encoding ,
2022
+ errors ,
2023
+ start : Optional [int ] = None ,
2024
+ stop : Optional [int ] = None ,
2025
+ ):
1999
2026
""" set the values from this selection: take = take ownership
2000
2027
2001
2028
Parameters
@@ -2012,9 +2039,9 @@ def convert(self, values, nan_rep, encoding, errors, start=None, stop=None):
2012
2039
the underlying table's row count are normalized to that.
2013
2040
"""
2014
2041
2015
- start = start if start is not None else 0
2016
- stop = min (stop , self .table .nrows ) if stop is not None else self .table .nrows
2017
- self .values = Int64Index (np .arange (stop - start ))
2042
+ _start = start if start is not None else 0
2043
+ _stop = min (stop , self .table .nrows ) if stop is not None else self .table .nrows
2044
+ self .values = Int64Index (np .arange (_stop - _start ))
2018
2045
2019
2046
return self
2020
2047
@@ -2749,7 +2776,9 @@ def get_attrs(self):
2749
2776
def write (self , obj , ** kwargs ):
2750
2777
self .set_attrs ()
2751
2778
2752
- def read_array (self , key : str , start = None , stop = None ):
2779
+ def read_array (
2780
+ self , key : str , start : Optional [int ] = None , stop : Optional [int ] = None
2781
+ ):
2753
2782
""" read an array for the specified node (off of group """
2754
2783
import tables
2755
2784
@@ -2836,7 +2865,7 @@ def write_block_index(self, key, index):
2836
2865
self .write_array ("{key}_blengths" .format (key = key ), index .blengths )
2837
2866
setattr (self .attrs , "{key}_length" .format (key = key ), index .length )
2838
2867
2839
- def read_block_index (self , key , ** kwargs ):
2868
+ def read_block_index (self , key , ** kwargs ) -> BlockIndex :
2840
2869
length = getattr (self .attrs , "{key}_length" .format (key = key ))
2841
2870
blocs = self .read_array ("{key}_blocs" .format (key = key ), ** kwargs )
2842
2871
blengths = self .read_array ("{key}_blengths" .format (key = key ), ** kwargs )
@@ -2846,7 +2875,7 @@ def write_sparse_intindex(self, key, index):
2846
2875
self .write_array ("{key}_indices" .format (key = key ), index .indices )
2847
2876
setattr (self .attrs , "{key}_length" .format (key = key ), index .length )
2848
2877
2849
- def read_sparse_intindex (self , key , ** kwargs ):
2878
+ def read_sparse_intindex (self , key , ** kwargs ) -> IntIndex :
2850
2879
length = getattr (self .attrs , "{key}_length" .format (key = key ))
2851
2880
indices = self .read_array ("{key}_indices" .format (key = key ), ** kwargs )
2852
2881
return IntIndex (length , indices )
@@ -2878,7 +2907,7 @@ def write_multi_index(self, key, index):
2878
2907
label_key = "{key}_label{idx}" .format (key = key , idx = i )
2879
2908
self .write_array (label_key , level_codes )
2880
2909
2881
- def read_multi_index (self , key , ** kwargs ):
2910
+ def read_multi_index (self , key , ** kwargs ) -> MultiIndex :
2882
2911
nlevels = getattr (self .attrs , "{key}_nlevels" .format (key = key ))
2883
2912
2884
2913
levels = []
@@ -2898,7 +2927,9 @@ def read_multi_index(self, key, **kwargs):
2898
2927
levels = levels , codes = codes , names = names , verify_integrity = True
2899
2928
)
2900
2929
2901
- def read_index_node (self , node , start = None , stop = None ):
2930
+ def read_index_node (
2931
+ self , node , start : Optional [int ] = None , stop : Optional [int ] = None
2932
+ ):
2902
2933
data = node [start :stop ]
2903
2934
# If the index was an empty array write_array_empty() will
2904
2935
# have written a sentinel. Here we relace it with the original.
@@ -2953,7 +2984,7 @@ def read_index_node(self, node, start=None, stop=None):
2953
2984
2954
2985
return name , index
2955
2986
2956
- def write_array_empty (self , key , value ):
2987
+ def write_array_empty (self , key : str , value ):
2957
2988
""" write a 0-len array """
2958
2989
2959
2990
# ugly hack for length 0 axes
@@ -2966,7 +2997,7 @@ def _is_empty_array(self, shape) -> bool:
2966
2997
"""Returns true if any axis is zero length."""
2967
2998
return any (x == 0 for x in shape )
2968
2999
2969
- def write_array (self , key , value , items = None ):
3000
+ def write_array (self , key : str , value , items = None ):
2970
3001
if key in self .group :
2971
3002
self ._handle .remove_node (self .group , key )
2972
3003
@@ -3052,7 +3083,9 @@ def write_array(self, key, value, items=None):
3052
3083
3053
3084
3054
3085
class LegacyFixed (GenericFixed ):
3055
- def read_index_legacy (self , key , start = None , stop = None ):
3086
+ def read_index_legacy (
3087
+ self , key : str , start : Optional [int ] = None , stop : Optional [int ] = None
3088
+ ):
3056
3089
node = getattr (self .group , key )
3057
3090
data = node [start :stop ]
3058
3091
kind = node ._v_attrs .kind
@@ -3237,7 +3270,7 @@ def __init__(self, *args, **kwargs):
3237
3270
self .selection = None
3238
3271
3239
3272
@property
3240
- def table_type_short (self ):
3273
+ def table_type_short (self ) -> str :
3241
3274
return self .table_type .split ("_" )[0 ]
3242
3275
3243
3276
@property
@@ -3311,7 +3344,7 @@ def validate(self, other):
3311
3344
)
3312
3345
3313
3346
@property
3314
- def is_multi_index (self ):
3347
+ def is_multi_index (self ) -> bool :
3315
3348
"""the levels attribute is 1 or a list in the case of a multi-index"""
3316
3349
return isinstance (self .levels , list )
3317
3350
@@ -3335,7 +3368,7 @@ def validate_multiindex(self, obj):
3335
3368
)
3336
3369
3337
3370
@property
3338
- def nrows_expected (self ):
3371
+ def nrows_expected (self ) -> int :
3339
3372
""" based on our axes, compute the expected nrows """
3340
3373
return np .prod ([i .cvalues .shape [0 ] for i in self .index_axes ])
3341
3374
@@ -3691,7 +3724,7 @@ def create_axes(
3691
3724
self ,
3692
3725
axes ,
3693
3726
obj ,
3694
- validate = True ,
3727
+ validate : bool = True ,
3695
3728
nan_rep = None ,
3696
3729
data_columns = None ,
3697
3730
min_itemsize = None ,
@@ -4000,7 +4033,13 @@ def create_description(
4000
4033
4001
4034
return d
4002
4035
4003
- def read_coordinates (self , where = None , start = None , stop = None , ** kwargs ):
4036
+ def read_coordinates (
4037
+ self ,
4038
+ where = None ,
4039
+ start : Optional [int ] = None ,
4040
+ stop : Optional [int ] = None ,
4041
+ ** kwargs ,
4042
+ ):
4004
4043
"""select coordinates (row numbers) from a table; return the
4005
4044
coordinates object
4006
4045
"""
@@ -4013,7 +4052,7 @@ def read_coordinates(self, where=None, start=None, stop=None, **kwargs):
4013
4052
return False
4014
4053
4015
4054
# create the selection
4016
- self .selection = Selection (self , where = where , start = start , stop = stop , ** kwargs )
4055
+ self .selection = Selection (self , where = where , start = start , stop = stop )
4017
4056
coords = self .selection .select_coords ()
4018
4057
if self .selection .filter is not None :
4019
4058
for field , op , filt in self .selection .filter .format ():
@@ -4024,7 +4063,13 @@ def read_coordinates(self, where=None, start=None, stop=None, **kwargs):
4024
4063
4025
4064
return Index (coords )
4026
4065
4027
- def read_column (self , column : str , where = None , start = None , stop = None ):
4066
+ def read_column (
4067
+ self ,
4068
+ column : str ,
4069
+ where = None ,
4070
+ start : Optional [int ] = None ,
4071
+ stop : Optional [int ] = None ,
4072
+ ):
4028
4073
"""return a single column from the table, generally only indexables
4029
4074
are interesting
4030
4075
"""
@@ -4302,7 +4347,13 @@ def write_data_chunk(self, rows, indexes, mask, values):
4302
4347
"tables cannot write this data -> {detail}" .format (detail = detail )
4303
4348
)
4304
4349
4305
- def delete (self , where = None , start = None , stop = None , ** kwargs ):
4350
+ def delete (
4351
+ self ,
4352
+ where = None ,
4353
+ start : Optional [int ] = None ,
4354
+ stop : Optional [int ] = None ,
4355
+ ** kwargs ,
4356
+ ):
4306
4357
4307
4358
# delete all rows (and return the nrows)
4308
4359
if where is None or not len (where ):
@@ -4323,7 +4374,7 @@ def delete(self, where=None, start=None, stop=None, **kwargs):
4323
4374
4324
4375
# create the selection
4325
4376
table = self .table
4326
- self .selection = Selection (self , where , start = start , stop = stop , ** kwargs )
4377
+ self .selection = Selection (self , where , start = start , stop = stop )
4327
4378
values = self .selection .select_coords ()
4328
4379
4329
4380
# delete the rows in reverse order
@@ -4913,7 +4964,13 @@ class Selection:
4913
4964
4914
4965
"""
4915
4966
4916
- def __init__ (self , table , where = None , start = None , stop = None ):
4967
+ def __init__ (
4968
+ self ,
4969
+ table : Table ,
4970
+ where = None ,
4971
+ start : Optional [int ] = None ,
4972
+ stop : Optional [int ] = None ,
4973
+ ):
4917
4974
self .table = table
4918
4975
self .where = where
4919
4976
self .start = start
0 commit comments