Skip to content

ReasonersClientSync

relationalai.services.reasoners.client_sync
ReasonersClientSync(
gateway: ReasonersGatewaySync, *, config: "Config | None" = None
)

Synchronous reasoners client (public API for connect_sync()).

ReasonersClientSync.close() -> None

Close the client (no-op).

Note: gateways do not own shared transports; the root platform client is responsible for closing transports/sessions.

Returns:

  • None - Always returns None.
ReasonersClientSync.list(
*,
state: str | None = None,
reasoner_name: str | None = None,
reasoner_type: str | None = None,
reasoner_size: str | None = None,
created_by: str | None = None
) -> list[Reasoner]

List reasoners, optionally filtering by attributes.

Returns:

  • list[Reasoner] - Matching reasoners.
ReasonersClientSync.get(reasoner_type: str, reasoner_name: str) -> Reasoner | None

Get a reasoner by (type, name), returning None if not found.

Returns:

  • Reasoner | None - The reasoner, or None if not found.
ReasonersClientSync.create(
reasoner_type: str,
reasoner_name: str | None = None,
*,
reasoner_size: str | None = None,
auto_suspend_mins: int | None = None,
settings: dict[str, Any] | None = None
) -> ReasonerOperationSync

Create a reasoner and return an operation handle (non-blocking).

Returns:

  • ReasonerOperationSync - An operation handle; call op.wait(...) to block for readiness.
ReasonersClientSync.delete(reasoner_type: str, reasoner_name: str | None = None) -> None

Delete a reasoner.

Args: reasoner_type: Reasoner type (Logic, Prescriptive, Predictive). reasoner_name: Optional name (defaults to config/user-derived).

Returns:

  • None - Always returns None.
ReasonersClientSync.suspend(reasoner_type: str, reasoner_name: str | None = None) -> None

Suspend a reasoner.

Returns:

  • None - Always returns None.
ReasonersClientSync.resume(
reasoner_type: str, reasoner_name: str | None = None
) -> ReasonerOperationSync

Resume a reasoner and return an operation handle (non-blocking).

Returns:

  • ReasonerOperationSync - An operation handle; call op.wait(...) to block for readiness.
ReasonersClientSync.ensure(
reasoner_type: str,
reasoner_name: str | None = None,
*,
reasoner_size: str | None = None,
auto_suspend_mins: int | None = None,
settings: dict[str, Any] | None = None,
create: bool = True,
resume: bool = True
) -> ReasonerOperationSync

Ensure a reasoner exists and is READY, returning an operation handle (non-blocking).

  • If missing and create=True, creates it.
  • If SUSPENDED and resume=True, resumes it.
  • Otherwise returns an operation handle derived from reasoner state.

Returns:

  • ReasonerOperationSync - An operation handle representing the ensure workflow.
ReasonersClientSync.create_ready(
reasoner_type: str,
reasoner_name: str | None = None,
*,
reasoner_size: str | None = None,
auto_suspend_mins: int | None = None,
settings: dict[str, Any] | None = None,
timeout_s: int = 900
) -> Reasoner

Create a reasoner and block until it is READY.

Returns:

  • Reasoner - The created reasoner in READY state.
ReasonersClientSync.resume_ready(
reasoner_type: str, reasoner_name: str | None = None, *, timeout_s: int = 900
) -> Reasoner

Resume a reasoner and block until it is READY.

Returns:

  • Reasoner - The reasoner in READY state.
ReasonersClientSync.ensure_ready(
reasoner_type: str,
reasoner_name: str | None = None,
*,
reasoner_size: str | None = None,
auto_suspend_mins: int | None = None,
settings: dict[str, Any] | None = None,
create: bool = True,
resume: bool = True,
timeout_s: int = 900
) -> Reasoner

Ensure a reasoner exists and is READY, blocking until completion.

Returns:

  • Reasoner - The reasoner in READY state.
ReasonersClientSync.wait_until_ready(
reasoner_type: str, reasoner_name: str, *, timeout_s: int = 900
) -> Reasoner

Poll until the reasoner is READY (or raise on timeout/not-found).

Returns:

  • Reasoner - The reasoner in READY state.
ReasonersClientSync.sizes() -> list[str]

Return supported reasoner sizes for the configured backend.

Returns:

  • list[str] - Allowed size identifiers.
ReasonersClientSync.validate_size(size: str | None) -> tuple[bool, list[str]]

Validate a size, returning (is_valid, allowed_sizes).

Returns:

  • tuple[bool, list[str]] - A (is_valid, allowed_sizes) pair.
ReasonersClientSync.get_operation(operation_id: str) -> Operation

Fetch an operation by id.

Returns:

  • Operation - The operation status.
ReasonersClientSync.wait_for_operation(operation_id: str, *, timeout_s: int = 900) -> Operation

Block until an operation completes (or fails on timeout).

Returns:

  • Operation - The final operation status.