Python Glossary English

Python 3.9+graphlibпонятие

graphlib

модуль

Топологическая сортировка графа зависимостей: в каком порядке выполнять задачи, чтобы каждая шла после своих предпосылок.

Синтаксис

from graphlib import TopologicalSorter

graphlib содержит один класс, TopologicalSorter, и решает одну задачу: упорядочить узлы по зависимостям — сборка, миграции, порядок установки. Кратчайших путей и обходов графа в нём нет, их пишут сами или берут сторонние библиотеки. Граф задаётся словарём «узел → его предшественники», а не наследники, и путаница в направлении переворачивает порядок; цикл даёт CycleError.

Примеры

from graphlib import TopologicalSorter
deps = {'app': {'db', 'cache'}, 'db': {'config'}, 'cache': {'config'}}
order = list(TopologicalSorter(deps).static_order())
print(order[0], order[-1])  # → config app

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности