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.

Tutta la documentazione per sviluppatori →

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-sdk

Guida 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.

Crei una chiave API nella Sua dashboard

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.

Documentazione di riferimento delle API