Skip to main content
Tasks are interactive execution environments built into the platform. Each task gives you a persistent Python or TypeScript sandbox with your catalogs, lake tables, and external connections already wired in - no credentials to configure, no installs to run.
The Python sandbox runs Python 3.13 and comes with the following libraries pre-installed:

The oleander module

Every cell has access to a generated oleander module that wires your catalog and DuckDB connection automatically:
Query your lake directly:
Use pyiceberg for low-level catalog operations:

BigQuery

If you have BigQuery connections configured, the DuckDB bigquery extension is installed automatically. BigQuery tables are accessible as connection_name.dataset.table:

State persistence

Variables persist across cell executions within a session. If you define a DataFrame in one cell, it is available in the next. State is stored in /tmp/_oleander_state.pkl and survives cell reruns.

Output

DataFrames are displayed as structured tables. Matplotlib figures are rendered as inline SVG. Other values are printed as text.

Code generation

Each cell has an assist button that generates code based on your prompt, aware of your available libraries and catalog structure. Generated code appears as a new cell ready to run.

Spark cells

Submit inline PySpark code as a managed Spark job directly from a task cell. The job runs in the oleander.tasks namespace and returns a run ID you can track in the platform. Lineage from Spark cell runs is captured automatically.