skillfed

extra-streamlit-components

An all-in-one place, to find complex or just natively unavailable components on streamlit.

extra-streamlit-components v0.1.81 606.8K downloads/30d#5,788 on PyPI563
Permissive license AGING released

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

uv

uv add extra-streamlit-components

poetry

poetry add extra-streamlit-components

Installing 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

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

streamlit custom componentsstreamlit routing librarystreamlit cookie managerstreamlit tab bar componentstreamlit ui extensionsstreamlit stepper bar
streamlit-extensionui-componentsweb-framework

More Application Frameworks packages

fastapi

FastAPI is a Python web framework for building…

permissive · top 100 on PyPI

annotated-doc

Provides a way to document function parameters,…

permissive · top 100 on PyPI

textual

Textual is a Python framework for building…

permissive · top 100 on PyPI

typer

Typer builds command-line applications from…

permissive · top 1,000 on PyPI

mcp

Build and connect to Model Context Protocol…

permissive · top 1,000 on PyPI

Werkzeug

Werkzeug is a WSGI utility library providing…

permissive · top 1,000 on PyPI

streamlit-cookies-controller

Provides read, write, and delete operations on…

permissive · top 15,000 on PyPI

streamlit-extras

Provides a collection of reusable UI components…

permissive · top 15,000 on PyPI

streamlit-sortables

Streamlit Sortables adds drag-and-drop sortable…

permissive · top 15,000 on PyPI

streamlit-js-eval

Streamlit-js-eval lets you run arbitrary…

unclear · top 15,000 on PyPI

streamlit-notify

Streamlit-Notify provides persistent status…

permissive · top 15,000 on PyPI

streamlit-avatar

Renders clickable avatar icons with images,…

unclear · top 15,000 on PyPI

streamlit-autorefresh

Adds a frontend timer to Streamlit apps that…

unclear · top 15,000 on PyPI

streamlit-msal

Adds Microsoft Authentication Library (MSAL)…

unclear · top 15,000 on PyPI

st-theme

Detects and returns the active theme (light or…

permissive · top 15,000 on PyPI

streamlit-image-coordinates

A Streamlit component that displays an image…

permissive · top 15,000 on PyPI