Quels sont les modules Python les plus intéressants ?
Dans cet article, nous apprendrons les modules les plus intéressants en python. Les suivants sont certaines des bibliothèques intéressantes en python.
HTTPX
HTTPX a été développé par Tom Christine, un développeur de logiciels spécialisé dans la conception d'API. et le développement.
Les applications actuelles hautes performances utilisent de plus en plus le paradigme asynchrone, mais même si ce faisant, la bibliothèque Requests a du mal à faire son travail efficacement.
Ainsi, HTTPX est proposé pour surmonter ce problème. Basé sur le célèbre Requests convivialité, HTTPX est un client HTTP asynchrone qui prend en charge HTTP/2 et HTTP/1.1. Il a un contrôle strict sur les délais d'attente et propose une API aussi similaire aux requêtes bibliothèque dans la mesure du possible. Avec le protocole ASGI, HTTPX, qui possède un type complet annotation, peut également effectuer un appel direct dans une application Web Python. Tout ce qui est commun Fonctionnalités des demandes, notamment les domaines et URL internationaux, le maintien en vie et la connexion le pooling, les sessions avec persistance des cookies et autres sont également inclus dans la bibliothèque.
De plus, avec les frameworks Web asynchrones hautes performances, vous pouvez utiliser soit asyncio ou trio pour HTTPX. Pour cette raison, HTTPX peut gérer de nombreuses requêtes.
Flèche
Les méthodes inadéquates de date, d'heure et de fuseau horaire dans la bibliothèque standard de Python et certains autres modules de bas niveau offrent un moyen d'interagir avec les objets date et heure, comme de nombreux développeurs Python le savent. Cependant, ils ne sont pas à la hauteur en termes de performances et convivialité ; par exemple, ils contiennent un nombre excessif de modules et les catégories, ce qui rend difficile pour les utilisateurs de s'en souvenir et de les différencier. Il existe également des conversions fastidieuses entre les fuseaux horaires et les horodatages.
Heureusement, les utilisateurs peuvent créer, manipuler, formater et convertir des dates à l'aide de le module Python logique et accessible appelé Arrow. Son objectif principal est de réduire la quantité de code que vous importez pour gérer les dates et les heures.
Arrow fonctionne avec les versions ISO 8301 et Python 2.7, 3.5, 3.6, 3.7 et 3.8. Fuseau horaire la conversion est simple, car l'horodatage lui-même est une propriété.
Les capacités d'Arrow peuvent être recueillies à partir de quelques-uns de ses aspects. Le DateHeure le remplacement dans Arrow prend automatiquement en compte le fuseau horaire de l'utilisateur. Les utilisateurs avoir accès à des alternatives de conception rapides et faciles pour une gamme de saisie de données courantes scénarios. Pour les compensations relatives telles que les compensations hebdomadaires, l’approche par décalage fonctionne bien. Cordes peut être automatiquement formaté et analysé, ce qui représente un énorme gain de temps. La capacité à définir des périodes, des plages, des planchers et des plafonds pour tout intervalle de temps allant des microsecondes aux années est un autre point fort d’Arrow.
API rapide
Comme son nom l'indique, FastAPI est un framework Python très rapide et puissant pour développer des interfaces de programmation d'applications. C'est une application Web complète cadre. Vous pouvez économiser 200 à 300 % de temps de développement avec FastAPI. Avec Avec plus de 200 contributeurs et 28 600 lancements, FastAPI devient de plus en plus populaire dans le monde. Communauté Python.
FastAPI est un framework d'application Web asynchrone basé sur ASGI spécification. Certaines de ses fonctionnalités sont les suivantes.
OpenAPI, format JSON et création automatique de code client, le tout basé sur des standards ouverts.
Une interface utilisateur swagger qui vous permet d'appeler et de tester des API à partir d'un navigateur.
-
Documentation interactive de l'API
Réduit de 40 % le nombre de bugs causés par des erreurs de développeur dans le code.
La duplication de code est minimisée.
Prise en charge d'un éditeur intuitif (VSCode/PyCharm) avec saisie semi-automatique.
Il a intégré la sécurité et l’authentification.
Un système d’injection de dépendances pour gérer automatiquement toutes les dépendances.
Fournit une prise en charge illimitée pour les plugins.
Entièrement compatible avec Starlette et Pydantic.
PyTest est utilisé pour tester des applications.
Les bases de données SQL, NoSQL et GraphQL sont prises en charge.
Feu Python
Python Fire a la capacité de générer automatiquement des CLI pour n'importe quel projet donné. Le La bibliothèque améliore la création de CLI. La CLI souhaitée peut être obtenue en créant d'abord le fonctionnalités nécessaires en tant que fonction, module ou classe sur la ligne de commande, puis en utilisant le Feu.
Lors de la création d'une bibliothèque Python, les tests doivent commencer dès que possible. Un test primaire La méthode doit être définie sans Python Fire afin d'obtenir les fonctionnalités nécessaires. Bien que cette approche permette d'accomplir le travail, elle nécessite de passer à une nouvelle méthode principale. à chaque fois, de nouvelles fonctionnalités doivent être testées, ce qui est fastidieux et fait perdre du temps. Si vous utilisez Fire pour tester votre ligne de commande, vous n'aurez pas besoin de mettre à jour constamment votre principale méthode de test.
Si une fonction a été créée par quelqu'un d'autre, elle pourrait être difficile à comprendre simplement en regardant son code. Vous devriez plutôt appeler Fire sur le module. En utilisant cette fonction, en testant chaque la méthode et la fonction dans un module sont simples.
Starlette
Lorsqu'il s'agit de développer de puissants services asyncio, Starlette est un ASGI léger un cadre ou une boîte à outils sur lequel vous pouvez compter.
Cette bibliothèque est adaptée à une utilisation en production et comprend de nombreuses fonctionnalités utiles telles que Intégration WebSocket et GraphQL. Starlette prend en charge les tâches en arrière-plan en cours, Partage de ressources multi-origines, GZip, fichiers statiques et réponses en streaming. Il y a des tests approfondis de toutes ces fonctionnalités, ainsi qu'une base de code entièrement annotée et pas de dépendances dures.
Starlette peut être appliquée dans son intégralité en tant que framework ou seule en tant qu'ensemble d'outils ASGI. De plus, les composants peuvent être réutilisés dans tous les frameworks ASGI, ce qui entraîne une communauté de middlewares compatibles et d'applications montables.
Mypy
Le but de "Mypy", un vérificateur de type statique écrit en Python, est de rassembler les meilleurs caractéristiques à la fois de la saisie dynamique (ou "canard") et de la vérification statique. Mypy intègre un système de type puissant et vérification des types au moment de la compilation dans le déjà impressionnant de Python ensemble de capacités d'expression et de convivialité.
Lorsqu'ils utilisent Mypy, les programmeurs ont la liberté de créer leurs propres processus. Avec Mypy, nous espérons rassembler les meilleures fonctionnalités de la saisie dynamique et statique pour utilisation dans le développement de logiciels. Ainsi, les utilisateurs peuvent s'appuyer sur la saisie dynamique dans des situations où le typage statique échoue, comme avec le code existant. Le rapport d'erreurs de Mypy est structuré après un compilateur, ce qui le rend idéal pour une utilisation comme linter. Avec Mypy, les développeurs disposent d'un outil fiable et cohérent pour tester leurs projets et leurs dépendances.
Immuables
Le module Immutables de Python ajoute un type de mappage immuable au langage. Un hachage Array Mapped Trie (HAMT), populaire dans les langages fonctionnels comme Clojure, Scala et Haskell. Les opérations telles que set() et get() sur les mappages immuables basés sur HAMT sont pratiquement O (1) efficace (O (log N)) pour des mappages raisonnablement petits.
Dict expirant
Expiring Dict de Python est un puissant module de mise en cache. Un dictionnaire avec tri et Les valeurs à expiration automatique sont fournies pour être utilisées dans la mise en cache. Chaque recherche dans le dictionnaire comprend un vérifiez le TTL (âge maximum) et la longueur maximale de l'élément.
Conclusion
Dans cet article, nous avons découvert huit modules Python intrigants différents pour effectuer tâches de manière simple, directe et efficace