async-python-patterns
Maîtriser les motifs Async Python
Également disponible depuis: ActiveInferenceInstitute
Construisez des applications Python haute performance avec les motifs async/await. Apprenez les techniques de programmation concurrente pour les systèmes I/O extensibles.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "async-python-patterns". Montrez-moi comment récupérer plusieurs URLs simultanément avec une gestion des délais
Résultat attendu:
- Utilisez asyncio.gather() avec asyncio.wait_for() pour le contrôle des délais
- Créez un aiohttp ClientSession avec le pooling de connexions
- Gérez gracieusement les réponses réussies et les délais
- Retournez les résultats avec les codes d'état et les informations d'erreur
Utilisation de "async-python-patterns". Comment implémenter un limiteur de taux pour les appels API
Résultat attendu:
- Utilisez asyncio.Semaphore pour limiter les requêtes simultanées
- Appliquez le sémaphore avec le motif async context manager
- Définissez une valeur max_concurrent appropriée selon les limites de l'API
- Combinez avec une logique de retry pour la robustesse
Utilisation de "async-python-patterns". Quelles sont les erreurs courantes lors de l'écriture de code async Python
Résultat attendu:
- Oublier d'attendre les coroutines - elles retournent des objets coroutine, pas des résultats
- Utiliser time.sleep() au lieu de asyncio.sleep() - bloque la boucle d'événements
- Ne pas gérer l'annulation des tâches avec try/except CancelledError
- Mélanger du code sync et async sans encapsulation appropriée
Audit de sécurité
SûrDocumentation-only skill containing Python async programming patterns. Static analyzer flagged 77 findings, all confirmed as false positives. Markdown code fences were misidentified as shell backticks. Documentation text was misidentified as cryptographic algorithms. Example URLs are standard placeholders. No executable code, network access, or security risks exist.
Facteurs de risque
🌐 Accès réseau (10)
⚙️ Commandes externes (48)
Score de qualité
Ce que vous pouvez construire
Créer des APIs Web Async
Créez des applications FastAPI et aiohttp avec des motifs async appropriés pour gérer les requêtes concurrentes
Traitement de Données Concurent
Implémentez des opérations I/O parallèles pour les requêtes de base de données, le traitement de fichiers et les appels API
Scripts d'Automatisation Async
Écrivez des outils d'automatisation efficaces qui gèrent plusieurs opérations réseau simultanément
Essayez ces prompts
Montrez-moi comment créer une fonction async simple qui récupère des données avec asyncio.sleep() pour simuler un délai réseau
Demonst comment faire 10 requêtes HTTP simultanément en utilisant asyncio.gather() avec une gestion d'erreurs appropriée
Créez un motif producteur-consommateur en utilisant asyncio.Queue pour traiter 100 éléments avec 5 workers
Concevez un serveur WebSocket async qui gère plusieurs clients et diffuse des messages à tous les utilisateurs connectés
Bonnes pratiques
- Utilisez toujours asyncio.run() comme point d'entrée pour les applications async
- Implémentez une gestion d'erreurs appropriée avec des blocs try/except dans les fonctions async
- Utilisez des pools de connexions et des sémaphores pour limiter les opérations simultanées
Éviter
- N'utilisez jamais time.sleep() dans le code async - utilisez toujours asyncio.sleep()
- N'oubliez pas d'attendre les coroutines sinon elles ne s'exécuteront pas
- Évitez de mélanger des opérations I/O bloquantes avec du code async
Foire aux questions
Quelles versions Python supportent asyncio ?
Quand dois-je utiliser async plutôt que les threads ?
Puis-je utiliser async avec Django ?
Comment déboguer le code async ?
Quelle est la différence entre create_task et gather ?
Cette compétence est-elle compatible avec les notebooks Jupyter ?
Détails du développeur
Auteur
wshobsonLicence
MIT
Dépôt
https://github.com/wshobson/agents/tree/main/plugins/python-development/skills/async-python-patternsRéf
main
Structure de fichiers
📄 SKILL.md