Compétences pydantic-models-py
📦

pydantic-models-py

Sûr

Générer des modèles Pydantic avec le pattern multi-modèle

Définissez des schémas d'API cohérents sans code boilerplate manuel. Cette compétence génère des modèles Pydantic structurés suivant des patterns établis pour la validation des requêtes, les réponses et l'intégration aux bases de données.

Prend en charge: Claude Codex Code(CC)
📊 71 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "pydantic-models-py". User entity with id, name, email, created_at fields

Résultat attendu:

Generated UserBase, UserCreate, UserUpdate, UserResponse, and UserInDB model classes with proper Field definitions, type annotations, and Config class for alias handling

Utilisation de "pydantic-models-py". Project model requiring camelCase API compatibility

Résultat attendu:

Models with Field aliases (workspaceId, createdAt) that accept both naming conventions while using Pythonic snake_case internally

Audit de sécurité

Sûr
v1 • 2/24/2026

All 21 static analysis findings are false positives. The scanner misidentified Markdown code block backticks as shell execution, and documentation references to HTTP/cryptography as actual code. SKILL.md is pure documentation with Python code examples for Pydantic model patterns. No executable code, network calls, or security risks detected.

1
Fichiers analysés
64
Lignes analysées
0
résultats
1
Total des audits
Aucun problème de sécurité trouvé
Audité par: claude

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
31
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Définition de schéma API REST

Définissez les modèles de requête/réponse pour les endpoints FastAPI ou Flask avec des patterns de validation cohérents.

Modélisation de documents de base de données

Créez des variantes de modèle InDB avec des champs doc_type pour le stockage de documents Cosmos DB ou MongoDB.

Synchronisation de contrat frontend-backend

Générez des modèles Python et des types TypeScript correspondants pour assurer la cohérence du contrat d'API.

Essayez ces prompts

Génération de modèle basique
Create Pydantic models for a User entity with fields: id (string), name (string, required), email (string with email validation), created_at (datetime). Use the multi-model pattern with Base, Create, Update, and Response variants.
Modèle avec alias CamelCase
Generate Pydantic models for a Project entity. All fields should accept both snake_case and camelCase using Field aliases. Include workspace_id, project_name, and is_active fields.
Modèle de base de données avec variante InDB
Create complete Pydantic models for a Document entity including InDB variant with doc_type field. Add min_length validation on name and optional description field for updates.
Pattern de modèle imbriqué complexe
Build Pydantic models for an Order entity with nested line_items array. Each line item has product_id, quantity, and price. Create full multi-model pattern with validation constraints on all fields.

Bonnes pratiques

  • Séparez toujours les modèles Create et Update - Create requiert tous les champs, Update rend tous les champs optionnels pour la sémantique PATCH
  • Utilisez Field avec default=None explicite pour les champs optionnels de mise à jour afin de distinguer entre null et non défini
  • Activez populate_by_name = True dans la classe Config pour accepter à la fois snake_case et camelCase depuis les clients API

Éviter

  • Ne réutilisez pas la même classe de modèle pour les corps de requête et les documents de base de données - la séparation empêche la fuite de données
  • Évitez de mettre de la logique métier dans les classes de modèle - gardez-les comme purs schémas de données avec validation uniquement
  • N'omettez pas doc_type dans les modèles InDB lors de l'utilisation de Cosmos DB - les requêtes échoueront sans filtrage de type approprié

Foire aux questions

Qu'est-ce que le pattern multi-modèle et pourquoi l'utiliser ?
Le pattern crée des classes de modèle séparées pour différents usages : Base (champs partagés), Create (champs requis pour POST), Update (champs optionnels pour PATCH), Response (sortie complète), et InDB (document de base de données avec métadonnées). Cette séparation empêche l'exposition accidentelle de données et applique la validation correcte à chaque couche.
Comment fonctionnent les alias camelCase avec Pydantic ?
Utilisez Field(alias='camelCaseName') sur chaque champ et définissez populate_by_name = True dans la classe Config. Cela permet au modèle d'accepter les deux conventions de nommage depuis les clients API tout en utilisant snake_case en interne dans le code Python.
Pourquoi rendre tous les champs Update optionnels ?
Les requêtes PATCH ne doivent inclure que les champs étant modifiés. Rendre tous les champs optionnels avec default=None permet des mises à jour partielles tout en distinguant entre 'champ non fourni' (None) et 'champ défini à null' (null explicite).
À quoi sert le champ doc_type ?
Dans les bases de données de documents comme Cosmos DB, doc_type identifie le type d'entité dans une collection partagée. Le modèle InDB ajoute ce champ automatiquement afin que les requêtes puedan filtrer les documents par type.
Dois-je créer les types TypeScript manuellement ?
Oui, cette compétence vous guide pour créer des interfaces TypeScript correspondantes. Considérez des outils comme pydantic2ts ou datamodel-code-generator pour la génération automatique de TypeScript à partir des modèles Pydantic.
Puis-je utiliser ce pattern avec SQLAlchemy ou d'autres ORM ?
Oui, les modèles Pydantic fonctionnent avec les ORM. Utilisez Pydantic pour la validation et la sérialisation des requêtes/réponses, et les modèles ORM pour les opérations de base de données. Certains ORM comme SQLAlchemy 2.0 ont une intégration Pydantic native.

Détails du développeur

Structure de fichiers

📄 SKILL.md