Quoi de neuf à partir de mai 2021? – Vrai Python

By | mai 31, 2021

trouver un expert Python

Si vous voulez être au courant de ce qui s'est passé dans le monde de Python dans Mai 2021, alors vous êtes au bon endroit pour obtenir votre nouvelles!

Mai a été un mois de grands événements. le Projets de palettes, qui héberge des frameworks populaires tels que Flask et Click, a publié de nouvelles versions majeures de ses six projets principaux. le Fondation logicielle Python (PSF) a hébergé PyCon US 2021, une conférence virtuelle qui a offert une expérience en personne authentique.

Plongeons-nous dans les plus grandes actualités Python du mois dernier!

Pallets lance de nouvelles versions majeures de tous les projets de base

Deux années de travail acharné de la part de l'équipe Pallets et de ses nombreux contributeurs open source ont abouti à la sortie de nouvelles versions majeures pour ses six projets principaux:

Les six projets ont abandonné la prise en charge de Python 2 et Python 3.5, faisant de Python 3.6 la version minimale prise en charge. Le code précédemment obsolète a été supprimé et de nouvelles obsolètes ont été ajoutées.

Certains des changements majeurs affectant les six projets comprennent:

  • Renommer la branche par défaut en principale
  • Ajout d'annotations de type complètes qui rendent le code utilisateur de vérification de type plus utile et offrent de meilleures intégrations avec les IDE
  • Utiliser des outils tels que pré-commit, Black et Flake8 pour appliquer un style cohérent dans toutes les bases de code et les nouvelles demandes d'extraction

Outre les changements radicaux énumérés ci-dessus, les projets individuels présentent plusieurs nouvelles fonctionnalités intéressantes.

Flask devient natif asyncio Support

Selon l'enquête Python Developer Survey 2020, Flask est le framework Web Python le plus populaire. Natif de Flask 2.0 asyncio le support ne manquera pas de satisfaire les fans du framework.

Vous pouvez tout transformer des routes aux gestionnaires d'erreurs en passant par les fonctions de pré et post-requête en coroutines, ce qui signifie que vous pouvez définir des vues en utilisant async def et attendre:

@app.route("/ get-data")
asynchrone def get_data():
    Les données = attendre async_db_query(...)
    revenir jsonify(Les données)

Dans cet exemple d'extrait de code, extrait de la documentation Flask, une vue asynchrone appelée get_data () est défini. Il effectue une requête de base de données asynchrone, puis renvoie les données au format JSON.

Flacon asyncio le soutien n'est pas sans mise en garde. Flask est toujours une application WSGI (Web Server Gateway Interface) et est soumise aux mêmes limitations que tout autre framework WSGI. La documentation de Flask décrit ces limitations:

Les fonctions asynchrones nécessitent une boucle d'événements pour s'exécuter. Flask, en tant qu'application WSGI, utilise un seul worker pour gérer un cycle de demande / réponse. Lorsqu'une requête arrive dans une vue asynchrone, Flask démarre une boucle d'événements dans un thread, y exécute la fonction de vue, puis renvoie le résultat.

Chaque demande lie toujours un travailleur, même pour les vues asynchrones. L'avantage est que vous pouvez exécuter du code asynchrone dans une vue, par exemple pour effectuer plusieurs requêtes de base de données simultanées, des requêtes HTTP vers une API externe, etc. Cependant, le nombre de requêtes que votre application peut traiter en même temps restera le même. (La source)

Si vous débutez dans la programmation asynchrone, consultez Async IO in Python: A Complete Walkthrough. Vous pouvez également obtenir un aperçu de la nouvelle version de Flask asyncio support de l'article Async in Flask 2.0, qui a été présenté dans la newsletter hebdomadaire de PyCoder.

En plus du natif asyncio prise en charge, Flask 2.0 ajoute également de nouveaux décorateurs de route pour les méthodes HTTP courantes. Par exemple, dans Flask 1.x, vous déclarez une route prenant en charge le PUBLIER méthode utilisant la @ app.route () voir décorateur:

@app.route("/soumettre le formulaire", méthodes=[[[["PUBLIER"])
def soumettre le formulaire():
    revenir handle_form_data(demander.forme)

Dans Flask 2.0, vous pouvez raccourcir ce code en utilisant le @ app.post () voir décorateur:

@app.Publier("/soumettre le formulaire")
def soumettre le formulaire():
    revenir handle_form_data(demander.forme)

C’est un petit changement mais une amélioration significative de la lisibilité!

Vous pouvez trouver toutes les modifications apportées à Flask 2.0 dans le journal des modifications officiel.

Jinja obtient des environnements asynchrones améliorés

asyncio La prise en charge de Jinja 2.x nécessitait un système de correctifs ainsi que certaines mises en garde que les développeurs devaient garder à l'esprit. L'une des raisons à cela est que Jinja 2.x prend en charge Python 2.7 et Python 3.5.

Maintenant que tous les projets Pallets ne prennent en charge que Python 3.6+, le système de correctifs a été supprimé pour fournir un asyncio expérience pour les projets utilisant Jinja 3.0.

Vous pouvez trouver toutes les modifications apportées à Jinja 3.0 dans le journal des modifications officiel.

Cliquez sur Obtient un système de complétion de l'onglet Shell révisé

Construire de bonnes interfaces de ligne de commande (CLI) pour une application peut être une corvée. Le projet Click permet d'alléger ce fardeau grâce à son API conviviale.

L'une des fonctionnalités que les utilisateurs du shell attendent d'une CLI est achèvement de l'onglet, qui suggère des noms de commandes, des noms d'options et des valeurs de choix lorsqu'un utilisateur tape quelques caractères et appuie sur Languette.

Click a toujours pris en charge la complétion des onglets shell, mais la mise en œuvre était compliquée, comme le responsable de Pallets David Lord noté sur un problème GitHub de mars 2020:

J'ai essayé de réviser [a pull request] qui ajoute des complétions basées sur le type, et cela m'a fait réaliser à quel point la complétion est compliquée, à la fois dans Click et avec la façon dont les shells implémentent et documentent leurs systèmes.…

[W]Nous continuons à devoir réimplémenter des choses que le shell devrait faire, comme échapper des caractères spéciaux, ajouter des espaces (sauf pour les répertoires), trier, etc. Et si l'utilisateur veut fournir ses propres complétions, il doit se souvenir de faire tout ça aussi.

Il n’y a aucune raison pour laquelle nous devons simplement renvoyer les complétions. Nous prenons déjà en charge le retour des descriptions, nous pourrions vraisemblablement étendre cela davantage. Ne serait-il pas cool que Click puisse indiquer au script d’achèvement qu’il doit utiliser d’autres fonctions fournies par Bash ou ZSH? (La source)

En octobre 2020, le système de complétion des onglets shell de Click avait été complètement révisé avec une prise en charge intégrée de Bash, Zsh et fish. Le système est extensible. Vous pouvez ajouter la prise en charge d'autres shells et les suggestions de complétion sont personnalisables à plusieurs niveaux.

Le nouveau système de complétion, maintenant disponible dans Click 8.0, est une grande victoire pour les projets qui souhaitent offrir aux utilisateurs une expérience CLI conviviale dans leur shell préféré.

Vous pouvez trouver une liste complète des changements dans Click 8.0 sur le changelog officiel.

PyCon US 2021 connecte les pythonistes du monde entier

La fin du printemps est toujours une période passionnante pour les pythonistes aux États-Unis. PyCon US, la plus grande convention annuelle consacrée à Python, se déroule traditionnellement en avril ou mai.

Cette année, PyCon US était un peu différent des conférences précédentes. Initialement prévu pour avoir lieu à Pittsburgh, en Pennsylvanie, PyCon US 2021 est passé à un événement en ligne uniquement en raison de la pandémie COVID-19.

Une conférence virtuelle qui ressemble à la vraie chose

PyCon US 2020 était également virtuel, mais la transition de dernière minute vers une conférence en ligne a laissé peu de temps aux organisateurs pour préparer une expérience PyCon authentique. Cette année, le PSF a eu amplement le temps de planifier et a organisé un événement incroyablement engageant, fidèle à l'esprit des précédentes conférences PyCon US.

Bien que les discussions aient été préenregistrées, les vidéos ont été diffusées selon un calendrier plutôt que d'être disponibles à la demande. Chaque conférence était associée à une salle de discussion et les présentateurs étaient disponibles pour interagir avec les participants et répondre aux questions.

La conférence a également présenté une salle d'exposition virtuelle qui a connecté les Pythonistes à diverses organisations du monde Python, notamment Microsoft, Google, Bloomberg, etc.

La partie la plus attrayante de PyCon 2021, cependant, était l'espace ouvert et le salon bien exécutés. Les espaces ouverts sont de petits événements de type Meetup qui permettent aux participants à la conférence de se rencontrer et d'interagir les uns avec les autres autour d'un intérêt commun. Il y avait des espaces ouverts pour les auteurs Python, les opérateurs de radio amateur, les organisateurs communautaires et bien plus encore.

Le salon de la conférence comprenait des tables virtuelles permettant à un nombre limité de personnes de se joindre à une vidéoconférence. N'importe qui pouvait prendre une chaise disponible et participer à la conversation, même si elle avait déjà commencé. Le salon a donné à PyCon une ambiance véritablement unique, avec toute la spontanéité que vous attendez d'une conférence en personne, mettant en œuvre efficacement une piste de couloir virtuel, qui est l'une des caractéristiques de PyCon US.

Le déplacement de PyCon US en ligne a rendu la conférence accessible à davantage de pythonistes à travers le monde. N'étant plus accablés par les frais de voyage et d'hébergement, les passionnés de Python pouvaient rejoindre PyCon dans le confort de leur foyer pour juste le prix d'entrée.

Si vous avez manqué PyCon US 2021, vous pourrez bientôt regarder les présentations sur YouTube. Les vidéos étaient encore en postproduction au moment de la rédaction mais devraient être disponibles dans les semaines à venir.

L'avenir de Python est axé sur la performance

L'un des objectifs de PyCon US est de réunir les développeurs principaux de Python et les utilisateurs de Python pour discuter de l'état actuel et de la vision de l'avenir du langage. Chaque année, le Python Language Summit rassemble les responsables des implémentations Python, telles que CPython, PyPy et Jython, pour partager des informations et résoudre des problèmes.

Le Sommet des langues de cette année a présenté plusieurs présentations passionnantes. Dino Viehland a parlé des améliorations qu'Instagram a apportées à CPython dans son projet interne axé sur les performances appelé Cinder, y compris plusieurs améliorations des E / S asynchrones.

Créateur Python Guido van Rossum a présenté des plans pour rendre CPython plus rapide. L’objectif de Van Rossum est de doubler la vitesse de CPython dans le temps pour Python 3.11. L'augmentation des performances profiterait principalement aux utilisateurs qui exécutent du code Python pur gourmand en CPU ou qui utilisent des outils et des sites Web construits en Python.

Une autre caractéristique intéressante du Python Language Summit de cette année est que le PSF a donné Vrai Python »s possède Joanna Jablonski l'occasion de couvrir les présentations et les discussions du sommet dans une série d'articles de blog. Retrouvez tous ses articles sur le Language Summit sur le blog PSF.

Quelle est la prochaine étape pour Python?

Mai a été un mois mouvementé pour Python. À Vrai Python, nous sommes enthousiasmés par l’avenir de Python et avons hâte de voir les nouveautés qui nous attendent dans juin.

Quelle est votre pièce préférée de Actualités Python de Mai? Avons-nous manqué quelque chose de notable? Faites-le nous savoir dans les commentaires, et nous pourrions vous présenter dans le tour d'horizon des actualités Python du mois prochain.

Joyeux Python!

Maître Compétences Python du monde réel Avec un accès illimité à Real Python

Rejoignez-nous et accédez à des centaines de tutoriels, à des cours vidéo pratiques et à une communauté d'experts pythonistes:

Améliorez vos compétences Python »

Maître Compétences Python du monde réel
Avec un accès illimité à Real Python

Rejoignez-nous et accédez à des centaines de tutoriels, à des cours vidéo pratiques et à une communauté d'experts pythonistes:

Améliorez vos compétences Python »



[ad_2]