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, SelectDatasetInit 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_idproject_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?