Python SDK
Hostinginizi Python ile yönetin
zinn-sdk, API'nin oluşturulduğu aynı OpenAPI belirtiminden üretilen, Zinn Digital® API'si için tipleri tanımlanmış bir Python istemcisidir. Her işlemin eşzamanlı ve asyncio varyantları bulunur ve her istek ile yanıt tipleri belirlenmiş bir modeldir.
Yükle
Paket PyPI üzerinde zinn-sdk olarak mevcuttur ve zinn_sdk olarak içe aktarılır. Python 3.11 veya sonraki bir sürümü gerektirir.
pip install zinn-sdkHızlı başlangıç
Genel barındırma bölgelerini anahtarsız listeleyin, ardından kendi sitelerinizi bir anahtarla listeleyin.
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)Kimlik Doğrulama
Bölgeler ve planlar gibi genel katalog uç noktaları hiçbir kimlik bilgisi gerektirmez. Diğer her şey, AuthenticatedClient öğesine iletilen ve bunu bir taşıyıcı belirteci olarak gönderen kuruluş başına bir API anahtarı kullanır. Bir anahtar yalnızca oluştururken verdiğiniz izinleri taşır ve istediğiniz zaman iptal edebilirsiniz. Anahtarı bir ortam değişkeninde veya gizli diziler deponuzda saklayın, asla kaynak kodda bulundurmayın.
Neler dahil
Tiplendirilmiş modeller
İstekler ve yanıtlar, tür ipuçlarına sahip attrs modelleridir; bu sayede düzenleyiciniz ve tür denetleyiciniz her alanı anlar.
Senkronizasyon ve asyncio
Her işlemin snake case biçiminde işlemden sonra adlandırılmış ve zinn_sdk.api altında API alanına göre gruplandırılmış sync, sync_detailed, asyncio ve asyncio_detailed işlevleri vardır.
Belirtimden oluşturuldu
OpenAPI belirtimi her değiştiğinde yeni bir sürüm otomatik olarak yayınlanır. Oluşturucunun henüz ifade edemediği birkaç işlem her sürümde listelenir, kontrol edilir ve REST API aracılığıyla kullanılabilir kalmaya devam eder.
Eşzamansız çağrılar
HTTP durumunu ve ayrıştırılmış yanıtı döndüren, asyncio ile aynı çağrı.
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())Sorular
Python SDK'nız var mı?
Evet. pip install zinn-sdk komutuyla zinn-sdk paketini PyPI üzerinden yükleyin ve zinn_sdk modülünü içe aktarın. Bu, senkron ve asyncio çağrılarına sahip, OpenAPI belirtimimizden oluşturulmuş yazılı tipli bir istemcidir.
Belirli bir uç nokta Python SDK içinde nerede bulunur?
İşlemler, zinn_sdk.api altında API alanına göre gruplandırılır ve snake case biçimindeki işlem kimliklerine göre adlandırılır. Örneğin, siteleri listeleme işlemi zinn_sdk.api.hosting.list_sites şeklindedir.
Hangi Python sürümleri destekleniyor?
Python 3.11 ve sonraki sürümler.
Her uç noktayı keşfedin
SDK'nın çağırabileceği her işlem; parametreleri, yanıtları ve izinleriyle birlikte API referansında açıklanmıştır.