eldarski
πΊ Add demo video link - Complete hackathon submission with video demonstration of both MCP server and custom component tracks
ab5fac7 | title: π¨ Gradio Themer - Demo & MCP Server | |
| emoji: π¨ | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: gradio | |
| sdk_version: 5.31.0 | |
| app_file: app.py | |
| pinned: true | |
| license: mit | |
| short_description: User-configurable themes for Gradio + MCP server | |
| models: | |
| - MasterControlAIML/DeepSeek-R1-Qwen2.5-1.5b-SFT-R1-JSON-Unstructured-To-Structured | |
| tags: | |
| - mcp-server-track | |
| - custom-component-track | |
| - Agents-MCP-Hackathon | |
| - gradio | |
| - theming | |
| - agent-ui | |
| # π¨ Gradio Themer - Demo & MCP Server | |
| **π Dual Track Hackathon Submission**: Custom Component + MCP Server | |
| ## πΊ Demo Videos | |
| ### π¬ **Complete Demo Video**: [Watch on YouTube](https://youtu.be/qQ0gQQIFiBQ) | |
| This video demonstrates: | |
| - **Track 1 (MCP Server)**: MCP server integration with AI agents for automated theme generation | |
| - **Track 2 (Custom Component)**: Interactive Gradio component usage and theming workflow | |
| - **Complete workflow**: From CSS conversion to theme application using both tracks | |
| ## π Features | |
| - **Dynamic Theme System**: User-configurable themes via JSON | |
| - **AI-Powered Conversion**: Convert CSS/descriptions to theme JSON using HuggingFace models | |
| - **MCP Server Integration**: 4 practical tools for theme development | |
| - **Production Ready**: Built and tested package | |
| ## π€ MCP Tools (Production-Focused) | |
| ### 1. `generate_theme` | |
| **Purpose**: Create complete theme JSON with intelligent color harmonies | |
| **Parameters**: | |
| - `theme_name`: Name of the theme | |
| - `primary_color`: Main color (hex format, default: "#3b82f6") | |
| - `theme_style`: "light" or "dark" (default: "light") | |
| - `color_harmony`: "complementary", "triadic", "analogous", "monochromatic" (default: "complementary") | |
| **Output**: Complete theme JSON with harmonious colors and accessibility considerations | |
| ### 2. `convert_css_to_theme` | |
| **Purpose**: Convert existing CSS or natural language descriptions to theme JSON | |
| **Parameters**: | |
| - `css_input`: CSS code or style description | |
| - `theme_name`: Name for the converted theme (default: "converted_theme") | |
| **Output**: Theme JSON extracted from CSS using AI and pattern matching | |
| ### 3. `apply_theme_preview` | |
| **Purpose**: Generate CSS code for immediate theme preview in any Gradio app | |
| **Parameters**: | |
| - `theme_json`: Theme JSON configuration | |
| **Output**: Ready-to-use CSS code for instant theme application | |
| ### 4. `export_theme_package` | |
| **Purpose**: Export complete theme package with JSON, CSS, and usage instructions | |
| **Parameters**: | |
| - `theme_json`: Theme JSON configuration | |
| - `package_name`: Name for the package files (default: "my_theme") | |
| **Output**: Complete package with files, documentation, and sample code | |
| ## π― Why These Tools? | |
| **β Removed**: Package management tools (not useful for theme development) | |
| **β Added**: Practical workflow tools that developers actually need: | |
| 1. **Smart Theme Generation**: Uses color theory for harmonious palettes | |
| 2. **CSS Migration**: Convert existing designs to Gradio themes | |
| 3. **Instant Preview**: Get CSS for immediate testing | |
| 4. **Complete Export**: Ready-to-use packages with documentation | |
| ## π§ Usage Examples | |
| ### Generate Theme with Color Harmony | |
| ```python | |
| # Create complementary color scheme from blue primary | |
| generate_theme("Ocean Theme", "#0ea5e9", "light", "complementary") | |
| ``` | |
| ### Convert Existing CSS | |
| ```python | |
| # Convert CSS variables to theme JSON | |
| convert_css_to_theme(""" | |
| :root { | |
| --primary: #3b82f6; | |
| --background: #ffffff; | |
| --text: #1e293b; | |
| } | |
| """, "Converted Blue Theme") | |
| ``` | |
| ### Get Preview CSS | |
| ```python | |
| # Generate CSS for immediate application | |
| apply_theme_preview('{"ocean_theme": {"colors": {...}}}') | |
| ``` | |
| ### Export Complete Package | |
| ```python | |
| # Create ready-to-use theme package | |
| export_theme_package('{"my_theme": {...}}', "awesome_theme") | |
| ``` | |
| ## π Production Benefits | |
| 1. **Workflow Efficiency**: Tools cover the complete theme development cycle | |
| 2. **Color Theory**: Automatic generation of harmonious color schemes | |
| 3. **Accessibility**: Built-in contrast considerations | |
| 4. **Migration Support**: Easy conversion from existing CSS | |
| 5. **Instant Testing**: Preview CSS for immediate application | |
| 6. **Complete Packages**: Everything needed for distribution | |
| ## π Setup & Installation | |
| ### For HuggingFace Spaces: | |
| This Space is ready to deploy! Just upload all files to your HF Space. | |
| ### For Local Development: | |
| ```bash | |
| pip install gradio>=5.31.0 gradio-themer>=0.1.0 requests transformers torch | |
| python app.py | |
| ``` | |
| ### For MCP Client Integration: | |
| Configure your MCP client (Claude Desktop, Cursor, etc.) to connect to this Space: | |
| ```json | |
| { | |
| "mcpServers": { | |
| "gradio-themer": { | |
| "command": "python", | |
| "args": ["-m", "gradio_mcp"], | |
| "env": { | |
| "GRADIO_MCP_URL": "https://your-space-url.hf.space" | |
| } | |
| } | |
| } | |
| } | |
| ``` | |
| ## π Hackathon Submission | |
| **Track 1 (MCP Server)**: | |
| - Tag: `mcp-server-track` | |
| - 4 production-focused MCP tools | |
| - Complete theme development workflow | |
| **Track 2 (Custom Component)**: | |
| - Tag: `custom-component-track` | |
| - Published package: `gradio_themer` | |
| - Interactive Gradio component | |
| ## π¨ Demo Features | |
| - **Random Theme Button**: Apply any of 13+ available themes | |
| - **CSS to JSON Converter**: AI-powered conversion using HuggingFace models | |
| - **Theme Showcase**: Live preview of different theme styles | |
| - **MCP Integration**: Embedded MCP server functionality | |
| ## π¦ Package Information | |
| - **Package**: `gradio_themer-0.1.0` | |
| - **Class**: `GradioThemer` | |
| - **Import**: `from gradio_themer import GradioThemer` | |
| - **Status**: Production ready | |
| ## π Links | |
| - **π¨ This Demo Space**: `https://huggingface.co/spaces/eldarski/gradio-themer-demo` | |
| - **π¦ PyPI Package**: `https://pypi.org/project/gradio-themer/` | |
| - **π GitHub Repository**: `[Repository URL]` | |
| - **π¬ MCP Demo Video**: [https://youtu.be/qQ0gQQIFiBQ](https://youtu.be/qQ0gQQIFiBQ) | |
| - **π¬ Component Demo Video**: [https://youtu.be/qQ0gQQIFiBQ](https://youtu.be/qQ0gQQIFiBQ) | |
| --- | |
| **Built for HuggingFace Gradio Hackathon 2024** | |
| ## πΊ Demo Videos | |
| ### π€ Track 1: MCP Server Demo (`mcp-server-track`) | |
| **MCP Server in Action with Cursor AI**: [Video Demo Link - Coming Soon] | |
| - Shows the MCP server being used with Cursor AI for automated theme generation | |
| - Demonstrates all 4 MCP tools in a real development workflow | |
| - Live theme creation and application via AI agent | |
| ### π¨ Track 2: Custom Component Demo (`custom-component-track`) | |
| **Component Usage Demo**: [Video Demo Link - Coming Soon] | |
| - Interactive demonstration of the GradioThemer custom component | |
| - Shows theme switching and configuration in various Gradio applications | |
| - Demonstrates the published package in action | |