Installation
XY 0.0.1 supports Python 3.11 and newer. Install the released core package from PyPI with your preferred package manager:
Confirm the package imports from the environment where your code will run:
Supported platforms
XY supports the platforms below. The PyPI column describes only the files in the current 0.0.1 upload, not whether XY supports the platform.
Windows is supported by XY's native core and release pipeline. The current
0.0.1 PyPI upload does not include Windows wheels or a source distribution, so
uv add xy and python -m pip install xy cannot install it directly on
Windows yet. Until a Windows wheel is published, install the tagged source
with a Rust MSVC toolchain as described below.
The runtime-verified WebAssembly wheel targets the standardized PEP 783
pyemscripten_2026_0_wasm32 platform and, as of 0.0.3, is published to PyPI
alongside the native wheels. In-browser Python installs it by package name —
micropip.install("xy"), or %pip install xy in a JupyterLite notebook.
This target runs XY's Python and Rust core inside Pyodide; it is separate
from the JavaScript/WebGL client included with every chart. See
Notebooks for how charts display on WASM
kernels.
What the package includes
The regular xy dependency already includes NumPy and anywidget support.
Published platform wheels bundle the Python package, browser client, and native
Rust compute core. Notebook display and HTML, native PNG, and SVG export do not
require separate notebooks or export extras, Node, npm, or a CDN.
Installing from Git or source
Use the PyPI wheel when your platform is supported. A working source install
must compile the native compute core, so it requires a Rust toolchain with
cargo and rustc. The browser client is committed to the repository; Node
and npm are not required just to install it.
To reproduce the 0.0.1 release from Git with uv:
Or install the same tagged source with pip:
A source build without Rust can finish installing, but it has no compute backend and fails with an actionable error when a chart first needs native compute. XY does not silently switch to a slower implementation. Building for an unsupported operating system or architecture may also require target-specific Rust tooling beyond the commands above.
Optional tools and integrations
- Install
pyarrowseparately when you want Arrow-backed input: - The bundled Reflex integration supports state-backed application charts and remains experimental. Install the extra to select a compatible Reflex version. With uv:
- Or with pip:
- The
xywheel already carries thereflex_xyintegration; the extra adds only the supported Reflex dependency floor. Pin resolved versions for production deployments. Continue with the Reflex integration guide for its current limitations and setup. - Native PNG is the default static raster path and does not launch a browser.
Chromium-based PNG export is optional and discovers Chrome, Chromium, Edge,
or
chrome-headless-shellon the machine; setXY_BROWSERto an executable path when automatic discovery is not appropriate.
Next, build your first chart.