Python SDK

Urus pengehosan anda daripada Python

zinn-sdk ialah klien Python bertaip untuk Zinn Digital® API, yang dijana daripada spesifikasi OpenAPI yang sama dengan API yang dibina. Setiap operasi mempunyai varian segerak dan asyncio, dan setiap permintaan serta respons ialah model bertaip.

Semua dokumentasi pembangun →

Pasang

Pakej ini tersedia di PyPI sebagai zinn-sdk dan diimport sebagai zinn_sdk. Ia memerlukan Python 3.11 atau lebih baharu.

pip install zinn-sdk

Mula pantas

Senaraikan rantau pengehosan awam tanpa kunci, kemudian senaraikan tapak anda sendiri dengan kunci.

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)

Pengesahan

Titik akhir katalog awam, seperti rantau dan pelan, tidak memerlukan kelayakan. Perkara lain menggunakan kunci API bagi setiap organisasi yang diserahkan kepada AuthenticatedClient, yang menghantarnya sebagai token pembawa. Kunci hanya membawa kebenaran yang anda berikan semasa anda membuatnya, dan anda boleh membatalkannya pada bila-bila masa. Simpannya dalam pemboleh ubah persekitaran atau stor rahsia anda, jangan sekali-kali dalam kod sumber.

Cipta kunci API dalam papan pemuka anda

Apa yang anda dapat

Model bertaip

Permintaan dan respons ialah model attrs dengan petunjuk jenis, jadi editor dan penyemak jenis anda memahami setiap medan.

Penyegerakan dan asyncio

Setiap operasi mempunyai fungsi sync, sync_detailed, asyncio dan asyncio_detailed, dinamakan sempena operasi dalam snake case dan dikumpulkan mengikut kawasan API di bawah zinn_sdk.api.

Dijana daripada spesifikasi

Versi baharu diterbitkan secara automatik setiap kali spesifikasi OpenAPI berubah. Beberapa operasi yang belum dapat dinyatakan oleh penjana disenaraikan dan diperiksa pada setiap keluaran, dan kekal tersedia melalui REST API.

Panggilan tak segerak

Panggilan yang sama dengan asyncio, mengembalikan status HTTP serta respons yang dihuraikan.

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

Soalan

Adakah anda mempunyai Python SDK?

Ya. Pasang zinn-sdk dari PyPI dengan pip install zinn-sdk dan import zinn_sdk. Ia adalah klien ditaip yang dijana daripada spesifikasi OpenAPI kami, dengan panggilan segerak dan asyncio.

Di manakah titik akhir tertentu dalam Python SDK?

Operasi dikumpulkan mengikut kawasan API di bawah zinn_sdk.api dan dinamakan mengikut id operasi masing-masing dalam snake case. Sebagai contoh, menyenaraikan tapak ialah zinn_sdk.api.hosting.list_sites.

Versi Python manakah yang disokong?

Python 3.11 dan yang lebih baharu.

Terokai setiap titik akhir

Setiap operasi yang boleh dipanggil oleh SDK diterangkan dalam rujukan API, bersama parameter, respons dan kebenarannya.

Rujukan API