trouver sur github les projets qui utilisent une lib ou deux lib en particuliers

a marqué ce sujet comme résolu.
Auteur du sujet

Salut, y’a t il une fonctionnalité, un hack , ou un script python qui me permettrait de trouver la liste des projets pour un Langage L qui utilise les bibliothèques B1 et B2 ?

+0 -0

Ça dépend si tu cherches à lister tous les projets qui utilisent les bibliothèques, ou seulement quelques-uns pour avoir des exemples.

Je ne crois pas qu’on puisse faire de liste exhaustive (à commencer parce que tous les projets ne sont pas sur Github, loin de là).

Par contre tu peux assez facilement trouver des exemples de projets qui utilisent une bibliothèque avec le moteur de recherche. Soit en cherchant la déclaration de cette bibliothèque dans la liste de dépendances du projets (les requirements.txt de Python, les pom.xml ou build.gradle de Java et Android, etc) ; soit en cherchant des éléments caractéristiques de cette bibliothèque (comme des imports) dans le code lui-même.

Cette réponse a aidé l’auteur du sujet

Salut,

Ça dépend du langage.

GitHub permet ça nativement pour certains, en listant les dépendants d’un dépôt. De mémoire, ça fonctionne pour NodeJS, Python, Java, Ruby et peut-être PHP & Rust, mais leur documentation en dira plus que moi. On retrouve ça sur un dépôt dans InsightsDependency graphDependants, où l’on trouve la liste des dépôts en dépendant (et si un dépôt déclare plusieurs bibliothèques, un menu permet de voir pour chacune d’entre elle).

Par exemple, la bibliothèque remark-custom-blocks dans notre dépôt zmarkdown est utilisée une centaine de fois sur GitHub.

Pour l’écosystème NodeJS, la page d’une bibliothèque sur NPM dispose d’un onglet dependants, mais qui va lister plutôt les autres bibliothèques dépendant de la bibliothèque. C’est un peu plus limité, donc.

En Rust, crates.io affiche un lien Dependant crates sur la page d’une bibliothèque, mais de la même façon que NPM, c’est la liste des autres bibliothèques qui en dépendent (par exemple de lazy_static).

Il n’y a pas de méthode ultime, vu que chaque écosystème a son propre gestionnaire de dépendances, sa propre plateforme, etc. Sans oublier que tous les projets ne sont pas sur GitHub, donc même sa fonctionnalité (qui semble être la plus proche de ce que tu cherches facilement accessible) ne sera jamais complète. Il y en a peut-être d’autres que je ne connais pas ou pas encore.

Une autre méthode peut être d’utiliser le moteur de recherche de code de GitHub, GitLab, etc., et de chercher le nom de la bibliothèque dans le code, vu qu’il sera a priori présent dans requirements.txt, Pipfile, package.json ou autre Cargo.toml.

Quant à faire cette recherche pour deux bibliothèques, il n’y a pas à ma connaissance de méthode simple si ce n’est faire les recherches séparément et croiser les résultats.

Si tu veux bricoler un truc par toi-même, GitHub propose une API en preview pour consulter ces données (cf.).

Édité par Amaury

#JeSuisArius ⋅ Mon blog scientifiqueLe Pitit Bac

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte