feat: Add vibe-plotter FastHTML app for showcasing plot-agent#7
Draft
andrewm4894 wants to merge 11 commits intomainfrom
Draft
feat: Add vibe-plotter FastHTML app for showcasing plot-agent#7andrewm4894 wants to merge 11 commits intomainfrom
andrewm4894 wants to merge 11 commits intomainfrom
Conversation
- Add URL loading methods to PlotAgent (load_from_url, from_url classmethod) - Add export methods (export_html, export_png, export_json, export_code) - Add httpx and kaleido dependencies for URL loading and PNG export New vibe_plotter app features: - UCI ML dataset picker with 10 popular datasets via ucimlrepo API - Custom CSV URL loading support - Natural language chat interface for visualization requests - Interactive Plotly chart display with HTMX updates - Export buttons for HTML, PNG, JSON, and code downloads - Full PostHog LLM analytics with frontend/backend session linking - Render deployment configuration Tech stack: FastHTML, Pico CSS, Plotly, PostHog
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Render requires major.minor.patch format (e.g., 3.12.0) not just major.minor (3.11).
- Refactor app.py to use MonsterUI components (Card, NavBar, Grid, etc.) - Use FastHTML's built-in session support for proper header injection - Add Theme.blue styling with proper CSS - Update requirements to use latest FastHTML and MonsterUI - Update pyproject.toml to require Python 3.12+ - Add Makefile commands: app, app-dev, app-install
- Replace 2-column layout with single-column stacked panels - Add collapsible Settings & Data Source panel with cog icon - Add collapsible Data Preview panel (collapsed by default) - Convert Chat to compact collapsible panel with single-row input - Keep Visualization card at bottom - Use MonsterUI Details/Summary for collapsible sections - Add .playwright-mcp to gitignore
- Check for OPENROUTER_API_KEY and OPENROUTER_BASE_URL env vars - Use OpenRouter when configured, fall back to OpenAI - Update vibe_plotter config to support both providers - Log which LLM provider is being used in debug mode To use OpenRouter, set: OPENROUTER_API_KEY=your_key OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 (optional, this is default) LLM_MODEL=anthropic/claude-3.5-sonnet (or any OpenRouter model)
- Pre-fill chat input with "plot this" when dataset is loaded - Use HX-Redirect header to refresh page after loading dataset - Enables quick visualization with just a button click Sources: - OpenRouter LangChain integration: https://openrouter.ai/docs/guides/community/langchain
- Always render #chat-messages div (hidden when empty) - Remove 'hidden' class on first message via hx_on__after_request - Fixes htmx:targetError when submitting chat with no history
- Add comprehensive README for vibe_plotter web app - Update main README with Vibe Plotter section - Document OpenRouter LLM provider support - Update Python requirement to 3.12+
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new FastHTML web app called vibe-plotter that showcases plot-agent as an agentic data visualization tool. Users can select datasets, describe visualizations in natural language, and download generated plots.
Plot-Agent Enhancements
load_from_url()method andfrom_url()classmethod for loading CSV data from URLsexport_html(),export_png(),export_json(),export_code()httpxandkaleidodependenciesVibe-Plotter App Features
ucimlrepoAPITech Stack
Test Plan
python -m vibe_plotter.app)