OmniNative UI is a comprehensive, modern UI component library built on top of PySide6. It provides a fully unified, premium dark theme out of the box, allowing developers to create sleek, professional desktop applications with minimal styling effort.
- Premium Dark Theme: Pre-configured styling so you don't have to write any QSS/CSS.
- Rich Component Library: 20+ ready-to-use widgets including core inputs, virtual tables, interactive multimedia players, and a chat interface.
- Pythonic API: Intuitive wrappers around PySide6 that simplify layout management.
- Native OS Integration: Smooth behavior across Windows, macOS, and Linux without losing the custom aesthetic.
Install the package directly from PyPI:
pip install omninative-uiIf you want to contribute or modify the library locally:
git clone https://github.com/rgcodeai/omninative-ui.git
cd omninative-ui
pip install -e .import sys
from PySide6.QtWidgets import QApplication
from omninative_ui import OWindow, OGroup, OButton, OLabel
app = QApplication(sys.argv)
window = OWindow(title="My App", width=400, height=300)
group = OGroup(window.body, orientation="v")
window.body.layout().addWidget(group)
group.layout_.addWidget(OLabel(group, text="Hello World", bright=True))
group.layout_.addWidget(OButton(group, text="Click Me", primary=True))
window.omninativeui_reveal_when_ready()
window.show()
sys.exit(app.exec())For full API references, architecture guides, and instructions on how to create new components, please check the Full Documentation (/docs/INDEX.md).
If you are an Autonomous Agent or AI Assistant tasked with building an application using OmniNative UI, you can use the AI Instruction Manual (docs/AI_PROMPT.md) as your system prompt or quick-start guide. It contains all the necessary context, component cheat sheets, and rules to write perfect native code out of the box.
| Component | Description |
|---|---|
OWindow |
Top-level window with OmniNative theme |
OGroup |
Vertical/horizontal layout container |
OLabel |
Styled text label |
OElidedLabel |
Auto-eliding text label |
OSectionHeader |
Section heading |
OSeparator |
Horizontal separator line |
OButton |
Button with primary/danger variants |
OComboBox |
Custom styled dropdown |
ORadioButton |
Radio button with icon positioning |
OCheckBox |
Custom styled checkbox |
OStatusBar |
Status bar label |
OOptionRow |
Label + widget row layout |
| Component | Description |
|---|---|
OLineEdit |
Single-line text input |
OTextBox |
Multi-line text input |
OSpinBox |
Numeric input with +/- buttons |
OSlider |
Slider with value display |
OProgressBar |
Progress indicator |
| Component | Description |
|---|---|
OScrollArea |
Themed scrollable area |
OTreeWidget |
Collapsible accordion container |
OTabs |
Tab navigation |
OVirtualTable |
Virtual table with inline editing |
| Component | Description |
|---|---|
OAudioPlayer |
Full audio player with waveform |
OAudioWaveform |
Interactive waveform visualizer |
OImageViewer |
Image gallery with fullscreen |
OFileItem |
Visual card for file attachments with actions |
| Component | Description |
|---|---|
OChatView |
Chat message history |
OChatMessage |
Individual chat bubble |
OChatInput |
Chat text input with actions |
OActionMenu |
Floating action popover |
Access the color palette via the OMNINATIVE dictionary:
from omninative_ui import OMNINATIVE
print(OMNINATIVE["primary"]) # "#B6FF0E"
print(OMNINATIVE["background"]) # "#2C2C2C"Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update the documentation in the docs/ folder as appropriate and read our Component Development Guide.
LGPL-3.0-only
This project is made possible thanks to:

