SDK & Integrations

Python SDK (bazi-api-sdk)

v1.0.0

Official PyPI package for Python 3.8+ backend applications, FastAPI, Django, and Flask.

Official SDKs
Provides strongly-typed Python dataclasses (BaziChart), automatic error handling, and Webhook verification using Python standard libraries.

Installation

Bash
pip install bazi-api-sdk

Quick Start

Python Quick Start
Python
from bazi import BaziClient, BaziError

client = BaziClient(api_key="bazi_live_xxxx")

try:
    chart = client.calculate(
        birth_date="1998-08-12",
        birth_time="10:30",
        gender="male",
        timezone="Asia/Shanghai"
    )

    print("Day Master:", chart.heavenly_stems.day_stem)
    print("Dominant Element:", chart.analysis.strongest_element)
    print("Zodiac Animal:", chart.zodiac.animal)
except BaziError as e:
    print("BaZi Calculation Error:", e)

More Examples

FastAPI Webhook Handler

FastAPI Webhook Handler
Python
from fastapi import FastAPI, Request, HTTPException, Header
from bazi import verify_webhook_signature
import os, json

app = FastAPI()

@app.post("/webhooks/bazi")
async def bazi_webhook(request: Request, x_bazi_signature: str = Header(None)):
    payload = await request.body()
    secret = os.getenv("BAZI_WEBHOOK_SECRET")

    if not x_bazi_signature or not verify_webhook_signature(payload, x_bazi_signature, secret):
        raise HTTPException(status_code=401, detail="Invalid signature")

    data = json.loads(payload)
    print("Verified Event:", data.get("event"))
    return {"status": "ok"}

Something unclear? Contact developer support.