Skip to main content

This is a routelit library repository for that uses uv for their dependency management.

Project description

routelit-mantine

Release Build status codecov Commit activity License

This is a routelit library that provides a Python builder API that maps to a React client powered by Mantine components. You describe UI declaratively in Python; RouteLit streams diffs to the browser where Mantine renders beautiful, accessible components.

Features

  • Rich Mantine components exposed in Python
    • Inputs: checkbox, chip, text input, number input, password input, selects, tags, sliders, rating, switches, groups
    • Layouts: container, grid, flex, group, stack, simple grid, space, app shell, scroll areas, paper/box
    • Navigation: anchors, tabs, nav links, sidebar
    • Feedback and overlays: alerts, notifications, dialogs, drawers, affix, spoiler
    • Data display and charts: tables, images, formatters, area/line/bar/pie/donut/radar/scatter/bubble/radial bar/sparkline/heatmap
  • Server-driven model with a clean builder RLBuilder
  • Flask adapter for easy integration (routelit-flask)

Getting started with your project

to install the library, run:

pip install routelit-mantine
# or
uv add routelit-mantine

Quickstart (Flask)

from flask import Flask, Response
from routelit import RouteLit
from routelit_flask import RouteLitFlaskAdapter
from routelit_mantine import RLBuilder

app = Flask(__name__)

rl = RouteLit(BuilderClass=RLBuilder)
adapter = RouteLitFlaskAdapter(rl).configure(app)

def index_view(ui: RLBuilder) -> None:
    ui.set_page_config(page_title="Home")
    ui.title("Mantine RouteLit")
    ui.text("Hello from Python 👋")
    if ui.button("Click me"):
        ui.notification("Clicked!", color="green")

@app.route("/", methods=["GET", "POST"])
def index() -> Response:
    return adapter.stream_response(index_view)

if __name__ == "__main__":
    app.run(debug=True)

License

Apache 2.0


Author: rolangom

Repository initiated with fpgmaas/cookiecutter-uv.

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

routelit_mantine-0.1.5.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

routelit_mantine-0.1.5-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file routelit_mantine-0.1.5.tar.gz.

File metadata

  • Download URL: routelit_mantine-0.1.5.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for routelit_mantine-0.1.5.tar.gz
Algorithm Hash digest
SHA256 7576363e5c59aa0d549696cae7b6076877dafc533636ce5c7a51ee9bbeed6cae
MD5 77c97a224d1de854a24d429584e9b3dc
BLAKE2b-256 f18c083efa87d0e5567d69f145a51d9f9d7d6d6d69ebb8c1705a945aaf31c9a2

See more details on using hashes here.

File details

Details for the file routelit_mantine-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for routelit_mantine-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ccd4290023d2a99a5a236a4f8e694f8fc72fdceafb1e549a88d2ebb4726b2fbd
MD5 9657681aebf53d6584990c36957e2569
BLAKE2b-256 83e537d7b2525646105aeb04e12ce641f38e333a28c3d08f3323a182e59ba676

See more details on using hashes here.

Supported by

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