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.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Streamlit to be installed and running; component renders only within a Streamlit application context.
- 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 · maintenance · safety
(unclear) — 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.
last release 2024-10-09 (674 days) · last repo commit 2024-10-09 · 703 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 537,977 downloads/mo, #6,118 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on it.
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
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.
Requires Streamlit to be installed and running; component renders only within a Streamlit application context.
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)
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 packagestreamlit |
| 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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “streamlit menu component”
- streamlit-option-menuA Streamlit component that renders a static menu for selecting a…
- streamlit-antd-componentsProvides Ant Design and Mantine UI components for Streamlit apps,…
- streamlit-cardA Streamlit component that renders interactive card UI elements with…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also streamlit-antd-components · streamlit-vertical-slider · streamlit-sortables · streamlit-avatar · simple-term-menu · streamlit-code-editor · streamlit-pdf-viewer · pick · infi.systray · pystray