datavzrd is an MIT-licensed Rust command-line tool that turns collections of CSV, TSV, JSON or Parquet tables into visual, interactive HTML reports, aimed at researchers and data analysts who need to publish tabular results without writing front-end code.
What it is
datavzrd is a tool for creating visual and interactive HTML reports from collections of tabular data. It accepts CSV, TSV, JSON and Parquet input, and produces reports in which every column carries an automatically generated vega-lite histogram, so a reader can see the distribution behind a number rather than only the number itself. It lives in the Rust ecosystem, is distributed through conda-forge, and is documented on its own website at datavzrd.github.io, where an example report and its corresponding config file can be inspected side by side.
The concrete thing it replaces is hand-built reporting: scripted plotting, spreadsheets exported to static pages, or bespoke web code written to display a set of tables. datavzrd instead takes a declarative config file — the example in the repository is example.datavzrd.yaml — and generates the finished HTML report from it. Plots can be fully customized by users through that config file, and the configuration also allows linkouts to other websites or links between multiple tables within a report. The approach is described in the project's PLOS ONE paper as "rapid programming- and maintenance-free interactive visualization and communication of tabular data."
Key capabilities
- Generates interactive HTML reports from collections of tables in CSV, TSV, JSON or Parquet format, handling several tables in a single report.
- Produces automatically generated vega-lite histograms for every column, giving each field a distribution view without additional configuration.
- Supports full customization of plots through a config file, demonstrated by
example.datavzrd.yaml in the repository.
- Allows linkouts to other websites and links between multiple tables, so a report can act as a navigable set of related datasets.
- Ships a conda-forge recipe (
datavzrd), making it installable into the same Conda environments used for the surrounding analysis.
- Is written in Rust and released under the MIT licence, with tests run through GitHub Actions.
- Documents its behaviour on a dedicated website alongside a live example report, rather than relying on the README alone.
Who uses it and how
- Bioinformatics and research groups, reflected in the repository's
bioinformatics topic and the authors' affiliation with RTG 2535 WisPerMed, use it to communicate analysis tables to collaborators.
- Pipeline authors embed it in Nextflow and Snakemake workflows, both of which appear in the project's topic list, so reports are regenerated as part of a run.
- Teams that need reproducible reporting use it because the report definition lives in a versionable config file rather than in ad-hoc plotting code.
- Groups publishing results publicly host the generated HTML, as the project does with its own example report on datavzrd.github.io.
Getting started
Install from conda-forge with conda install -c conda-forge datavzrd, then write a config file and generate the report; the official documentation at datavzrd.github.io and the example config in the repository are the starting points.
How it compares
No comparable tools are named in the facts supplied for this entry, so datavzrd stands alone in this registry rather than being positioned against alternatives. Its distinguishing characteristics, as documented, are a declarative config-driven workflow and reports that need no programming to produce or maintain.
When to use it — and when not to
Choose datavzrd when the deliverable is a browsable report over one or more tables and the team would rather maintain a config file than a web application; be aware that the operator still runs the tool and hosts the resulting HTML files. It is a poor fit for anyone wanting a hosted service with accounts or a live database-backed dashboard, since none of that is described here. The honest caveats are that the README is brief and defers most documentation to the external website, and that the project carries 15 open issues with a modest 41 forks, so users should expect a small-maintainer project rather than a large ecosystem.