• # Le commentaire

    Posté par  (site web personnel) . Évalué à 2 (+0/-0).

    https://discuss.python.org/t/pep-751-one-last-time/77293/150

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

  • # Lockfile

    Posté par  (site web personnel) . Évalué à 4 (+2/-0).

    …je pensais que c'était un module standard (avec les implémentations pour les différentes plateformes) pour gérer les verrous fichiers…

    Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN

  • # Il serait temps ?

    Posté par  . Évalué à 4 (+1/-0).

    A file format to record Python dependencies for installation reproducibility

    C’était pas le but du fichier requirements.txt ?

    Je ne suis pas un fin connaisseur de Python mais je l’ai utilisé et je trouve que c’est un langage avec d’énormes qualités et surtout une philosophie judicieuse. Par contre, j’ai toujours vu d’un œil méfiant les programmes nécessitant des dépendances du genre 3.2.4=<bidule=<3.3.1, voire machin==2.3.9a+git_ab22ef45 (j’exagère mais ya quand même un peu de ça j’ai l’impression).

    Ceci dit je pense que c’est aussi lié à la propension des beaucoup de gens de recourir à 36 bibliothèques dont seulement cinq à dix pourcents de chacune est utilisée. Sa partie la moins stabilisée, ça va de soi, c’est plus drôle !

    Alors que bien souvent une petite quantité de jus de cerveau et un nombre relativement faible de lignes de code utilisant les builtins Python n’était pas insurmontable pour au moins la moitié des bibliothèques, et nettement plus aisé à maintenir.

    C’est évidemment pas propre à Python ça, mais j’ai l’impression que c’est particulièrement courant en Python. Plus qu’en Perl par exemple.

    • [^] # Re: Il serait temps ?

      Posté par  (site web personnel) . Évalué à 5 (+3/-0).

      Le requirements.txt n'est pas vraiment un "lockfile" car, sauf s'il est généré à partir de pip freeze, il ne "pin" pas les dépendances à une version exact, et ne force pas la présence des dépendances indirectes.

      De plus, il n'était pas standard, dans le sens ou Python n'avait, jusqu'à maintenant, codifié le format du fichier.

      Grâce à cette PEP, tout les outils (uv, poetry, pdm, pipenv, …) qui décideront de l'implémenter seront compatibles les uns avec les autres (réduisant ainsi la friction bien connue du packaging Python).

      https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

      • [^] # Re: Il serait temps ?

        Posté par  (site web personnel, Mastodon) . Évalué à 3 (+1/-0).

        Et il est lié à une version précise de Python, et un environnement précis (windows, linux, arm, …)

        C’est, parmi les formats de lock existants (non-standard), le pire.

      • [^] # Re: Il serait temps ?

        Posté par  (site web personnel, Mastodon) . Évalué à 2 (+0/-0).

        Oui je l’espère !

        Par contre pas pipenv, qui n’utilise pas pyproject.toml.

        Il n’est d’ailleurs pas cité dans la PEP.

        • [^] # Re: Il serait temps ?

          Posté par  (site web personnel, Mastodon) . Évalué à 4 (+2/-0).

          uv a un ticket sur cette PEP, indiquant qu’ils vont d’abord commencer par le gérer en tant que format d’export

          https://github.com/astral-sh/uv/issues/12584

          Par contre il semble qu’il manque une pièce ou deux dans le standard actuel pour accepter l’ensemble des options actuellement disponibles dans uv. C’est assez surprenant étant donné que les implémentations actuelles (uv, poetry, pdm) ont été consultées pour arriver à ce standard.

          Je n’ai rien trouvé chez Poetry.

      • [^] # Re: Il serait temps ?

        Posté par  . Évalué à 3 (+0/-0).

        sauf s'il est généré à partir de pip freeze

        Je pensais que c’était le cas. Cela dit si je ne raconte pas de bêtise, ça implique que toutes les dépendances soient installées via pip, qu’il n’y en ait pas qui soient installées par un autre moyen (packages systèmes ou à la main (voire au pied!)), mais que tout projet/code Python dépassant le stade de script de POC de coin de table utilisait systématiquement un venv et du pip dedans.

        Mais c’est sûr que pour la même raison que Python impose l’indentation du code il se doit d’être tout aussi coercitif pour que tout code Python présente bien, ni trop négligé ni trop pimpant, qu’il soit bien normal comme il faut, « pythonesque » comme on dit. Si c’est la fête du slip dans le requirements.txt alors en effet ça le fait pas du tout !

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.