Python SDK
Spravujte svůj hosting přes Python
zinn-sdk je typovaný klient Python pro rozhraní API Zinn Digital®, vygenerovaný ze stejné specifikace OpenAPI, ze které je toto rozhraní API vytvořeno. Každá operace má synchronní varianty a varianty pro asyncio a každý požadavek i odpověď je typovaný model.
Instalovat
Balíček je dostupný na PyPI jako zinn-sdk a importuje se jako zinn_sdk. Vyžaduje Python 3.11 nebo novější.
pip install zinn-sdkRychlý start
Uveďte veřejné hostingové regiony bez klíče a poté uveďte své vlastní weby s klíčem.
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)Ověření
Koncové body veřejného katalogu, jako jsou regiony a plány, nevyžadují žádné přihlašovací údaje. Vše ostatní používá klíč API pro danou organizaci předaný klientovi AuthenticatedClient, který jej odesílá jako nosný token (bearer token). Klíč má pouze ta oprávnění, která mu udělíte při jeho vytvoření, a můžete jej kdykoli zneplatnit. Uchovávejte jej v proměnné prostředí nebo v úložišti tajných klíčů, nikdy ne ve zdrojovém kódu.
Co získáte
Typované modely
Požadavky a odpovědi jsou modely attrs s nápovědami typů, takže váš editor i nástroj pro kontrolu typů rozumí každému poli.
Synchronizace a asyncio
Každá operace má funkce sync, sync_detailed, asyncio a asyncio_detailed, pojmenované podle operace ve stylu snake case a seskupené podle oblasti API pod zinn_sdk.api.
Vygenerováno ze specifikace
Nová verze se publikuje automaticky pokaždé, když se změní specifikace OpenAPI. Těch několik operací, které generátor zatím nedokáže vyjádřit, je při každém vydání uvedeno v seznamu a zkontrolováno a zůstávají dostupné prostřednictvím REST API.
Asynchronní volání
Stejné volání s asyncio, vracející stav HTTP a také analyzovanou odpověď.
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())Otázky
Máte Python SDK?
Ano. Nainstalujte zinn-sdk z PyPI pomocí pip install zinn-sdk a importujte zinn_sdk. Jedná se o typového klienta vygenerovaného z naší specifikace OpenAPI se synchronními voláními a voláními asyncio.
Kde se v Python SDK nachází daný koncový bod?
Operace jsou seskupeny podle oblasti API pod zinn_sdk.api a jsou pojmenovány podle svého ID operace (operation id) ve formátu snake case. Například výpis webů je zinn_sdk.api.hosting.list_sites.
Které verze Python jsou podporovány?
Python 3.11 a novější.
Prozkoumejte každý koncový bod
Každá operace, kterou může SDK volat, je popsána v referenční příručce k API, a to včetně svých parametrů, odpovědí a oprávnění.