Skip to main content

Async Web Framework

Project description

Dazzler

Build Documentation Status Version License

Dazzler is a Python (>=3.6) async web framework. Create dazzling fast pages with a layout of python components and bindings to update from the backend.

Install

Install with pip: $ pip install dazzler

Features

  • Fast WebSocket based communication, deliver updates in realtime to thousands of connected clients at once.
  • Lightweight bundles for fast initial page load.
  • Support for third party integrations via middlewares.
  • Session & authentication systems.
  • No HTML/CSS/JS knowledge required, write everything with Python.
  • Multi page based.
  • Hot reload.
  • Tons of components.

Basic example

Create a page with a layout and assign a binding to set the output component children when clicked on.

from dazzler import Dazzler
from dazzler.system import Page, Trigger, BindingContext
from dazzler.components import core

app = Dazzler(__name__)
page = Page(
    'my-page',
    core.Container([
        core.Html('H2', 'My dazzler page'),
        core.Input(identity='input', placeholder='Enter name'),
        core.Button('Click me', identity='click-me'),
        core.Container(identity='output')
    ])
)
app.add_page(page)


@page.bind(Trigger('click-me', 'clicks'))
async def on_click(context: BindingContext):
    name = await context.get_aspect('input', 'value')
    await context.set_aspect(
        'output', children=f'Hello {name}'
    )


if __name__ == '__main__':
    app.start()

Documentation

Full documentation hosted on readthedocs.

Get help for the command line tools: $ dazzler --help

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

dazzler-0.3.0.tar.gz (1.7 MB view details)

Uploaded Source

File details

Details for the file dazzler-0.3.0.tar.gz.

File metadata

  • Download URL: dazzler-0.3.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.8.1

File hashes

Hashes for dazzler-0.3.0.tar.gz
Algorithm Hash digest
SHA256 bd3d8d5855a3616b1e986ed2bfe8b281a7ab02740c7f9d166ca0d9674b38172f
MD5 9da022b21c6a7ac5b9fd07459ced1549
BLAKE2b-256 8823e9c53fbaef2be7212aad8b79b3d28ed3736de4b5e9007ff91e2cfccd6882

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