Contributing
XY welcomes focused bug fixes, documentation improvements, tests, and chart surface work. The canonical contributor guide is CONTRIBUTING.md; the internal contributor specification contains the complete release and browser checklists.
Local Setup
git clone https://github.com/reflex-dev/xy.git
cd xy
make setup
make checkmake setup installs the editable development package and builds the required
native core. Source development needs Python 3.11+, a Rust toolchain for that
core, and Node 18+ for bundle checks. Confirm the active compute backend
explicitly:
python -c "import xy.kernels as k; print(k.BACKEND)"The supported value is native. An unavailable core should raise a clear
import error rather than silently selecting another backend.
Choose the Focused Gate
Adding a Chart Type
A complete chart-family contribution normally spans:
- Builder validation and rollback tests.
- Canonical column ingest or an aggregate kernel.
- Payload metadata with an explicit direct, decimated, density, sampled, or adaptive mode.
- Renderer support or reuse of an existing primitive.
- Standalone/export coverage, including hostile text values.
- A declarative factory and generated API documentation.
- A normal-size visual example, plus a benchmark only when the methodology is honest and reproducible.
Keep generated assets derived from their source generator, preserve lazy
import xy behavior, and include new public symbols in xy.__all__ with type
surface tests.
Before opening a pull request, read the relevant architecture material in the repository and open a focused GitHub issue when the desired behavior changes a public contract.