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.5.0.tar.gz (2.4 MB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: dazzler-0.5.0.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for dazzler-0.5.0.tar.gz
Algorithm Hash digest
SHA256 0a2057c0987a4340e4f7680afb0ee04754f2a0014524b932d0eb3fcc3baff660
MD5 b3eed45f7c5f8a5f973948aadb632d26
BLAKE2b-256 afb239caf25a9c89b2c66f0b5a6ab4919458f0531e39b4d44f2abc03af8c17ff

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