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 фиристода мешавад ва он ин калидро ҳамчун токени баранда мефиристад. Калид танҳо иҷозатҳоеро дар бар мегирад, ки шумо ҳангоми сохтани он медиҳед ва шумо метавонед онро дар вақти дилхоҳ бекор кунед. Онро дар тағйирёбандаи муҳит ё анбори махфии худ нигоҳ доред, ҳеҷ гоҳ дар коди сарчашма нагузоред.
Он чӣ шумо ба даст меоред
Моделҳои типизатсияшуда
Дархостҳо ва посухҳо моделҳои 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 гурӯҳбандӣ шудаанд ва аз рӯи шиносаи амалиёташон бо ҳарфҳои хурд бо зерхат (snake_case) номгузорӣ шудаанд. Масалан, рӯйхати сомонаҳо zinn_sdk.api.hosting.list_sites мебошад.
Кадом версияҳои Python дастгирӣ мешаванд?
Python 3.11 ва навъҳои баъдӣ.
Ҳар як нуқтаи ниҳоиро кашф кунед
Ҳар як амале, ки SDK метавонад фаро хонад, дар маълумотномаи API бо параметрҳо, посухҳо ва иҷозатҳои он тавсиф шудааст.