XY is an extremely fast, interactive, customizable Python charting library for the web, notebooks, and static exports.
Charts are composed declaratively or through matplotlib conventions. You can fully customize them with Python, CSS, or Tailwind.
With small charts, every point is sent to the browser. For large charts, the Rust core computes only what the screen needs to display, based on its resolution. Pan, zoom, hover, and selection can show full details by running the same process for the new range, and a selection returns the original rows.
With XY we rendered the entirety of OpenStreetMap — a 10,000,000,000 point dataset. See the example →
Important XY is in alpha and is receiving frequent enhancements. ⭐️ Star the repo to follow the progress.
Is XY right for me?
XY is for Python users who want one flexible charting library for everything from everyday plots to custom application visuals and large datasets. Build a chart once, then use it in notebooks and web apps or export it as HTML, PNG, SVG, or PDF.
Installation
pip install xy # or, with uv uv add xy
Getting started
... continue reading