def __init__(self, labels, start_time_dep, end_time_dep, walk_duration=float('<STR_LIT>'), label_props_to_consider=None, **kwargs):
for label in labels:<EOL><INDENT>assert (hasattr(label, "<STR_LIT>"))<EOL>assert (hasattr(label, "<STR_LIT>"))<EOL><DEDENT>self.start_time_dep = start_time_dep<EOL>self.end_time_dep = end_time_dep<EOL>self.walk_duration = walk_duration<EOL>if label_props_to_consider is None:<EOL><INDENT>self.label_props = []<EOL><DEDENT>else:<EOL><INDENT>self.label_props = label_props_to_consider<EOL><DEDENT>self._fastest_path_labels = self._compute_fastest_path_labels(labels)<EOL>for label in self._fastest_path_labels:<EOL><INDENT>for prop in self.label_props:<EOL><INDENT>assert (hasattr(label, prop))<EOL><DEDENT><DEDENT>self.kwargs = kwargs<EOL>
Parameters
----------
labels: list
    List of labels (each label should at least have attributes "departure_time" and "arrival_time")
walk_duration: float
    What is the maximum duration for a journey to be considered.
label_props_to_consider: list