Python SDK
Gestionați-vă găzduirea prin Python
zinn-sdk este un client Python tipizat pentru API-ul Zinn Digital®, generat din aceeași specificație OpenAPI pe baza căreia este construit API-ul. Fiecare operațiune are variante sincrone și asyncio, iar fiecare solicitare și răspuns este un model tipizat.
Instalare
Pachetul este disponibil pe PyPI ca zinn-sdk și se importă ca zinn_sdk. Necesită Python 3.11 sau o versiune ulterioară.
pip install zinn-sdkPornire rapidă
Enumerați regiunile publice de găzduire fără o cheie, apoi enumerați propriile site-uri cu una.
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)Autentificare
Punctele finale publice din catalog, cum ar fi regiunile și planurile, nu necesită date de conectare. Toate celelalte folosesc o cheie API per organizație transmisă către AuthenticatedClient, care o trimite ca bearer token. O cheie poartă doar permisiunile pe care i le acordați la crearea acesteia și o puteți revoca oricând. Păstrați-o într-o variabilă de mediu sau în depozitul dumneavoastră de secrete, niciodată în codul sursă.
Ce primiți
Modele tipizate
Cererile și răspunsurile sunt modele attrs cu indicii de tip, astfel încât editorul și verificatorul dumneavoastră de tipuri înțeleg fiecare câmp.
Sincronizare și asyncio
Fiecare operațiune are funcții sync, sync_detailed, asyncio și asyncio_detailed, denumite după operațiune în snake case și grupate pe zone API sub zinn_sdk.api.
Generat din specificație
O nouă versiune este publicată automat ori de câte ori specificația OpenAPI se modifică. Puținele operațiuni pe care generatorul nu le poate exprima încă sunt listate și verificate la fiecare lansare și rămân disponibile prin intermediul REST API.
Apeluri asincrone
Aceeași apelare cu asyncio, returnând starea HTTP, precum și răspunsul analizat.
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())Întrebări
Aveți un Python SDK?
Da. Instalați zinn-sdk din PyPI cu pip install zinn-sdk și importați zinn_sdk. Este un client tipizat generat din specificația noastră OpenAPI, cu apeluri sincrone și asyncio.
Unde se află un anumit punct terminus în Python SDK?
Operațiunile sunt grupate după zona API sub zinn_sdk.api și sunt denumite după ID-ul operațiunii în snake case. De exemplu, listarea site-urilor este zinn_sdk.api.hosting.list_sites.
Ce versiuni de Python sunt acceptate?
Python 3.11 și versiunile ulterioare.
Explorați fiecare punct terminus
Fiecare operațiune pe care SDK-ul o poate apela este descrisă în documentația de referință a API-ului, împreună cu parametrii, răspunsurile și permisiunile aferente.