Bibliothèque FastAPI Base Repository
(github.com/4jades)Dans les implémentations CRUD basées sur un ORM, le code de requête répétitif ne cesse de s’accumuler.
Dans notre équipe aussi, des boilerplates aux motifs similaires se multipliaient pour chaque modèle,
et il était difficile de trouver une bibliothèque qui réponde à la fois au style SQLAlchemy v2, à la sûreté de typage et au mapping de schémas Pydantic v2.
Nous avons donc profité de l’occasion pour structurer sous forme de bibliothèque
une couche Repository simple visant à réduire le boilerplate CRUD avec SQLAlchemy.
- en définissant un
Modelet unSchemasur une base générique, le CRUD est fourni automatiquement ; - des surcharges ont aussi été mises en place pour que
mypyinfère précisément les types de retour ; - et, si nécessaire, il est possible de ne remplacer que le Mapper pour appliquer différentes stratégies de schémas.
Dans notre équipe, cela nous a permis de réduire assez nettement le volume de code CRUD SQLAlchemy.
Si vous rencontrez un problème similaire, n’hésitez pas à y jeter un œil ;
et si vous avez des retours après utilisation, nous les prendrons volontiers en compte.
Aucun commentaire pour le moment.