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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: uiwiz-0.1.58.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.58.tar.gz
Algorithm Hash digest
SHA256 9fe0aa92710ec1fbabd153cf8d903025ed093142ef558db2c820663c212e48eb
MD5 9393d3baec8f74e32734427b5d912be7
BLAKE2b-256 807465757f981b67200c1b8c5cf5b8d77c466c94588bddb975001d4e7dd5ad56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uiwiz-0.1.58-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.58-py3-none-any.whl
Algorithm Hash digest
SHA256 7cd2196b33203b7bda43636e14e2fece46a46b83a0e0254f3d4d47e6fc1f2153
MD5 ab7498ed92b55eeb88d9bb9d31c64372
BLAKE2b-256 a4eb411dacd443dc2e154b0de11bea01448356caa32a0ab773534d00d9170de1

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