
Développement Python
Créez des scripts Python, des services FastAPI et des suites de tests avec des outils modernes — uv, PEP 723 et meilleures pratiques pytest
Installer
Exécutez cette commande pour installer toutes les compétences de ce pack :
npx skillstore add @python-development La CLI détecte automatiquement les dossiers Codex et Claude Code et installe la compétence dans les deux lorsqu’ils sont disponibles.
Aperçu
Guide d’utilisation
Amélioré par l’IAGuide détaillé
# Développement Python
Créez des scripts Python, des services FastAPI et des suites de tests avec des outils modernes — uv, PEP 723 et meilleures pratiques pytest.
10 分钟起一个带测试的 FastAPI 服务。
## Ce que fait ce plugin
Trois compétences couvrant le workflow complet du backend Python :
| Compétence | Objectif |
|------------|----------|
| **Scriptage Python** | Scripts autonomes avec uv et dépendances inline PEP 723 — aucune configuration virtualenv nécessaire |
| **Maîtrise FastAPI | Création d'API REST avec routage, validation des requêtes, middleware, auth et intégration de base de données |
| **Maîtrise pytest** | Suites de tests avec fixtures, parametrize, mocking, tests asynchrones et couverture |
## Exemple complet : Créer une API de raccourcissement d'URL avec tests
### Étape 1 : Générer le service FastAPI
```
Create a FastAPI URL shortener service with:
- POST /shorten — accepts {"url": "https://..."}, returns {"short_code": "abc123", "short_url": "http://localhost:8000/abc123"}
- GET /{short_code} — redirects to original URL
- GET /stats/{short_code} — returns click count
- Use SQLite via SQLAlchemy for storage
- Add input validation: reject invalid URLs, max URL length 2048
- Include proper error responses (404 for unknown codes, 422 for invalid input)
```
### Étape 2 : Ajouter des tests complets
```
Write pytest tests for the URL shortener:
- Test POST /shorten with valid URL returns 201 + short_code
- Test POST /shorten with invalid URL returns 422
- Test GET /{short_code} redirects correctly (status 307)
- Test GET /{short_code} with unknown code returns 404
- Test GET /stats/{short_code} returns correct click count after multiple visits
- Use httpx AsyncClient as test client
- Use a separate test database (SQLite in-memory)
- Add fixtures for: app client, sample shortened URL, database setup/teardown
```
### Étape 3 : Ajouter un script utilitaire
```
Create a Python script with PEP 723 inline dependencies that:
- Reads a CSV file of URLs (one per line)
- Calls the /shorten endpoint for each URL
- Outputs a new CSV with original_url, short_url, short_code columns
- Use uv for dependency management (httpx, csv are dependencies)
- Add retry logic for failed requests
- Include a --dry-run flag that validates URLs without shortening
```
**Résultat :** Un service API complet et testé + un script utilitaire de traitement par lots — tout généré à partir de invites en langage naturel, prêt à déployer.
## Exigences de l'environnement
- **Python 3.10+** (3.12 recommandé)
- Gestionnaire de paquets **uv** pour une résolution rapide des dépendances :
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
- Pour les projets FastAPI, les dépendances sont gérées via `pyproject.toml` ou `requirements.txt`
- Pour les scripts autonomes, les métadonnées inline PEP 723 vous permettent de déclarer les dépendances directement dans le fichier de script — aucune configuration séparée nécessaire
### Vérification rapide
```bash
python3 --version # 3.10+
uv --version # n'importe quelle version récente
```
## Gestion des erreurs
### uv non installé
```
command not found: uv
```
**Correction :** Installez uv : `curl -LsSf https://astral.sh/uv/install.sh | sh`
Alternative, revenez à pip : `pip install -r requirements.txt`
### Erreurs d'import dans les tests
```
ModuleNotFoundError: No module named 'httpx'
```
**Correction :** Installez les dépendances de test : `uv pip install httpx pytest pytest-asyncio`
### Le serveur FastAPI ne démarre pas
Causes courantes :
- Port déjà utilisé : `uvicorn app:app --port 8001`
- Dépendances manquantes : `uv pip install fastapi uvicorn sqlalchemy`
- Version de Python trop ancienne : mettez à jour vers 3.10+
### Fixtures pytest introuvables
Si les tests échouent avec `fixture not found`, vérifiez que :
- `conftest.py` est dans le répertoire de tests
- Les fonctions de fixture sont décorées avec `@pytest.fixture`
- Les fixtures asynchrones utilisent `@pytest_asyncio.fixture`Compétences
3python-scripting
Risque moyen 72Créer des scripts Python portables avec uv
Les utilitaires Python autonomes ont souvent besoin de dépendances reproductibles et d’un comportement clair en ligne de commande. Cette compétence aide Claude, Codex et Claude Code à rédiger des scripts basés sur uv avec des métadonnées PEP 723.
fastapi-mastery
Risque moyen 69Créer des API FastAPI avec des modèles guidés
Les projets FastAPI ont besoin de modèles cohérents pour le routage, la validation, la sécurité, l'accès aux données et le déploiement. Cette compétence fournit à Claude, Codex et Claude Code des conseils structurés pour créer et améliorer des services FastAPI.
pytest-mastery
Risque faible 79Écrire des suites Pytest fiables
Les équipes Python ont besoin de tests répétables, faciles à exécuter, à déboguer et à étendre. Cette skill fournit des conseils pratiques sur pytest et uv pour les tests unitaires, la couverture, les fixtures et les modèles de test FastAPI.
Packs similaires

Docker Container Toolkit
Containerisation Docker de bout en bout — auditez des Dockerfiles, orchestrez des builds multi-services et déployez sur Kubernetes. Un seul toolkit pour votre workflow de conteneurs.
3 compétences

Postgres Schema Toolkit
Couvre la conception de schémas, la rédaction de requêtes et l'optimisation SQL pour les backends relationnels. Idéal pour les agents travaillant sur des fonctionnalités riches en données nécessitant une modélisation propre et un accès rapide.
3 compétences

Outils Puissants Claude Code
Ajoutez des hooks, des exécutions sans interface et des intégrations MCP pour transformer Claude Code en un moteur de workflow programmable
3 compétences