deckgl-marimo
Interactive deck.gl visualization library for marimo notebooks. Render GPU-accelerated maps with 15 fully tested layer types (plus experimental access to the full deck.gl catalog), powered by MapLibre GL and anywidget.
import deckgl_marimo as dgl
layer = dgl.ScatterplotLayer(
data=df,
get_position=["longitude", "latitude"],
get_fill_color=dgl.ColorScale("population", palette="viridis"),
get_radius="population",
radius_scale=10,
)
layer.as_widget()
Why deckgl-marimo?
- Scales with your data — binary typed-array transport bypasses JSON serialization entirely (30× faster, 4× smaller payloads at 200k polygons). See Binary Data Transport.
- MapLibre basemaps — stable WMS/tile-server support and clean, HTTP-retrievable style definitions under a performant deck.gl overlay.
- marimo-native reactivity — bind layer properties to sliders and read viewport/click/hover state in downstream cells. See Reactive Patterns.
- Bring your own DataFrame — pandas, polars, geopandas, DuckDB, GeoJSON dicts, and URLs, via narwhals (no required backend).
- Fully offline — all JavaScript is bundled in the package; no CDN.
At a glance
| Install | pip install deckgl-marimo |
| Quick start | Getting Started |
| The one pattern to know | Reactive Patterns |
| Large datasets | Binary Data Transport |
| Source | github.com/kihaji/deckgl-marimo |