Créer un repo pip pour nos dépendances ou les mettre sur les repos officiels

a marqué ce sujet comme résolu.

Hello !

Je viens discuter au sujet des deux dépendances que sont ZMarkdown et GitPython.

Actuellement, ça a l'air de recloner le repo à chaque fois qu'on fait un update. Est-ce qu'il ne serait pas bénéfique de publier ces deux dépendances sur les repos officiels ou d'avoir notre petit gestionnaire sur notre serveur ?

Je n'ai aucune idée de comment fonctionne la tambouille de pip, mais avec composer, npm, ou bower on peut faire tout ça, j'imagine que c'est similaire ici.

Les bénéfices :

  • plus propre dans le requirements.txt
  • pas besoin de mettre à jour le requirements.txt à chaque update d'une des dépendances (c'est peut-être faisable actuellement en jouant avec les branches, ça serait vachement plus pratique je trouve)
  • plus léger lors de la MàJ

Ayant une connexion pourrav, la MàJ met 15 minutes alors qu'en fait rien n'a bougé, c'est un peu ennuyeux, bien que non bloquant.

Voilà voilà, ça reste une suggestion, si vous pensez que c'est mieux comme c'est actuellement, on ne touche à rien.

Je n'ai aucune idée de comment fonctionne la tambouille de pip, mais avec composer, npm, ou bower on peut faire tout ça, j'imagine que c'est similaire ici.

Alex-D

Mes deux centimes sur le sujet : par défaut, pip va tout chercher sur PyPi, et je pense que ces deux paquets y sont déjà. Donc vous pouvez soit modifier le nom et les uploader, soit demander à faire des merges upstream. Mais faire un pip install ZMarkdown et se retrouver avec la bonne version risque d'être compliqué.

Par contre, il y a moyen de modifier l'appel et d'utiliser les fonctionnalités de Github pour se faciliter la vie. En gros, il est possible de faire pip install https://github.com/zestedesavoir/Python-ZMarkdown/archive/master-zds.zip, et seul le master est récupéré (ce qui gagne tout l'historique git). Cela fonctionne aussi dans le Requirements.txt :

1
2
Django == 1.6.5
https://github.com/zestedesavoir/Python-ZMarkdown/archive/master-zds.zip

Par contre, comme il n'y a pas d'informations de version avec l'archive zip, pip télécharge tout à chaque fois.

+0 -0

pip télécharge tout à chaque fois

Ça c'est un peu chiant en fait :(

https://github.com/zestedesavoir/Python-ZMarkdown/archive/master-zds.zip

Ca implique que la master soit stable. Le top serait d'avoir là bas master + prod, on met la branche prod dans le requirements. Plus besoin alors de changer la version.

Par contre, est-ce que c'est pratique pour les tests ? Real question for back-end's devs.

Alors pour git-python on a juste fait un ou deux patch pour corrigé les bugs mais rien n'a bougé depuis, techniquement ça sert a rien de le mettre a jour.

Pour le zmarkdown, en l'occurence, maintenant je tag les nouvelles versions aussi dans le fichier de package. Donc on peut imaginer le mettre sur un hébergement ou un truc comme ça.

Héberger notre propre serveur pour pip est probablement possible. Ça aurait de l’intérêt, nous permettant de contrôler directement sur le dépot les dépendance et les versions.

Pour le mettre sur pypi, pourquoi pas, mais ça alourdi un peu tout le processus. Je vais voir ce qu'il est possible de faire. En fait techniquement déjà il lui suffirai de cloner juste un commit, pas tout l'historique, ce qui empêcherai pas des téléchargement systématiques mais les rendrait plus rapides.

https://github.com/zestedesavoir/Python-ZMarkdown/archive/master-zds.zip

Pip peut installer ça directement ? Si oui de toute façon chaque version lié au site est tagué donc ça marcherait.

Ca implique que la master soit stable. Le top serait d'avoir là bas master + prod, on met la branche prod dans le requirements. Plus besoin alors de changer la version.

Actuellement il y a la branche master-zds qui fait office de prod/dev. Et je tag les versions "stable". Je pense que si il faut continuer a passer par des versions spécifiques parce que ça permet au QA de passer dessus.

https://github.com/zestedesavoir/Python-ZMarkdown/archive/master-zds.zip

Pip peut installer ça directement ? Si oui de toute façon chaque version lié au site est tagué donc ça marcherait.

Vous n'imaginez pas tout ce que pip peut faire pour vous !

1
pip install https://github.com/zestedesavoir/Python-ZMarkdown/archive/2.4.1-zds.6.zip
+0 -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