Skip to content

Open the README with a hello-world and add a chart roadmap - #300

Merged
Alek99 merged 5 commits into
mainfrom
alek/readme-onboarding-fixes
Jul 25, 2026
Merged

Open the README with a hello-world and add a chart roadmap#300
Alek99 merged 5 commits into
mainfrom
alek/readme-onboarding-fixes

Conversation

@Alek99

@Alek99 Alek99 commented Jul 25, 2026

Copy link
Copy Markdown
Member

Four onboarding fixes to the top-level README.

Lead with a hello-world

Getting started opened with the 100M-point density demo — a great showcase, but
intimidating as the first thing a reader copies. A three-line line chart built
from plain Python lists now leads, and the density demo follows as "the same API
scales".

import xy

chart = xy.line_chart(xy.line([1, 2, 3, 4, 5], [120, 180, 165, 240, 310]))
chart  # notebooks render it; elsewhere: chart.to_html("chart.html")

Verified: ran this snippet verbatim against this branch and rendered the
to_html export in a browser — real line, axes, grid.

Add the missing reflex-xy install step

"Embed XY in a Reflex app" jumped straight to import reflex_xy while
Installation only listed pip install xy. Since reflex-xy is a separate
distribution, following that section verbatim ended in ModuleNotFoundError.
Added a pip/uv install block matching the Installation section's shape.

Trim the density explanation

Eleven lines down to two sentences. The benchmarked numbers (0.2 s, 1.03 MB,
189,319 rows) are carried over unchanged. Two minor sentences were dropped: "the
same chart exports unchanged" (the code block's to_html/to_png/to_svg
comments already say it) and the note that the dark GIF is the same chart with
colormap="magma".

Add a Roadmap section

A short list of the chart families queued next, pulled from
spec/api/chart-roadmap.md in its own priority
order — categorical distributions and regression diagnostics next, pie/donut
promoting out of xy.pyplot, candlestick and the finance overlays still
prototyped. Ranks and per-family status prose are deliberately left in the
roadmap doc so the README does not drift as that doc is reordered; the section
links out to it. Closes with a pointer to open an issue for a chart or feature
that isn't listed.

Checks

pre-commit run --all-files, ruff check ., and ruff format --check . all
pass. README-only change; no test or lint hook reads the root README (codespell
is scoped to docs/).

Summary by CodeRabbit

  • Documentation
    • Added an introduction to charts with a notebook rendering and HTML export example.
    • Clarified density surface thresholding, zoom behavior, and HTML export details.
    • Added installation instructions for embedding XY in a Reflex app.
    • Added a roadmap covering planned chart types, diagnostics, and enhancements.

Four onboarding fixes to the README:

- Getting started opened with the 100M-point density demo. Impressive, but
  intimidating as the first thing a reader copies. A three-line line chart
  built from plain Python lists now leads, and the density demo follows as
  "the same API scales".

- The Reflex section jumped straight to `import reflex_xy` while Installation
  only mentioned `pip install xy`. Since reflex-xy is a separate distribution,
  following that section verbatim ended in ModuleNotFoundError. Added the
  install block.

- Cut the density explanation from eleven lines to two sentences, keeping the
  benchmarked numbers unchanged.

- Added a Roadmap section listing the chart families queued next, pulled from
  spec/api/chart-roadmap.md in its own priority order, with each family's real
  status (planned, prototyped, or promoting out of xy.pyplot) and a link to
  the full ranked backlog.
@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Alek99, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 31 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 253c5a43-4e83-4403-be9e-bb732319ffde

📥 Commits

Reviewing files that changed from the base of the PR and between 5025d66 and 9f93d4d.

📒 Files selected for processing (1)
  • README.md
📝 Walkthrough

Walkthrough

The README adds a basic chart introduction and example, clarifies density rendering and export behavior, documents reflex-xy installation, and adds a roadmap of planned features.

Changes

README documentation

Layer / File(s) Summary
Chart onboarding and density behavior
README.md
Introduces chart concepts and a xy.line_chart example, then summarizes threshold aggregation, zoom drilldown, and to_html re-binning.
Reflex setup and roadmap
README.md
Adds reflex-xy installation commands and lists planned chart and analysis features.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • reflex-dev/xy#297: Reworks overlapping README getting-started content and density chart explanations.

Suggested reviewers: palashawasthi05

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the README onboarding updates and new roadmap section introduced by the PR.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch alek/readme-onboarding-fixes

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 102-104: Update the density-performance paragraph in README.md to
identify the dataset, execution mode, and environment used for the figures.
Verify that the 0.2 s, 1.03 MB, and 189,319 values match benchmark outputs from
scripts/bench.py, and revise the claims to use those benchmark-sourced values
rather than undocumented unconditional behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 63599f26-c904-42b4-859f-5324dd9353da

📥 Commits

Reviewing files that changed from the base of the PR and between 27f41a6 and 5025d66.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
Comment on lines +102 to +104
Past a threshold the scatter becomes a density surface — 100M points compose
in 0.2 s into a 1.03 MB payload sized by the screen, not by `n` — and zooming
into a sparse region drills back to the real rows, 189,319 at the depth shown.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Scope the density performance figures and source them from the benchmark.

These values are presented as unconditional behavior. Add the matching dataset, execution mode, and environment, and verify that 0.2 s, 1.03 MB, and 189,319 come from scripts/bench.py rather than being manually maintained.

As per coding guidelines, README performance claims must be mode-scoped and benchmarked, and README numbers must come from scripts/bench.py.

#!/bin/bash
# Verify the documented figures and their benchmark provenance.
rg -n "0\.2|1\.03|189,319|100[_ ]?million|density" README.md scripts/bench.py
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 102 - 104, Update the density-performance paragraph
in README.md to identify the dataset, execution mode, and environment used for
the figures. Verify that the 0.2 s, 1.03 MB, and 189,319 values match benchmark
outputs from scripts/bench.py, and revise the claims to use those
benchmark-sourced values rather than undocumented unconditional behavior.

Source: Coding guidelines

@Alek99
Alek99 merged commit fc8dde6 into main Jul 25, 2026
20 checks passed
@codspeed-hq

codspeed-hq Bot commented Jul 25, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 102 untouched benchmarks
⏩ 2 skipped benchmarks1


Comparing alek/readme-onboarding-fixes (9f93d4d) with main (27f41a6)

Open in CodSpeed

Footnotes

  1. 2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant