Python SDK
Steuern Sie Ihr Hosting über Python
zinn-sdk ist ein typisierter Python-Client für die Zinn Digital®-API, der aus derselben OpenAPI-Spezifikation generiert wurde, auf der die API aufbaut. Jede Operation verfügt über synchrone und asyncio-Varianten, und jede Anfrage sowie Antwort ist ein typisiertes Modell.
Installieren
Das Paket ist auf PyPI als zinn-sdk verfügbar und wird als zinn_sdk importiert. Es erfordert Python 3.11 oder neuer.
pip install zinn-sdkSchnellstart
Listen Sie die öffentlichen Hosting-Regionen ohne Schlüssel auf und listen Sie anschließend Ihre eigenen Websites mit einem Schlüssel auf.
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)Authentifizierung
Öffentliche Katalog-Endpunkte wie Regionen und Pläne erfordern keine Anmeldedaten. Alles andere verwendet einen organisationsspezifischen API-Schlüssel, der an AuthenticatedClient übergeben wird, welcher ihn als Bearer-Token sendet. Ein Schlüssel besitzt nur die Berechtigungen, die Sie ihm bei der Erstellung erteilen, und Sie können ihn jederzeit widerrufen. Bewahren Sie ihn in einer Umgebungsvariablen oder Ihrem Secret-Store auf, niemals im Quellcode.
Was Sie erhalten
Typisierte Modelle
Anfragen und Antworten sind attrs-Modelle mit Typhilfen, sodass Ihr Editor und Ihre Typprüfung jedes Feld verstehen.
Synchronisierung und asyncio
Jede Operation verfügt über die Funktionen sync, sync_detailed, asyncio und asyncio_detailed, die nach der Operation in Snake-Case benannt und nach API-Bereich unter zinn_sdk.api gruppiert sind.
Aus der Spezifikation generiert
Eine neue Version wird automatisch veröffentlicht, sobald sich die OpenAPI-Spezifikation ändert. Die wenigen Operationen, die der Generator noch nicht abbilden kann, werden bei jedem Release aufgelistet und überprüft und bleiben über die REST-API verfügbar.
Asynchrone Aufrufe
Derselbe Aufruf mit asyncio, der sowohl den HTTP-Status als auch die analysierte Antwort zurückgibt.
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())Fragen
Haben Sie ein Python SDK?
Ja. Installieren Sie zinn-sdk von PyPI mit pip install zinn-sdk und importieren Sie zinn_sdk. Es handelt sich um einen typisierten Client, der aus unserer OpenAPI-Spezifikation generiert wurde, mit synchronen und asyncio-Aufrufen.
Wo befindet sich ein bestimmter Endpunkt im Python SDK?
Operationen sind unter zinn_sdk.api nach API-Bereich gruppiert und nach ihrer Operations-ID in snake case benannt. Das Auflisten von Websites lautet beispielsweise zinn_sdk.api.hosting.list_sites.
Welche Python-Versionen werden unterstützt?
Python 3.11 und neuer.
Jeden Endpunkt erkunden
Jede Operation, die das SDK aufrufen kann, ist in der API-Referenz mit ihren Parametern, Antworten und Berechtigungen beschrieben.