В докладе расскажу, как в Python сегодня решаются конфликты зависимостей: от простых жадных стратегий до полноценных SAT-решателей и эвристик, используемых в pip, poetry и новом сверхбыстром инструменте uv. Мы разберём, как устроены графы зависимостей, почему задача разрешения конфликтов относится к NP-полным и что нам с этим делать.
Доклад будет полезен тем, кто работает со средними и большими Python-проектами, CI/CD, и в целом всем, кто когда-либо ставил зависимости и сталкивался с Dependency Hell.