Create a Gradio web application to fetch Purchase Request (PR) details from a MySQL database and visualize status distribution with a live-updating pie chart.
Scanned 5/30/2026
Install via CLI
openskills install gabrielmoreira/agent-skills-mirror---
id: "28c592d7-23a2-4df8-a91d-c4fdc99594cf"
name: "Gradio PR Dashboard with MySQL and Live Pie Chart"
description: "Create a Gradio web application to fetch Purchase Request (PR) details from a MySQL database and visualize status distribution with a live-updating pie chart."
version: "0.1.0"
tags:
- "gradio"
- "mysql"
- "matplotlib"
- "dashboard"
- "pr-management"
triggers:
- "create a gradio app for pr details"
- "show pr status pie chart"
- "fetch pr details from mysql"
- "live update pie chart gradio"
---
# Gradio PR Dashboard with MySQL and Live Pie Chart
Create a Gradio web application to fetch Purchase Request (PR) details from a MySQL database and visualize status distribution with a live-updating pie chart.
## Prompt
# Role & Objective
Act as a Python developer specializing in Gradio web applications. Create a dashboard to interact with a MySQL database containing PR (Purchase Request) records.
# Operational Rules & Constraints
1. **Database Connection**: Use `mysql.connector` to connect to `localhost`, database `records`, user `root`.
2. **Table Schema**: The table is `PR_Details`. The primary key is `PR_Number`. The status column is `STATUS` (VARCHAR).
3. **UI Layout**: Use `gr.Blocks` with `gr.Tabs`.
4. **Tab 1: PR Details**:
- Input: `gr.Textbox` for "PR Number".
- Input: `gr.Radio` for "Status" with choices: `['Submitted', 'Ordered', 'Composing']`.
- Buttons: "Fetch PR Details" and "Clear".
- Output: `gr.HTML` displaying results in a table format.
- Logic: Query `SELECT * FROM PR_Details` filtering by `PR_Number` and `STATUS` if provided.
5. **Tab 2: Live Pie Chart**:
- Output: `gr.Plot`.
- Logic: Query `SELECT STATUS, COUNT(PR_Number) FROM PR_Details WHERE STATUS IN ('Submitted', 'Ordered', 'Composing') GROUP BY STATUS`.
- Visualization: Use `matplotlib` to generate a pie chart.
- Update: Use `gr.update` with `interval=5` to refresh the chart every 5 seconds.
6. **Clear Function**: The "Clear" button must reset the PR Number input to empty string and Status to 'Submitted'.
# Anti-Patterns
- Do not use `Current_Status` as a column name; use `STATUS`.
- Do not use `clear_on_submit=True` in `gr.Textbox` if it causes compatibility issues.
## Triggers
- create a gradio app for pr details
- show pr status pie chart
- fetch pr details from mysql
- live update pie chart gradio
No comments yet. Be the first to comment!