> ## Documentation Index
> Fetch the complete documentation index at: https://figranium.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Figranium Python SDK: Typed Browser Automation

> Official Python SDK for the Figranium API. Sync and async clients, typed dicts, httpx-based HTTP, structured errors, and SSE streams for browser automation.

The `figranium-sdk` package is the official Python client for the Figranium API. It exposes synchronous and asynchronous clients built on `httpx`, with typed request and response shapes via `TypedDict`, a `py.typed` marker for type-checker support, and structured error handling with streaming execution events.

## Highlights

<CardGroup cols={2}>
  <Card title="Typed API" icon="typography">
    TypedDict definitions for tasks, actions, executions, schedules, and more. Ships with a `py.typed` marker so mypy and pyright can use the annotations.
  </Card>

  <Card title="Sync and async" color="" icon="arrow-capsule">
    Use `Figranium` for synchronous code or `AsyncFigranium` for async/await. Both expose the same method names and resource layout.
  </Card>

  <Card title="Custom httpx clients" icon="world">
    Pass your own `httpx.Client` or `httpx.AsyncClient` for proxies, tracing, or test doubles. The SDK never closes a caller-supplied client.
  </Card>

  <Card title="Abortable streams" icon="cloud-x">
    Execution and selector streams surface as iterators (sync) or async iterators with per-request timeout control via `RequestOptions`.
  </Card>
</CardGroup>

## Package facts

| Field                | Value                                                               |
| :------------------- | :------------------------------------------------------------------ |
| Package              | `figranium-sdk`                                                     |
| Import               | `figranium`                                                         |
| Python               | `>=3.9`                                                             |
| Runtime dependencies | `httpx>=0.27,<1`                                                    |
| License              | Apache-2.0                                                          |
| Repository           | [figranium/figranium-py](https://github.com/figranium/figranium-py) |

## What you can do with the SDK

* Save, update, version, and roll back tasks with typed `Task` and `Action` dicts.
* Run tasks with runtime variables, or call `scrape`, `agent`, and `headful` directly for one-off executions.
* Stream live execution and selector events over Server-Sent Events.
* Manage schedules, captures, cookies, output credentials, and Cabinets.
* Select a per-task Cabinet for intercepted downloads and build typed upload actions.
* Open and inspect headful browser sessions.
* Administer settings (API keys, AI providers, proxies, theme) with a browser session.

## Where to go next

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/docs/sdk/python/installation">
    Install the package and confirm your Python environment can reach Figranium.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/docs/sdk/python/quickstart">
    Build, save, and run a typed task in a few minutes.
  </Card>

  <Card title="Client configuration" icon="user-cog" href="/docs/sdk/python/client-configuration">
    Configure `base_url`, timeouts, custom `httpx` clients, and default headers.
  </Card>

  <Card title="Resources" icon="tool" href="/docs/sdk/python/resources/tasks">
    Reference for every resource exposed on the `Figranium` client.
  </Card>
</CardGroup>
