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.56.tar.gz (410.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: uiwiz-0.1.56.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.56.tar.gz
Algorithm Hash digest
SHA256 839231218a8dea3e249e1cfeb0f2a0389df800a42a5643727326a39d227332b1
MD5 c85f29fd8d1976e528f7a0aeecb7a6bf
BLAKE2b-256 80c47810cdba00347c059a141f6c4a425e098a30d60dc821d54122e48493913e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uiwiz-0.1.56-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.56-py3-none-any.whl
Algorithm Hash digest
SHA256 353c2f612ce4450d15aefc478d5a391d1db28eedba70551843625c74824c5318
MD5 18e776c3a15c3dd22efb2d232f7124a8
BLAKE2b-256 f3560943dd7d5aae3bbeef739e31bba7fed448438caef75966a703257ca5b8e4

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