2
2
3
3
import functools
4
4
from collections import OrderedDict
5
+ from typing import Any , Callable
5
6
6
7
from adaptive .learner .base_learner import BaseLearner
7
8
from adaptive .utils import copy_docstring_from
@@ -39,7 +40,7 @@ class DataSaver:
39
40
>>> learner = DataSaver(_learner, arg_picker=itemgetter('y'))
40
41
"""
41
42
42
- def __init__ (self , learner , arg_picker ) :
43
+ def __init__ (self , learner : BaseLearner , arg_picker : Callable ) -> None :
43
44
self .learner = learner
44
45
self .extra_data = OrderedDict ()
45
46
self .function = learner .function
@@ -49,21 +50,21 @@ def new(self) -> DataSaver:
49
50
"""Return a new `DataSaver` with the same `arg_picker` and `learner`."""
50
51
return DataSaver (self .learner .new (), self .arg_picker )
51
52
52
- def __getattr__ (self , attr ) :
53
+ def __getattr__ (self , attr : str ) -> Any :
53
54
return getattr (self .learner , attr )
54
55
55
56
@copy_docstring_from (BaseLearner .tell )
56
- def tell (self , x , result ) :
57
+ def tell (self , x : Any , result : Any ) -> None :
57
58
y = self .arg_picker (result )
58
59
self .extra_data [x ] = result
59
60
self .learner .tell (x , y )
60
61
61
62
@copy_docstring_from (BaseLearner .tell_pending )
62
- def tell_pending (self , x ) :
63
+ def tell_pending (self , x : Any ) -> None :
63
64
self .learner .tell_pending (x )
64
65
65
66
def to_dataframe (
66
- self , extra_data_name : str = "extra_data" , ** kwargs
67
+ self , extra_data_name : str = "extra_data" , ** kwargs : Any
67
68
) -> pandas .DataFrame :
68
69
"""Return the data as a concatenated `pandas.DataFrame` from child learners.
69
70
@@ -98,7 +99,7 @@ def load_dataframe(
98
99
extra_data_name : str = "extra_data" ,
99
100
input_names : tuple [str ] = (),
100
101
** kwargs ,
101
- ):
102
+ ) -> None :
102
103
"""Load the data from a `pandas.DataFrame` into the learner.
103
104
104
105
Parameters
@@ -122,33 +123,36 @@ def load_dataframe(
122
123
key = _to_key (x [:- 1 ])
123
124
self .extra_data [key ] = x [- 1 ]
124
125
125
- def _get_data (self ):
126
+ def _get_data (self ) -> tuple [ Any , OrderedDict ] :
126
127
return self .learner ._get_data (), self .extra_data
127
128
128
- def _set_data (self , data ):
129
+ def _set_data (
130
+ self ,
131
+ data : tuple [Any , OrderedDict ],
132
+ ) -> None :
129
133
learner_data , self .extra_data = data
130
134
self .learner ._set_data (learner_data )
131
135
132
- def __getstate__ (self ):
136
+ def __getstate__ (self ) -> tuple [ BaseLearner , Callable , OrderedDict ] :
133
137
return (
134
138
self .learner ,
135
139
self .arg_picker ,
136
140
self .extra_data ,
137
141
)
138
142
139
- def __setstate__ (self , state ) :
143
+ def __setstate__ (self , state : tuple [ BaseLearner , Callable , OrderedDict ]) -> None :
140
144
learner , arg_picker , extra_data = state
141
145
self .__init__ (learner , arg_picker )
142
146
self .extra_data = extra_data
143
147
144
148
@copy_docstring_from (BaseLearner .save )
145
- def save (self , fname , compress = True ):
149
+ def save (self , fname , compress = True ) -> None :
146
150
# We copy this method because the 'DataSaver' is not a
147
151
# subclass of the 'BaseLearner'.
148
152
BaseLearner .save (self , fname , compress )
149
153
150
154
@copy_docstring_from (BaseLearner .load )
151
- def load (self , fname , compress = True ):
155
+ def load (self , fname , compress = True ) -> None :
152
156
# We copy this method because the 'DataSaver' is not a
153
157
# subclass of the 'BaseLearner'.
154
158
BaseLearner .load (self , fname , compress )
0 commit comments