Sometimes you want a user to make a selection, but you only have a few options.
st.selectbox component works, but wouldn't it be easier to simply have a few buttons in a row ?
Well, this custom component allows just that !
pip install st_btn_select
Creating a Button Selection is really easy.
from st_btn_select import st_btn_select selection = st_btn_select(('option 1', 'option 2', 'option 3'))
You can also use this component as a small top navigation bar.
from st_btn_select import st_btn_select page = st_btn_select( # The different pages ('home', 'about', 'docs', 'playground'), # Enable navbar nav=True, # You can pass a formatting function. Here we capitalize the options format_func=lambda name: name.capitalize(), ) # Display the right things according to the page if page == 'home': st.write('HOMEPAGE')
There can only be one navbar per page, as they will be displayed on top of each other.
The navbar buttons do not set any URL hashes, and thus the different pages are not bookmarkable, nor can you use the browser history.
Check out this streamlit app for the documentation, as well as a demo.