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.2

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.2
File Size Uploaded
dash_openlayers-0.0.2.tar.gz 759.2 kB Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / dash_openlayers-0.0.2.tar.gz

Download URL dash_openlayers-0.0.2.tar.gz
Size 759.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f2e92c8267d79f25a6ad7a1e90bdd720140c3f8152b28e831f701ac01b6796eb
BLAKE2b-256 checksum
How to use checksums
409c4fca8fabd5414b01a8e3e11a9d5b0cdcbd59cc69baa8cc1a88c6f5323073
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 4, 2026.

Transparency log

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

Download URL dash_openlayers-0.0.2-py3-none-any.whl
Size 776.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e4bdef7f73ab3f7a14056da3bce79f3e638dc41eb922d187e163fe7d4b9568a
BLAKE2b-256 checksum
How to use checksums
a306b9b010fcac5fe5886e4483f1451b21a65eccb261b1004994cbaeb7ad5f94
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 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.0

2 release files

This release

0.0.2 This release

2 release files

0.0.1

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