Python SDK

Կառավարեք ձեր հոսթինգը Python-ի միջոցով

zinn-sdk-ն տիպավորված Python հաճախորդ է Zinn Digital® API-ի համար, որը ստեղծվել է նույն OpenAPI բնութագրից, որից կառուցված է API-ն: Յուրաքանչյուր գործողություն ունի սինխրոն և 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-ին, որն էլ այն ուղարկում է որպես կրող թոքեն (bearer token): Բանալին կրում է միայն այն թույլտվությունները, որոնք դուք տրամադրում եք այն ստեղծելիս, և դուք կարող եք այն չեղարկել ցանկացած պահի: Պահեք այն միջավայրի փոփոխականում կամ ձեր գաղտնիքների պահոցում, երբեք՝ ելակետային կոդում:

Ստեղծեք API բանալի ձեր կառավարման վահանակում

Ինչ եք ստանում

Տիպավորված մոդելներ

Հարցումները և պատասխանները տիպերի հուշումներով attrs մոդելներ են, ուստի ձեր խմբագրիչը և տիպերի ստուգիչը հասկանում են յուրաքանչյուր դաշտ:

Համաժամեցում և asyncio

Յուրաքանչյուր գործողություն ունի sync, sync_detailed, asyncio և asyncio_detailed ֆունկցիաներ, որոնք անվանվել են գործողության համաձայն snake case ձևաչափով և խմբավորվել են ըստ API-ի տիրույթի 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-ի ներքո և անվանված են իրենց գործողության նույնացուցիչով (operation id) snake case ձևաչափով: Օրինակ՝ կայքերի ցուցակագրումը zinn_sdk.api.hosting.list_sites-ն է:

Python-ի ո՞ր տարբերակներն են ապահովվում:

Python 3.11 և ավելի նոր։

Ուսումնասիրեք յուրաքանչյուր վերջնակետ

Յուրաքանչյուր գործողություն, որը SDK-ն կարող է կանչել, նկարագրված է API-ի տեղեկատուում՝ իր պարամետրերով, պատասխաններով և թույլտվություններով:

API-ի տեղեկատու