Skip to content

v0.6.0: Run in the browser with Pyodide; dask is optional

Latest

Choose a tag to compare

@alxmrs alxmrs released this 11 Oct 02:06
· 14 commits to main since this release

xarray-sql now runs in the browser: releases ship a Pyodide (WebAssembly) wheel, so await micropip.install("xarray-sql") works in Pyodide with the DuckDB engine. Try the live demo or read How it works.

Changes in behavior

  • dask is now optional. Install xarray-sql[dask] if you use to_dataset(..., chunks={...}) or other dask-backed results; pip install xarray-sql no longer pulls in dask.
  • to_dataset(chunks=None) (the default) is lazy. Data variables are read on first access, without a chunk manager, rather than loaded immediately. Keep the connection open until you load the result, and note that later changes to the source tables show through; call .load() to materialize it.
  • Unchunked in-memory Datasets are registered as partitions of about a million rows, so scans can prune and stream them.

Platform notes

  • In Pyodide, DataFusion is not available (its Python bindings have no wasm build), so Context is unavailable there; use register with DuckDB.

What's Changed

  • Build a Pyodide (WebAssembly) wheel; make DataFusion optional by @alxmrs in #265
  • Docs: a live browser demo and a How it works explainer by @alxmrs in #266

Full Changelog: v0.5.0...v0.6.0