Overview

Streamlit 1.30, released on January 15, 2024, improves multi-page support and introduces st.fragment for partial component refresh.

Main Features

Multi-page navigation

Multi-page navigation is improved with a more flexible routing system and automatic sidebar menu.

python
import streamlit as st

# Structure: pages/1_Home.py, pages/2_Data.py
pg = st.navigation([
    st.Page('pages/home.py', title='Home'),
    st.Page('pages/data.py', title='Data'),
])
pg.run()

st.fragment

@st.fragment lets you refresh part of the page without re-running the entire script, improving performance.

python
import streamlit as st

@st.fragment
def counter():
    if 'n' not in st.session_state:
        st.session_state.n = 0
    if st.button('Increment'):
        st.session_state.n += 1
    st.metric('Counter', st.session_state.n)

counter()  # refreshes independently

Sources