# Source: https://docs.streamlit.io/develop/api-reference/navigation/st.switch_page

# st.switch_page

Programmatically switch the current page in a multipage app.

When `st.switch_page` is called, the current page execution stops and the specified page runs as if the user clicked on it in the sidebar navigation. The specified page must be recognized by Streamlit's multipage architecture (your main Python file or a Python file in a `pages/` folder). Arbitrary Python scripts cannot be passed to `st.switch_page`.

## Examples

### Example 1: Basic usage

The following example shows how to switch to a different page in a multipage app that uses the `pages/` directory:

```python
import streamlit as st

if st.button("Home"):
    st.switch_page("your_app.py")
if st.button("Page 1"):
    st.switch_page("pages/page_1.py")
if st.button("Page 2"):
    st.switch_page("pages/page_2.py")
```

### Example 2: Passing query parameters

The following example shows how to pass query parameters when switching to a different page. This example uses `st.navigation` to create a multipage app.

```python
import streamlit as st

def page_1():
    st.title("Page 1")
    if st.button("Switch to Page 2"):
        st.switch_page("page_2.py", query_params={"utm_source": "page_1"})

pg = st.navigation([page_1, "page_2.py"])
pg.run()
```

## Version

Streamlit Version: 1.52.0

## Navigation

- [Home](/)
- [Get started](/get-started)
  - [Installation](/get-started/installation)
  - [Fundamentals](/get-started/fundamentals)
  - [First steps](/get-started/tutorials)
- [Develop](/develop)
  - [Concepts](/develop/concepts)
  - [API reference](/develop/api-reference)
    - PAGE ELEMENTS
    - [Write and magic](/develop/api-reference/write-magic)
      - `st.write`
      - `st.write_stream`
      - `magic`
    - [Text elements](/develop/api-reference/text)
      - `st.title`
      - `st.header`
      - `st.subheader`
      - `st.markdown`
      - `st.badge`
      - `st.caption`
      - `st.code`
      - `st.divider`
      - `st.echo`
      - `st.latex`
      - `st.text`
      - `utilities`
        - `st.help`
        - `st.html`
    - [Data elements](/develop/api-reference/data)
      - `st.dataframe`
      - `st.data_editor`
      - `st.column_config`
        - `Column`
        - `Text column`
        - `Number column`
        - `Checkbox column`
        - `Selectbox column`
        - `Multiselect column`
        - `Datetime column`
        - `Date column`
        - `Time column`
        - `JSON column`
        - `List column`
        - `Link column`
        - `Image column`
        - `Area chart column`
        - `Line chart column`
        - `Bar chart column`
        - `Progress column`
      - `st.table`
      - `st.metric`
      - `st.json`
      - `st.experimental_data_editor`
    - [Chart elements](/develop/api-reference/charts)
      - `st.area_chart`
      - `st.bar_chart`
      - `st.line_chart`
      - `st.map`
      - `st.scatter_chart`
      - `advanced`
        - `st.altair_chart`
        - `st.bokeh_chart`
        - `st.graphviz_chart`
        - `st.plotly_chart`
        - `st.pydeck_chart`
        - `st.pyplot`
        - `st.vega_lite_chart`
    - [Input widgets](/develop/api-reference/widgets)
      - `st.button`
      - `st.download_button`
      - `st.form_submit_button`
      - `st.link_button`
      - `st.page_link`
      - `selections`
        - `st.checkbox`
        - `st.color_picker`
        - `st.feedback`
        - `st.multiselect`
        - `st.pills`
        - `st.radio`
        - `st.segmented_control`
        - `st.selectbox`
        - `st.select_slider`
        - `st.toggle`
        - `numeric`
          - `st.number_input`
          - `st.slider`
          - `date_input`
          - `datetime_input`
          - `time_input`
          - `text_area`
          - `text_input`
          - `media`
            - `st.audio_input`
            - `st.camera_input`
            - `st.data_editor`
            - `st.file_uploader`
    - [Media elements](/develop/api-reference/media)
      - `st.audio`
      - `st.image`
      - `st.logo`
      - `st.pdf`
      - `st.video`
    - [Layouts and containers](/develop/api-reference/layout)
      - `st.columns`
      - `st.container`
      - `st.dialog`
      - `st.empty`
      - `st.expander`
      - `st.form`
      - `st.popover`
      - `st.sidebar`
      - `st.space`
      - `st.tabs`
    - [Chat elements](/develop/api-reference/chat)
      - `st.chat_input`
      - `st.chat_message`
      - `st.status`
      - `st.write_stream`
    - [Status elements](/develop/api-reference/status)
      - `st.success`
      - `st.info`
      - `st.warning`
      - `st.error`
      - `st.exception`
      - `st.progress`
      - `st.spinner`
      - `st.status`
      - `st.toast`
      - `st.balloons`
      - `st.snow`
    - [Third-party components](https://streamlit.io/components)
    - [Application logic](/develop/concepts/architecture)
      - `Authentication and user info`
        - `st.login`
        - `st.logout`
        - `st.user`
      - `navigation and pages`
        - `st.navigation`
        - `st.Page`
        - `st.page_link`
        - `st.switch_page`
      - `execution flow`
        - `st.dialog`
        - `st.form`
        - `st.form_submit_button`
        - `st.fragment`
        - `st.rerun`
        - `st.stop`
        - `st.experimental_rerun`
      - `caching and state`
        - `st.cache_data`
        - `st.cache_resource`
        - `st.experimental_memo`
        - `st.experimental_singleton`
        - `st.session_state`
        - `st.context`
        - `st.query_params`
        - `st.experimental_get_query_params`
        - `st.experimental_set_query_params`
      - `connections and secrets`
        - `secrets.toml`
        - `st.secrets`
        - `st.connection`
        - `SnowflakeConnection`
        - `SQLConnection`
        - `BaseConnection`
        - `st.experimental_connection`
        - `SnowparkConnection`
        - `ExperimentalBaseConnection`
    - [Custom components](/develop/custom-components)
      - `V2 BACKEND (PYTHON)`
      - `BidiComponentCallable`
      - `component`
      - `component-v2-lib`
      - `Component`
      - `ComponentArgs`
      - `ComponentState`
      - `OptionalComponentCleanupFunction`
      - `V1 COMPONENTS`
        - `declare_component`
        - `html`
        - `iframe`
    - [Configuration](/develop/configuration/options)
      - `config.toml`
      - `st.get_option`
      - `st.set_option`
      - `st.set_page_config`
    - [Tools](/develop/concepts/architecture)
      - `AppTest`
      - `element_tree`
    - [App testing](/develop/app-testing)
      - `AppTest`
      - `element_tree`
    - [Command line](/develop/cli)
      - `streamlit-cache`
      - `streamlit-config`
      - `streamlit-docs`
      - `streamlit-hello`
      - `streamlit-help`
      - `streamlit-init`
      - `streamlit-run`
      - `streamlit-version`
- [Deploy](/deploy)
  - [Concepts](/deploy/concepts)
  - [Streamlit Community Cloud](/deploy/streamlit-community-cloud)
    - [Get started](/deploy/streamlit-community-cloud/get-started)
      - [Quickstart](/deploy/streamlit-community-cloud/get-started/quickstart)
      - [Create your account](/deploy/streamlit-community-cloud/get-started/create-your-account)
      - [Connect your GitHub account](/deploy/streamlit-community-cloud/get-started/connect-your-github-account)
      - [Explore your workspace](/deploy/streamlit-community-cloud/get-started/explore-your-workspace)
      - [Deploy from a template](/deploy/streamlit-community-cloud/get-started/deploy-from-a-template)
      - [Fork and edit a public app](/deploy/streamlit-community-cloud/get-started/fork-and-edit-a-public-app)
      - [Trust and security](/deploy/streamlit-community-cloud/get-started/trust-and-security)
    - [Deploy your app](/deploy/streamlit-community-cloud/deploy-your-app)
      - [File organization](/deploy/streamlit-community-cloud/deploy-your-app/file-organization)
      - [App dependencies](/deploy/streamlit-community-cloud/deploy-your-app/app-dependencies)
      - [Secrets management](/deploy/streamlit-community-cloud/deploy-your-app/secrets-management)
      - [Deploy!](/deploy/streamlit-community-cloud/deploy-your-app/deploy)
    - [Manage your app](/deploy/streamlit-community-cloud/manage-your-app)
      - [App analytics](/deploy/streamlit-community-cloud/manage-your-app/app-analytics)
      - [App settings](/deploy/streamlit-community-cloud/manage-your-app/app-settings)
      - [Delete your app](/deploy/streamlit-community-cloud/manage-your-app/delete-your-app)
      - [Edit your app](/deploy/streamlit-community-cloud/manage-your-app/edit-your-app)
      - [Favorite your app](/deploy/streamlit-community-cloud/manage-your-app/favorite-your-app)
      - [Reboot your app](/deploy/streamlit-community-cloud/manage-your-app/reboot-your-app)
      - [Rename your app in GitHub](/deploy/streamlit-community-cloud/manage-your-app/rename-your-app)
      - [Upgrade Python](/deploy/streamlit-community-cloud/manage-your-app/upgrade-python)
      - [Upgrade Streamlit](/deploy/streamlit-community-cloud/manage-your-app/upgrade-streamlit)
    - [Share your app](/deploy/streamlit-community-cloud/share-your-app)
      - [Embed your app](/deploy/streamlit-community-cloud/share-your-app/embed-your-app)
      - [Search indexability](/deploy/streamlit-community-cloud/share-your-app/indexability)
      - [Share previews](/deploy/streamlit-community-cloud/share-your-app/share-previews)
    - [Manage your account](/deploy/streamlit-community-cloud/manage-your-account)
      - [Sign in and sign out](/deploy/streamlit-community-cloud/manage-your-account/sign-in-sign-out)
      - [Workspace settings](/deploy/streamlit-community-cloud/manage-your-account/workspace-settings)
      - [Manage your GitHub connection](/deploy/streamlit-community-cloud/manage-your-account/manage-your-github-connection)
      - [Update your email](/deploy/streamlit-community-cloud/manage-your-account/update-your-email)
      - [Delete your account](/deploy/streamlit-community-cloud/manage-your-account/delete-your-account)
    - [Status and limitations](/deploy/streamlit-community-cloud/status)
  - [Snowflake](/deploy/snowflake)
  - [Other platforms](/deploy/tutorials)
    - [Docker](/deploy/tutorials/docker)
    - [Kubernetes](/deploy/tutorials/kubernetes)
- [Knowledge base](/knowledge-base)
  - [FAQ](/knowledge-base/using-streamlit)
    - [How do I create an anchor link?](/knowledge-base/using-streamlit/create-anchor-link)
    - [Enabling camera access in your browser](/knowledge-base/using-streamlit/enable-camera)
    - [How to download a file in Streamlit?](/knowledge-base/using-streamlit/how-download-file-streamlit)
    - [How to download a Pandas DataFrame as a CSV?](/knowledge-base/using-streamlit/how-download-pandas-dataframe-csv)
    - [How do I upgrade to the latest version of Streamlit?](/knowledge-base/using-streamlit/how-upgrade-latest-version-streamlit)
    - [How to insert elements out of order?](/knowledge-base/using-streamlit/insert-elements-out-of-order)
    - [How can I make st.pydeck_chart use custom Mapbox styles?](/knowledge-base/using-streamlit/pydeck-chart-custom-mapbox-styles)
    - [How to remove "· Streamlit" from the app title?](/knowledge-base/using-streamlit/remove-streamlit-app-title)
    - [How do you retrieve the filename of a file uploaded with st.file_uploader?](/knowledge-base/using-streamlit/retrieve-filename-uploaded)
    - [Sanity checks](/knowledge-base/using-streamlit/sanity-checks)
    - [How can I make Streamlit watch for changes in other modules I'm importing in my app?](/knowledge-base/using-streamlit/streamlit-watch-changes-other-modules-importing-app)
    - [What browsers does Streamlit support?](/knowledge-base/using-streamlit/supported-browsers)
    - [Where does st.file_uploader store uploaded files and when do they get deleted?](/knowledge-base/using-streamlit/where-file-uploader-store-when-deleted)
    - [Widget updating for every second input when using session state](/knowledge-base/using-streamlit/widget-updating-session-state)
    - [Why does Streamlit restrict nested st.columns?](/knowledge-base/using-streamlit/why-streamlit-restrict-nested-columns)
    - [What is serializable session state?](/knowledge-base/using-streamlit/serializable-session-state)
  - [Installing dependencies](/knowledge-base/dependencies)
    - [How to install a package not on PyPI or Conda but available on GitHub](/knowledge-base/dependencies/install-package-not-pypi-conda-available-github)
    - [ImportError libGL.so.1 cannot open shared object file No such file or directory](/knowledge-base/dependencies/libgl)
    - [ModuleNotFoundError No module named](/knowledge-base/dependencies/module-not-found-error)
    - [ERROR No matching distribution found for](/knowledge-base/dependencies/no-matching-distribution)
  - [Deployment issues](/knowledge-base/deploy)
    - [How can I deploy multiple Streamlit apps on different subdomains?](/knowledge-base/deploy/deploy-multiple-streamlit-apps-different-subdomains)
    - [How do I deploy Streamlit on a domain so it appears to run on a regular port (i.e. port 80)?](/knowledge-base/deploy/deploy-streamlit-domain-port-80)
    - [Does Streamlit support the WSGI Protocol? (aka Can I deploy Streamlit with gunicorn)?](/knowledge-base/deploy/does-streamlit-support-wsgi-protocol)
    - [How do I increase the upload limit of st.file_uploader on Streamlit Community Cloud?](/knowledge-base/deploy/increase-file-uploader-limit-streamlit-cloud)
    - [Invoking a Python subprocess in a deployed Streamlit app](/knowledge-base/deploy/invoking-python-subprocess-deployed-streamlit-app)
    - [App is not loading when running remotely](/knowledge-base/deploy/remote-start)
    - [Argh. This app has gone over its resource limits](/knowledge-base/deploy/resource-limits)
    - [How do I share apps with viewers outside my organization?](/knowledge-base/deploy/share-apps-with-viewers-outside-organization)
    - [Upgrade the Streamlit version of your app on Streamlit Community Cloud](/knowledge-base/deploy/upgrade-streamlit-version-on-streamlit-cloud)
    - [Huh. This is isn't supposed to happen message after trying to log in](/knowledge-base/deploy/huh-this-isnt-supposed-to-happen-message-after-trying-to-log-in)
    - [Login attempt to Streamlit Community Cloud fails with error 403](/knowledge-base/deploy/login-attempt-to-streamlit-community-cloud-fails-with-error-403)
    - [How to submit a support case for Streamlit Community Cloud](/knowledge-base/deploy/how-to-submit-a-support-case-for-streamlit-community-cloud)

## Version

Streamlit Version: 1.52.0

## Navigation

- [Home](/)
- [Get started](/get-started)
  - [Installation](/get-started/installation)
  - [Fundamentals](/get-started/fundamentals)
  - [First steps](/get-started/tutorials)
- [Develop](/develop)
  - [Concepts](/develop/concepts)
  - [API reference](/develop/api-reference)
    - PAGE ELEMENTS
    - [Write and magic](/develop/api-reference/write-magic)
      - `st.write`
      - `st.write_stream`
      - `magic`
    - [Text elements](/develop/api-reference/text)
      - `st.title`
      - `st.header`
      - `st.subheader`
      - `st.markdown`
      - `st.badge`
      - `st.caption`
      - `st.code`
      - `st.divider`
      - `st.echo`
      - `st.latex`
      - `st.text`
      - `utilities`
        - `st.help`
        - `st.html`
    - [Data elements](/develop/api-reference/data)
      - `st.dataframe`
      - `st.data_editor`
      - `st.column_config`
        - `Column`
        - `Text column`
        - `Number column`
        - `Checkbox column`
        - `Selectbox column`
        - `Multiselect column`
        - `Datetime column`
        - `Date column`
        - `Time column`
        - `JSON column`
        - `List column`
        - `Link column`
        - `Image column`
        - `Area chart column`
        - `Line chart column`
        - `Bar chart column`
        - `Progress column`
      - `st.table`
      - `st.metric`
      - `st.json`
      - `st.experimental_data_editor`
    - [Chart elements](/develop/api-reference/charts)
      - `st.area_chart`
      - `st.bar_chart`
      - `st.line_chart`
      - `st.map`
      - `st.scatter_chart`
      - `advanced`
        - `st.altair_chart`
        - `st.bokeh_chart`
        - `st.graphviz_chart`
        - `st.plotly_chart`
        - `st.pydeck_chart`
        - `st.pyplot`
        - `st.vega_lite_chart`
    - [Input widgets](/develop/api-reference/widgets)
      - `st.button`
      - `st.download_button`
      - `st.form_submit_button`
      - `st.link_button`
      - `st.page_link`
      - `selections`
        - `st.checkbox`
        - `st.color_picker`
        - `st.feedback`
        - `st.multiselect`
        - `st.pills`
        - `st.radio`
        - `st.segmented_control`
        - `st.selectbox`
        - `st.select_slider`
        - `st.toggle`
        - `numeric`
          - `st.number_input`
          - `st.slider`
          - `date_input`
          - `datetime_input`
          - `time_input`
          - `text_area`
          - `text_input`
          - `media`
            - `st.audio_input`
            - `st.camera_input`
            - `st.data_editor`
            - `st.file_uploader`
    - [Media elements](/develop/api-reference/media)
      - `st.audio`
      - `st.image`
      - `st.logo`
      - `st.pdf`
      - `st.video`
    - [Layouts and containers](/develop/api-reference/layout)
      - `st.columns`
      - `st.container`
      - `st.dialog`
      - `st.empty`
      - `st.expander`
      - `st.form`
      - `st.popover`
      - `st.sidebar`
      - `st.space`
      - `st.tabs`
    - [Chat elements](/develop/api-reference/chat)
      - `st.chat_input`
      - `st.chat_message`
      - `st.status`
      - `st.write_stream`
    - [Status elements](/develop/api-reference/status)
      - `st.success`
      - `st.info`
      - `st.warning`
      - `st.error`
      - `st.exception`
      - `st.progress`
      - `st.spinner`
      - `st.status`
      - `st.toast`
      - `st.balloons`
      - `st.snow`
    - [Third-party components](https://streamlit.io/components)
    - [Application logic](/develop/concepts/architecture)
      - `Authentication and user info`
        - `st.login`
        - `st.logout`
        - `st.user`
      - `navigation and pages`
        - `st.navigation`
        - `st.Page`
        - `st.page_link`
        - `st.switch_page`
      - `execution flow`
        - `st.dialog`
        - `st.form`
        - `st.form_submit_button`
        - `st.fragment`
        - `st.rerun`
        - `st.stop`
        - `st.experimental_rerun`
      - `caching and state`
        - `st.cache_data`
        - `st.cache_resource`
        - `st.experimental_memo`
        - `st.experimental_singleton`
        - `st.session_state`
        - `st.context`
        - `st.query_params`
        - `st.experimental_get_query_params`
        - `st.experimental_set_query_params`
      - `connections and secrets`
        - `secrets.toml`
        - `st.secrets`
        - `st.connection`
        - `SnowflakeConnection`
        - `SQLConnection`
        - `BaseConnection`
        - `st.experimental_connection`
        - `SnowparkConnection`
        - `ExperimentalBaseConnection`
    - [Custom components](/develop/custom-components)
      - `V2 BACKEND (PYTHON)`
      - `BidiComponentCallable`
      - `component`
      - `component-v2-lib`
      - `Component`
      - `ComponentArgs`
      - `ComponentState`
      - `OptionalComponentCleanupFunction`
      - `V1 COMPONENTS`
        - `declare_component`
        - `html`
        - `iframe`
    - [Configuration](/develop/configuration/options)
      - `config.toml`
      - `st.get_option`
      - `st.set_option`
      - `st.set_page_config`
    - [Tools](/develop/concepts/architecture)
      - `AppTest`
      - `element_tree`
    - [App testing](/develop/app-testing)
      - `AppTest`
      - `element_tree`
    - [Command line](/develop/cli)
      - `streamlit-cache`
      - `streamlit-config`
      - `streamlit-docs`
      - `streamlit-hello`
      - `streamlit-help`
      - `streamlit-init`
      - `streamlit-run`
      - `streamlit-version`
- [Deploy](/deploy)
  - [Concepts](/deploy/concepts)
  - [Streamlit Community Cloud](/deploy/streamlit-community-cloud)
    - [Get started](/deploy/streamlit-community-cloud/get-started)
      - [Quickstart](/deploy/streamlit-community-cloud/get-started/quickstart)
      - [Create your account](/deploy/streamlit-community-cloud/get-started/create-your-account)
      - [Connect your GitHub account](/deploy/streamlit-community-cloud/get-started/connect-your-github-account)
      - [Explore your workspace](/deploy/streamlit-community-cloud/get-started/explore-your-workspace)
      - [Deploy from a template](/deploy/streamlit-community-cloud/get-started/deploy-from-a-template)
      - [Fork and edit a public app](/deploy/streamlit-community-cloud/get-started/fork-and-edit-a-public-app)
      - [Trust and security](/deploy/streamlit-community-cloud/get-started/trust-and-security)
    - [Deploy your app](/deploy/streamlit-community-cloud/deploy-your-app)
      - [File organization](/deploy/streamlit-community-cloud/deploy-your-app/file-organization)
      - [App dependencies](/deploy/streamlit-community-cloud/deploy-your-app/app-dependencies)
      - [Secrets management](/deploy/streamlit-community-cloud/deploy-your-app/secrets-management)
      - [Deploy!](/deploy/streamlit-community-cloud/deploy-your-app/deploy)
    - [Manage your app](/deploy/streamlit-community-cloud/manage-your-app)
      - [App analytics](/deploy/streamlit-community-cloud/manage-your-app/app-analytics)
      - [App settings](/deploy/streamlit-community-cloud/manage-your-app/app-settings)
      - [Delete your app](/deploy/streamlit-community-cloud/manage-your-app/delete-your-app)
      - [Edit your app](/deploy/streamlit-community-cloud/manage-your-app/edit-your-app)
      - [Favorite your app](/deploy/streamlit-community-cloud/manage-your-app/favorite-your-app)
      - [Reboot your app](/deploy/streamlit-community-cloud/manage-your-app/reboot-your-app)
      - [Rename your app in GitHub](/deploy/streamlit-community-cloud/manage-your-app/rename-your-app)
      - [Upgrade Python](/deploy/streamlit-community-cloud/manage-your-app/upgrade-python)
      - [Upgrade Streamlit](/deploy/streamlit-community-cloud/manage-your-app/upgrade-streamlit)
    - [Share your app](/deploy/streamlit-community-cloud/share-your-app)
      - [Embed your app](/deploy/streamlit-community-cloud/share-your-app/embed-your-app)
      - [Search indexability](/deploy/streamlit-community-cloud/share-your-app/indexability)
      - [Share previews](/deploy/streamlit-community-cloud/share-your-app/share-previews)
    - [Manage your account](/deploy/streamlit-community-cloud/manage-your-account)
      - [Sign in and sign out](/deploy/streamlit-community-cloud/manage-your-account/sign-in-sign-out)
      - [Workspace settings](/deploy/streamlit-community-cloud/manage-your-account/workspace-settings)
      - [Manage your GitHub connection](/deploy/streamlit-community-cloud/manage-your-account/manage-your-github-connection)
      - [Update your email](/deploy/streamlit-community-cloud/manage-your-account/update-your-email)
      - [Delete your account](/deploy/streamlit-community-cloud/manage-your-account/delete-your-account)
    - [Status and limitations](/deploy/streamlit-community-cloud/status)
  - [Snowflake](/deploy/snowflake)
  - [Other platforms](/deploy/tutorials)
    - [Docker](/deploy/tutorials/docker)
    - [Kubernetes](/deploy/tutorials/kubernetes)
- [Knowledge base](/knowledge-base)
  - [FAQ](/knowledge-base/using-streamlit)
    - [How do I create an anchor link?](/knowledge-base/using-streamlit/create-anchor-link)
    - [Enabling camera access in your browser](/knowledge-base/using-streamlit/enable-camera)
    - [How to download a file in Streamlit?](/knowledge-base/using-streamlit/how-download-file-streamlit)
    - [How to download a Pandas DataFrame as a CSV?](/knowledge-base/using-streamlit/how-download-pandas-dataframe-csv)
    - [How do I upgrade to the latest version of Streamlit?](/knowledge-base/using-streamlit/how-upgrade-latest-version-streamlit)
    - [How to insert elements out of order?](/knowledge-base/using-streamlit/insert-elements-out-of-order)
    - [How can I make st.pydeck_chart use custom Mapbox styles?](/knowledge-base/using-streamlit/pydeck-chart-custom-mapbox-styles)
    - [How to remove "· Streamlit" from the app title?](/knowledge-base/using-streamlit/remove-streamlit-app-title)
    - [How do you retrieve the filename of a file uploaded with st.file_uploader?](/knowledge-base/using-streamlit/retrieve-filename-uploaded)
    - [Sanity checks](/knowledge-base/using-streamlit/sanity-checks)
    - [How can I make Streamlit watch for changes in other modules I'm importing in my app?](/knowledge-base/using-streamlit/streamlit-watch-changes-other-modules-importing-app)
    - [What browsers does Streamlit support?](/knowledge-base/using-streamlit/supported-browsers)
    - [Where does st.file_uploader store uploaded files and when do they get deleted?](/knowledge-base/using-streamlit/where-file-uploader-store-when-deleted)
    - [Widget updating for every second input when using session state](/knowledge-base/using-streamlit/widget-updating-session-state)
    - [Why does Streamlit restrict nested st.columns?](/knowledge-base/using-streamlit/why-streamlit-restrict-nested-columns)
    - [What is serializable session state?](/knowledge-base/using-streamlit/serializable-session-state)
  - [Installing dependencies](/knowledge-base/dependencies)
    - [How to install a package not on PyPI or Conda but available on GitHub](/knowledge-base/dependencies/install-package-not-pypi-conda-available-github)
    - [ImportError libGL.so.1 cannot open shared object file No such file or directory](/knowledge-base/dependencies/libgl)
    - [ModuleNotFoundError No module named](/knowledge-base/dependencies/module-not-found-error)
    - [ERROR No matching distribution found for](/knowledge-base/dependencies/no-matching-distribution)
  - [Deployment issues](/knowledge-base/deploy)
    - [How can I deploy multiple Streamlit apps on different subdomains?](/knowledge-base/deploy/deploy-multiple-streamlit-apps-different-subdomains)
    - [How do I deploy Streamlit on a domain so it appears to run on a regular port (i.e. port 80)?](/knowledge-base/deploy/deploy-streamlit-domain-port-80)
    - [Does Streamlit support the WSGI Protocol? (aka Can I deploy Streamlit with gunicorn)?](/knowledge-base/deploy/does-streamlit-support-wsgi-protocol)
    - [How do I increase the upload limit of st.file_uploader on Streamlit Community Cloud?](/knowledge-base/deploy/increase-file-uploader-limit-streamlit-cloud)
    - [Invoking a Python subprocess in a deployed Streamlit app](/knowledge-base/deploy/invoking-python-subprocess-deployed-streamlit-app)
    - [App is not loading when running remotely](/knowledge-base/deploy/remote-start)
    - [Argh. This app has gone over its resource limits](/knowledge-base/deploy/resource-limits)
    - [How do I share apps with viewers outside my organization?](/knowledge-base/deploy/share-apps-with-viewers-outside-organization)
    - [Upgrade the Streamlit version of your app on Streamlit Community Cloud](/knowledge-base/deploy/upgrade-streamlit-version-on-streamlit-cloud)
    - [Huh. This is isn't supposed to happen message after trying to log in](/knowledge-base/deploy/huh-this-isnt-supposed-to-happen-message-after-trying-to-log-in)
    - [Login attempt to Streamlit Community Cloud fails with error 403](/knowledge-base/deploy/login-attempt-to-streamlit-community-cloud-fails-with-error-403)
    - [How to submit a support case for Streamlit Community Cloud](/knowledge-base/deploy/how-to-submit-a-support-case-for-streamlit-community-cloud)

## Version

Streamlit Version: 1.52.0

## Navigation

- [Home](/)
- [Get started](/get-started)
  - [Installation](/get-started/installation)
  - [Fundamentals](/get-started/fundamentals)
  - [First steps](/get-started/tutorials)
- [Develop](/develop)
  - [Concepts](/develop/concepts)
  - [API reference](/develop/api-reference)
    - PAGE ELEMENTS
    - [Write and magic](/develop/api-reference/write-magic)
      - `st.write`
      - `st.write_stream`
      - `magic`
    - [Text elements](/develop/api-reference/text)
      - `st.title`
      - `st.header`
      - `st.subheader`
      - `st.markdown`
      - `st.badge`
      - `st.caption`
      - `st.code`
      - `st.divider`
      - `st.echo`
      - `st.latex`
      - `st.text`
      - `utilities`
        - `st.help`
        - `st.html`
    - [Data elements](/develop/api-reference/data)
      - `st.dataframe`
      - `st.data_editor`
      - `st.column_config`
        - `Column`
        - `Text column`
        - `Number column`
        - `Checkbox column`
        - `Selectbox column`
        - `Multiselect column`
        - `Datetime column`
        - `Date column`
        - `Time column`
        - `JSON column`
        - `List column`
        - `Link column`
        - `Image column`
        - `Area chart column`
        - `Line chart column`
        - `Bar chart column`
        - `Progress column`
      - `st.table`
      - `st.metric`
      - `st.json`
      - `st.experimental_data_editor`
    - [Chart elements](/develop/api-reference/charts)
      - `st.area_chart`
      - `st.bar_chart`
      - `st.line_chart`
      - `st.map`
      - `st.scatter_chart`
      - `advanced`
        - `st.altair_chart`
        - `st.bokeh_chart`
        - `st.graphviz_chart`
        - `st.plotly_chart`
        - `st.pydeck_chart`
        - `st.pyplot`
        - `st.vega_lite_chart`
    - [Input widgets](/develop/api-reference/widgets)
      - `st.button`
      - `st.download_button`
      - `st.form_submit_button`
      - `st.link_button`
      - `st.page_link`
      - `selections`
        - `st.checkbox`
        - `st.color_picker`
        - `st.feedback`
        - `st.multiselect`
        - `st.pills`
        - `st.radio`
        - `st.segmented_control`
        - `st.selectbox`
        - `st.select_slider`
        - `st.toggle`
        - `numeric`
          - `st.number_input`
          - `st.slider`
          - `date_input`
          - `datetime_input`
          - `time_input`
          - `text_area`
          - `text_input`
          - `media`
            - `st.audio_input`
            - `st.camera_input`
            - `st.data_editor`
            - `st.file_uploader`
    - [Media elements](/develop/api-reference/media)
      - `st.audio`
      - `st.image`
      - `st.logo`
      - `st.pdf`
      - `st.video`
    - [Layouts and containers](/develop/api-reference/layout)
      - `st.columns`
      - `st.container`
      - `st.dialog`
      - `st.empty`
      - `st.expander`
      - `st.form`
      - `st.popover`
      - `st.sidebar`
      - `st.space`
      - `st.tabs`
    - [Chat elements](/develop/api-reference/chat)
      - `st.chat_input`
      - `st.chat_message`
      - `st.status`
      - `st.write_stream`
    - [Status elements](/develop/api-reference/status)
      - `st.success`
      - `st.info`
      - `st.warning`
      - `st.error`
      - `st.exception`
      - `st.progress`
      - `st.spinner`
      - `st.status`
      - `st.toast`
      - `st.balloons`
      - `st.snow`
    - [Third-party components](https://streamlit.io/components)
    - [Application logic](/develop/concepts/architecture)
      - `Authentication and user info`
        - `st.login`
        - `st.logout`
        - `st.user`
      - `navigation and pages`
        - `st.navigation`
        - `st.Page`
        - `st.page_link`
        - `st.switch_page`
      - `execution flow`
        - `st.dialog`
        - `st.form`
        - `st.form_submit_button`
        - `st.fragment`
        - `st.rerun`
        - `st.stop`
        - `st.experimental_rerun`
      - `caching and state`
        - `st.cache_data`
        - `st.cache_resource`
        - `st.experimental_memo`
        - `st.experimental_singleton`
        - `st.session_state`
        - `st.context`
        - `st.query_params`
        - `st.experimental_get_query_params`
        - `st.experimental_set_query_params`
      - `connections and secrets`
        - `secrets.toml`
        - `st.secrets`
        - `st.connection`
        - `SnowflakeConnection`
        - `SQLConnection`
        - `BaseConnection`
        - `st.experimental_connection`
        - `SnowparkConnection`
        - `ExperimentalBaseConnection`
    - [Custom components](/develop/custom-components)
      - `V2 BACKEND (PYTHON)`
      - `BidiComponentCallable`
      - `component`
      - `component-v2-lib`
      - `Component`
      - `ComponentArgs`
      - `ComponentState`
      - `OptionalComponentCleanupFunction`
      - `V1 COMPONENTS`
        - `declare_component`
        - `html`
        - `iframe`
    - [Configuration](/develop/configuration/options)
      - `config.toml