SelectDataset
Introduction
SelectDataset
widget is a dropdown menu that allows users to select a dataset or multiple datasets from a list of available datasets in the current project. It displays the name of each dataset in the list.
Function signature
SelectDataset(
default_id=None,
project_id=None,
multiselect=False,
compact=False,
show_label=True,
size=None,
disabled=False,
widget_id=None,
select_all_datasets = False,
allowed_project_types = [],
)

Parameters
default_id
int
Dataset
ID
project_id
int
Project
ID
multiselect
bool
Allow to select all datasets in current project
compact
bool
Show only dataset select
show_label
bool
Show label
size
Literal["large", "small", "mini", None]
Selector size
disabled
bool
Disable dataset select
widget_id
str
ID of the widget
select_all_datasets
bool
Select all datasets
allowed_project_types
List[ProjectType]
List of allowed project types
default_id
Determine Dataset
will be selected by default.
type: int
default value: None
select_project = SelectDataset(default_id=dataset_id)
project_id
Determine Project
will be selected by default.
type: int
default value: None
select_project = SelectDataset(project_id=project_id)
multiselect
Allow to select multiple datasets in current project.
type: bool
default value: false
select_dataset = SelectDataset(default_id=dataset_id, project_id=project_id, multiselect=True)

compact
Show only Dataset
select.
type: bool
default value: false
select_dataset = SelectDataset(default_id=dataset_id, project_id=project_id, compact=True)

show_label
Determine show text Dataset
on widget or not, work only if compact
is True.
type: bool
default value: True
select_dataset = SelectDataset(
default_id=dataset_id, project_id=project_id, compact=True, show_label=False
)

size
Size of input.
type: Literal["large", "small", "mini", None]
default value: None
select_dataset = SelectDataset(
default_id=dataset_id, project_id=project_id, compact=True, show_label=False
)
select_mini = SelectDataset(
default_id=dataset_id, project_id=project_id, compact=True, show_label=False, size="mini"
)
select_small = SelectDataset(
default_id=dataset_id, project_id=project_id, compact=True, show_label=False, size="small"
)
select_large = SelectDataset(
default_id=dataset_id, project_id=project_id, compact=True, show_label=False, size="large"
)
card = Card(
title="Select Dataset",
content=Container(widgets=[select_dataset, select_mini, select_small, select_large]),
)

disabled
Determine Dataset
select ability.
type: bool
default value: false
select_dataset = SelectDataset(default_id=dataset_id, project_id=project_id, disabled=True)

select_all_datasets
Select all datasets in current project. Work only if multiselect
is True
.
type: bool
default value: false
select_dataset = SelectDataset(
default_id=dataset_id,
project_id=project_id,
multiselect=True,
select_all_datasets=True
)
allowed_project_types
List of allowed project types.
type: List[ProjectType]
default value: None
select_dataset = SelectDataset(
default_id=dataset_id,
project_id=project_id,
allowed_project_types=[sly.ProjectType.POINT_CLOUD_EPISODES]
)
widget_id
ID of the widget.
type: str
default value: None
Methods and attributes
get_selected_id()
Return selected dataset ID
, if multiselect
is True
raise ValueError
.
get_selected_ids()
Return selected dataset IDs
, if multiselect
is False
raise ValueError
.
get_selected_project_id()
Return id of selected Project, if compact
is False
.
set_project_id()
Set current project id.
disable()
Set disabled
attribute == True
.
enable()
Set disabled
attribute == False
.
@value_changed
Decorator functions is handled when selected dataset ID
is changed.
Mini App Example
You can find this example in our Github repository:
ui-widgets-demos/selection/005_select_dataset/src/main.py
Import libraries
import os
import supervisely as sly
from dotenv import load_dotenv
from supervisely.app.widgets import Card, Container, SelectDataset
Init API client
First, we load environment variables with credentials and init API for communicating with Supervisely Instance:
load_dotenv("local.env")
load_dotenv(os.path.expanduser("~/supervisely.env"))
api = sly.Api()
Prepare project_id
and dataset_id
project_id
and dataset_id
project_id = sly.env.project_id()
dataset_id = sly.env.dataset_id()
Initialize SelectDataset
widget
SelectDataset
widgetselect_dataset = SelectDataset(
default_id=dataset_id,
project_id=project_id,
)
Create app layout
Prepare a layout for app using Card
widget with the content
parameter and place widget that we've just created in the Container
widget.
card = Card(
title="Select Dataset",
content=Container(widgets=[select_dataset]),
)
layout = Container(widgets=[card])
Create app using layout
Create an app object with layout parameter.
app = sly.Application(layout=layout)
Last updated
Was this helpful?