- Spec files
pypi-streamlit
Describes: pkg:pypi/streamlit@1.50.x
- Description
- A faster way to build and share data apps
- Author
- tessl
- Last updated
input-widgets.md docs/
1# Input Widgets23Interactive widgets for user input including buttons, text inputs, selection widgets, file uploads, and form controls. These widgets enable user interaction and data collection in Streamlit applications.45## Capabilities67### Button Widgets89Interactive button controls for triggering actions and navigation.1011```python { .api }12def button(label, key=None, help=None, on_click=None, args=None, kwargs=None, *, type="secondary", disabled=False, use_container_width=False, icon=None):13"""14Display clickable button that returns True when clicked.1516Args:17label (str): Button text label18key (str, optional): Unique widget key for state management19help (str, optional): Tooltip text20on_click (callable, optional): Callback function when clicked21args (tuple, optional): Arguments for on_click callback22kwargs (dict, optional): Keyword arguments for on_click callback23type (str): Button style ("primary", "secondary")24disabled (bool): Whether button is disabled25use_container_width (bool): Whether to use full container width26icon (str, optional): Icon name or emoji2728Returns:29bool: True if button was clicked in this run30"""3132def link_button(label, url, *, help=None, disabled=False, use_container_width=False, type="secondary", icon=None):33"""34Display button that opens external link in new tab.3536Args:37label (str): Button text label38url (str): URL to open when clicked39help (str, optional): Tooltip text40disabled (bool): Whether button is disabled41use_container_width (bool): Whether to use full container width42type (str): Button style ("primary", "secondary")43icon (str, optional): Icon name or emoji4445Returns:46bool: True if button was clicked in this run47"""4849def download_button(label, data, file_name=None, mime=None, key=None, help=None, on_click=None, args=None, kwargs=None, *, disabled=False, use_container_width=False, type="secondary", icon=None):50"""51Display button that downloads data as file when clicked.5253Args:54label (str): Button text label55data: Data to download (bytes, str, or file-like object)56file_name (str, optional): Default filename for download57mime (str, optional): MIME type of the data58key (str, optional): Unique widget key for state management59help (str, optional): Tooltip text60on_click (callable, optional): Callback function when clicked61args (tuple, optional): Arguments for on_click callback62kwargs (dict, optional): Keyword arguments for on_click callback63disabled (bool): Whether button is disabled64use_container_width (bool): Whether to use full container width65type (str): Button style ("primary", "secondary")66icon (str, optional): Icon name or emoji6768Returns:69bool: True if button was clicked in this run70"""7172def page_link(page, *, label=None, icon=None, help=None, disabled=False, use_container_width=False):73"""74Display button that navigates to another page in multi-page app.7576Args:77page (str or Page): Page name or Page object to navigate to78label (str, optional): Button label (uses page title if not provided)79icon (str, optional): Icon name or emoji80help (str, optional): Tooltip text81disabled (bool): Whether button is disabled82use_container_width (bool): Whether to use full container width8384Returns:85bool: True if button was clicked in this run86"""87```8889### Basic Input Widgets9091Simple input controls for boolean and text values.9293```python { .api }94def checkbox(label, value=False, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):95"""96Display checkbox for boolean input.9798Args:99label (str): Widget label100value (bool): Initial/default value101key (str, optional): Unique widget key for state management102help (str, optional): Tooltip text103on_change (callable, optional): Callback when value changes104args (tuple, optional): Arguments for on_change callback105kwargs (dict, optional): Keyword arguments for on_change callback106disabled (bool): Whether widget is disabled107label_visibility (str): Label visibility ("visible", "hidden", "collapsed")108109Returns:110bool: Current checkbox state111"""112113def toggle(label, value=False, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):114"""115Display toggle switch for boolean input.116117Args:118label (str): Widget label119value (bool): Initial/default value120key (str, optional): Unique widget key for state management121help (str, optional): Tooltip text122on_change (callable, optional): Callback when value changes123args (tuple, optional): Arguments for on_change callback124kwargs (dict, optional): Keyword arguments for on_change callback125disabled (bool): Whether widget is disabled126label_visibility (str): Label visibility ("visible", "hidden", "collapsed")127128Returns:129bool: Current toggle state130"""131132def feedback(options, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False):133"""134Display feedback widget with thumbs up/down or custom options.135136Args:137options (str or dict): Feedback options ("thumbs", "faces", or custom dict)138key (str, optional): Unique widget key for state management139help (str, optional): Tooltip text140on_change (callable, optional): Callback when value changes141args (tuple, optional): Arguments for on_change callback142kwargs (dict, optional): Keyword arguments for on_change callback143disabled (bool): Whether widget is disabled144145Returns:146dict or None: Selected feedback option147"""148```149150### Text Input Widgets151152Text input controls for single-line and multi-line text entry.153154```python { .api }155def text_input(label, value="", max_chars=None, key=None, type="default", help=None, autocomplete=None, on_change=None, args=None, kwargs=None, *, placeholder=None, disabled=False, label_visibility="visible"):156"""157Display single-line text input widget.158159Args:160label (str): Widget label161value (str): Initial/default text value162max_chars (int, optional): Maximum number of characters allowed163key (str, optional): Unique widget key for state management164type (str): Input type ("default" or "password")165help (str, optional): Tooltip text166autocomplete (str, optional): HTML autocomplete attribute167on_change (callable, optional): Callback when value changes168args (tuple, optional): Arguments for on_change callback169kwargs (dict, optional): Keyword arguments for on_change callback170placeholder (str, optional): Placeholder text when empty171disabled (bool): Whether widget is disabled172label_visibility (str): Label visibility ("visible", "hidden", "collapsed")173174Returns:175str: Current text input value176"""177178def text_area(label, value="", height=None, max_chars=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, placeholder=None, disabled=False, label_visibility="visible"):179"""180Display multi-line text input widget.181182Args:183label (str): Widget label184value (str): Initial/default text value185height (int, optional): Height in pixels186max_chars (int, optional): Maximum number of characters allowed187key (str, optional): Unique widget key for state management188help (str, optional): Tooltip text189on_change (callable, optional): Callback when value changes190args (tuple, optional): Arguments for on_change callback191kwargs (dict, optional): Keyword arguments for on_change callback192placeholder (str, optional): Placeholder text when empty193disabled (bool): Whether widget is disabled194label_visibility (str): Label visibility ("visible", "hidden", "collapsed")195196Returns:197str: Current text area value198"""199```200201### Number Input Widgets202203Numeric input controls with validation and formatting.204205```python { .api }206def number_input(label, min_value=None, max_value=None, value=None, step=None, format=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, placeholder=None, disabled=False, label_visibility="visible"):207"""208Display number input widget with validation and step controls.209210Args:211label (str): Widget label212min_value (float, optional): Minimum allowed value213max_value (float, optional): Maximum allowed value214value (float, optional): Initial/default value215step (float, optional): Step size for increment/decrement216format (str, optional): Printf-style format string217key (str, optional): Unique widget key for state management218help (str, optional): Tooltip text219on_change (callable, optional): Callback when value changes220args (tuple, optional): Arguments for on_change callback221kwargs (dict, optional): Keyword arguments for on_change callback222placeholder (str, optional): Placeholder text when empty223disabled (bool): Whether widget is disabled224label_visibility (str): Label visibility ("visible", "hidden", "collapsed")225226Returns:227float or int: Current number input value228"""229230def slider(label, min_value=None, max_value=None, value=None, step=None, format=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):231"""232Display slider widget for numeric input with visual feedback.233234Args:235label (str): Widget label236min_value (float, optional): Minimum slider value237max_value (float, optional): Maximum slider value238value (float or tuple, optional): Initial value or range for range slider239step (float, optional): Step size between values240format (str, optional): Printf-style format string for display241key (str, optional): Unique widget key for state management242help (str, optional): Tooltip text243on_change (callable, optional): Callback when value changes244args (tuple, optional): Arguments for on_change callback245kwargs (dict, optional): Keyword arguments for on_change callback246disabled (bool): Whether widget is disabled247label_visibility (str): Label visibility ("visible", "hidden", "collapsed")248249Returns:250float or tuple: Current slider value or range251"""252```253254### Selection Widgets255256Widgets for selecting from predefined options with various interaction modes.257258```python { .api }259def selectbox(label, options, index=0, format_func=str, key=None, help=None, on_change=None, args=None, kwargs=None, *, placeholder="Choose an option", disabled=False, label_visibility="visible"):260"""261Display dropdown selectbox for single selection from options.262263Args:264label (str): Widget label265options (list): Available options to choose from266index (int): Index of default selected option267format_func (callable): Function to format option display268key (str, optional): Unique widget key for state management269help (str, optional): Tooltip text270on_change (callable, optional): Callback when selection changes271args (tuple, optional): Arguments for on_change callback272kwargs (dict, optional): Keyword arguments for on_change callback273placeholder (str): Placeholder text when no selection274disabled (bool): Whether widget is disabled275label_visibility (str): Label visibility ("visible", "hidden", "collapsed")276277Returns:278Any: Currently selected option279"""280281def multiselect(label, options, default=None, format_func=str, key=None, help=None, on_change=None, args=None, kwargs=None, *, max_selections=None, placeholder="Choose options", disabled=False, label_visibility="visible"):282"""283Display multi-selection widget for choosing multiple options.284285Args:286label (str): Widget label287options (list): Available options to choose from288default (list, optional): Default selected options289format_func (callable): Function to format option display290key (str, optional): Unique widget key for state management291help (str, optional): Tooltip text292on_change (callable, optional): Callback when selection changes293args (tuple, optional): Arguments for on_change callback294kwargs (dict, optional): Keyword arguments for on_change callback295max_selections (int, optional): Maximum number of selections allowed296placeholder (str): Placeholder text when no selections297disabled (bool): Whether widget is disabled298label_visibility (str): Label visibility ("visible", "hidden", "collapsed")299300Returns:301list: Currently selected options302"""303304def radio(label, options, index=0, format_func=str, key=None, help=None, on_change=None, args=None, kwargs=None, *, captions=None, disabled=False, horizontal=False, label_visibility="visible"):305"""306Display radio buttons for single selection with all options visible.307308Args:309label (str): Widget label310options (list): Available options to choose from311index (int): Index of default selected option312format_func (callable): Function to format option display313key (str, optional): Unique widget key for state management314help (str, optional): Tooltip text315on_change (callable, optional): Callback when selection changes316args (tuple, optional): Arguments for on_change callback317kwargs (dict, optional): Keyword arguments for on_change callback318captions (list, optional): Caption text for each option319disabled (bool): Whether widget is disabled320horizontal (bool): Whether to layout options horizontally321label_visibility (str): Label visibility ("visible", "hidden", "collapsed")322323Returns:324Any: Currently selected option325"""326327def select_slider(label, options, value=None, format_func=str, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):328"""329Display slider for selecting from discrete options.330331Args:332label (str): Widget label333options (list): Available options in order334value (any or tuple, optional): Initial value or range335format_func (callable): Function to format option display336key (str, optional): Unique widget key for state management337help (str, optional): Tooltip text338on_change (callable, optional): Callback when selection changes339args (tuple, optional): Arguments for on_change callback340kwargs (dict, optional): Keyword arguments for on_change callback341disabled (bool): Whether widget is disabled342label_visibility (str): Label visibility ("visible", "hidden", "collapsed")343344Returns:345Any or tuple: Currently selected option or range346"""347348def pills(label, options, selection_mode="single", default=None, format_func=str, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):349"""350Display pill-shaped selection buttons for single or multiple selection.351352Args:353label (str): Widget label354options (list): Available options to choose from355selection_mode (str): Selection mode ("single" or "multi")356default: Default selected option(s)357format_func (callable): Function to format option display358key (str, optional): Unique widget key for state management359help (str, optional): Tooltip text360on_change (callable, optional): Callback when selection changes361args (tuple, optional): Arguments for on_change callback362kwargs (dict, optional): Keyword arguments for on_change callback363disabled (bool): Whether widget is disabled364label_visibility (str): Label visibility ("visible", "hidden", "collapsed")365366Returns:367Any or list: Currently selected option(s)368"""369370def segmented_control(label, options, selection_mode="single", default=None, format_func=str, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):371"""372Display segmented control widget for single or multiple selection.373374Args:375label (str): Widget label376options (list): Available options to choose from377selection_mode (str): Selection mode ("single" or "multi")378default: Default selected option(s)379format_func (callable): Function to format option display380key (str, optional): Unique widget key for state management381help (str, optional): Tooltip text382on_change (callable, optional): Callback when selection changes383args (tuple, optional): Arguments for on_change callback384kwargs (dict, optional): Keyword arguments for on_change callback385disabled (bool): Whether widget is disabled386label_visibility (str): Label visibility ("visible", "hidden", "collapsed")387388Returns:389Any or list: Currently selected option(s)390"""391```392393### Date and Time Input394395Specialized input widgets for temporal data.396397```python { .api }398def date_input(label, value=None, min_value=None, max_value=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, format="YYYY/MM/DD", disabled=False, label_visibility="visible"):399"""400Display date picker widget for date selection.401402Args:403label (str): Widget label404value (datetime.date, optional): Initial date value405min_value (datetime.date, optional): Minimum selectable date406max_value (datetime.date, optional): Maximum selectable date407key (str, optional): Unique widget key for state management408help (str, optional): Tooltip text409on_change (callable, optional): Callback when date changes410args (tuple, optional): Arguments for on_change callback411kwargs (dict, optional): Keyword arguments for on_change callback412format (str): Date format for display413disabled (bool): Whether widget is disabled414label_visibility (str): Label visibility ("visible", "hidden", "collapsed")415416Returns:417datetime.date: Selected date418"""419420def time_input(label, value=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, step=900, disabled=False, label_visibility="visible"):421"""422Display time picker widget for time selection.423424Args:425label (str): Widget label426value (datetime.time, optional): Initial time value427key (str, optional): Unique widget key for state management428help (str, optional): Tooltip text429on_change (callable, optional): Callback when time changes430args (tuple, optional): Arguments for on_change callback431kwargs (dict, optional): Keyword arguments for on_change callback432step (int): Step size in seconds (default 15 minutes)433disabled (bool): Whether widget is disabled434label_visibility (str): Label visibility ("visible", "hidden", "collapsed")435436Returns:437datetime.time: Selected time438"""439```440441### File and Media Input442443Widgets for uploading files and capturing media input.444445```python { .api }446def file_uploader(label, type=None, accept_multiple_files=False, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):447"""448Display file uploader widget for file selection and upload.449450Args:451label (str): Widget label452type (str or list, optional): Accepted file extensions453accept_multiple_files (bool): Whether to allow multiple file selection454key (str, optional): Unique widget key for state management455help (str, optional): Tooltip text456on_change (callable, optional): Callback when files are uploaded457args (tuple, optional): Arguments for on_change callback458kwargs (dict, optional): Keyword arguments for on_change callback459disabled (bool): Whether widget is disabled460label_visibility (str): Label visibility ("visible", "hidden", "collapsed")461462Returns:463UploadedFile or list or None: Uploaded file(s) or None if no upload464"""465466def camera_input(label, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):467"""468Display camera input widget for taking photos.469470Args:471label (str): Widget label472key (str, optional): Unique widget key for state management473help (str, optional): Tooltip text474on_change (callable, optional): Callback when photo is taken475args (tuple, optional): Arguments for on_change callback476kwargs (dict, optional): Keyword arguments for on_change callback477disabled (bool): Whether widget is disabled478label_visibility (str): Label visibility ("visible", "hidden", "collapsed")479480Returns:481UploadedFile or None: Captured image or None if no photo taken482"""483484def audio_input(label, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible", max_duration=None):485"""486Display audio input widget for recording audio.487488Args:489label (str): Widget label490key (str, optional): Unique widget key for state management491help (str, optional): Tooltip text492on_change (callable, optional): Callback when audio is recorded493args (tuple, optional): Arguments for on_change callback494kwargs (dict, optional): Keyword arguments for on_change callback495disabled (bool): Whether widget is disabled496label_visibility (str): Label visibility ("visible", "hidden", "collapsed")497max_duration (int, optional): Maximum recording duration in seconds498499Returns:500UploadedFile or None: Recorded audio or None if no recording501"""502```503504### Color Input505506Widget for color selection with visual color picker.507508```python { .api }509def color_picker(label, value="#000000", key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False, label_visibility="visible"):510"""511Display color picker widget for color selection.512513Args:514label (str): Widget label515value (str): Initial color value as hex string516key (str, optional): Unique widget key for state management517help (str, optional): Tooltip text518on_change (callable, optional): Callback when color changes519args (tuple, optional): Arguments for on_change callback520kwargs (dict, optional): Keyword arguments for on_change callback521disabled (bool): Whether widget is disabled522label_visibility (str): Label visibility ("visible", "hidden", "collapsed")523524Returns:525str: Selected color as hex string526"""527```528529### Form Controls530531Special widgets for form submission and organization.532533```python { .api }534def form(key, *, clear_on_submit=False, border=True):535"""536Create form container that batches widget interactions until submit.537538Args:539key (str): Unique form identifier540clear_on_submit (bool): Whether to clear form values on submit541border (bool): Whether to show form border542543Returns:544DeltaGenerator: Form container context manager545"""546547def form_submit_button(label, key=None, help=None, on_click=None, args=None, kwargs=None, *, disabled=False, use_container_width=False, type="secondary", icon=None):548"""549Display form submit button that triggers form submission.550551Args:552label (str): Button text label553key (str, optional): Unique widget key for state management554help (str, optional): Tooltip text555on_click (callable, optional): Callback function when clicked556args (tuple, optional): Arguments for on_click callback557kwargs (dict, optional): Keyword arguments for on_click callback558disabled (bool): Whether button is disabled559use_container_width (bool): Whether to use full container width560type (str): Button style ("primary", "secondary")561icon (str, optional): Icon name or emoji562563Returns:564bool: True if form was submitted in this run565"""566```