Skip to main content
Orca has three Python packages:
  • orcapods is the generated Conductor client packaged from sdks/python/src/orcapods.
  • agent-orc-vfs is the VirtualFS workspace client in virtualfs/sdk/py, imported as agent_orc_vfs.
  • agent-orc-vfs-openai is the VirtualFS sandbox protocol adapter in virtualfs/sdk/adapters/openai-agents, imported as agent_orc_vfs_openai.
The orcapods package is not yet published to PyPI. Install it from the repository source; when your deployment publishes it to a package index, install from there instead.
For local development against the VirtualFS package:

Client setup

Useful client options: Per-request options use request_options:

Create a profile

Runtime/model patterns:

Submit a run

The API can mint runId and sessionId. The current generated Python signature still requires id and session_id, so pass empty strings when you want Orca to assign them. If you supply either identifier, it must be 1-128 characters and use only letters, numbers, underscores, or hyphens.
Reuse a session by passing the previous session_id:

Stream run events

The Conductor stream is Server-Sent Events where each data: payload is a JSON Event object. The generated Python client includes client.runs.stream(id=...), but the current generated stream schema is str while Orca sends JSON objects. For production event handling, use the SDK for run creation and an explicit httpx SSE reader for the stream.
Use GET /api/runs/{runId}/events when you want the persisted newline-delimited event log instead of a live stream.

Async client

The async client mirrors the sync client. Use it in web services and async worker processes.

Raw responses

Use .with_raw_response when you need headers, status codes, or the underlying httpx response metadata.

Error handling

All non-2xx responses raise ApiError or a generated subclass such as BadRequestError, ConflictError, or NotFoundError.

Common calls

See the SDK method map for the full generated surface.

VirtualFS workspace client

agent_orc_vfs.Workspace is the standalone VirtualFS HTTP client (sync + async), and agent_orc_vfs_openai.SandboxClient is the matching virtual-sandbox adapter for agent runtimes. Both packages live under virtualfs/sdk/ and target the /vfs/... HTTP API directly rather than the conductor. See VirtualFS SDKs for installation, mount factories, typed file ops, OpenAI function tools, error mapping, and adapter usage.

Strict mount validation

Every mount the client declares is checked against the server’s live mount table. Call validate() (async) or validate_sync() (sync) before doing real work — typically right after constructing Workspace — so a misconfigured server fails fast instead of silently routing reads to the wrong store.
Validation raises:
  • MountMismatch — a declared path is not registered on the server, or the backend kind / bucket / endpoint does not match what the server reports.
  • MountUnavailable — the server has the mount but its backend failed to initialize at boot; the server-reported reason is included.
The r2() factory signature: