Skip to content

pixano.app.api.datasets

get_dataset(ds_id, settings) async

Load dataset

Parameters:

Name Type Description Default
ds_id str

Dataset ID

required
settings Settings

App settings

required

Returns:

Type Description
DatasetInfo

Dataset info

Source code in pixano/app/api/datasets.py
@router.get("/datasets/{ds_id}", response_model=DatasetInfo)
async def get_dataset(
    ds_id: str,
    settings: Annotated[Settings, Depends(get_settings)],
) -> DatasetInfo:
    """Load dataset

    Args:
        ds_id (str): Dataset ID
        settings (Settings): App settings

    Returns:
        DatasetInfo: Dataset info
    """

    # Load dataset
    dataset = Dataset.find(ds_id, settings.data_dir)

    # Return dataset info
    if dataset:
        return dataset.load_info(load_stats=True, load_features_values=True)
    raise HTTPException(
        status_code=404,
        detail=f"Dataset {ds_id} not found in {settings.data_dir.absolute()}",
    )

get_datasets(settings) async

Load dataset list

Parameters:

Name Type Description Default
settings Settings

App settings

required

Returns:

Type Description
list[DatasetInfo]

List of dataset infos

Source code in pixano/app/api/datasets.py
@router.get("/datasets", response_model=list[DatasetInfo])
async def get_datasets(
    settings: Annotated[Settings, Depends(get_settings)]
) -> list[DatasetInfo]:
    """Load dataset list

    Args:
        settings (Settings): App settings

    Returns:
        list[DatasetInfo]: List of dataset infos
    """

    # Load datasets
    infos = DatasetInfo.load_directory(directory=settings.data_dir, load_thumbnail=True)

    # Return datasets
    if infos:
        return infos
    raise HTTPException(
        status_code=404,
        detail=f"No datasets found in {settings.data_dir.absolute()}",
    )