st.set_page_config
Configure the default settings of the page.
This command can be called multiple times in a script run to dynamically change the page configuration. The calls are additive, with each successive call overriding only the parameters that are specified.
| Function signature[source] | |
|---|---|
st.set_page_config(page_title=None, page_icon=None, layout=None, initial_sidebar_state=None, menu_items=None) | |
| Parameters | |
page_title (str or None) | The page title, shown in the browser tab. If this is None (default), the page title is inherited from the previous call of st.set_page_config. If this is None and no previous call exists, the page title is inferred from the page source. If a page source is a Python file, its inferred title is derived from the filename. If a page source is a callable object, its inferred title is derived from the callable's name. |
page_icon (Anything supported by st.image (except list), str, or None) | The page favicon. If page_icon is None (default), the page icon is inherited from the previous call of st.set_page_config. If this is None and no previous call exists, the favicon is a monochrome Streamlit logo. In addition to the types supported by st.image (except list), the following strings are valid:
Note Colors are not supported for Material icons. When you use a Material icon for favicon, it will be black, regardless of browser theme. |
layout ("centered", "wide", or None) | Layout of the page content. The following layouts are supported:
|
initial_sidebar_state ("auto", "expanded", "collapsed", "locked", int, or None) | Initial state of the sidebar. The following states are supported:
In most cases, "auto" provides the best user experience across devices of different sizes. |
menu_items (dict) | Configure the menu that appears on the top-right side of this app. The keys in this dict denote the menu item to configure. The following keys can have string or None values:
A URL may also refer to an email address e.g. mailto:john@example.com. If you do not include a key, its menu item will be hidden (unless it was set by a previous call to st.set_page_config). To remove an item that was specified in a previous call to st.set_page_config, set its value to None in the dictionary. |
Examples
import streamlit as st
st.set_page_config(
page_title="Ex-stream-ly Cool App",
page_icon="🧊",
layout="wide",
initial_sidebar_state="expanded",
menu_items={
'Get Help': 'https://www.extremelycoolapp.com/help',
'Report a bug': "https://www.extremelycoolapp.com/bug",
'About': "# This is a header. This is an *extremely* cool app!"
}
)
Tip
Want a new st.set_page_config feature or found a bug? Browse open issues and react with a 👍 on the initial post of the ones that matter to you. Your votes help us prioritize what to work on next.
Still have questions?
Our forums are full of helpful information and Streamlit experts.