finds.dev← search

// the find

python-visualization/folium

★ 7,385 · Python · NOASSERTION · updated Jul 2026

Python Data. Leaflet.js Maps.

folium is a Python wrapper that generates Leaflet.js maps as HTML files or notebook outputs. You write Python, it writes JavaScript — useful for data scientists who want interactive maps without touching JS. It's been around since ~2013 and is the go-to tool in the Jupyter ecosystem for geographic visualization.

Works without a server — output is a self-contained HTML file you can email or host statically. GeoJSON and GeoPandas integration is first-class; choropleth maps from a DataFrame take maybe 10 lines. The plugin ecosystem covers a lot of ground: heatmaps, marker clustering, draw tools, side-by-side comparison, time-slider choropleths. The test suite includes Selenium screenshot snapshots, which is the right call for a library where the output is visual.

Performance falls apart with large datasets — dumping 50k points into a GeoJSON layer means 50k DOM elements; there's no built-in tiling or clustering at the data level, only the marker-cluster plugin which helps but doesn't scale to millions of points. The abstraction leaks badly when you need to do anything non-standard: you end up writing raw JavaScript strings inside Python, which is fragile and untestable. No reactive updates — the map is generated once and is static; if you want to filter or re-render, you regenerate the whole thing. Leaflet itself is pinned to whatever version folium bundles, so you can't easily pull in a newer Leaflet or its extensions independently.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →