Skip to main content

dash-openlayers

OpenLayers mapping components for Plotly Dash. Build maps declaratively in Python, use OpenLayers for rendering and editing, and receive map events and feature data in Dash callbacks.

Install

pip install dash-openlayers

Requires Python 3.10 or newer. Dash is installed as a package dependency.

Quick Example

import dash
from dash import Input, Output, html
import dash_openlayers as dol

app = dash.Dash(__name__)
app.layout = html.Div(
    [
        dol.Map(
            id="map",
            center=[10, 45],
            zoom=5,
            children=[
                dol.TileLayer(id="osm", source="OSM"),
                dol.VectorLayer(
                    id="places",
                    geojson={
                        "type": "FeatureCollection",
                        "features": [
                            {
                                "type": "Feature",
                                "geometry": {"type": "Point", "coordinates": [10, 45]},
                                "properties": {"name": "Sample place"},
                            }
                        ],
                    },
                ),
                dol.SelectInteraction(id="selection", layerId="places"),
                dol.LayerControl(id="layers"),
            ],
            style={"height": "600px"},
        ),
        html.Pre(id="selection-output"),
    ]
)


@app.callback(Output("selection-output", "children"), Input("selection", "selectedGeoJSON"))
def show_selection(selection):
    return str(selection or "Select a feature")


if __name__ == "__main__":
    app.run(debug=True)

Components

  • Maps, synchronized view state, custom Proj4 projections, and click events.
  • OSM/XYZ, GeoJSON vector, WMS, WMTS, MVT vector-tile, and WFS GeoJSON layers.
  • Draw, select, modify, snapping, per-feature topology validation, and undo/redo.
  • GeoJSON/WKT input and GeoJSON/WKT/TopoJSON edit output.
  • Point clustering, decluttering, and layer visibility/opacity/order controls.

WFS-T writes are not performed by WFSLayer; see the guarded example in tests/demos/wfs_demo.py for an application-owned transaction callback.

Documentation

Contributing

See CONTRIBUTING.md for development setup and workflow.

Metadata

Release files for dash-openlayers 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dash-openlayers 0.0.1
File Size Uploaded
dash_openlayers-0.0.1.tar.gz 671.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dash-openlayers 0.0.1
File Interpreter ABI Platform
dash_openlayers-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / dash_openlayers-0.0.1.tar.gz

Download URL dash_openlayers-0.0.1.tar.gz
Size 671.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b56ecdeacdf5619e8b68b391c1edd1b0a6864c52ab234149bf0415073ecea4cf
BLAKE2b-256 checksum
How to use checksums
481c369493cee89747a13b979e31b08da9bbb612e9cbfcfd262aaad6205349bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / dash_openlayers-0.0.1-py3-none-any.whl

Download URL dash_openlayers-0.0.1-py3-none-any.whl
Size 684.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f87a9909bc732066ee6f15309e5d030419f83b134aa62cd62496acbb663aee1c
BLAKE2b-256 checksum
How to use checksums
4a9028296073ea1673a97300e28d28840eeea2db90d32460cb5c293de63a6b73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.0

2 release files

0.0.2

2 release files

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page