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.

Tüm geliştirici belgeleri →

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-sdk

Hı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.

Kontrol panelinizde bir API anahtarı oluşturun

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.

API başvurusu