Skip to content

EN Reference SDK Clients

Cavanshirpro edited this page Sep 19, 2026 · 1 revision

SDK: complete ForgeClient and AsyncForgeClient signatures

English · Türkçe · Languages / Diller

Scope: JSON API Forge 0.5.1 · Source review: 17 September 2026 · Language: English

Signatures are extracted from source Python AST and are reference declarations, not a runnable program. Do not pass self explicitly when calling an instance. Arguments after * are keyword-only. Await async def methods. Dataclass fields also describe constructor parameters.

Sync/async usage, retries and errors.

Source module: json_api_forge/client.py

ForgeClient

ForgeClient.init

def __init__(self, base_url: str, *, api_key: str | None=None, timeout: float=10.0, max_response_bytes: int=8 * 1024 * 1024, allow_insecure_http: bool=False, transport: httpx.BaseTransport | None=None, retry_policy: RetryPolicy | None=None, observer: Callable[[RequestAttempt], None] | None=None): ...

ForgeClient.request

def request(self, method: str, path: str, *, json_body: Any=None, files: Mapping[str, Any] | None=None, params: Mapping[str, Any] | None=None, headers: Mapping[str, str] | None=None, request_id: str | None=None, idempotency_key: str | None=None, expect_json: bool=True, max_response_bytes: int | None=None) -> ForgeResponse[Any]: ...

ForgeClient.health

def health(self) -> ForgeResponse[JsonObject]: ...

ForgeClient.metadata

def metadata(self, project: str) -> ForgeResponse[JsonObject]: ...

ForgeClient.list_items

def list_items(self, project: str, resource: str, *, params: Mapping[str, Any] | None=None) -> ForgeResponse[JsonObject]: ...

ForgeClient.get_item

def get_item(self, project: str, resource: str, item_id: str) -> ForgeResponse[JsonObject]: ...

ForgeClient.create_item

def create_item(self, project: str, resource: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...

ForgeClient.update_item

def update_item(self, project: str, resource: str, item_id: str, payload: Mapping[str, Any], *, replace: bool=False): ...

ForgeClient.delete_item

def delete_item(self, project: str, resource: str, item_id: str): ...

ForgeClient.call_operation

def call_operation(self, project: str, operation: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...

ForgeClient.iter_items

def iter_items(self, project: str, resource: str, *, params: Mapping[str, Any] | None=None, page_size: int=100, max_items: int=10000) -> Iterator[JsonObject]: ...

ForgeClient.close

def close(self) -> None: ...

ForgeClient.enter

def __enter__(self) -> ForgeClient: ...

ForgeClient.exit

def __exit__(self, *_args) -> None: ...

AsyncForgeClient

AsyncForgeClient.init

def __init__(self, base_url: str, *, api_key: str | None=None, timeout: float=10.0, max_response_bytes: int=8 * 1024 * 1024, allow_insecure_http: bool=False, transport: httpx.AsyncBaseTransport | None=None, retry_policy: RetryPolicy | None=None, observer: Callable[[RequestAttempt], None] | None=None): ...

AsyncForgeClient.request

async def request(self, method: str, path: str, *, json_body: Any=None, files: Mapping[str, Any] | None=None, params: Mapping[str, Any] | None=None, headers: Mapping[str, str] | None=None, request_id: str | None=None, idempotency_key: str | None=None, expect_json: bool=True, max_response_bytes: int | None=None) -> ForgeResponse[Any]: ...

AsyncForgeClient.health

async def health(self) -> ForgeResponse[JsonObject]: ...

AsyncForgeClient.metadata

async def metadata(self, project: str) -> ForgeResponse[JsonObject]: ...

AsyncForgeClient.list_items

async def list_items(self, project: str, resource: str, *, params: Mapping[str, Any] | None=None): ...

AsyncForgeClient.get_item

async def get_item(self, project: str, resource: str, item_id: str): ...

AsyncForgeClient.create_item

async def create_item(self, project: str, resource: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...

AsyncForgeClient.update_item

async def update_item(self, project: str, resource: str, item_id: str, payload: Mapping[str, Any], *, replace: bool=False): ...

AsyncForgeClient.delete_item

async def delete_item(self, project: str, resource: str, item_id: str): ...

AsyncForgeClient.call_operation

async def call_operation(self, project: str, operation: str, payload: Mapping[str, Any], *, idempotency_key: str | None=None): ...

AsyncForgeClient.aclose

async def aclose(self) -> None: ...

AsyncForgeClient.aenter

async def __aenter__(self) -> AsyncForgeClient: ...

AsyncForgeClient.aexit

async def __aexit__(self, *_args) -> None: ...

Sources and verification

This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.


English home · All English pages · Version maintenance

Clone this wiki locally