skillfed

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.

streamlit-option-menu v0.4.0 538.0K downloads/30d#6,118 on PyPI703
License unclear DORMANT released

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-menu

uv

uv add streamlit-option-menu

poetry

poetry add streamlit-option-menu

Installing 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

streamlit menu componentstreamlit option selectionstreamlit sidebar menustatic menu streamlitstreamlit navigation menustreamlit icon menustreamlit horizontal menu
streamlit-componentui-menu

More Application Frameworks packages