Python SDK

Zarządzaj swoim hostingiem za pomocą Python

zinn-sdk to typowany klient języka Python dla interfejsu API Zinn Digital®, wygenerowany na podstawie tej samej specyfikacji OpenAPI, na której zbudowano interfejs API. Każda operacja ma wariant synchroniczny oraz wariant asyncio, a każde żądanie i każda odpowiedź stanowią model typowany.

Cała dokumentacja dla programistów →

Zainstaluj

Pakiet jest dostępny w PyPI jako zinn-sdk i jest importowany jako zinn_sdk. Wymaga wersji Python 3.11 lub nowszej.

pip install zinn-sdk

Szybki start

Wyświetl publiczne regiony hostingu bez klucza, a następnie wyświetl własne witryny z kluczem.

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)

Uwierzytelnianie

Publiczne punkty końcowe katalogu, takie jak regiony i plany, nie wymagają danych uwierzytelniających. Cała reszta korzysta z klucza API dla danej organizacji przekazywanego do AuthenticatedClient, który wysyła go jako token nośnika. Klucz posiada wyłącznie uprawnienia nadane mu przez użytkownika podczas jego tworzenia i można go w każdej chwili unieważnić. Należy przechowywać go w zmiennej środowiskowej lub w magazynie wpisów tajnych, nigdy w kodzie źródłowym.

Utwórz klucz API w swoim panelu

Co zyskujesz

Typowane modele

Żądania i odpowiedzi to modele attrs ze wskazówkami typów, dzięki czemu edytor i narzędzie do sprawdzania typów rozumieją każde pole.

Synchronizacja i asyncio

Każda operacja ma funkcje sync, sync_detailed, asyncio oraz asyncio_detailed, nazwane zgodnie z operacją w formacie snake case i pogrupowane według obszaru API w zinn_sdk.api.

Wygenerowano ze specyfikacji

Nowa wersja jest publikowana automatycznie za każdym razem, gdy zmienia się specyfikacja OpenAPI. Nieliczne operacje, których generator nie jest jeszcze w stanie wyrazić, są wymieniane i sprawdzane przy każdym wydaniu oraz pozostają dostępne za pośrednictwem interfejsu REST API.

Wywołania asynchroniczne

To samo wywołanie z asyncio, zwracające status HTTP oraz przeanalizowaną odpowiedź.

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

Pytania

Czy posiadają Państwo Python SDK?

Tak. Zainstaluj zinn-sdk z PyPI za pomocą pip install zinn-sdk i zaimportuj zinn_sdk. Jest to typowany klient wygenerowany na podstawie naszej specyfikacji OpenAPI, z wywołaniami synchronicznymi i asyncio.

Gdzie w Python SDK znajduje się dany punkt końcowy?

Operacje są pogrupowane według obszaru API w zinn_sdk.api i nazwane zgodnie z ich identyfikatorem operacji (operation id) w formacie snake case. Na przykład wyświetlanie listy witryn to zinn_sdk.api.hosting.list_sites.

Które wersje języka Python są obsługiwane?

Python 3.11 i nowsze.

Przeglądaj każdy punkt końcowy

Każda operacja, którą może wywołać pakiet SDK, została opisana w dokumentacji referencyjnej API wraz z jej parametrami, odpowiedziami i uprawnieniami.

Dokumentacja API