3
votes

pypi: comment vérifier si le paquet utilise wheel

Je veux écrire un script qui parcourt tous les paquets du référentiel pypi, pour vérifier s'ils utilisent wheel ou egg .

Je sais que par la nouvelle norme, il est obligatoire pour tous les paquets d'utiliser wheel et non egg . J'ai trouvé ces informations sur ce site Web. Ils ont également la liste des paquets qui utilisent et n'utilisent pas wheel . Mais, ils ne répertorient que les quelques meilleurs packages. Mais, je voudrais vérifier cela pour tous les paquets sur pypi. Je sais que sur le site Web de pypi, ils indiquent si les types de fichiers disponibles à télécharger, par exemple cela montre qu'il n'y a pas de type de fichier de roue disponible au téléchargement, au contraire ceci montre que le format de roue est disponible au téléchargement. Est-ce que quelque chose comme ça m'aide à atteindre mon objectif?

Je ne m'attends certainement pas à ce que quelqu'un écrive un script pour moi, mais j'aimerais savoir comment savoir si le paquet utilise wheel .


2 commentaires

Réimplémentez-vous les Python Wheels ?


ce projet vérifie quelques centaines de paquets populaires (300/360) s'ils ont téléchargé des fichiers au format de roue. Je veux vérifier l'ensemble du référentiel pypi de la même manière.


3 Réponses :


1
votes

Vous pouvez utiliser pip download pour télécharger la bibliothèque requise, puis vérifiez s'il s'agit d'un fichier wheel ou autre. Mais, de cette façon, vous ne vérifiez que les bibliothèques disponibles pour votre propre distribution / OS et version Python. Il peut y avoir des variantes…


1 commentaires

merci @laurent c'est une bonne idée mais qui prend du temps et comme vous l'avez dit dépend de ma propre dist / os. Mais merci quand même.



1
votes

PIP, par défaut, utilise le Dépôt PyPi simple .

Si vous ouvrez le lien, vous pouvez voir qu'il contient un lien pour chaque package disponible.

Si vous ouvrez un lien de package, vous pouvez voir différents packages, versions et options de téléchargement disponibles.

Évidemment, vous devrez tester les cas extrêmes, mais je devrais penser que vérifier si la dernière version a une extension .whl devrait être un bon point de départ.


3 commentaires

Merci @Triggernometry, cela semble être une meilleure façon


désolé, mais je dois sélectionner la réponse de @dustin Ingram car cela semble beaucoup plus facile.


@Ruturaj Pas de soucis! Mais pour que vous le sachiez, c'est vous a recommandé d'attendre environ une heure avant d'accepter une réponse, juste pour cette raison.



3
votes

PyPI a une API JSON qui vous donnera toutes les versions pour un projet donné, et tous les fichiers pour une version donnée: https://warehouse.readthedocs.io/api-reference/json/


0 commentaires