Python SDK

Upravljajte svojim hostingom putem Python-a

zinn-sdk je tipizirani Python klijent za Zinn Digital® API, generiran iz iste OpenAPI specifikacije iz koje je API izgrađen. Svaka operacija ima sinkrone i asyncio varijante, a svaki zahtjev i odgovor je tipizirani model.

Sva dokumentacija za razvojne programere →

Instaliraj

Paket je dostupan na PyPI-ju kao zinn-sdk i uvozi se kao zinn_sdk. Zahtijeva Python 3.11 ili noviji.

pip install zinn-sdk

Brzi početak

Navedite javne regije hostinga bez ključa, a zatim navedite vlastite web-lokacije s ključ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)

Provjera autentičnosti

Krajnje točke javnog kataloga, poput regija i planova, ne zahtijevaju vjerodajnice. Sve ostalo koristi API ključ po organizaciji proslijeđen klijentu AuthenticatedClient, koji ga šalje kao token nositelja. Ključ nosi samo dopuštenja koja mu dodijelite prilikom stvaranja i možete ga opozvati u bilo kojem trenutku. Čuvajte ga u varijabli okruženja ili u svojoj pohrani tajni, nikada u izvornom kodu.

Stvorite API ključ na svojoj upravljačkoj ploči

Što dobivate

Tipizirani modeli

Zahtjevi i odgovori su attrs modeli s naznakama tipova, tako da vaš uređivač i vaš alat za provjeru tipova razumiju svako polje.

Sinkronizacija i asyncio

Svaka operacija ima funkcije sync, sync_detailed, asyncio i asyncio_detailed, nazvane prema operaciji u obliku snake case i grupirane prema području API-ja pod zinn_sdk.api.

Generirano iz specifikacije

Nova verzija objavljuje se automatski kad god se promijeni OpenAPI specifikacija. Nekoliko operacija koje generator još ne može izraziti navodi se i provjerava pri svakom izdanju te ostaju dostupne putem REST API-ja.

Asinkroni pozivi

Isti poziv s asyncio, koji vraća HTTP status kao i raščlanjeni odgovor.

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())

Pitanja

Imate li Python SDK?

Da. Instalirajte zinn-sdk s PyPI-ja pomoću pip install zinn-sdk i uvezite zinn_sdk. To je tipizirani klijent generiran iz naše OpenAPI specifikacije, sa sinkronim i asyncio pozivima.

Gdje se nalazi određena krajnja točka u Python SDK-u?

Operacije su grupirane prema području API-ja pod zinn_sdk.api i nazvane su prema svojem ID-ju operacije u snake caseu. Na primjer, ispisivanje web-mjesta je zinn_sdk.api.hosting.list_sites.

Koje su verzije jezika Python podržane?

Python 3.11 i novije.

Istražite svaku krajnju točku

Svaka operacija koju SDK može pozvati opisana je u referenci za API, zajedno sa svojim parametrima, odgovorima i dozvolama.

API referenca