Bonjour,
Pour le nom :
package-monitor ou package-manager (selon jusqu’où tu vas dans les fonctionnalités ensuite) et tout ce qui peut se baser là dessus :
packmon
pypackmon
pipackmon
etc.
Bonjour,
Pour le nom :
package-monitor ou package-manager (selon jusqu’où tu vas dans les fonctionnalités ensuite) et tout ce qui peut se baser là dessus :
packmon
pypackmon
pipackmon
etc.
Merci beaucoup !
Après un peu de délire (non, je ne dirai rien), j’étais arrivé à un truc un peu semblable :
checkreq
check-req
check-requirements
Comme dit dans le message juste au-dessus du tiens, il existe déjà django-package-monitor (app django pour surveiller), et même aa-package-monitor qui sert aussi mais a priori dédié à une application (AllianceAuth).
packmon me plait bien
Boom ! J’ai pris le temps de commencer un truc pour qu’au moins vous puisiez voir le code (moche hein, je préviens).
J’aurai bien essayé ton packmon mais je suis coincé dès l’install par :
$ pip install packmon
ERROR: Could not find a version that satisfies the requirement packmon (from versions: none)
ERROR: No matching distribution found for packmon
J’ai raté un truc mais quoi ?
En bon boulet, je m’auto-réponds (des fois que cela serve à d’autres )
Une fois que le paquet est téléchargé et décompressé, le repertoire destination étant packmon-main, il a fallu lancer la commande (au lieu de $ pip install packmon
) :
pip3 install packmon-main
Arf ! Oui non, alors en fait il est pas publié sur pypi encore… C’est pour ça que tu peux pas l’installer depuis pip (ou pip3) directement !
J’ai commencé à préparer le dépôt et je prépare une première version pour pypi, mais là c’est week-end
Bon, ben voilà, j’ai fait le petit frère qui s’occupe des paquets npm… Faut que je remette tout ça en ordre et que je le publie…
La première version (très alpha) de packmon est désormais disponible sur pypi.org !
Tout retour constructif est plus que bienvenu
La version 0.1.0 de packmon est désormais disponible !
Le code a été fortement revu et un système de cache (non obligatoire) est en place pour ne pas sursolliciter pypi.org. De plus les colonnes ont maintenant un titre et leur largeur s’adapte à celle du terminal :
Ah, et il est possible de l’utiliser ainsi :
packmon requirements.txt
Mais également ainsi :
curl https://raw.githubusercontent.com/AFPy/Potodo/master/requirements.txt |packmon
ce qui donne ça :
Rah curl et sa progress bar.
echo silent > ~/.curlrc
(bon ou curl -s
, aussi)
Roh, oui j’ai fait au plus vite. Je peux éditer si tu préfères. C’était simplement pour montrer qu’on peut faire ça ou même plus simplement :
pip freeze |packmon
Je ne me plains pas de ton exemple, je me plains de curl
Et j’apprécie tout à fait la philosophie unix bien appliquée ici : ne faire qu’une chose mais bien , accepter un flux de texte
.
Et zou !
Une nouvelle mise à jour car pas mal de choses étaient bancales :
curl -s https://raw.githubusercontent.com/AFPy/Potodo/master/requirements.txt |packmon
J’ai donc ajouté :
Je suis passé à coté de ce sujet alors qu’au boulot on a une grosse problèmatique de suivi des dépendances.
Du coup une question:
Le script se base sur Pipy, comment réagit t’il si la dépendance du requirements est une lib absente de Pypi ? (en gros si c’est un paquet développé en interne par l’équipe).
C’est une très bonne question. A priori il ne trouve pas les informations et passe au paquet suivant… Je vais tester ça pour voir.
Il utilise l’API de pypi pour retrouver les informations des paquets, donc logiquement, et à moins que votre paquet soit équivalent à un paquet existant (même nom), il tombera sur une 404.
C’est bien ça :
2 choses ici :
Je n’avais pas poussé la nouvelle version sur pypi… Je viens de le faire à l’instant…
Du coup, @Jeffd vous l’installez comment votre composnat interne ? Et comment packmon pourrait trouver des infos sur celui-ci ?
Cette fois j’ai poussé la nouvelle version à l’heure
Nous sommes donc en v0.3.0 et voici les nouveautés :
Je pense que cette dernière option sera à revoir car n’avoir aucun paquet avec souci peut être impossible à atteindre. Il fuat que je travaille encore sur ce point-là.