Skip to main content

No project description provided

Project description

UiWizard

UiWizard is a python-based ui-framework for the web. It was inspired by the great framework NiceGui. Why create this project that is very similar to NiceGui?

  • The first reason was that NiceGui requires websockets to work and when experimenting with the framework it caused some issues on my hosting platform.
  • Learning. I wanted to figure out how to do something simillar but without using websockets
    • I wanted to try out HTMX
  • Limited control over the underlaying tech stack but mainly just learning

Example and docs UI-Wizard

Features

  • Tailwind and DaisyUI for the graphics and responsive layout
  • Webbased
  • Quite a lot of standard elements, input fields, dropdown, foot, header, tabs...
  • HTMX for interactivity
  • Hopefully great defaults!

Usage

Install the library

pip install uiwiz

Create a main.py file

from uiwiz.app import UiwizApp
from uiwiz import ui
import uvicorn

app = UiwizApp()

@app.page("/")
async def home_page(request: Request):
    ui.label("Hello world")


if __name__ == "__main__":
    uvicorn.run("main:app", reload=True)

Run it

python main.py

General info

HTMX works with input fields in HTML and forms. To make it a bit easier to work with the form submit event does not send the data in the normal form format but uses the HTMX extension to convert it to json. This means that endpoints using UiWizard can use pydantic models as the input and have the benefit of validation.

Tests

poetry run coverage run -m pytest .
poetry run coverage html

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

uiwiz-0.1.57.tar.gz (410.2 kB view details)

Uploaded Source

Built Distribution

uiwiz-0.1.57-py3-none-any.whl (427.3 kB view details)

Uploaded Python 3

File details

Details for the file uiwiz-0.1.57.tar.gz.

File metadata

  • Download URL: uiwiz-0.1.57.tar.gz
  • Upload date:
  • Size: 410.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.9.20 Linux/6.5.0-1025-azure

File hashes

Hashes for uiwiz-0.1.57.tar.gz
Algorithm Hash digest
SHA256 84d31037ee7e80c9c67c719157196505d11550d0d09b9f59ed0077ca6cbae662
MD5 d29a629197ebeff163cde31c7df9048d
BLAKE2b-256 920c34e8b710fa029ee3c4b56ea9069dbe12606ab1d5f882bbaca96928349774

See more details on using hashes here.

File details

Details for the file uiwiz-0.1.57-py3-none-any.whl.

File metadata

  • Download URL: uiwiz-0.1.57-py3-none-any.whl
  • Upload date:
  • Size: 427.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.9.20 Linux/6.5.0-1025-azure

File hashes

Hashes for uiwiz-0.1.57-py3-none-any.whl
Algorithm Hash digest
SHA256 5449d75b0ee16287b176668f41281fc8a5946f9bfe461ff671347d4f8f128fd5
MD5 63189d555d69b2a3284965d92a71553b
BLAKE2b-256 7982584b3f39f8509ded136d8ef1079778b549252799c4174a3321614c7c983f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page