Python SDK
Gestite il vostro hosting tramite Python
zinn-sdk è un client Python tipizzato per l'API di Zinn Digital®, generato dalla stessa specifica OpenAPI su cui è creata l'API. Ogni operazione include varianti sincrone e asyncio, e ogni richiesta e risposta è un modello tipizzato.
Installa
Il pacchetto è disponibile su PyPI come zinn-sdk e viene importato come zinn_sdk. Richiede Python 3.11 o versioni successive.
pip install zinn-sdkGuida rapida
Elencare le aree geografiche di hosting pubbliche senza chiave, quindi elencare i propri siti con una chiave.
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)Autenticazione
Gli endpoint del catalogo pubblico, come le aree geografiche e i piani, non richiedono credenziali. Tutto il resto utilizza una chiave API per organizzazione passata ad AuthenticatedClient, che la invia come bearer token. Una chiave contiene solo le autorizzazioni concesse al momento della creazione ed è possibile revocarla in qualsiasi momento. La conservi in una variabile di ambiente o nel Suo archivio dei segreti, mai nel codice sorgente.
Cosa include
Modelli tipizzati
Le richieste e le risposte sono modelli attrs con suggerimenti di tipo, quindi il vostro editor e il vostro controllo tipi comprendono ogni campo.
Sincronizzazione e asyncio
Ciascuna operazione dispone delle funzioni sync, sync_detailed, asyncio e asyncio_detailed, denominate in base all'operazione in snake case e raggruppate per area API sotto zinn_sdk.api.
Generato dalla specifica
Viene pubblicata automaticamente una nuova versione ogni volta che la specifica OpenAPI cambia. Le poche operazioni che il generatore non può ancora esprimere vengono elencate e verificate a ogni rilascio, e rimangono disponibili tramite l'API REST.
Chiamate asincrone
La stessa chiamata con asyncio, che restituisce lo stato HTTP e la risposta analizzata.
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())Domande
Disponete di un Python SDK?
Sì. Installi zinn-sdk da PyPI con pip install zinn-sdk e importi zinn_sdk. È un client tipizzato generato dalla nostra specifica OpenAPI, con chiamate sincrone e asyncio.
Dove si trova un determinato endpoint nel Python SDK?
Le operazioni sono raggruppate per area API in zinn_sdk.api e prendono il nome dal loro ID operazione in snake case. Ad esempio, elencare i siti è zinn_sdk.api.hosting.list_sites.
Quali versioni di Python sono supportate?
Python 3.11 e versioni successive.
Esplora ogni endpoint
Ogni operazione che l'SDK può chiamare è descritta nella documentazione di riferimento dell'API, con i relativi parametri, risposte e autorizzazioni.