A Map of Python: интерактивный граф пакетов 🌍

Репозиторий Python-пакетов PyPI уже насчитывает более 600 тысяч проектов. И вот один энтузиаст решил визуализировать всю экосистему зависимостей и нашёл кое-что интересное.

Этапы исследования 👇🏻 1️⃣ Через BigQuery были выгружены метаданные всех пакетов. 2️⃣ Был отсеян мусор, осталось ~100к пакетов с заполненными ключевыми полями 3️⃣ С помощью Gephi и алгоритма Force Atlas 2 был построен интерактивный граф.

Какие кластеры в этом графе получились? 👀 ▫️Есть безобидные: например, пакеты, зависящие только от numpy. И вообще, есть много "семантических районов": рядом с numpy тусуются scikit-learn, seaborn, tensorflow. Например, есть отдельный домен, связанный с криптографией. ▫️Нашлись группы пакетов, явно скопированные с одного шаблона с подозрительными названиям. ▫️Видны крупные "корпоративные гнезда": Odoo (более 3000 дочерних пакетов), Triton (>300), Airbyte (320), PyObjC (167) и пр.

И выглядит всё залипательно 🤩

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

⚡️ Забустить канал 🚀

A Map of Python: интерактивный граф пакетов 🌍
Репозиторий Python-пакетов PyPI уже насчитывает более 600 тысяч проектов | Сетка — социальная сеть от hh.ru