extra-streamlit-components
An all-in-one place, to find complex or just natively unavailable components on streamlit.
What it is and what it does
Extra-Streamlit-Components extends Streamlit with a collection of UI components that are either complex or not natively available in the base framework. It provides routing for multi-page applications using query parameters, a browser cookie manager built on universal-cookie, tab bars inspired by React's ScrollMenu, animated image components, and stepper bars wrapping MaterialUI. The package depends solely on Streamlit and installs as a pure Python wheel with low friction.
The components are designed to fill gaps in Streamlit's default UI toolkit, particularly for applications needing client-side navigation, session persistence via cookies, or enhanced visual feedback. Most components follow Streamlit's reactive patterns and work with the framework's caching and session state mechanisms. The package supports Python 3.6 and later and is classified as permissive (MIT) licensed.
Use it for:
- Build multi-page Streamlit applications with client-side routing using the Router component and query parameters
- Persist user preferences or authentication tokens across sessions using the CookieManager component
- Create tabbed interfaces for organizing related content or workflows using the TabBar component
- Add visual progress indicators to multi-step forms or workflows using the StepperBar component
- Enhance UI with animated visual elements like bouncing images for attention or decorative purposes
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides additional UI components for Streamlit applications, including routing, cookie management, tab bars, animated images, and stepper bars not available in the base framework.
Yes, with conditions. Install if you need specific UI components (routing, cookies, tab bars, steppers) not in Streamlit's base library and can accept that the package is aging—last release was 362 days ago. The single dependency and permissive license pose no friction, and no known vulnerabilities exist. Verify component stability with your target Streamlit version before production use.
Install
extra-streamlit-components on PyPI
pip
pip install extra-streamlit-componentsuv
uv add extra-streamlit-componentspoetry
poetry add extra-streamlit-componentsInstalling extra-streamlit-components
Before you install
Low friction installation with a single runtime dependency on streamlit. The package is aging (362 days since last release) but actively maintained with recent commits and a modest but stable user base of 563 GitHub stars.
License in practice
Licensed under MIT (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install extra-streamlit-components
import extra_streamlit_components as stx
import streamlit as st
chosen_id = stx.tab_bar(data=[
stx.TabBarItemData(id=1, title="Tab1"),
stx.TabBarItemData(id=2, title="Tab2"),
], default=1)
st.write(f"Selected: {chosen_id}")
Verify before relying
- Whether all components work reliably across different Streamlit versions given the aging maintenance status
- Performance characteristics when using Router with large numbers of pages or frequent route changes
- Browser compatibility and behavior of CookieManager across different browsers and Streamlit deployment environments
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — streamlit |
| Maintenance | aging — 362 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 606,783/month — #5,788 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: extra_streamlit_components-0.1.81-py3-none-any.whl
Keywords: Python, Streamlit, React, JavaScript
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-cookies-controllerProvides read, write, and delete operations on…
permissive · top 15,000 on PyPI
streamlit-extrasProvides a collection of reusable UI components…
permissive · top 15,000 on PyPI
streamlit-sortablesStreamlit Sortables adds drag-and-drop sortable…
permissive · top 15,000 on PyPI
streamlit-js-evalStreamlit-js-eval lets you run arbitrary…
unclear · top 15,000 on PyPI
streamlit-notifyStreamlit-Notify provides persistent status…
permissive · top 15,000 on PyPI
streamlit-avatarRenders clickable avatar icons with images,…
unclear · top 15,000 on PyPI
streamlit-autorefreshAdds a frontend timer to Streamlit apps that…
unclear · top 15,000 on PyPI
streamlit-msalAdds Microsoft Authentication Library (MSAL)…
unclear · top 15,000 on PyPI
st-themeDetects and returns the active theme (light or…
permissive · top 15,000 on PyPI
streamlit-image-coordinatesA Streamlit component that displays an image…
permissive · top 15,000 on PyPI