in src/sagemaker_algorithm_toolkit/hyperparameter_validation.py [0:0]
def _sort_dependencies(self, hyperparameters):
dependencies_stack = []
visited = {hp: False for hp in hyperparameters}
def _visit(name, visited, stack):
visited[name] = True
if self.hyperparameters[name].dependencies:
for dep in self.hyperparameters[name].dependencies:
if dep in visited and not visited[dep]:
_visit(dep, visited, stack)
stack.insert(0, name)
for hp in hyperparameters:
if not visited[hp]:
_visit(hp, visited, dependencies_stack)
return dependencies_stack