Skip to main content

DatasetsClient

adaline.datasets manages datasets as a whole — create a dataset, look up metadata and columns, rename, or delete. Row-level and column-level operations live on the nested .rows and .columns sub-clients. Every method is async.

Access

from adaline.main import Adaline

adaline = Adaline()
datasets = adaline.datasets  # DatasetsClient
The class is also exported directly:
from adaline.clients import DatasetsClient

Sub-clients

DatasetsClient exposes two nested namespaces:
AttributeClientCovers
adaline.datasets.rowsDatasetRowsClientList / create / update / delete dataset rows
adaline.datasets.columnsDatasetColumnsClientCreate / update / delete columns + fetch_dynamic to resolve dynamic columns
Types from adaline_api:
from adaline_api.models.dataset import Dataset
from adaline_api.models.dataset_summary import DatasetSummary
from adaline_api.models.create_dataset_request import CreateDatasetRequest
from adaline_api.models.update_dataset_request import UpdateDatasetRequest
from adaline_api.models.list_datasets_response import ListDatasetsResponse

list()

List datasets in a project (paginated).
async def list(
    *,
    project_id: str,
    sort: Optional[SortOrderInput] = None,
    created_after: Optional[int] = None,
    created_before: Optional[int] = None,
    limit: Optional[int] = None,
    cursor: Optional[str] = None,
) -> ListDatasetsResponse

Parameters

NameTypeRequiredDescription
project_idstrYesProject whose datasets should be returned.
sortOptional[SortOrderInput]No"createdAt:asc" or "createdAt:desc".
created_afterOptional[int]NoUnix milliseconds.
created_beforeOptional[int]NoUnix milliseconds.
limitOptional[int]NoPage size (default 50, max 200).
cursorOptional[str]NoOpaque cursor from a previous response’s pagination.next_cursor.

Returns

ListDatasetsResponse with { data: list[DatasetSummary]; pagination: Pagination }.

Example

response = await adaline.datasets.list(
    project_id="project_abc123",
    sort="createdAt:desc",
    limit=50,
)

for dataset in response.data:
    print(dataset.id, dataset.title)

create()

Create a new dataset. You can seed initial columns in the same call.
async def create(*, dataset: CreateDatasetRequest) -> Dataset

Parameters

NameTypeRequiredDescription
datasetCreateDatasetRequestYesDataset definition — project_id, title, optional icon, optional initial columns.

Returns

Dataset — the created dataset with every column assigned a server-generated id.

Example

from adaline_api.models.create_dataset_request import CreateDatasetRequest

dataset = await adaline.datasets.create(
    dataset=CreateDatasetRequest(
        project_id="project_abc123",
        title="Support triage eval set",
        icon={"type": "emoji", "value": "📚"},
        columns=[
            {"name": "question", "type": "input"},
            {"name": "expected", "type": "input"},
        ],
    )
)

print(f"Created {dataset.id} with {len(dataset.columns)} columns")

get()

Fetch a single dataset (metadata + full column list, not rows).
async def get(*, dataset_id: str) -> Dataset

Parameters

NameTypeRequiredDescription
dataset_idstrYesDataset identifier.

Example

dataset = await adaline.datasets.get(dataset_id="dataset_abc123")

for column in dataset.columns:
    print(column.name, column.type)

update()

Update dataset-level metadata (title, icon).
async def update(
    *,
    dataset_id: str,
    dataset: UpdateDatasetRequest,
) -> DatasetSummary

Returns

DatasetSummary — the updated dataset metadata (returns the summary shape, not the full Dataset with columns).

Example

from adaline_api.models.update_dataset_request import UpdateDatasetRequest

await adaline.datasets.update(
    dataset_id="dataset_abc123",
    dataset=UpdateDatasetRequest(title="Renamed dataset"),
)

delete()

Permanently delete a dataset and all of its columns and rows. Irreversible.
async def delete(*, dataset_id: str) -> None

See Also