Sari la conținutul principal

Un blog de inginereală

NiceGUI - un mini-framework pentru front-end în Python

Când vine vorba de dezvoltare web în Python, nu există atât de multe resurse, framework-uri pentru front-end așa cum găsim la alte limbaje de programare. NiceGui, un mini framework de interfețe web open-source încearcă să rezolve această problemă. NiceGui este ușor de folosit în special pentru proiecte mici, micro web apps, interfețe pentru proiecte de robotică sau AI.

NiceGUI

Caracteristici

  • interfață grafică pentru web
  • reîncărcare implicită la schimbarea codului
  • acționează ca server web (accesat de browser) sau în modul nativ (de ex. fereastră desktop)
  • elemente standard GUI cum ar fi label, button, checkbox, switch, file upload, etc
  • elemente HTML de uz general și Markdown
  • elemente avansate ca:
    • grafice și diagrame
    • randare scene 3D
    • steering events prin joystick-uri virtuale(pentru robotică)
    • imagini cu adontări și imagini overlay
    • interacțiune cu tabelele
    • navigare de structuri tip foldable trees
  • temporizator încorporat pentru a reîmprospăta datele la anumite intervale (10 ms)
  • data binding simplu și refreshable functions
  • notificări, dialoguri și meniuri
  • pagini web partajate și individuale
  • capacitatea de a adăuga rute personalizate și răspunsuri de date
  • captură input de la tastatură pentru comenzi rapide globale etc.
  • personalizarea aspectului elementelor
  • evenimente live-cycle și session data
  • rulează în Jupyter Notebooks și permite modul interactiv Python
  • completare automată pentru Tailwind CSS
  • suport pentru favicon SVG, Base64 și emoji

Instalare

python3 -m pip install nicegui

Utilizare

Crează fișierul main.py:

from nicegui import ui

ui.label('Hello NiceGUI!')
ui.button('BUTTON', on_click=lambda: ui.notify('button was pressed'))

ui.run()

Execută fișierul cu:

python3 main.py

Concluzie

NiceGUI este un tool interesant pentru cei ce doresc interfețe web în Python. Mai multe informații găsiți pe pagina de github a maintainer-ului, repo NiceGUI.

Succes!