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.2.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.2-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: routelit_mantine-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 695b6c3db1249c6b8128e144ce80a88b116c3c6171d1348ed96a918ab0872957
MD5 d63fd3d8fea075bc45759bd2db9634d3
BLAKE2b-256 d4a06be76987e856dc5eb5bc27685380802d70a1ee0a93983a8ccef000f4a1a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for routelit_mantine-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d09b7b33c2023cf118f107e23ce5173473b59d190631f0a374eb0ae246d1ba21
MD5 9b1cb9894e12d6cd1c0614ea75bc726a
BLAKE2b-256 1f1745cdebc9462fcfe6bb2125d039494370497a05994af2a9b49c25fc36bdae

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