MapLibre for Python provides Python bindings for MapLibre GL JS. Furthermore, Deck.GL Layers can be mixed with MapLibre Layers.
It integrates seamlessly into Shiny for Python, Marimo, Jupyter and JupyterLite.
# Stable
pip install maplibre # minimal
pip install "maplibre[shiny]" # shiny bindings
pip install "maplibre[ipywidget]" # marimo and jupyter bindings
pip install "maplibre[all]"
uv add maplibre
uv add "maplibre[all]"
# Unstable
pip install git+https://github.com/eoda-dev/py-maplibregl@dev
pip install "maplibre[all] @ git+https://github.com/eoda-dev/py-maplibregl@dev"
uv add "git+https://github.com/eoda-dev/py-maplibregl@dev[all]"
# Conda
conda install -c conda-forge maplibre
from maplibre import Map, MapOptions
m = Map(MapOptions(center=(-123.1256, 49.24658), zoom=9))
m.save(preview=True)
poetry install
poetry run pytest
poetry run pytest --ignore=maplibre/ipywidget.py --doctest-modules maplibre