Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/gradio-app/gradio/llms.txt

Use this file to discover all available pages before exploring further.

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()

Build docs developers (and LLMs) love