skillfed

streamlit-folium

Render Folium objects in Streamlit

streamlit-folium v0.27.4 410.6K downloads/30d#6,863 on PyPI
License unclear Active released

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

uv

uv add streamlit-folium

poetry

poetry add streamlit-folium

Installing 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

streamlit map visualizationfolium in streamlitinteractive geospatial mapsstreamlit geographic displayfolium component streamlitmap interaction streamlitgeospatial web app
geospatialstreamlit-componentinteractive-maps

More Graphics packages