Python SDK

تحكم في استضافتك عبر Python

إن zinn-sdk هو عميل Python محدد الأنواع لواجهة برمجة تطبيقات ⁦Zinn Digital®⁩، تم إنشاؤه من نفس مواصفات OpenAPI التي تم بناء واجهة برمجة التطبيقات منها. تحتوي كل عملية على متغيرات متزامنة وأخرى غير متزامنة عبر asyncio، وكل طلب واستجابة عبارة عن نموذج محدد الأنواع.

جميع مستندات المطورين →

تثبيت

الحزمة متوفرة على PyPI باسم zinn-sdk ويتم استيرادها باسم zinn_sdk. وهي تتطلب Python 3.11 أو أحدث.

pip install zinn-sdk

بدء سريع

اعرض المناطق العامة للاستضافة بدون مفتاح، ثم اعرض مواقعك الخاصة باستخدام مفتاح.

import os

from zinn_sdk import AuthenticatedClient, Client
from zinn_sdk.api.catalog import list_public_hosting_regions
from zinn_sdk.api.hosting import list_sites

# Public catalogue endpoints need no key.
public = Client(base_url="https://api.zinndigital.com")
regions = list_public_hosting_regions.sync(client=public)
print([region.slug for region in regions.data])

# Everything else uses a per-organisation API key.
api = AuthenticatedClient(base_url="https://api.zinndigital.com", token=os.environ["ZINN_API_KEY"])
page = list_sites.sync(client=api, limit=5)
for site in page.data:
    print(site.name, site.status)

المصادقة

لا تتطلب نقاط نهاية الكتالوج العام، مثل المناطق والخطط، أي بيانات اعتماد. يستخدم كل شيء آخر مفتاح API لكل مؤسسة يتم تمريره إلى AuthenticatedClient، والذي يرسله كرمز حامل. يحمل المفتاح فقط الأذونات التي تمنحها له عند إنشائه، ويمكنك إبطاله في أي وقت. احتفظ به في متغير بيئة أو في مخزن الأسرار الخاص بك، ولا تضعه مطلقًا في التعليمات البرمجية المصدر.

أنشئ مفتاح API في لوحة التحكم الخاصة بك

ما ستحصل عليه

نماذج مكتوبة النوع

تعد الطلبات والاستجابات نماذج attrs تتضمن تلميحات للأنواع، مما يتيح لمحررك ومدقق الأنواع لديك فهم كل حقل.

المزامنة وasyncio

لكل عملية دوال sync وsync_detailed وasyncio وasyncio_detailed، مسماة باسم العملية بنمط snake case ومجمعة حسب مجال واجهة برمجة التطبيقات ضمن zinn_sdk.api.

تم إنشاؤه من المواصفات

يتم نشر إصدار جديد تلقائيًا كلما تغيَّرت مواصفات OpenAPI. العمليات القليلة التي لا يستطيع المولد التعبير عنها حتى الآن مدرجة ويتم فحصها مع كل إصدار، وتظل متاحة عبر REST API.

استدعاءات غير متزامنة

المكالمة نفسها باستخدام asyncio، مع إرجاع حالة HTTP بالإضافة إلى الاستجابة التي تم تحليلها.

import asyncio

from zinn_sdk.api.hosting import list_sites

# Every operation has sync, sync_detailed, asyncio and asyncio_detailed variants.
async def main() -> None:
    response = await list_sites.asyncio_detailed(client=api, limit=5)
    print(response.status_code, len(response.parsed.data))

asyncio.run(main())

الأسئلة

هل لديكم Python SDK؟

نعم. ثبّتوا zinn-sdk من PyPI باستخدام pip install zinn-sdk وقوموا باستيراد zinn_sdk. إنه عميل محدد النوع تم إنشاؤه من مواصفات OpenAPI الخاصة بنا، مع استدعاءات متزامنة ومستندة إلى asyncio.

أين توجد نقطة نهاية معينة في Python SDK؟

يتم تجميع العمليات حسب منطقة واجهة برمجة التطبيقات (API) تحت zinn_sdk.api وتتم تسميتها وفقًا لمعرّف العملية الخاص بها بنمط snake case. على سبيل المثال، إدراج المواقع هو zinn_sdk.api.hosting.list_sites.

ما هي إصدارات Python المدعومة؟

Python 3.11 والإصدارات الأحدث.

استكشف كل نقطة نهاية

كل عملية يمكن لحزمة SDK استدعاؤها موصوفة في مرجع واجهة برمجة التطبيقات (API)، مع معلمات الاستدعاء والاستجابات والأذونات الخاصة بها.

مرجع واجهة برمجة التطبيقات