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