Skip to content

Releasing lonboard 0.17!

This blog post was fully human written.

Lonboard is a Python library for fast, interactive geospatial data visualization in Jupyter.

Lonboard version 0.17 has a ton of small improvements and bug fixes.

Refer to the changelog for all updates.

DuckDB updates

We now read CRS from DuckDB geometry columns

Starting from DuckDB version 1.5, DuckDB supports a native geometry type that tracks its coordinate reference system.

Lonboard will automatically read that CRS and reproject to the target coordinate system.

See #1205 and #1210 for more information.

Reading from DuckDB doesn't require PyArrow dependency

We no longer require PyArrow to be installed when reading from a DuckDB query. This uses the Arrow PyCapsule Interface to share Arrow data across Python libraries without needing PyArrow to serve as an intermediary.

See #1303 for more information.

Pyodide/JupyterLite support to run inside your browser

Try it in JupyterLite

Lonboard and all its (core) dependencies now support Pyodide and JupyterLite. It can run entirely within your browser without having to install a Python interpreter on your machine.

See our Pyodide documentation or try it out in your browser.

See #1204 and #1320 for more information.

Programmatically set the time of a TripsLayer

Previously it was only possible to read the current_time property but not set it. Now it's possible to programmatically set and change the value as well.

See #1308 for more information.

Breaking Changes

The basemap_style and CartoBasemap exports had been deprecated since 0.13.0 and are now removed. Use MaplibreBasemap and CartoStyle instead.

These changes allow for better customization of basemaps and the option to remove a basemap entirely.

See #1307 for more information.

Bug fixes

  • Fix rendering polygons in exported HTML files #1264
  • Fix errors for empty record batch or geometry input #1269
  • Fix RasterLayer.from_pmtiles #1274
  • Remove upper bound on anywidget dependency #1282
  • Support boolean data in apply_categorical_cmap #1300
  • Reset example notebook kernelspec to python3 #1254
  • Show the map controls on deck-first maps #1309
  • Set selected_index to the row's position in the whole table #1283

Docs updates

New examples

All updates

Refer to the changelog for all updates.