Skip to content

Repository files navigation

pyglobegl

anywidget wrapper for globe.gl with integrations with popular Python spatial packages.

pyglobegl rendering a population hex-bin layer on the globe

📖 Full documentation: https://pyglobegl.pages.dev/

pyglobegl renders interactive WebGL globes in modern notebook environments (Jupyter, JupyterLab, Colab, VS Code, marimo) and drives them from a friendly, strongly typed Python API. It ships a prebuilt JupyterLab extension, so pip install is all you need.

Installation

pip install pyglobegl

Optional spatial extras:

pip install "pyglobegl[geopandas]"     # GeoPandas + Pandera helpers
pip install "pyglobegl[movingpandas]"  # MovingPandas (includes GeoPandas)

See the installation guide for uv and extras details.

Quick start

from IPython.display import display

from pyglobegl import (
    GlobeConfig,
    GlobeLayerConfig,
    GlobeWidget,
    PointDatum,
    PointsLayerConfig,
)

points = [
    PointDatum(lat=0, lng=0, altitude=0.25, color="#ff0000", label="Center"),
    PointDatum(lat=15, lng=-45, altitude=0.12, color="#00ff00", label="West"),
]

config = GlobeConfig(
    globe=GlobeLayerConfig(
        globe_image_url="https://cdn.jsdelivr.net/npm/three-globe/example/img/earth-day.jpg"
    ),
    points=PointsLayerConfig(points_data=points),
)

display(GlobeWidget(config=config))

Layer data are typed Pydantic models (no dynamic accessor remapping), and defaults mirror globe.gl so omitted values still render predictably. See the quick start for more.

Layers & features

Each globe.gl layer is exposed as typed data models:

Plus:

Documentation

Contributing

Build Assets (Release Checklist)

  1. cd frontend && pnpm run build
  2. uv build

UI Test Artifacts

  • Canvas captures are saved under ui-artifacts as {test-name}-pass-<timestamp>.png or {test-name}-fail-<timestamp>.png.
  • Canvas comparisons use SSIM (structural similarity) with a fixed threshold (currently 0.86).

About

anywidget wrapper for globe.gl with integrations with popular Python spatial packages

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages