class SampleTask(gokart.TaskOnKart):
str_task: gokart.TaskOnKart[str] = gokart.TaskInstanceParameter()
int_task: gokart.TaskOnKart[int] = gokart.TaskInstanceParameter()
def requires(self):
return dict(str=self.str_task, int=self.int_task)
def run(self):
s = self.load(self.str_task) # This type is inferred with "str"
i = self.load(self.int_task) # This type is inferred with "int"
SampleTask(
str_task=StrTask(), # mypy ok
int_task=StrTask(), # mypy error: Argument "int_task" to "StrTask" has incompatible type "StrTask"; expected "TaskOnKart[int]
)
TODO
[x] should check TaskOnKart which is arguments of load method is in requires results
Add load type for TaskOnKart.
TODO
requires
results