Repository navigation
EN Reference SDK Clusters
Cavanshirpro edited this page Sep 19, 2026
·
1 revision
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.
Source module: json_api_forge/enterprise.py
__str__ = str.__str__
__format__ = str.__format__
ROUND_ROBIN = 'round_robin'
RENDEZVOUS = 'rendezvous'| Field | Type | Default |
|---|---|---|
name |
str |
Required |
base_url |
str |
Required |
api_key |
str | None |
None |
weight |
int |
1 |
allow_insecure_http |
bool |
False |
| Field | Type | Default |
|---|---|---|
failure_threshold |
int |
3 |
recovery_seconds |
float |
15.0 |
| Field | Type | Default |
|---|---|---|
index |
int |
Required |
value |
T | None |
None |
error |
Exception | None |
None |
@property
def succeeded(self) -> bool: ...def __init__(self, endpoints: Sequence[ForgeEndpoint], *, strategy: RoutingStrategy=RoutingStrategy.ROUND_ROBIN, circuit_breaker: CircuitBreakerPolicy | None=None, client_factory: Callable[[ForgeEndpoint], ForgeClient] | None=None): ...def request(self, method: str, path: str, *, routing_key: str | None=None, **kwargs: Any) -> ForgeResponse[Any]: ...def call_operation(self, project: str, operation: str, payload: Mapping[str, Any], *, routing_key: str | None=None, idempotency_key: str | None=None) -> ForgeResponse[Any]: ...def bulk_create(self, project: str, resource: str, payloads: Iterable[Mapping[str, Any]], *, max_workers: int=8, max_items: int=10000, idempotency_key: Callable[[int, Mapping[str, Any]], str | None] | None=None, routing_key: Callable[[int, Mapping[str, Any]], str | None] | None=None) -> list[BulkResult[ForgeResponse[Any]]]: ...def health_all(self) -> dict[str, ForgeResponse[Any] | Exception]: ...def close(self) -> None: ...def __enter__(self) -> ForgeCluster: ...def __exit__(self, *_args: Any) -> None: ...def __init__(self, endpoints: Sequence[ForgeEndpoint], *, strategy: RoutingStrategy=RoutingStrategy.ROUND_ROBIN, circuit_breaker: CircuitBreakerPolicy | None=None, client_factory: Callable[[ForgeEndpoint], AsyncForgeClient] | None=None): ...async def request(self, method: str, path: str, *, routing_key: str | None=None, **kwargs: Any) -> ForgeResponse[Any]: ...async def call_operation(self, project: str, operation: str, payload: Mapping[str, Any], *, routing_key: str | None=None, idempotency_key: str | None=None) -> ForgeResponse[Any]: ...async def bulk(self, operations: Iterable[Callable[[], Awaitable[T]]], *, concurrency: int=16, max_items: int=10000) -> list[BulkResult[T]]: ...async def health_all(self) -> dict[str, ForgeResponse[Any] | Exception]: ...async def aclose(self) -> None: ...async def __aenter__(self) -> AsyncForgeCluster: ...async def __aexit__(self, *_args: Any) -> None: ...This page describes the behavior at the pinned commits below. Recheck these contracts when upgrading.