2025-09-27 18:02:29 +02:00
2025-09-27 18:02:29 +02:00
2025-09-27 18:02:29 +02:00
2025-09-27 18:02:29 +02:00
2025-09-27 18:02:29 +02:00
2025-09-27 18:02:29 +02:00
2025-09-27 18:02:29 +02:00

BadGUI

BadGUI is a Python framework that generates Vue.js/Quasar projects using syntax similar to NiceGUI. Instead of running a live server, BadGUI creates a complete, editable Vue.js project that you can further customize and deploy.

Features

  • NiceGUI-like syntax: Write familiar Python code to define your UI
  • Vue.js/Quasar output: Generates modern, responsive web applications
  • Static project generation: Creates editable Vue projects, not live servers
  • Component-based: Modular component system for reusable UI elements
  • Layout system: Built-in row/column layouts for easy arrangement

Quick Start

Installation

pip install badgui

Basic Usage

Create a Python file with your UI definition:

# main.py
import badgui as bg

# Create some UI components
bg.label("Hello BadGUI!")

with bg.row():
    bg.button("Click me!")
    bg.input(placeholder="Enter text...")

with bg.column():
    bg.label("Column item 1")
    bg.label("Column item 2")

# Build the Vue.js project
bg.build(output_dir="./my-vue-app")

Build and Run

# Generate the Vue project
python main.py

# Navigate to the generated project
cd my-vue-app

# Install dependencies
npm install

# Run the development server
npm run dev

Components

BadGUI currently supports these basic components:

  • label(text) - Text labels
  • button(text, on_click=None) - Interactive buttons
  • input(placeholder="") - Text input fields
  • row() - Horizontal layout container
  • column() - Vertical layout container

Project Structure

When you run bg.build(), BadGUI generates a complete Vue.js/Quasar project with:

  • /src/pages/IndexPage.vue - Main page with your components
  • /src/layouts/MainLayout.vue - App layout structure
  • /src/router/ - Vue Router configuration
  • /package.json - Project dependencies
  • /quasar.config.js - Quasar framework configuration

Development Status

BadGUI is in early development. Current version (0.1.0) includes:

Basic component system (label, button, input)
Layout containers (row, column)
Vue.js/Quasar project generation
Development server setup

Planned features:

  • More UI components (cards, dialogs, tables, etc.)
  • Event handling and interactivity
  • Data binding capabilities
  • Styling and theming system
  • Advanced layouts and responsive design

Contributing

BadGUI is open source and contributions are welcome! Please feel free to submit issues and pull requests.

License

MIT License

S
Description
No description provided
Readme 67 MiB
Languages
Python 98.7%
JavaScript 1.3%