PySide6 UI component library with the OmniNative dark theme
Project description
OmniNative UI
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.
✨ Features
- 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.
🚀 Installation
Install the package directly from PyPI:
pip install omninative-ui
Installing from Source (Development)
If you want to contribute or modify the library locally:
git clone https://github.com/rgcodeai/omninative-ui.git
cd omninative-ui
pip install -e .
💻 Quick Start
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())
📖 Documentation
For full API references, architecture guides, and instructions on how to create new components, please check the Full Documentation (/docs/INDEX.md).
🤖 For AI Agents
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.
🧩 Components
Core
| 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 |
Inputs
| 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 |
Containers
| Component | Description |
|---|---|
OScrollArea |
Themed scrollable area |
OTreeWidget |
Collapsible accordion container |
OTabs |
Tab navigation |
OVirtualTable |
Virtual table with inline editing |
Media
| 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 |
Chat
| Component | Description |
|---|---|
OChatView |
Chat message history |
OChatMessage |
Individual chat bubble |
OChatInput |
Chat text input with actions |
OActionMenu |
Floating action popover |
🎨 Design Tokens
Access the color palette via the OMNINATIVE dictionary:
from omninative_ui import OMNINATIVE
print(OMNINATIVE["primary"]) # "#B6FF0E"
print(OMNINATIVE["background"]) # "#2C2C2C"
🤝 Contributing
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.
📄 License
LGPL-3.0-only
🎖️ Credits & Attribution
This project is made possible thanks to:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file omninative_ui-0.1.11.tar.gz.
File metadata
- Download URL: omninative_ui-0.1.11.tar.gz
- Upload date:
- Size: 47.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d88785df18b110c6eba6bf60ba17fc137c840a9419918c706c2710dd74c8841
|
|
| MD5 |
52de4676aac740a412da82f6cf20fd11
|
|
| BLAKE2b-256 |
2fbac8ecd8b4c58e299be5f9f41cc03f07bf7401fae95bd666d15f9af776820b
|
File details
Details for the file omninative_ui-0.1.11-py3-none-any.whl.
File metadata
- Download URL: omninative_ui-0.1.11-py3-none-any.whl
- Upload date:
- Size: 50.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
916c271732167e2c324f8317d99e540262886ff8d3ce8ed970fc09e9ff9dfdca
|
|
| MD5 |
bf08c56cd7640849cb6b87f92c726718
|
|
| BLAKE2b-256 |
008d61ef68962f25da0313c2f27fc45208cd16d61b63663258125157119bce75
|