ipyleaflet
A Jupyter widget for dynamic Leaflet maps
What it is and what it does
ipyleaflet is a Python widget that bridges Jupyter notebooks with the Leaflet JavaScript mapping library, letting you create and interact with geographic maps directly in notebook cells. It wraps Leaflet's functionality—basemaps, GeoJSON overlays, markers, popups, and drawing tools—as interactive Python objects you can manipulate from code.
The package depends on ipywidgets for the notebook widget framework, branca for map rendering, traittypes for type validation, xyzservices for tile provider management, and jupyter-leaflet for the front-end component. It supports Python 3.8, 3.9, 3.10, 3.11, and 3.12, and is actively maintained by the Jupyter project.
Use it for:
- Explore and visualize geographic datasets interactively in research notebooks without leaving the Jupyter environment.
- Build choropleth maps to display regional statistics or survey results with color-coded regions.
- Compare two map views side-by-side using the splitmap control to highlight changes or differences.
- Overlay velocity or flow data on a map to visualize patterns in geographic space.
- Prototype geospatial analysis workflows by combining map interaction with Python data processing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ipyleaflet embeds interactive Leaflet maps directly into Jupyter notebooks, letting you display and manipulate geographic data with mouse and keyboard controls.
Yes. ipyleaflet is actively maintained, has no known vulnerabilities, installs with low friction, and is licensed permissively. It fills a clear need for interactive geographic visualization in Jupyter notebooks. Install it if you work with geographic data in notebooks.
Install
ipyleaflet on PyPI
pip
pip install ipyleafletuv
uv add ipyleafletpoetry
poetry add ipyleafletInstalling ipyleaflet
Before you install
Installation is straightforward with low friction; the package is actively maintained with recent commits and a stable release cycle.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects alike.
Quickstart
pip install ipyleaflet
from ipyleaflet import Map
m = Map()
m
Requires Jupyter notebook or compatible environment; ipywidgets must be installed and enabled in the notebook kernel.
Verify before relying
- Whether the package works with JupyterLab in addition to classic Jupyter notebooks
- Performance characteristics when rendering large GeoJSON datasets or many map layers
- Extent of built-in basemap providers and whether additional tile sources can be added
Package facts
| License | The MIT License (MIT) Copyright (c) 2014-2018, Project Jupyter Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — branca, ipywidgets, jupyter-leaflet, traittypes, xyzservices |
| Maintenance | actively maintained — 427 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 485,517/month — #6,397 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ipyleaflet-0.20.0-py3-none-any.whl
Keywords: GIS, graphics, ipython, jupyter, widgets
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
jupyter-leafletjupyter-leaflet provides interactive map…
permissive · top 15,000 on PyPI
django-leafletIntegrates the Leaflet JavaScript mapping…
copyleft · top 15,000 on PyPI
py3DmolEmbeds an interactive 3D molecular viewer in…
permissive · top 15,000 on PyPI
leafmapLeafmap enables interactive geospatial mapping…
permissive · top 15,000 on PyPI
keplerglA Jupyter widget that embeds kepler.gl's…
unclear · top 15,000 on PyPI
foliumfolium builds interactive web maps by combining…
permissive · top 5,000 on PyPI
pydeckPydeck provides Python bindings for deck.gl,…
permissive · top 1,000 on PyPI
ipywidgetsipywidgets provides interactive HTML widgets…
permissive · top 1,000 on PyPI
django-map-widgetsProvides interactive and static map widgets for…
permissive · top 15,000 on PyPI
ipymplipympl enables interactive matplotlib plots in…
permissive · top 5,000 on PyPI