Welcome to PyWidgets, a fast, lightweight and extensible UI system built with pygame for real-time interaction with autonomous driving stacks like CARLA, OpenCV, and more.
"Designed to help you visualize, debug, and control your autonomous pipeline in real time."
- 🧩 Modular Widgets: Sliders, toggles, buttons, labels, checkboxes, dropdowns, lists, text inputs, and more.
- 📦 Layouts & Containers: HorizontalBox, VerticalBox, Foldouts, Grouping — auto-adjust and responsive.
- 🎨 Themes & Skins: Switch between dark/light/custom themes using ID-based skin properties.
- 🕹 Live CARLA Integration: Real-time image/mask stream widgets from CARLA sensors with adjustable transforms.
- 🧠 Sensor-Friendly Design: Includes camera visualization, semantic segmentation masks, and transform editing tools.
- 🔧 Runtime Interaction: Adjust values, tune parameters, and send control signals while your app runs.
| Layouts & Windows | Lists & Buttons | Foldouts & Controls | Text Editors |
|---|---|---|---|
| Sliders & Toggles | Color Picker | Grouping UI | Dropdowns |
from pywidgets.core.app import App
from pywidgets.carla.Client import CarlaClient
class MyApp(App):
def init(self):
self.client = CarlaClient()
image_widget = self.client.create_images(10, 50, 256, 256)
mask_widget = self.client.create_masks(270, 50, 256, 256)
self.manager.add_widget(image_widget)
self.manager.add_widget(mask_widget)pip install pygame numpyYou will also need:
- CARLA Simulator
- Python 3.8+
pyWidgets/
├── core/ # Base widget, manager, skin, events
├── widgets/ # All custom widgets (sliders, textviews, lists...)
├── layout/ # HorizontalBox, VerticalBox, Foldouts
├── carla/ # CARLA client integration + sensor surfaces
├── images/ # GIF demos of components
├── test_app.py # Demo/test entry
├── README.md
- Fully custom GUI components
- CARLA integration (images + semantic masks)
- Live layout updates & responsive widgets
- Clipboard and file dialogs
- Remote control interfaces via socket/MQTT
- Auto-generate widgets from config/schema
Feel free to open issues, suggest features, or fork & extend the toolkit. Contributions welcome!
MIT License
Made with ❤️ for real-time autonomy development.