Ariadne هي مكتبة Python لتنفيذ خوادم GraphQL.
المخطط الأول: يمكّن Ariadne مطوري Python من استخدام نهج المخطط الأول لتنفيذ واجهة برمجة التطبيقات (API). هذا هو النهج الرائد الذي يستخدمه مجتمع GraphQL ويدعمه العشرات من أدوات مطوري الواجهة الأمامية والخلفية والأمثلة وموارد التعلم. تجعل Ariadne كل هذا متاحًا لك ولأعضاء فريقك الآخرين على الفور.
بسيطة: تقدم Ariadne واجهة برمجة تطبيقات صغيرة ومتسقة وسهلة الحفظ تتيح للمطورين التركيز على مشاكل العمل، وليس على المشاكل النمطية.
مفتوح: تم تصميم Ariadne ليكون معياريًا ومفتوحًا للتخصيص. إذا كنت مفقودًا أو غير راضٍ عن شيء ما، قم بتمديده أو استبداله بسهولة بما تملكه.
الوثائق متاحة هنا.
واجهة برمجة تطبيقات بسيطة وسريعة التعلم وسهلة الحفظ.
التوافق مع الإصدار 15.5.1 من GraphQL.js.
الاستعلامات والطفرات وأنواع المدخلات.
وحدات الحل غير المتزامنة وتنفيذ الاستعلام.
الاشتراكات.
الكميات المخصصة والتعدادات وتوجيهات المخطط.
النقابات والواجهات.
تحميل الملفات.
تحديد المخطط باستخدام سلاسل SDL.
تحميل المخطط من ملفات .graphql
و .gql
و .graphqls
.
برنامج وسيط WSGI لتنفيذ GraphQL في المواقع الحالية.
ملحقات Apollo Tracing وOpenTracing لمراقبة واجهة برمجة التطبيقات.
قم بتمكين تعيين أدوات الحل التلقائي بين camelCase
و snake_case
ومصمم وظيفة @convert_kwargs_to_snake_case
لتحويل camelCase
kwargs إلى snake_case
.
خادم تطوير متزامن بسيط مدمج لتجربة GraphQL السريعة وملعب GraphQL.
دعم ملحق Apollo GraphQL لبرنامج Visual Studio Code.
التحقق من صحة بناء جملة GraphQL عبر وظيفة مساعد gql()
. يوفر أيضًا التلوين في حالة تثبيت ملحق Apollo GraphQL.
لا يوجد سجل حالة أو كائن عالمي، ودعم واجهات برمجة تطبيقات GraphQL المتعددة في نفس قاعدة التعليمات البرمجية مع إعادة استخدام النوع الصريح.
دعم Apollo Federation
.
يمكن تثبيت Ariadne بالنقطة:
نقطة تثبيت أريادن
يتطلب Ariadne إصدار Python 3.7 أو أعلى.
ينشئ المثال التالي واجهة برمجة التطبيقات (API) التي تحدد نوع Person
وحقل استعلام واحد people
يعرضون قائمة من شخصين. كما أنه يبدأ تشغيل خادم تطوير محلي باستخدام GraphQL Playground المتوفر على العنوان http://127.0.0.1:8000
.
ابدأ بتثبيت uvicorn، وهو خادم ASGI سنستخدمه لخدمة واجهة برمجة التطبيقات:
نقطة تثبيت uvicorn
ثم قم بإنشاء ملف example.py
للتطبيق المثال الخاص بك:
من ariadne import ObjectType وQueryType وgql وmake_executable_schemafrom ariadne.asgi import GraphQL# تعريف الأنواع باستخدام لغة تعريف المخطط (https://graphql.org/learn/schema/)# يوفر التفاف السلسلة في وظيفة gql التحقق من الصحة وخطأ أفضل trapbacktype_defs = gql (""" اكتب الاستعلام { الأشخاص: [شخص!]! } اكتب الشخص { الاسم الأول: String lastName: String age: Int fullName: String }""")# وظائف محلل التعيين لحقول الاستعلام باستخدام QueryTypequery = QueryType()# الحلول هي وظائف بايثون بسيطة@query.field("people")defsolve_people(*_ ):يعود [ {"الاسم الأول": "جون"، "الاسم الأخير": "الظبية"، "العمر": 21}، {"الاسم الأول": "بوب"، "الاسم الأخير": "بوبرسون"، "العمر": 24}، ]# تعيين وظائف المحلل لحقول النوع المخصص باستخدام ObjectTypeperson = ObjectType("Person")@person.field("fullName")defsolve_person_fullname(person, *_):return "%s %s" % (person["firstName" ], person["lastName"])# إنشاء مخطط GraphQL قابل للتنفيذ = make_executable_schema(type_defs, query, person)# قم بإنشاء تطبيق ASGI باستخدام المخطط، الذي يعمل في وضع تصحيح الأخطاء = GraphQL(schema, debug=True)
أخيرًا قم بتشغيل الخادم:
مثال uvicorn: التطبيق
لمزيد من الأدلة والأمثلة، يرجى الاطلاع على الوثائق.
نحن نرحب بالمساهمات في أريادن! إذا وجدت خطأً أو مشكلة، فلا تتردد في استخدام مشكلات GitHub. إذا كانت لديك أي أسئلة أو تعليقات، فلا تتردد في التواصل معنا عبر مناقشات GitHub.
للحصول على الإرشادات والتعليمات، يرجى الاطلاع على CONTRIBUTING.md.
يحتوي موقع الويب والمستندات على مستودع GitHub الخاص بهما: mirumee/ariadne-website
تأكد أيضًا من متابعة @AriadneGraphQL على Twitter للحصول على آخر التحديثات والأخبار والتأملات العشوائية!
تم تصميمه بواسطة ❤️ بواسطة Mirumee Software [email protected]