streamlit-option-menu
streamlit-option-menu is a simple Streamlit component that allows users to select a single item from a list of options in a menu.
What it is and what it does
streamlit-option-menu is a Streamlit component that displays a menu of selectable options as a static list rather than a dropdown, returning the currently selected option as a string. It wraps the streamlit runtime dependency and uses Bootstrap styling with bootstrap-icons for visual customization. The menu supports vertical or horizontal orientation, configurable icons per option, and optional section separators.
Developers use it to build navigation menus and option selectors in Streamlit dashboards, particularly in sidebars. It is simpler than st.selectbox() for cases where a visible list is preferred over a dropdown, and it allows per-option icon assignment. The component is built on streamlit-component-template-vue and has no additional runtime dependencies beyond Streamlit itself.
Use it for:
- Build a sidebar navigation menu in a Streamlit dashboard with labeled options and custom icons.
- Create a horizontal menu bar for switching between different views or pages in a Streamlit app.
- Display a list of settings or configuration options with visual icons for quick recognition.
- Add section separators to a menu using "---" to group related options visually.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Streamlit component that renders a static menu for selecting a single option from a list, with configurable icons and support for vertical or horizontal layout.
Yes, if you need a simple static menu component for Streamlit with icon support and low install friction. Verify the license status in the repository first. The dormant maintenance status is acceptable for a stable, narrowly-scoped UI component, but monitor for compatibility issues with future Streamlit releases.
Install
streamlit-option-menu on PyPI
pip
pip install streamlit-option-menuuv
uv add streamlit-option-menupoetry
poetry add streamlit-option-menuInstalling streamlit-option-menu
Before you install
Installation is straightforward with no compiled dependencies. The package is dormant (last commit 674 days ago) but has received no recent updates; it remains functional for its stated purpose.
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the metadata. Verify the actual license by checking the repository before using in proprietary or commercial work.
Quickstart
pip install streamlit-option-menu
import streamlit as st
from streamlit_option_menu import option_menu
with st.sidebar:
selected = option_menu("Main Menu", ["Home", "Settings"],
icons=['house', 'gear'], menu_icon="cast")
st.write(selected)
Requires Streamlit to be installed and running; component renders only within a Streamlit application context.
Verify before relying
- Whether the unclear license status is resolved in the GitHub repository or if a license file exists but was not indexed.
- Whether the dormant maintenance status indicates the package is stable or at risk of incompatibility with future Streamlit versions.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — streamlit |
| Maintenance | dormant — 674 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 537,977/month — #6,118 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: streamlit_option_menu-0.4.0-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
streamlit-antd-componentsProvides Ant Design and Mantine UI components…
unclear · top 15,000 on PyPI
streamlit-vertical-sliderAdds a vertical slider widget to Streamlit apps…
unclear · top 15,000 on PyPI
streamlit-sortablesStreamlit Sortables adds drag-and-drop sortable…
permissive · top 15,000 on PyPI
streamlit-avatarRenders clickable avatar icons with images,…
unclear · top 15,000 on PyPI
simple-term-menuCreates interactive command-line menus where…
permissive · top 5,000 on PyPI
streamlit-code-editorEmbeds an interactive code editor component…
unclear · top 15,000 on PyPI
streamlit-pdf-viewerStreamlit component that renders PDF documents…
unclear · top 15,000 on PyPI
pickpick provides a Python library to create…
permissive · top 15,000 on PyPI
infi.systrayImplements a Windows system tray icon with a…
permissive · top 15,000 on PyPI
pystrayPystray creates a system tray icon with an…
copyleft · top 5,000 on PyPI