Skip to main content
The Dataset component displays example data that users can click to populate inputs.

Basic usage

import gradio as gr

with gr.Blocks() as demo:
    text_input = gr.Textbox()
    examples = gr.Dataset(
        components=[text_input],
        samples=[
            ["Hello"],
            ["How are you?"],
            ["Goodbye"]
        ]
    )
    
    examples.click(
        lambda x: x,
        inputs=examples,
        outputs=text_input
    )
    
demo.launch()

Constructor

components
Sequence[Component] | list[str] | None
default:"None"
Components that correspond to each column
samples
list[list[Any]] | None
default:"None"
Example data. Each inner list represents one example
headers
list[str] | None
default:"None"
Column headers. If None, inferred from component labels
type
Literal['values', 'index', 'tuple']
default:"'values'"
What to pass when clicked:
  • "values" - The example values
  • "index" - The example index
  • "tuple" - Both (index, values)
layout
Literal['gallery', 'table'] | None
default:"None"
Display layout:
  • "gallery" - Grid of cards
  • "table" - Table view
Defaults to gallery for single component, table for multiple
samples_per_page
int
default:"10"
Number of examples per page

Events

  • click - Triggered when example is clicked
  • select - Triggered when example is selected

Example

import gradio as gr

def process(text, number):
    return f"{text}: {number}"

with gr.Blocks() as demo:
    text = gr.Textbox()
    num = gr.Number()
    output = gr.Textbox()
    
    examples = gr.Dataset(
        components=[text, num],
        samples=[
            ["Hello", 42],
            ["World", 99],
            ["Test", 0]
        ],
        headers=["Text", "Number"],
        type="values"
    )
    
    examples.click(
        lambda vals: vals,
        inputs=examples,
        outputs=[text, num]
    )
    
    gr.Button("Submit").click(
        fn=process,
        inputs=[text, num],
        outputs=output
    )
    
demo.launch()