Python SDK
Kelola hosting Anda melalui Python
zinn-sdk adalah klien Python bertipe untuk Zinn Digital® API, yang dibuat dari spesifikasi OpenAPI yang sama dengan yang digunakan untuk membangun API tersebut. Setiap operasi memiliki varian sinkron dan asyncio, serta setiap permintaan dan respons merupakan model bertipe.
Instal
Paket ini tersedia di PyPI sebagai zinn-sdk dan diimpor sebagai zinn_sdk. Paket ini memerlukan Python 3.11 atau versi lebih baru.
pip install zinn-sdkMulai cepat
Cantumkan wilayah hosting publik tanpa kunci, lalu cantumkan situs 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)Autentikasi
Titik akhir katalog publik, seperti wilayah dan paket, tidak memerlukan kredensial. Hal lainnya menggunakan kunci API per organisasi yang diteruskan ke AuthenticatedClient, yang mengirimkannya sebagai token pembawa (bearer token). Kunci hanya membawa izin yang Anda berikan saat membuatnya, dan Anda dapat mencabutnya kapan saja. Simpan di variabel lingkungan atau penyimpanan rahasia Anda, jangan pernah di kode sumber.
Yang Anda dapatkan
Model bertipe
Permintaan dan respons adalah model attrs dengan petunjuk tipe, sehingga editor dan pemeriksa tipe Anda memahami setiap bidang.
Sinkronisasi dan asyncio
Setiap operasi memiliki fungsi sync, sync_detailed, asyncio, dan asyncio_detailed, yang dinamai berdasarkan operasi dalam format snake case dan dikelompokkan berdasarkan area API di bawah zinn_sdk.api.
Dibuat dari spesifikasi
Versi baru diterbitkan secara otomatis setiap kali spesifikasi OpenAPI berubah. Beberapa operasi yang belum dapat dinyatakan oleh generator dicantumkan dan diperiksa pada setiap rilis, serta tetap tersedia melalui REST API.
Panggilan asinkron
Panggilan yang sama dengan asyncio, mengembalikan status HTTP serta respons yang diurai.
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())Pertanyaan
Apakah Anda memiliki Python SDK?
Ya. Instal zinn-sdk dari PyPI dengan pip install zinn-sdk dan impor zinn_sdk. Ini adalah klien bertipe data yang dibuat dari spesifikasi OpenAPI kami, dengan panggilan sinkron dan asyncio.
Di mana letak endpoint tertentu di Python SDK?
Operasi dikelompokkan berdasarkan area API di bawah zinn_sdk.api dan diberi nama sesuai id operasinya dalam format snake case. Misalnya, mendaftar situs adalah zinn_sdk.api.hosting.list_sites.
Versi Python mana saja yang didukung?
Python 3.11 dan yang lebih baru.
Jelajahi setiap endpoint
Setiap operasi yang dapat dipanggil oleh SDK dijelaskan dalam referensi API, lengkap dengan parameter, respons, dan izinnya.