Nest UI - Terminal UI + Assistant Framework
Project description
Nest UI Community Framework
A community-focused Python terminal UI framework for developer tools, launchers, dashboards, and ops consoles.
What changed in this beauty update
This update focuses on making Nest UI feel more premium inside the terminal while keeping all of the existing community/dev features.
Visual upgrades
- More polished card rendering with stronger focus borders.
- Better command/footer bar styling.
- Nicer section headers and notification panels.
- Expanded emoji pack for widgets, ops tools, plugins, search, workspace, and dashboard concepts.
- Added extra built-in themes:
neon_nightrose_goldoceanicemberorchid
- Existing premium themes retained:
auroraroyalfrostmidnightsunsetmatrix
Compatibility upgrades
Window.log()now accepts both:window.log("hello")window.log("INFO", "hello")
- Added
Section.add_stat(...)alias for easier stat card usage. - Added
Section.add_key_value(...)helper alias. - Added
themescommand in the UI to list all bundled themes quickly.
Included feature packs
Core UX
- Tabs, nested tabs, context menus, shortcuts, settings overlay, focus highlight, accessibility, density modes, mouse toggle, responsive resize, onboarding overlay.
Data/UI
- Typed inputs (
int,float,email,url,path) - Masked/password input
- Conditional fields
- Schema validation helpers
- File picker
- JSON viewer
- Key/value cards
- Stat cards
- Multi-select
Tables
- Searchable tables
- Sortable/filterable tables
- Pagination
- Editable cells
- Status tables
Dev/Ops
- Logger
- Log viewer
- Terminal output panel
- Task runner
- Background jobs
- Service controller
- Process monitor
- Port checker
- Health checks
- Dependency graph
- Scheduler
- Recent projects
- Workspace profiles
Voice system
- Free-form voice/typed command mode
- Phrase matching
- Wake word
- Cooldown
- Dangerous action confirmation
- Command chaining (
then) - Multilingual phrase packs
Plugins
- Metadata
- Sandbox flag
- Enable/disable state
- Hooks through the event bus
- Widget registry for custom widgets
- Plugin browser table support
Persistence/config
- Config manager
- Theme editor
- Save/load UI state
- Workspace profiles
Quick start
from nest_ui import App
app = App(theme='aurora', icon_pack='emoji')
window = app.create_window('Nest UI', 'community framework')
main = window.create_tab('Main').create_section('Demo')
main.add_stat('CPU', '23%', tone='info', delta='+3%')
main.add_button('Hello', lambda: window.log('hello from Nest UI'))
window.run()
Demo files
python examples/demo_all.py
python examples/demo_beauty_plus.py
Bundled themes
dark, light, midnight, matrix, sunset, aurora, royal, frost, neon_night, rose_gold, oceanic, ember, orchid
Notes
- Microphone input is optional and uses
SpeechRecognitionif installed. - Clipboard integration uses
pyperclipif installed. - Process monitoring uses
psutilif installed. - Terminal appearance depends on the font and emoji support of the terminal being used.
What changed in the assistant + interaction update
Assistant mode
- Added
AssistantManagerfor Jarvis-like helper flows inside Nest UI. - Added
AssistantPanelwidget for listening/status/intent previews. - Added
TranscriptPanelwidget for live transcript history. - Added default assistant intents for:
- opening games/apps
- switching tabs
- changing themes
- opening logs/help
- Added transcript memory, wake-word handling, and voice-reply toggles.
- Added assistant-friendly transcript logging such as:
คุณพูดว่า: เปิดเกม Robloxกำลังเปิดเกม roblox
Voice capture fixes
- Improved microphone capture with provider detection.
VoiceEnginenow triesSpeechRecognitionfirst and Windows nativeSystem.Speechas a fallback on Windows.- Better typed fallback warnings when mic capture fails.
- Added provider/status tracking for debugging voice capture issues.
Click / mouse fixes
- Added best-effort clickable widget activation in terminals that support VT mouse reporting.
- Mouse support now enables extended SGR reporting and maps click rows back to widget cards.
- Improved Windows VT console setup when mouse mode is enabled.
New quick commands
assistantopens the assistant bridge directly.Ashortcut opens the assistant prompt.
New icons
- Added assistant/transcript/mic/speaker icons for richer assistant dashboards.
Assistant quick start
from nest_ui import App
app = App(theme='neon_night', icon_pack='emoji', mouse_support=True)
window = app.create_window('Nest Assistant', 'assistant-ready terminal ui')
assistant = window.enable_assistant(enabled=True, wake_word='nest', voice_reply_enabled=False, voice_profile='nova')
sec = window.create_tab('Assistant').create_section('Bridge')
sec.add_assistant_panel('Nest Assistant', manager=assistant)
sec.add_transcript_panel('Transcript', manager=assistant)
window.run()
Notes for mouse + voice
- Mouse click support is best on Windows Terminal, iTerm2, modern xterm-compatible terminals, and other VT-enabled terminals.
- Voice capture will use
SpeechRecognitionwhen installed, then fall back to WindowsSystem.Speechon Windows. - If microphone capture still fails, use the built-in typed fallback to verify assistant routing first.
Project details
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 nest_ui-1.0.0.tar.gz.
File metadata
- Download URL: nest_ui-1.0.0.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35debe1c589430fc4f5b783e89759e1f590c05a0b2ddc4b9a7e7f1fc6eb05432
|
|
| MD5 |
ff26242fd9e9ee04494056265ee2696a
|
|
| BLAKE2b-256 |
09ab2353c7293dd09f962504466016abd1d25196757b8c3f7a24b9787839599c
|
File details
Details for the file nest_ui-1.0.0-py3-none-any.whl.
File metadata
- Download URL: nest_ui-1.0.0-py3-none-any.whl
- Upload date:
- Size: 43.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88e43e4c603339761a52c1095e261a0f9086c355023fc3a26fb91728e683c20f
|
|
| MD5 |
fe46adb687262d679b4cbf8d77d1d07a
|
|
| BLAKE2b-256 |
d45da2d7dc93a9ae3ec6f21e52c43a37808f9219c02342e94be43679bc98b342
|