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