streamlit-extras
A community-driven collection of useful Streamlit components and utilities that extend Streamlit's functionality.
What it is and what it does
streamlit-extras is a community-driven library that packages reusable UI components and utility functions designed to work with Streamlit. It fills gaps in Streamlit's standard widget set by offering pre-built extras that developers can import and use directly in their apps. The library depends on streamlit and plotly, and is distributed as a pure Python wheel with no compiled dependencies.
Developers use it to avoid reimplementing common UI patterns and interactive elements across multiple Streamlit projects. Each extra is a self-contained piece of code addressing a specific UI or utility need—like the stoggle component shown in the documentation, which creates a clickable toggle for revealing hidden content. The library is actively maintained and accepts community contributions via pull requests.
Use it for:
- Add interactive toggle components to reveal/hide content sections in Streamlit dashboards.
- Reuse pre-built UI patterns across multiple Streamlit applications without duplicating code.
- Extend Streamlit's visualization capabilities by combining extras with plotly charts.
- Build data exploration interfaces with custom utility functions from the extras collection.
- Contribute and share custom Streamlit components with the community via the library.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a collection of reusable UI components and utilities that extend Streamlit's built-in functionality for building interactive web applications.
Yes. Low installation friction, active maintenance, permissive license, no known vulnerabilities, and a straightforward dependency tree (streamlit + plotly) make this a safe addition to Streamlit projects. Install it if you regularly build Streamlit apps and want to avoid reinventing common UI patterns.
Install
streamlit-extras on PyPI
pip
pip install streamlit-extrasuv
uv add streamlit-extraspoetry
poetry add streamlit-extrasInstalling streamlit-extras
Before you install
Low friction installation as a pure Python wheel. Actively maintained with recent commits and a moderate community presence (972 stars). Last release was 91 days ago.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions, making it safe to incorporate into most projects.
Quickstart
pip install streamlit-extras
from streamlit_extras.stoggle import stoggle
stoggle(
"Click me!",
"""🥷 Surprise! Here's some additional content""",
)
Requires Python >=3.10 and streamlit as a runtime dependency.
Verify before relying
- Whether all extras are documented and discoverable in the referenced documentation.
- Performance characteristics when using multiple extras in a single Streamlit app.
- Compatibility with specific Streamlit versions beyond the current release.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — plotly, streamlit |
| Maintenance | actively maintained — 91 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 496,083/month — #6,338 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: streamlit_extras-1.6.0-py3-none-any.whl
Keywords: data, python, streamlit, ui
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
streamlitStreamlit transforms Python scripts into…
permissive · top 1,000 on PyPI
streamlit-cardA Streamlit component that renders interactive…
permissive · top 15,000 on PyPI
streamlit-sortablesStreamlit Sortables adds drag-and-drop sortable…
permissive · top 15,000 on PyPI
extra-streamlit-componentsProvides additional UI components for Streamlit…
permissive · top 15,000 on PyPI
streamlit-code-editorEmbeds an interactive code editor component…
unclear · top 15,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-toggle-switchAdds a customizable toggle switch component to…
unclear · top 15,000 on PyPI
streamlit-fakerGenerates random fake data to populate…
unclear · top 15,000 on PyPI
extrasProvides three utility functions—try_import,…
permissive · top 15,000 on PyPI