Skip to content

SDK YoungLion ve DDM

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

Opsiyonel YoungLion ve DDM adaptörleri

English · Türkçe · Languages / Diller

Kapsam: JSON API Forge 0.5.1 · İnceleme: 17 Eylül 2026 · Dil: Türkçe

SDK temel kurulumu YoungLion yüklemeyi zorunlu kılmaz. younglion ve ddm extras, uyumlu YoungLion>=0.1.0,<0.2 satırını isteğe bağlı kurar. Import'lar lazy'dir; normal ForgeClient kullanımı bu entegrasyona bağlı değildir.

python -m pip install "json-api-forge-client[younglion] @ git+https://github.com/YoungLionOrganization/JSON-API-Forge.git@9507fa902838f66400a603cea22b271a79d4eb9c"

[ddm] aynı bağımlılık niyeti için diğer extra adıdır. Paket registry erişimi ve compatible dependency bulunması gerekir; adapter source var diye dış bağımlılığın her ortamda kurulduğunu varsaymayın.

YoungLion istemcisi

import os
from YoungLion import DDM
from json_api_forge.integrations import YoungLionForgeClient

with YoungLionForgeClient.connect(
    "https://api.example.com", api_key=os.environ["FORGE_API_KEY"]
) as forge:
    response = forge.create_item("wiki-demo", "items", DDM({"name": "YoungLion"}))
    print(response.data.to_dict())

YoungLionForgeClient, normal sync istemciyi sarar. Ek helper'ları create/update/list ve operation/request akışını DDM ile kullanmaya yarar. Ana istemcideki her metodun aynı isimle wrapper üzerinde bulunduğunu varsaymayın.

Mevcut istemciyi sarmalama

from json_api_forge import ForgeClient
from json_api_forge.integrations import DDMForgeClient, ddm_available

if not ddm_available():
    raise RuntimeError("DDM extra kurulmalı")

with DDMForgeClient(ForgeClient("https://api.example.com")) as forge:
    result = forge.request("GET", "health")
    print(result.data.to_dict())

AsyncDDMForgeClient, AsyncForgeClient'ı sarar ve async context/await kullanır. Wrapper kapanırken sarılan istemciyi de kapatır; bağımsız sahipliği olan bir istemciyi yanlış zamanda kapatmayın.

Dönüşüm sözleşmesi

Payload mapping/list/tuple ve to_dict() destekleyen değerlerden düz JSON'a dönüştürülür. Yanıt mapping ise DDM nesnesi yapılır; scalar/list gibi mapping olmayan yanıt {"value": ...} içinde sarılır. HTTP status, request ID, replay ve cache metadata korunur.

Eksik/incompatible entegrasyon ForgeIntegrationError üretir. DDM dönüşümü yetki, validation veya idempotency kazandırmaz; bunlar normal istemci ve server sözleşmesinde kalır. Uygulamanız ekstra kullanmıyorsa bağımlılığı kurmak zorunda değildir.

Kaynak ve doğrulama

Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.


Wiki ana sayfa · Tüm sayfalar · Sürüm ve bakım

Clone this wiki locally