Python SDK

Python থেকে আপনার হোস্টিং পরিচালনা করুন

zinn-sdk হলো Zinn Digital® API-এর জন্য একটি টাইপযুক্ত Python ক্লায়েন্ট, যা API যে OpenAPI স্পেসিফিকেশন থেকে তৈরি হয়েছে তা থেকেই জেনারেট করা হয়েছে। প্রতিটি অপারেশনে সিনক্রোনাস এবং asyncio রূপ রয়েছে, এবং প্রতিটি অনুরোধ ও প্রতিক্রিয়া একটি টাইপযুক্ত মডেল।

সমস্ত ডেভেলপার ডকুমেন্টেশন →

ইনস্টল করুন

প্যাকেজটি PyPI-তে zinn-sdk হিসেবে রয়েছে এবং zinn_sdk হিসেবে আমদানি করা হয়। এর জন্য Python 3.11 বা তার পরবর্তী সংস্করণ প্রয়োজন।

pip install zinn-sdk

দ্রুত শুরু

কী ছাড়াই পাবলিক হোস্টিং অঞ্চলগুলোর তালিকা তৈরি করুন, তারপর একটি কী ব্যবহার করে আপনার নিজস্ব সাইটগুলোর তালিকা তৈরি করুন।

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)

প্রমাণীকরণ

অঞ্চল এবং পরিকল্পনার মতো সর্বজনীন ক্যাটালগ এন্ডপয়েন্টগুলির জন্য কোনো প্রমাণপত্রের প্রয়োজন হয় না। অন্য সবকিছু AuthenticatedClient-এ পাঠানো একটি সংস্থা-ভিত্তিক API কী ব্যবহার করে, যা এটিকে বিয়ারার টোকেন হিসেবে পাঠায়। একটি কী শুধুমাত্র সেই অনুমতিগুলি বহন করে যা আপনি এটি তৈরি করার সময় মঞ্জুর করেন এবং আপনি যেকোনো সময় এটি প্রত্যাহার করতে পারেন। এটি একটি এনভায়রনমেন্ট ভেরিয়েবল বা আপনার সিক্রেট স্টোরে রাখুন, কখনই সোর্স কোডে রাখবেন না।

আপনার ড্যাশবোর্ডে একটি API কী তৈরি করুন

আপনি যা পাবেন

টাইপ করা মডেল

অনুরোধ এবং প্রতিক্রিয়াগুলি হল টাইপ ইঙ্গিতসহ attrs মডেল, তাই আপনার এডিটর এবং আপনার টাইপ চেকার প্রতিটি ক্ষেত্র বুঝতে পারে।

সিঙ্ক এবং asyncio

প্রতিটি অপারেশনের sync, sync_detailed, asyncio এবং asyncio_detailed ফাংশন রয়েছে, যা snake case-এ অপারেশনের নামে নামকরণ করা হয়েছে এবং zinn_sdk.api-এর অধীনে API এলাকা অনুযায়ী দলবদ্ধ করা হয়েছে।

নির্দিষ্টকরণ থেকে তৈরি করা হয়েছে

OpenAPI স্পেসিফিকেশন পরিবর্তিত হলেই স্বয়ংক্রিয়ভাবে একটি নতুন সংস্করণ প্রকাশিত হয়। জেনারেটর এখনও যে কয়েকটি অপারেশন প্রকাশ করতে পারে না, সেগুলো প্রতিটি রিলিজেই তালিকাভুক্ত ও যাচাই করা হয় এবং REST API-এর মাধ্যমে উপলব্ধ থাকে।

অ্যাসিঙ্ক কল

asyncio সহ একই কল, যা HTTP স্ট্যাটাসের পাশাপাশি পার্স করা প্রতিক্রিয়া প্রদান করে।

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

প্রশ্ন

আপনার কি একটি Python SDK আছে?

হ্যাঁ। pip install zinn-sdk দিয়ে PyPI থেকে zinn-sdk ইনস্টল করুন এবং zinn_sdk ইমপোর্ট করুন। এটি আমাদের OpenAPI স্পেসিফিকেশন থেকে তৈরি একটি টাইপ করা ক্লায়েন্ট, যার মধ্যে সিঙ্ক্রোনাস এবং asyncio কল রয়েছে।

Python SDK-তে একটি নির্দিষ্ট এন্ডপয়েন্ট কোথায় থাকে?

অপারেশনগুলি zinn_sdk.api-এর অধীনে API এলাকা অনুসারে দলবদ্ধ করা হয়েছে এবং snake case-এ তাদের অপারেশন আইডি অনুযায়ী নামকরণ করা হয়েছে। উদাহরণস্বরূপ, সাইটগুলির তালিকা তৈরি করা হলো zinn_sdk.api.hosting.list_sites।

কোন Python সংস্করণগুলি সমর্থিত?

Python 3.11 এবং পরবর্তী সংস্করণ।

প্রতিটি এন্ডপয়েন্ট অন্বেষণ করুন

SDK কল করতে পারে এমন প্রতিটি অপারেশন তার প্যারামিটার, প্রতিক্রিয়া এবং অনুমতিসহ API রেফারেন্সে বর্ণিত হয়েছে।

এপিআই নির্দেশিকা