Официальный репозиторий PyPI давно превратился в помойку, куда тащат всё подряд: от production-ready фреймворков до читов на Among Us и тестовых пакетов школьников.

Один энтузиаст не поленился и визуализировал всю эту экосистему в виде графа.

Как это сделано технически:
1️⃣ Через BigQuery были выгружены метаданные всех пакетов.
2️⃣ Дальше датасет прогнали через фильтры. Выкинули откровенный мусор без заполненных полей и пакеты, у которых меньше двух зависимостей. Осталось около 100 000 узлов.
3️⃣ Отрисовали всё это через алгоритм минимизации энергии Force Atlas 2 (силовой алгоритм компоновки графов).

Что показала визуализация:
▫️ Семантические кластеры. Пакеты не висят в вакууме. Вокруг numpy ожидаемо кучкуются scikit-learn, seaborn и tensorflow. Есть четко выраженные зоны криптографии или веб-разработки.
▫️ Аномалии и копипаста. Граф отлично подсвечивает мусор. Нашлись целые кластеры пакетов, сгенерированных из одного шаблона (например, сотни вариаций python-smshub-org). Идеальный инструмент для автоматического поиска малвари.
▫️ Корпоративные монополии. Визуально легко оценить вендор-лок. Видны крупные "корпоративные гнезда": Odoo (более 3000 дочерних пакетов), Triton (>300), Airbyte (320), PyObjC (167) и пр.

Код проекта здесь 👈🏻