عن المشروع
هذا المستودع هو قائمة منسقة من أفضل الممارسات والاتفاقيات لـ FastAPI بناءً على تجربة الإنتاج في الشركات الناشئة. إنه ليس مكتبة أو إطار عمل، بل هو مورد توثيقي مع أمثلة برمجية وإرشادات معمارية.
تشمل الموضوعات الرئيسية المغطاة:
- هيكل المشروع: تخطيط قائم على المجالات مستوحى من Dispatch من Netflix، حيث يحتوي كل وحدة على الموجه الخاص بها، والمخططات، والنماذج، والخدمات، والتبعيات، والثوابت، والتكوين، والأدوات المساعدة، والاستثناءات.
- المسارات غير المتزامنة: إرشادات حول التعامل مع المهام المكثفة في الإدخال/الإخراج والمهام المكثفة في وحدة المعالجة المركزية، مع شرح كيفية تشغيل FastAPI للمسارات المتزامنة في تجمع خيوط ولماذا يمكن للعمليات الحاجزة في المسارات غير المتزامنة أن تعطل حلقة الأحداث.
- استخدام Pydantic: استخدام واسع لـ Pydantic للتحقق، وإنشاء نموذج أساسي عالمي مخصص لتسلسل التاريخ والوقت بشكل متسق، وتقسيم BaseSettings عبر الوحدات.
- التبعيات: استخدام تبعيات FastAPI بما يتجاوز الحقن للتحقق من الطلب، وسلسلة التبعيات، والاستفادة من التخزين المؤقت على نطاق الطلب، وتفضيل التبعيات غير المتزامنة.
- ممارسات متنوعة: اتباع اتفاقيات REST، وفهم سلوك تسلسل الاستجابة في FastAPI، وتشغيل حزم SDK المتزامنة في تجمعات الخيوط، والاختيار بين BackgroundTasks وقوائم المهام الحقيقية، ومعالجة تحويل ValueError إلى ValidationError، وإخفاء التوثيق افتراضيًا، وتعيين اتفاقيات تسمية قاعدة البيانات، واستخدام ترحيلات Alembic، واعتماد ruff.
يتضمن المستودع أيضًا ملف AGENTS.md بنفس القواعد بتنسيق قابل للقراءة آليًا للوكلاء الذكاء الاصطناعي، ويحتوي على مصفوفة إصدارات، وكتل "افعل/لا تفعل"، وقائمة مراجعة للأنماط المضادة. تتوفر ترجمة صينية مبسطة لملف README.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.