Skip to content

Releases: flex-analytics/flexviz

v0.1.0b3

v0.1.0b3 Pre-release
Pre-release

Choose a tag to compare

@jvdd jvdd released this 11 Sep 12:35

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 v0.1.0b2 Pre-release
Pre-release

Choose a tag to compare

@jvdd jvdd released this 11 Sep 07:43

What's Changed

  • docs: scaffold MkDocs Material site for docs.flexviz.tech by @jvdd in #6
  • perf(line): two-pass OOC envelope -> single-collect streaming by @jvdd in #7
  • Feat/agent interface by @jvdd in #9

Full Changelog: v0.1.0b1...v0.1.0b2

FlexViz 0.1.0b1

FlexViz 0.1.0b1 Pre-release
Pre-release

Choose a tag to compare

@jvdd jvdd released this 25 Aug 15:35

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 flexviz

The 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
    with flexviz, versioned independently (flexviz-polars-v0.1.0b1).

Performance

  • The default line downsampling path (downsample="minmax") runs as one fused
    minmax_line kernel 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_max window 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