streamlit-folium
Render Folium objects in Streamlit
What it is and what it does
streamlit-folium bridges Streamlit and Folium, two popular Python libraries for web apps and interactive maps. It provides two functions: st_folium() for bi-directional interaction (send a map to the app, receive back user selections like bounding boxes and clicked items), and folium_static() for static rendering of Folium objects. The package wraps Folium's HTML representation and integrates it into Streamlit's component system.
You use it when you want to add interactive geographic visualizations to a Streamlit dashboard. It depends on streamlit, folium, jinja2, and branca—all stable, widely-used packages. The wheel installs cleanly and requires Python >= 3.11. No known security vulnerabilities.
Use it for:
- Display interactive maps in Streamlit dashboards with click detection and bounding box queries.
- Build geospatial data exploration tools that respond to user map interactions in real time.
- Embed Folium-styled maps (markers, popups, layers) directly into Streamlit web apps without custom JavaScript.
- Capture map state (zoom, pan, selected bounds) to filter or update other dashboard elements.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Renders interactive Folium maps in Streamlit applications, with support for bi-directional interaction to capture user selections like bounding boxes and clicked items.
Yes. Active maintenance, low install friction, no vulnerabilities, and a clear use case for geospatial Streamlit apps. The two-function API (interactive st_folium() plus static folium_static()) covers both simple and complex map scenarios. Install if you're building a Streamlit dashboard that needs interactive maps.
Install
streamlit-folium on PyPI
pip
pip install streamlit-foliumuv
uv add streamlit-foliumpoetry
poetry add streamlit-foliumInstalling streamlit-folium
Before you install
Low friction install with a pure-Python wheel. Actively maintained as of 11 days ago. Depends on streamlit, folium, jinja2, and branca—all established packages with no known friction.
Quickstart
pip install streamlit-folium
import streamlit as st
from streamlit_folium import st_folium
import folium
m = folium.Map()
st_folium(m)
Requires Python >= 3.11 and a running Streamlit application context.
Verify before relying
- Whether st_folium() truly supports all Folium layer types and customizations, or only a subset
- Performance characteristics with large datasets or complex map geometries
- Browser compatibility and tested Streamlit versions
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — streamlit, folium, jinja2, branca |
| Maintenance | actively maintained — 11 days since the last release |
| First released | |
| Downloads | 410,590/month — #6,863 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: streamlit_folium-0.27.4-py3-none-any.whl
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
foliumfolium builds interactive web maps by combining…
permissive · top 5,000 on PyPI
streamlit-plotly-eventsCaptures click, select, and hover events from…
unclear · top 15,000 on PyPI
leafmapLeafmap enables interactive geospatial mapping…
permissive · top 15,000 on PyPI
streamlit-cardA Streamlit component that renders interactive…
permissive · top 15,000 on PyPI
streamlit-pdf-viewerStreamlit component that renders PDF documents…
unclear · top 15,000 on PyPI
streamlit-image-coordinatesA Streamlit component that displays an image…
permissive · top 15,000 on PyPI
streamlitStreamlit transforms Python scripts into…
permissive · top 1,000 on PyPI
streamlit-code-editorEmbeds an interactive code editor component…
unclear · top 15,000 on PyPI
streamlit-option-menuA Streamlit component that renders a static…
unclear · top 15,000 on PyPI
streamlit-pdfAdds a PDF viewer component to Streamlit apps…
permissive · top 15,000 on PyPI