скрипты генерят артефакты, от которых зависят другие скрипты. Один и тот же артефакт может быть создан разными скриптами, но у них самих тоже могут быть свои зависимости. Так вот надо расположить в правильном порядке скрипты для выполнения или упасть с ошибкой, если есть неразрешимые циклы/пропущенные зависимости.
Не знает никто сходу подходящий алгоритм под это? Накидал грязное решение, чтобы тесты проходили, но возможно есть какое-то более или менее производительное решение.
Тебе нужна топологическая сортировка. Алгоритмов достаточно, можно выбрать подходящий. Самый простой — это наверное алгоритм Кана.
https://pypi.org/project/toposort/ такое даже есть. Но я не пользовался.
Обсуждают сегодня