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 референци, са својим параметрима, одговорима и дозволама.