Streamlit β A faster way to build and share data apps.
Highlights
st.experimental_connection
: Easily connect your app to data sources and APIs using our new connection feature. Find more details in our blog post and the API reference, and stay tuned for in-depth documentation! In the meantime, explore our updated MySQL and Snowflake connection tutorials for examples of this feature.Notable Changes
client.toolbarMode
config option (#6174).Other Changes
@st.cache_data
decorated functions support UUID objects as parameters (#6440, #6459).st.multiselect
's clear icon is larger and includes a hover effect (#6471).st.code
's copy-to-clipboard button appears when you hover on code blocks (#6490, #6498).Highlights
st.divider
β a command that displays a horizontal line in your app. Learn how to use this command in its API reference.secrets.toml
file, in addition to a project-level file, to easily store and securely access your secrets. Learn more in Secrets management.st.help
has been revamped to show more information about object methods, attributes, classes, and more, which is great for debugging!Notable Changes
st.time_input
supports adding a stepping interval with the keyword-only step
parameter (#6071).help
parameter (#6043).st.pyplot
has a use_container_width
parameter to set the chart to the container width (now all chart elements support this parameter) (#6067).st.code
supports optionally displaying line numbers to the code blockβs left with the boolean line_numbers
parameter (#5756, #6042).anchor=False
(#6158).Other Changes
st.table
and st.dataframe
support pandas.Period
, and number and boolean types in categorical columns (#2547, #5429, #5329, #6248)..webp
to the list of allowed static file extensions (#6331)streamlit hello
, and make the browser back button work for multipage apps (#5292, #6266, #6232). Thanks, whitphx!react-dropzone
so that st.file_uploader
's File Selection Dialog only shows file types corresponding to those included in the type
parameter (#6176, #6315)..clear()
method on cache-decorated functions work (#6310, #6321).st.experimental_get_query_params
doesnβt need reruns to work (#6347, #6348). Thanks, PaleNeutron!CachedStFunctionWarning
mentions experimental_allow_widgets
instead of the deprecated suppress_st_warning
(#6216, #6217).Notable Changes
/?embed
and /?embed_options
query parameters. Learn how to use this feature in our docs (#6011, #6019).runner.fastReruns
configuration option by default to make apps much more responsive to user interaction (#6200).Other Changes
dtypes
checking in st.experimental_data_editor
(#6185, #6188).st.metric
's help
tooltip when not inside columns (#6168).ForwardMsgCache
(#6210).st.cache_data
docstring for the show_spinner
param now lists str
as a supported type (#6207, #6213).st.map
and st.pydeck_chart
docs state that Streamlit's Mapbox token will not work indefinitely (#6143).Highlights
st.experimental_data_editor
, a widget that allows you to edit DataFrames and many other data structures in a table-like UI. Read more in our documentation and blog post.Other Changes
st.metric
tooltip position (#6093, #6129).Highlights
@st.cache_data
and @st.cache_resource
β two new caching commands to replace st.cache
! Check out our blog post and documentation for more information.Notable Changes
st.columns
supports up to one level of column nesting (i.e., columns inside columns) in the main area of the app.st.progress
supports adding a message to display above the progress bar with the text
keyword parameter.st.button
has an optional use_container_width
parameter to allow you to stretch buttons across the full container width.enableStaticServing
config option. See our documentation on how to use this feature and our demo app for an example.Other Changes
/healthz
) have been renamed to have a consistent pattern and avoid any clashes with reserved endpoints of GCP (notably Cloud Run and App Engine) (#5534).client.showErrorDetails
config option is set to True
. Deprecation warnings always get logged to the console, regardless of whether they're displayed in-browser (#5945).st.dataframe
internals to improve dataframe handling and conversion, such as detecting more types, converting key-value dicts to dataframes, and more (#6026, #6023).st.selectbox
and st.multiselect
have less than 10 options (#5979).st.metric
, st.multiselect
, st.tabs
, and menu items to prevent label overflow and scrolling issues, especially with small viewport sizes (#5933, #6034).st.set_page_config
(#5943).Notable Changes
@st.experimental_singleton
supports an optional validate
parameter that accepts a validation function for cached data and is called each time the cached value is accessed.@st.experimental_memo
βs persist
parameter can also accept booleans.Other Changes
__init__.py
from the page selector (#5890).Highlights
st.markdown
, st.header
, and more. Learn more in our documentation.Notable Changes
st.experimental_memo
or st.experimental_singleton
can contain Streamlit media elements and forms.label_visibility
parameter.Other Changes
st.map
improvements: support for upper case columns and better exception messages (#5679, #5792).st.plotly_chart
respects the figureβs height attribute and the use_container_width
parameter (#5779).icon
parameter such as st.error, st.warning, etc, can contain emojis with variant selectors (#5583).st.camera_input
from jittering when resizing the browser window (#5661).