What is XY?

What is XY?

XY is an experimental Python charting library for responsive, interactive 2D visualizations. It combines a native Rust compute core, binary column transport, and a WebGL2 client with a declarative Python API that works in notebooks, applications, and standalone exports.

Two ideas shape the library:

  • Rendered output is bounded by the visible result. Long ordered series are decimated and dense point clouds become fixed-resolution density surfaces, then refine as the view narrows. Ingesting and reducing source rows still requires data-dependent work; XY avoids asking the browser to retain or draw every row when the screen cannot distinguish them.
  • Styling uses familiar web vocabulary. DOM chrome such as titles, axes, legends, tooltips, and controls exposes stable CSS and Tailwind hooks. Canvas marks use a validated subset of CSS properties through style=, so the same intent reaches WebGL, SVG, and native PNG without pretending that CSS selectors can target pixels inside a canvas.

This chart is generated from 40,000 points: 97% sampled inside lowercase Instrument Sans glyphs and 3% retained as a sparse outlier halo. Dense cells become a screen-bounded RGBA heatmap while the source points remain available. Pillow is used only to rasterize the font mask for this example; it is not an XY runtime dependency. View the complete Python source.

Start here

Built with Reflex