NiceGUI-Extras
NiceGUI-Extras is a helper package for NiceGUI that provides ready-to-use UI enhancements and utilities to make your NiceGUI apps more beautiful and flexible.
✨ Features
✅ Right-to-left (RTL) layout support
✅ Sticky top navigation menu
✅ Link-to-button converter
✅ Animated dialogs
✅ Scroll disabling utility
and more...
🚀 Installation
pip install nicegui-extras
💡 How to Use
🧩 In nicegui_extras.utils
Right-to-left Persian layout
from nicegui_extras.utils import farsi_rtl
farsi_rtl() # enables RTL and Vazir font automatically
Disable page scrolling
from nicegui_extras.utils import no_scroll
no_scroll() # disables scrolling on page
🎨 In nicegui_extras.style
Link as button
from nicegui_extras.style import link_button
def link_button(text: str, url: str, new_tab: bool = False):
"""Create a link styled as a button."""
classes = 'q-btn q-btn-item non-selectable no-outline q-btn--flat q-btn--rectangle'
return ui.link(text, url, new_tab=new_tab).classes(classes)
Usage:
link_button('Visit Site', 'https://nicegui.io', new_tab=True)
💬 Animated dialog (CSS class)
For now, you can use this class directly to make a dialog animated and blurred:
animated_dialog = 'backdrop-filter="blur(8px) brightness(20%)"'
Example:
ui.dialog().props(animated_dialog)
📌 Sticky Menu Row
To create a sticky top menu that stays fixed at the top of the page and keeps content visible below it, use the following helper:
from nicegui_extras.layout import menu_row
with menu_row(side='left', height='70px'):
ui.button('Home')
ui.button('Docs')
ui.button('GitHub')
ui.label('Page content starts here...')
This will create a top menu bar that:
- stays fixed when scrolling
- aligns all items from the left side
- automatically adds margin so that other elements do not overlap with the menu
📌 Centered Fullscreen Column
To create a full-screen column where all child elements are perfectly centered both vertically and horizontally, use the ccolumn context manager:
from nicegui_extras.layout import ccolumn
from nicegui import ui
with ccolumn(
classes='bg-neutral-900 gap-4',
style='border:1px solid #444;'
):
ui.icon('home')
ui.label('Centered content')
ui.button('Click me')
🧠 Example App
from nicegui import ui
from nicegui_extras.utils import farsi_rtl, no_scroll
from nicegui_extras.style import link_button, menu_row
farsi_rtl()
no_scroll()
with ui.row().style(menu_row):
ui.label('Main Menu')
link_button('Home', '/home')
ui.run()
🧑💻 Author
Created by Ali Heydari — a Python developer and NiceGUI enthusiast. More features like improved dark mode and ready-made themes are coming soon!
📜 License
MIT License © 2025 Ali Heydari
Metadata
Release files for nicegui-extras 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nicegui_extras-0.2.tar.gz | 4.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nicegui_extras-0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.6 kB
Release files / nicegui_extras-0.2.tar.gz
| Download URL | nicegui_extras-0.2.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd7b212c35a4af93df2874e55e7ae3679f2b2e2d24f0c090f0d0a234f7fcf84b
|
|
BLAKE2b-256 checksum How to use checksums |
5a27c00581b4f73d105be4da3a099079f1a5b0c979cd9c138447a88d9dbfd3b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / nicegui_extras-0.2-py3-none-any.whl
| Download URL | nicegui_extras-0.2-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
34f668e81b3e2531a3ed1410787570031463f341adfe198505328843b605f153
|
|
BLAKE2b-256 checksum How to use checksums |
73904c328839ef2007e200e408064aadee51cd116bd877d5032e9dab39ed5b40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Security for nicegui-extras 0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.