Releases: flex-analytics/flexviz
Releases · flex-analytics/flexviz
Release list
v0.1.0b3
What's Changed
- perf(line): optimize streaming envelope aggregation by @jvdd in #11
- Fix/restore render once by @jvdd in #10
- fix(skill): restore lost handoff guidance and document the API traps by @jvdd in #12
- feat(skill): add user-scope install and a plugin marketplace by @jvdd in #13
- Resolve unfiltered domains once per request and pin the Polars engine per source by @jvdd in #20
- feat(line): bucket resident min-max envelopes by x width by @jvdd in #23
- Feat/line lttb fpcs by @jvdd in #27
- Feat/line grouped by @jvdd in #28
- Feat/line cleanup by @jvdd in #41
- Feat/hist1d ooc by @jvdd in #30
- Feat/hist2d ooc by @jvdd in #29
- Feat/geo hist2d ooc by @jvdd in #31
- Perf/ttfr followups by @jvdd in #35
- Feat/line nth ooc by @jvdd in #43
- perf: stream domain probes on resident frames by @jvdd in #45
- refactor(line): replace the nth kernel and grouped fold with 1 gather expr by @jvdd in #46
- perf(hist): use 4M row chunk size for hist1d by @jvdd in #47
- feat: keep server alive until interrupted by @jvdd in #48
Full Changelog: v0.1.0b2...v0.1.0b3
FlexViz v0.1.0b2
FlexViz 0.1.0b1
The first public release of FlexViz: a renderer-agnostic, lazily evaluated,
stateless visualization library built on Polars and FastAPI, for exploring
datasets of 100M+ rows.
pip install flexvizThe Rust kernels arrive as a prebuilt flexviz-polars wheel on Linux
(x86_64, aarch64), macOS (Intel and Apple silicon), and Windows (x64); any
other platform builds them from source on stable Rust.
Highlights
- Ten trace types: line, histogram, box, bar, pie, treemap, 2D histogram,
correlation heatmap, geo 2D histogram, and geo line. - Native cross-filtering in update or overlay mode, with grouped traces and
linked hover. - Client-side cube live-brushing, so dragging a brush costs no server
round-trips. - Shareable URLs that encode viewport, selections, cross-filter mode, and
dashboard layout, with no server-side state. - Drag-and-drop dashboard grid, with the arrangement carried in the URL.
- Plotly.js rendering behind an adapter boundary.
mount_into()for embedding into an existing FastAPI application.flexviz-polars, the Rust Polars expression kernels behind the line
downsampling and fixed-bin histogram and heatmap paths. Released together
withflexviz, versioned independently (flexviz-polars-v0.1.0b1).
Performance
- The default line downsampling path (
downsample="minmax") runs as one fused
minmax_linekernel call per trace. Polars does not
common-subexpression-eliminate plugin expressions, so the previous
index-plus-two-gathers form scanned every column twice; the fused call
halves kernel work and makes frame times markedly steadier. Output is
bit-identical, pinned by a differential test. - The
arg_min_maxwindow scan is parallel across windows on the plugin's
kernel thread pool: ~1.3-1.6x on a single trace at 100M rows. - Benchmarks against Datashader, Vaex, and Mosaic are at
flexviz.tech/benchmarks; the
harness and per-trial results live in
flexviz-benchmarks.
Compatibility
FlexViz is pre-1.0: minor versions may break the Python API, the spec wire
format, shared-URL encoding, and storage or cache formats. See the
compatibility policy.
Full changelog: CHANGELOG.md