Je voudrais analyser l'arbre de dépendance des packages Python. Comment puis-je obtenir ces données ?
Choses que je sais déjà
setup.py
contient parfois un champrequires
qui liste les dépendances des packages- PyPi est un dépôt en ligne de packages Python
- PyPi a une API
Choses que je ne sais pas
- Très peu de projets (environ 10 %) sur PyPi listent explicitement les dépendances dans le champ
requires
maispip/easy_install
parvient quand même à télécharger les bons packages. Qu'est-ce qui m'échappe ? Par exemple, la bibliothèque populaire pour le calcul statistique,pandas
, ne liste pasrequires
mais parvient quand même à installernumpy
,pytz
, etc.... Existe-t-il un meilleur moyen de collecter automatiquement la liste complète des dépendances ? - Existe-t-il une base de données préexistante quelque part ? Est-ce que je répète un travail déjà existant ?
- Est-ce que des bases de données similaires et facilement accessibles existent pour d'autres langages avec des systèmes de distribution (R, Clojure, etc... ?)