Open SourceHardware & Inference 🇺🇸 04.08.2026 12:01

Reflex Open Sources XY: A Rust-Backed Python Charting Library That Keeps 100 Million Point Charts Interactive

Reflex AI has released XY, an Apache-2.0 Python charting library for interactive 2D visualization. It uses a native Rust core and WebGL2 to keep charts responsive even with 100 million points, achieving render times around 0.08 seconds. The library is available via pip install xy and requires Python 3.11 or newer.
Reflex AI has open-sourced XY, an Apache-2.0 licensed Python charting library for interactive 2D visualization. The library addresses the performance degradation of traditional Python charting stacks, which create one drawable object per row and slow down past a few hundred thousand points. XY moves rendering work into a native Rust core, sends typed binary buffers to the browser instead of JSON, and draws via WebGL2. Benchmark results show XY maintains a render time of 0.071 seconds at 10,000 points and 0.081 seconds at 100 million points. The library is in early alpha (version 0.0.1) and is installed with pip install xy, requiring Python 3.11 or newer. It offers declarative composition of marks, axes, legends, tooltips, and annotations, and ships with 14 chart families including scatter, line, area, histogram, box, violin, ECDF, heatmap, hexbin, and contour. The library keeps exact f64 columns in a Python ColumnStore, ensuring hover, selection, and zoom drilldown still return original rows. XY exports a 10-million-point interactive scatter to 258 KiB of HTML, compared to 259 MiB for Plotly. A benchmark on an Apple M5 Pro shows XY at 0.084 s for 1M points, 0.083 s for 10M, 0.076 s for 50M, and 0.081 s for 100M, while Matplotlib and Plotly fail or slow significantly at higher counts. Reflex also reports rendering the full OpenStreetMap dataset of 10 billion points. The library includes a migration path: import xy.pyplot as plt runs common Matplotlib pyplot code, and a reflex-xy adapter converts charts into Reflex components without JavaScript or iframes.
Abbreviations
JSON = JavaScript Object Notation — JavaScript Object Notation
WebGL2 = Web Graphics Library 2 — Web Graphics Library 2
CSS = Cascading Style Sheets — Cascading Style Sheets
ECDF = Empirical Cumulative Distribution Function — Эмпирическая функция распределения
HTML = HyperText Markup Language — HyperText Markup Language
MiB = Mebibyte — Мебибайт
GiB = Gibibyte — Гибибайт
ML = Machine Learning — Машинное обучение
GPU = Graphics Processing Unit — Графический процессор
Source: MarkTechPost — original
Our earlier posts on this topic ↓
Fresh news