← All posts

Blog

Bedevere in DuckDB Monthly #46

DuckDB Monthly #46, the newsletter Simon writes for MotherDuck, went out on 18 October and Bedevere is in there. Thank you, Simon! The item describes it as "a local-first viewer that utilizes DuckDB-WASM", which is correct, but it's not the full story.

What Bedevere is

Bedevere opens the files a statistician (or a clinical programmer) is usually handed: SAS (sas7bdat and xpt), SPSS (sav), Stata (dta), Parquet, Excel, and CSV. You can query them with SQL, sort and filter a grid that handles millions of rows, draw a chart, and export the result. It is free, and it runs at bedeverewise.app with nothing to install.

But the best part is where the work happens. DuckDB is compiled to WebAssembly and runs inside your browser tab. The file you open is read by that tab and never uploaded to a server. There is no account and no sign-in. For a clinical dataset, that is the difference between a tool you may use and a tool you must ask permission for.

How it works

Three pieces do the work.

DuckDB is the engine. The WebAssembly build is the same database that runs on servers, with the sandbox of a browser tab around it.

the-stats-duck is our DuckDB extension. It reads the four statistical formats, adds statistics such as table_one, lm, and meta, and renders charts through VISUALIZE. Bedevere loads it into the browser's DuckDB on demand.

The viewer itself is open source. The newsletter noticed the DuckDBService wrapper and the DataProvider interface that drive the canvas grid and the Vega-Lite charts, and the SQL editor with its PostgreSQL-flavoured dialect. All of it is in the bedevere-wise repository under the MIT licence, and it is published as the @kolistat/bedevere-wise package. The two live demos in the 0.15 roundup are that package embedded in this site.

The part the newsletter left out

Since 5 September there is also Bedevere Desktop, free during its beta. It is the same interface running on native DuckDB instead of the WebAssembly build. Native DuckDB has no sandbox around it, so large GROUP BYs and multi-file joins run faster, and it uses your machine's memory instead of a browser tab's limited allowance. Open Folder uses the Windows file dialog and reads your files in place.

It is also small for a desktop app with a web interface: about 75 MB installed, because the shell uses the WebView2 engine Windows already has instead of shipping a copy of Chromium. Inside are native DuckDB 1.5.1, the-stats-duck, and the excel extension for .xlsx files. The beta runs on Windows 10 and 11; macOS and Linux builds are planned but not ready yet.

Download the 0.15.0 beta for Windows. Everything else that changed this year, from the Paper look to whole-table export to SAS and SPSS, is in the 0.15 roundup.

If you came from the newsletter and a file does not open, tell us through the contact page. A file that Bedevere cannot read is something we would really like to see.