Skip to main content

DatasetColumnsClient

adaline.datasets.columns manages the column schema of a dataset — add, rename, or delete columns, and resolve dynamic columns whose values are produced by prompts, HTTP requests, or dynamic functions. Every method is async.

Access

from adaline.main import Adaline

adaline = Adaline()
columns = adaline.datasets.columns  # DatasetColumnsClient
The class is also exported directly:
from adaline.clients import DatasetColumnsClient
Types from adaline_api:
from adaline_api.models.dataset_column import DatasetColumn
from adaline_api.models.add_dataset_columns_request_columns_inner import AddDatasetColumnsRequestColumnsInner
from adaline_api.models.add_dataset_columns_response import AddDatasetColumnsResponse
from adaline_api.models.update_dataset_column_request import UpdateDatasetColumnRequest
from adaline_api.models.fetch_dynamic_columns_request import FetchDynamicColumnsRequest
from adaline_api.models.fetch_dynamic_columns_response import FetchDynamicColumnsResponse
Column type can be input, output, metadata, or a dynamic type such as prompt, api, or dynamic-function.

create()

Append one or more column definitions to a dataset.
async def create(
    *,
    dataset_id: str,
    columns: List[AddDatasetColumnsRequestColumnsInner],
) -> AddDatasetColumnsResponse

Parameters

NameTypeRequiredDescription
dataset_idstrYesDataset identifier.
columnsList[...]YesColumn definitions (name + type + optional settings).

Example

response = await adaline.datasets.columns.create(
    dataset_id="dataset_abc123",
    columns=[
        {"name": "category", "type": "input"},
        {"name": "response", "type": "output"},
    ],
)

print(f"Added {len(response.columns)} columns")

update()

Change a column’s name, type, or settings.
async def update(
    *,
    dataset_id: str,
    column_id: str,
    column: UpdateDatasetColumnRequest,
) -> DatasetColumn

Example

from adaline_api.models.update_dataset_column_request import UpdateDatasetColumnRequest

await adaline.datasets.columns.update(
    dataset_id="dataset_abc123",
    column_id="column_xyz789",
    column=UpdateDatasetColumnRequest(name="renamed_column"),
)

delete()

Delete a column from a dataset. All row values for this column are dropped.
async def delete(*, dataset_id: str, column_id: str) -> None

fetch_dynamic()

Trigger on-demand resolution for dynamic columns. Returns the resolved values without persisting them.
async def fetch_dynamic(
    *,
    dataset_id: str,
    query: FetchDynamicColumnsRequest,
) -> FetchDynamicColumnsResponse

Parameters

NameTypeRequiredDescription
dataset_idstrYesDataset identifier.
queryFetchDynamicColumnsRequestYes{ column_ids: list[str]; row_ids: Optional[list[str]] }.

Example

from adaline_api.models.fetch_dynamic_columns_request import FetchDynamicColumnsRequest

response = await adaline.datasets.columns.fetch_dynamic(
    dataset_id="dataset_abc123",
    query=FetchDynamicColumnsRequest(
        column_ids=["column_api_response"],
        row_ids=["row_def456", "row_ghi012"],
    ),
)

for r in response.results:
    print(f"{r.row_id}/{r.column_id}: {r.value}")

See Also